[CI] Ensure network is set for Zun

If we don't set it, then Zun chooses one randomly (the first one
from Neutron).
This may break if it is a network that is not available on
target hosts, e.g. external via L3 agent router.

Since capsules do not support nets yet [1], this patch ensures
desired network creation order in init-runonce instead.

[1] https://bugs.launchpad.net/zun/+bug/1895263

Change-Id: Iaa113dcfb826164a2772d2c91d34ec0236be0817
This commit is contained in:
Radosław Piliszek 2020-08-25 16:17:17 +02:00
parent 36c388bb5e
commit 7a3072e94c
2 changed files with 17 additions and 12 deletions

View File

@ -15,7 +15,7 @@ function test_zun_logged {
openstack subnet set --no-dhcp demo-subnet
sudo docker pull alpine
sudo docker save alpine | openstack image create alpine --public --container-format docker --disk-format raw
openstack appcontainer run --name test alpine sleep 1000
openstack appcontainer run --net network=demo-net --name test alpine sleep 1000
attempt=1
while [[ $(openstack appcontainer show test -f value -c status) != "Running" ]]; do
echo "Container not running yet"
@ -61,7 +61,7 @@ function test_zun_logged {
fi
sleep 10
done
openstack appcontainer run --name test2 --mount source=zun_test_volume,destination=/data alpine sleep 1000
openstack appcontainer run --net network=demo-net --name test2 --mount source=zun_test_volume,destination=/data alpine sleep 1000
attempt=1
while [[ $(openstack volume show zun_test_volume -f value -c status) != "in-use" ]]; do
echo "Volume not attached yet"
@ -105,6 +105,12 @@ capsuleVersion: beta
kind: capsule
metadata:
name: capsule-test
# NOTE(yoctozepto): Capsules do not support nets in Ussuri.
# See https://bugs.launchpad.net/zun/+bug/1895263
# The choice for CI is worked around by ensuring the networks are created
# in the desired order in init-runonce.
#nets:
# - network: demo-net
spec:
containers:
- image: alpine

View File

@ -77,22 +77,21 @@ $KOLLA_OPENSTACK_COMMAND image create --disk-format qcow2 --container-format bar
--property os_type=${IMAGE_TYPE} --file ${IMAGE_PATH}/${IMAGE} ${IMAGE_NAME}
echo Configuring neutron.
$KOLLA_OPENSTACK_COMMAND router create demo-router
$KOLLA_OPENSTACK_COMMAND network create demo-net
$KOLLA_OPENSTACK_COMMAND subnet create --subnet-range 10.0.0.0/24 --network demo-net \
--gateway 10.0.0.1 --dns-nameserver 8.8.8.8 demo-subnet
$KOLLA_OPENSTACK_COMMAND router add subnet demo-router demo-subnet
if [[ $ENABLE_EXT_NET -eq 1 ]]; then
$KOLLA_OPENSTACK_COMMAND network create --external --provider-physical-network physnet1 \
--provider-network-type flat public1
$KOLLA_OPENSTACK_COMMAND subnet create --no-dhcp \
--allocation-pool ${EXT_NET_RANGE} --network public1 \
--subnet-range ${EXT_NET_CIDR} --gateway ${EXT_NET_GATEWAY} public1-subnet
fi
$KOLLA_OPENSTACK_COMMAND network create demo-net
$KOLLA_OPENSTACK_COMMAND subnet create --subnet-range 10.0.0.0/24 --network demo-net \
--gateway 10.0.0.1 --dns-nameserver 8.8.8.8 demo-subnet
$KOLLA_OPENSTACK_COMMAND router create demo-router
$KOLLA_OPENSTACK_COMMAND router add subnet demo-router demo-subnet
if [[ $ENABLE_EXT_NET -eq 1 ]]; then
$KOLLA_OPENSTACK_COMMAND router set --external-gateway public1 demo-router
$KOLLA_OPENSTACK_COMMAND router set --external-gateway public1 demo-router
fi
# Get admin user and tenant IDs