canonical / spread

Spread - Convenient full-system test (task) distribution
GNU General Public License v3.0
101 stars 58 forks source link

openstack backend #170

Open sergiocazzolato opened 1 year ago

sergiocazzolato commented 1 year ago

This is the new openstack backend. Through this backend it is possible to run tests/tasks in openstack infrastructure.

The documenatation is also added explaning how to setup spread to use it.

For the openstack backend implementation the lib goose was used. This lib provides the clients needed to interact with the different openstack modules (nova. neutron, glance and, keystone).

corytodd commented 1 year ago

Awesome, we are able to allocate and discard on our openstack tenant. Do you think it's feasible to support adding security groups automatically? For example, we do not use a default allow-ssh policy on our network so in order for these tests to work I had to manually attach the policy after allocation but before the test ran. We have other ports that may need to be open depending on the test so having a way to set these dynamically would be useful for us.

sergiocazzolato commented 1 year ago

Awesome, we are able to allocate and discard on our openstack tenant. Do you think it's feasible to support adding security groups automatically? For example, we do not use a default allow-ssh policy on our network so in order for these tests to work I had to manually attach the policy after allocation but before the test ran. We have other ports that may need to be open depending on the test so having a way to set these dynamically would be useful for us.

Thanks for taking a look. I'll add few extra features: add extra storage specify the network specify the security group

corytodd commented 1 year ago

Specifying the network and security group work great! This passes our testing, I would support a +1 on getting this merged. Thanks!

mvo5 commented 1 year ago

Some feedback I got from Gustavo:

sergiocazzolato commented 1 year ago

@mvo5 about the network list associated to a machine, the consideration here is that where there are more than 1 network associated to a machine, the ip used by spread to connect has to be provided by the first network. I'll include that in the README.

niemeyer commented 8 months ago

Folks, please schedule a call for us next week so we can have a general conversation about the approach for authentication and testing before we all spend too many cycles on different avenues.

ZeyadYasser commented 8 months ago

I dropped the spread test for openstack due to issues and inconsistencies faced with devstack where it cannot replicate a normal openstack cluster.

A better alternative is to do something similar to google. After the openstack backend is merged, we add it as a backend in spread.yaml.