radon-h2020 / radon-delivery-toolchain

Project listing all delivery toolchain requirements including: RADON orchestrator, Monitoring, Template Library, CI/CD.
Apache License 2.0
0 stars 4 forks source link

R-T5.1-4: At the end of deployment the deployment of services needs to be verified and its dependencies #8

Closed cankarm closed 3 years ago

cankarm commented 4 years ago
ID: R-T5.1-4
Type: RELIABILITY
User story: As an Operations Engineer, I want to be able to validate the deployment of application
Requirement: At the end of deployment the deployment of services needs to be verified and its dependencies
Extended Description: Verification methodology must be developed to verify the correctness of deployment application and if its working as expected.
Priority: Must have
Affected Tools: TESTING_TOOL
Means of Verification: Integration tests could be developed to automatically test the deployment of application and if all rules defined in blueprint were correctly applied
anzoman commented 4 years ago

This is posssible since xOpera TOSCA orchestration tool has opera validate command which can validate the TOSCA CSAR/service template and tell whether the template can be deployed or not. If there is a syntax error somewhere opera will find it.

This is also tested every night within opera's integration tests here: https://github.com/xlab-si/xopera-opera/blob/ffe72a4dce9ac24f33304582577fed7b56ae34cd/tests/integration/misc-tosca-types/runme.sh

cankarm commented 4 years ago

@marklaw is there any else from your progress we can use on that? (Sorry for the strange name - typo in issue name) but the issue was probably created before me. I think that it should say "...needs to verify deployment and its dependencies).

marklaw commented 4 years ago

It's hard for me to say because I'm not sure what a deployment looks like. It is TOSCA, or some other format? What are the kinds of things that you would need to verify?

cankarm commented 4 years ago

A deployment means that there are components (VMs, Containers, Functions) deployed and configured as stated in TOSCA. I do think that we can apply here the same approach as it used by others - most of the verification can be made before the deploy:

During the deployment, if Opera concluded with the job with no errors, the deployment is implicitly validated. Otherwise, we may re-run deployment and if all ansible scripts return "no-change" this means that the deployment is done as it is expected with dependecies included.

The verification if deployed applications work as expected is out of scope as this is not a deployment but functional testing - should be done by CI/CD jobs of the particular app.

marklaw commented 4 years ago

That sounds doable. I won't have much time until after the current deliverables are out of the way, but we could try to do something simple after that.

cankarm commented 3 years ago

The validate function and the "re-run" of deployment (which should succeed as no changes done) should confirm, that the deployment is the same as it was described in TOSCA.

I guess, the we can close that.

@gcasale

gcasale commented 3 years ago

Approved