Defensively handle errors examining app requests.
All checks were successful
Lint Checks / Run linter (pull_request) Successful in 31s
Deploy Test / Run deploy test suite (pull_request) Successful in 5m0s
Webapp Test / Run webapp test suite (pull_request) Successful in 4m35s
K8s Deploy Test / Run deploy test suite on kind/k8s (pull_request) Successful in 8m2s
Smoke Test / Run basic test suite (pull_request) Successful in 4m18s
All checks were successful
Lint Checks / Run linter (pull_request) Successful in 31s
Deploy Test / Run deploy test suite (pull_request) Successful in 5m0s
Webapp Test / Run webapp test suite (pull_request) Successful in 4m35s
K8s Deploy Test / Run deploy test suite on kind/k8s (pull_request) Successful in 8m2s
Smoke Test / Run basic test suite (pull_request) Successful in 4m18s
This commit is contained in:
parent
27f5c9fc21
commit
e04631b4d5
@ -274,40 +274,43 @@ def command(ctx, kube_config, laconic_config, image_registry, deployment_parent_
|
|||||||
requests_by_name = {}
|
requests_by_name = {}
|
||||||
skipped_by_name = {}
|
skipped_by_name = {}
|
||||||
for r in requests:
|
for r in requests:
|
||||||
if r.id in previous_requests and previous_requests[r.id].get("status", "") != "RETRY":
|
status = None
|
||||||
print(f"Skipping request {r.id}, we've already seen it.")
|
|
||||||
continue
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
if r.id in previous_requests and previous_requests[r.id].get("status", "") != "RETRY":
|
||||||
|
print(f"Skipping request {r.id}, we've already seen it.")
|
||||||
|
continue
|
||||||
|
|
||||||
app = laconic.get_record(r.attributes.application)
|
app = laconic.get_record(r.attributes.application)
|
||||||
|
if not app:
|
||||||
|
print(f"Skipping request {r.id}, cannot locate app.")
|
||||||
|
status = "SEEN"
|
||||||
|
continue
|
||||||
|
|
||||||
|
requested_name = r.attributes.dns
|
||||||
|
if not requested_name:
|
||||||
|
requested_name = generate_hostname_for_app(app)
|
||||||
|
print("Generating name %s for request %s." % (requested_name, r.id))
|
||||||
|
|
||||||
|
if requested_name in skipped_by_name or requested_name in requests_by_name:
|
||||||
|
print("Ignoring request %s, it has been superseded." % r.id)
|
||||||
|
continue
|
||||||
|
|
||||||
|
if skip_by_tag(r, include_tags, exclude_tags):
|
||||||
|
print("Skipping request %s, filtered by tag (include %s, exclude %s, present %s)" % (r.id,
|
||||||
|
include_tags,
|
||||||
|
exclude_tags,
|
||||||
|
r.attributes.tags))
|
||||||
|
skipped_by_name[requested_name] = r
|
||||||
|
continue
|
||||||
|
|
||||||
|
print("Found request %s to run application %s on %s." % (r.id, r.attributes.application, requested_name))
|
||||||
|
requests_by_name[requested_name] = r
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("ERROR: " + str(e))
|
print(f"ERROR examining request {r.id}: " + str(e))
|
||||||
app = None
|
status = "ERROR"
|
||||||
|
finally:
|
||||||
if not app:
|
if status:
|
||||||
print(f"Skipping request {r.id}, cannot locate app.")
|
dump_known_requests(state_file, [r], status)
|
||||||
dump_known_requests(state_file, [r])
|
|
||||||
continue
|
|
||||||
|
|
||||||
requested_name = r.attributes.dns
|
|
||||||
if not requested_name:
|
|
||||||
requested_name = generate_hostname_for_app(app)
|
|
||||||
print("Generating name %s for request %s." % (requested_name, r.id))
|
|
||||||
|
|
||||||
if requested_name in skipped_by_name or requested_name in requests_by_name:
|
|
||||||
print("Ignoring request %s, it has been superseded." % r.id)
|
|
||||||
continue
|
|
||||||
|
|
||||||
if skip_by_tag(r, include_tags, exclude_tags):
|
|
||||||
print("Skipping request %s, filtered by tag (include %s, exclude %s, present %s)" % (r.id,
|
|
||||||
include_tags,
|
|
||||||
exclude_tags,
|
|
||||||
r.attributes.tags))
|
|
||||||
skipped_by_name[requested_name] = r
|
|
||||||
continue
|
|
||||||
|
|
||||||
print("Found request %s to run application %s on %s." % (r.id, r.attributes.application, requested_name))
|
|
||||||
requests_by_name[requested_name] = r
|
|
||||||
|
|
||||||
# Find deployments.
|
# Find deployments.
|
||||||
deployments = laconic.app_deployments()
|
deployments = laconic.app_deployments()
|
||||||
|
Loading…
Reference in New Issue
Block a user