diff --git a/ci/common/vbmc_setup.yaml b/ci/common/vbmc_setup.yaml index 444e7c6be7..779d52ad72 100644 --- a/ci/common/vbmc_setup.yaml +++ b/ci/common/vbmc_setup.yaml @@ -13,7 +13,7 @@ resources: config: | #!/bin/bash cd /etc/yum.repos.d - echo 'nameserver 8.8.8.8' > /etc/resolv.conf + echo 'nameserver 1.1.1.1' > /etc/resolv.conf curl https://git.openstack.org/cgit/openstack/tripleo-repos/plain/tripleo_repos/main.py | python - current-tripleo yum install -y python2-virtualbmc epel-release libvirt-client libvirt-daemon libvirt qemu-kvm-ev yum install -y qemu-system-x86 # <-- needs epel @@ -22,8 +22,27 @@ resources: git clone https://git.openstack.org/openstack/ironic /tmp/ironic mkdir -p /var/log/bmlogs chmod 777 /var/log/bmlogs + + # Create a ssh keypair and place the private key somewhere ansible inside the + # neutron_api container can read it. + ssh-keygen -P "" -f /etc/puppet/ci-key + chmod 644 /etc/puppet/ci-key + cat /etc/puppet/ci-key.pub >> /root/.ssh/authorized_keys + + # neutron_api workaround for https://github.com/ansible/ansible/issues/42108 + # remove when ansible v2.5.8+ is in the container image + cat << EOF | docker exec -i -u 0 neutron_api /bin/bash -x + yum install -y epel-release + yum update -y ansible + + EOF + + docker restart neutron_api + # nohup needed as vbmc seems to keep stdin open - nohup /tmp/ironic/devstack/tools/ironic/scripts/create-node.sh -n node1 -c 1 -m 3072 -d 10 -b br-ex -p 1161 -M 1350 -f qcow2 -a x86_64 -E qemu -e /usr/bin/qemu-system-x86_64 -l /var/log/bmlogs -A 66:0d:1d:d8:0b:a3 > ~zuul/create-node.log 2>&1 < /dev/null & + nohup /tmp/ironic/devstack/tools/ironic/scripts/create-node.sh -n node1 -c 1 -m 3072 -d 10 -b br-ex -p 1161 -M 1350 -f qcow2 -a x86_64 -E qemu -e /usr/bin/qemu-system-x86_64 -l /var/log/bmlogs -A 66:0d:1d:d8:0b:11 > ~zuul/create-node-1.log 2>&1 < /dev/null + nohup /tmp/ironic/devstack/tools/ironic/scripts/create-node.sh -n node2 -c 1 -m 3072 -d 10 -b br-ex -p 1162 -M 1350 -f qcow2 -a x86_64 -E qemu -e /usr/bin/qemu-system-x86_64 -l /var/log/bmlogs -A 66:0d:1d:d8:0b:22 > ~zuul/create-node-2.log 2>&1 < /dev/null & + disown -a ExtraDeployments: type: OS::Heat::SoftwareDeploymentGroup diff --git a/ci/environments/scenario011-multinode-containers.yaml b/ci/environments/scenario012-multinode-containers.yaml similarity index 84% rename from ci/environments/scenario011-multinode-containers.yaml rename to ci/environments/scenario012-multinode-containers.yaml index b6b163751d..ceeab6f5b8 100644 --- a/ci/environments/scenario011-multinode-containers.yaml +++ b/ci/environments/scenario012-multinode-containers.yaml @@ -18,6 +18,7 @@ resource_registry: OS::TripleO::AllNodes::Validation: ../common/all-nodes-validation-disabled.yaml OS::TripleO::NodeExtraConfigPost: ../common/vbmc_setup.yaml OS::TripleO::Services::CinderVolume: ../../docker/services/pacemaker/cinder-volume.yaml + OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2Ansible parameter_defaults: ControllerServices: @@ -57,6 +58,7 @@ parameter_defaults: - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::Sshd + - OS::TripleO::Services::Iscsid - OS::TripleO::Services::CinderApi - OS::TripleO::Services::CinderScheduler - OS::TripleO::Services::CinderVolume @@ -70,3 +72,12 @@ parameter_defaults: SwiftCeilometerPipelineEnabled: false IronicCleaningDiskErase: 'metadata' NovaSchedulerDiscoverHostsInCellsInterval: 15 + NeutronMechanismDrivers: openvswitch,ansible + NeutronNetworkType: vlan + NeutronTypeDrivers: local,vxlan,vlan,flat + IronicDefaultNetworkInterface: neutron + IronicAutomatedClean: false + NeutronFlatNetworks: datacentre + NeutronNetworkVLANRanges: 'datacentre:500:599,tenant:300:399' + ML2HostConfigs: { "net-ans-br": { "ansible_network_os": "openvswitch", "ansible_host": "127.0.0.1", "ansible_user": "root", "ansible_ssh_private_key_file": "/etc/puppet/ci-key"}} + NeutronBridgeMappings: 'datacentre:br-ex,tenant:br-tenant'