tobiko/requirements.txt
Eduardo Olivares a6e7a522df Use Subnet pools to avoid cidr concurrency issues
This patch removes the tobiko.openstack.neutron._cidr module that was
used to generate CIDRs whenever tobiko was going to create a new subnet.
That method had problems when several tobiko workers running in parallel
tried to create subnets. Collisions happened sometimes, resulting in the
creation of two subnets with a common CIDR that could fail if they were
connected to a common router.

This patch uses the neutron subnet pool feature [1]. When Tobiko creates
a subnet, it will not calculate a free IPv4/IPv6 CIDR, but will
associate that subnet to common Subnet Pools, shared by the different
tests. When the subnet is created, it is neutron responsibiltiy to
allocate a free CIDR for that subnet, based on the created Subnet Pools.

The method that creates the Subnet Pools uses an
@oslo_concurrency.lockutils.synchronized decorator to guarantee that two
Tobiko workers do not create the same Subnet Pool at the same time.

[1] https://docs.openstack.org/neutron/latest/admin/config-subnet-pools.html

Change-Id: I3b09e468310e06f8c4b7d7dbec02e4b2e6f67530
2023-04-21 10:05:09 +02:00

32 lines
1.3 KiB
Plaintext

# Tobiko framework requirements
decorator>=4.4.2 # BSD
deprecation>=2.1.0 # Apache-2.0
docker>=4.4.1 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD
Jinja2>=2.11.2 # BSD
keystoneauth1>=4.3.0 # Apache-2.0
metalsmith>=1.6.2 # Apache-2.0
netaddr>=0.8.0 # BSD
neutron-lib>=2.7.0 # Apache-2.0
openstacksdk>=0.31.2 # Apache-2.0
oslo.concurrency>=3.26.0 # Apache-2.0
oslo.config>=8.4.0 # Apache-2.0
oslo.log>=4.4.0 # Apache-2.0
packaging>=20.4 # Apache-2.0
paramiko>=2.9.2 # LGPLv2.1
pbr>=5.5.1 # Apache-2.0
psutil>=5.8.0 # BSD
python-dateutil>=2.8.0 # Apache-2.0
python-designateclient>=4.4.0 # Apache-2.0
python-glanceclient>=3.2.2 # Apache-2.0
python-heatclient>=2.3.0 # Apache-2.0
python-ironicclient>=4.6.1 # Apache-2.0
python-neutronclient>=7.2.1 # Apache-2.0
python-novaclient>=17.2.1 # Apache-2.0
python-octaviaclient>=2.2.0 # Apache-2.0
python-openstackclient>=5.4.0 # Apache-2.0
PyYAML>=5.4.1 # MIT
sshtunnel>=0.3.1 # MIT
testtools>=2.5.0 # MIT