Closed cankarm closed 3 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 |
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
@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).
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?
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.
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.
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
Approved