Public Net Connectivity and Ansible tests On targets #75

Open
opened 2020-12-06 10:26:07 +00:00 by rafael · 3 comments
rafael commented 2020-12-06 10:26:07 +00:00 (Migrated from gitlab.privaz.io)

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.

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.
rafael commented 2020-12-06 10:32:18 +00:00 (Migrated from gitlab.privaz.io)

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.

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.
rafael commented 2020-12-06 10:34:15 +00:00 (Migrated from gitlab.privaz.io)

A couple of more concept tests can be created before closing this issue, with issues that we are seeing in production.

  • deploy a cluster, stop the VMs, restart a host, recover connectivty
  • live migrate a VM with local storage
  • migrate a VM with volumes
  • Egress rules not working as documented
A couple of more concept tests can be created before closing this issue, with issues that we are seeing in production. - deploy a cluster, stop the VMs, restart a host, recover connectivty - live migrate a VM with local storage - migrate a VM with volumes - Egress rules not working as documented
rafael commented 2020-12-06 10:38:49 +00:00 (Migrated from gitlab.privaz.io)

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.

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.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
privazio/ansible-collection-vdc#75
No description provided.