Public Net Connectivity and Ansible tests On targets #75
Labels
No labels
ACS 4.15
Doing
Regression
To Do
critical
enhancement
major
minor
operations
patch
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
privazio/ansible-collection-vdc#75
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
It is possible to install the ACS cluster with anssible from gitlab CI jobs
It is possible to use the ACS api to provision ACS objects.
However, the created objects are in different VLANs, not connected to the gitlab ci networking stack.
The CI Host should have a bridge that trunks to those VLANs so that it is possible to setup networks that offer direct
connectivity to the ACS public IPs.
Then it should be possible to run Ansible tests over ACS objects that are being deployed as part of the CI pipeline.
The MAAS profile of the Gitlab CI host has been modified so that it is not possible to setup bridges that will connect to what is called the CICD_Admin network, this is the Public network for ACS cluster running in the CI job.
Also, the CI process has been modified so that it is possible to run multiple CD jobs and the efimeral platforms created as part of CI pipelines will not collide, issue #71
A sample Ansible test that deployes a three instance cluster, and runs Ansible tests inside has been created here:
https://gitlab.privaz.io/privazio/ansible-collection-vdc/-/blob/edge-v1/privazio/vdc/tests/ci/test/acs-cluster-hello-world.yml#L9
The tests are modular and can setup and clean-up ACS objects.
A couple of more concept tests can be created before closing this issue, with issues that we are seeing in production.
First pipelines running this tests are now running:
https://gitlab.privaz.io/privazio/ansible-collection-vdc/-/jobs/5049#L1681
@resmo have a look at this improvement just implemented. This closed the loop for end-to-end automation testing.