stack-orchestrator/stack_orchestrator/deploy
Thomas E Lackey 5c275aa622 Defensively handle errors examining app requests. (#922)
Related to cerc-io/webapp-deployment-status-api#10

There are two issues in that.  One is that the output probably changed recently, whether in the client or server, where no matching record is found by ID (Note this is specific to `laconic record get --id <v>` and does not seem to apply to the similar command to retrieve a record by name, `laconic name resolve <n>`).

Rather than returning `[]` it is now returning `[ null ]`.  This cause us to think there *was* an application record found, and we attempt to treat the `null` entry like an Application object.  That's fixed by filtering out null responses, which is a good precaution for the deployer, though I think it makes sense to ask whether this new behavior by the client/server is correct.  Seems suspicious.

The other issue is that all the defensive checks we had in place to deal with broken/bad AppDeploymentRequests were around the _build_.  This error was coming much earlier, merely when parsing and examining the request to see if it needed to be handled at all.

I have now added similar defensive error handling around that portion of the code.

Reviewed-on: cerc-io/stack-orchestrator#922
Reviewed-by: zramsay <zramsay@noreply.git.vdb.to>
Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com>
2024-08-14 18:04:31 +00:00
..
compose Allow to disable kind cluster management for testing (#915) 2024-08-13 17:48:14 +00:00
k8s Convert port to string. (#919) 2024-08-14 00:25:35 +00:00
webapp Defensively handle errors examining app requests. (#922) 2024-08-14 18:04:31 +00:00
__init__.py Rename app -> stack_orchestrator (#625) 2023-11-07 00:06:55 -07:00
deploy_types.py Add stage 1 support 2024-08-07 11:28:10 -06:00
deploy_util.py Mainnet-laconic stack fixes for laconicd2 (#904) 2024-07-31 13:51:28 +00:00
deploy.py Allow to disable kind cluster management for testing (#915) 2024-08-13 17:48:14 +00:00
deployer_factory.py Add ConfigMap test. (#726) 2024-02-05 14:15:11 -06:00
deployer.py Allow to disable kind cluster management for testing (#915) 2024-08-13 17:48:14 +00:00
deployment_context.py Generate a unique deployment id for each deployment (#680) 2023-12-05 22:56:58 -07:00
deployment_create.py Copy config under a volume for Docker (similar to a ConfigMap for K8S). (#914) 2024-08-10 02:32:21 +00:00
deployment.py Allow to disable kind cluster management for testing (#915) 2024-08-13 17:48:14 +00:00
images.py Fix image tag name 2024-06-13 08:31:45 -06:00
spec.py Support multiple NodePorts, static NodePort mapping, and add 'replicas' spec option (#913) 2024-08-09 02:32:06 +00:00
stack_state.py Rename app -> stack_orchestrator (#625) 2023-11-07 00:06:55 -07:00
stack.py kind test stack (#629) 2023-11-08 01:11:00 -07:00