Skip to content

Commit cd9b997

Browse files
authored
chore(controller): pipeline and httproute optimization
* fix(config): executing pipeline should not save db * chore(resource): serviceinstance status message is null when start * chore(gateway): httproute support timeout config
1 parent d0f6cc3 commit cd9b997

4 files changed

Lines changed: 13 additions & 3 deletions

File tree

rootfs/api/models/resource.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,9 @@ def message(self):
192192
self.app.id, self.name)
193193
if resp.status_code != 200:
194194
message = ""
195-
message = resp.json().get("status", {}).get("conditions", [{}])[-1].\
196-
get("message", "")
195+
conditions = resp.json().get("status", {}).get("conditions")
196+
message = conditions[-1].get("message", "") \
197+
if conditions and isinstance(conditions[-1], dict) else ""
197198
return message
198199
except KubeException as e:
199200
logger.info("retrieve instance info error: {}".format(e))

rootfs/api/serializers/schemas/rules.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@
193193
"required": ["name"],
194194
"additionalProperties": False
195195
}
196+
},
197+
"timeouts": {
198+
"request": {"type": "string"},
199+
"backendRequest": {"type": "string"}
196200
}
197201
},
198202
"required": ["backendRefs"],

rootfs/api/tests/rules/http_rules.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@
2727
"backendRefs": [{
2828
"name": "echo",
2929
"port": 8080
30-
}]
30+
}],
31+
"timeouts": {
32+
"backendRequest": "60s",
33+
"request": "60s"
34+
}
3135
}],
3236
"canary": [{
3337
"matches": [{

rootfs/api/views.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,7 @@ class ConfigViewSet(ReleasableViewSet):
397397
def post_save(self, config):
398398
latest_release = config.app.release_set.filter(failed=False).latest()
399399
if latest_release.build is not None and latest_release.state == "created":
400+
config.delete()
400401
raise DryccException('There is an executing pipeline, please wait')
401402
try:
402403
release = latest_release.new(

0 commit comments

Comments
 (0)