Add scenario 012 - overlcoud baremetal+ansible-ml2
Used by a new featureset[1] that uses the neutron ansible-networking driver to configure the switch providing networking for overcloud ironic nodes such that tenant networks are segregated via vlan. This scenario also sets up ssh keys so that ansible inside the neutron container can ssh to the controller to configure OVS. The new scenario also includes a temporary workaround to upgrade ansible in the neutron container, this can be removed once ansible in the container is v2.5.8+ Also remove scenario011 as the patches that used it never merged and now the tennant networks are working in the overcloud, we'll test with this instead. [1] - https://review.openstack.org/#/c/579601/ Change-Id: Ife83825216ccb96a5f24918f42a757d0c48b0e9d
This commit is contained in:
parent
f4b4804be7
commit
ca3d5e47b0
@ -13,7 +13,7 @@ resources:
|
|||||||
config: |
|
config: |
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cd /etc/yum.repos.d
|
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
|
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 python2-virtualbmc epel-release libvirt-client libvirt-daemon libvirt qemu-kvm-ev
|
||||||
yum install -y qemu-system-x86 # <-- needs epel
|
yum install -y qemu-system-x86 # <-- needs epel
|
||||||
@ -22,8 +22,27 @@ resources:
|
|||||||
git clone https://git.openstack.org/openstack/ironic /tmp/ironic
|
git clone https://git.openstack.org/openstack/ironic /tmp/ironic
|
||||||
mkdir -p /var/log/bmlogs
|
mkdir -p /var/log/bmlogs
|
||||||
chmod 777 /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 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
|
disown -a
|
||||||
ExtraDeployments:
|
ExtraDeployments:
|
||||||
type: OS::Heat::SoftwareDeploymentGroup
|
type: OS::Heat::SoftwareDeploymentGroup
|
||||||
|
@ -18,6 +18,7 @@ resource_registry:
|
|||||||
OS::TripleO::AllNodes::Validation: ../common/all-nodes-validation-disabled.yaml
|
OS::TripleO::AllNodes::Validation: ../common/all-nodes-validation-disabled.yaml
|
||||||
OS::TripleO::NodeExtraConfigPost: ../common/vbmc_setup.yaml
|
OS::TripleO::NodeExtraConfigPost: ../common/vbmc_setup.yaml
|
||||||
OS::TripleO::Services::CinderVolume: ../../docker/services/pacemaker/cinder-volume.yaml
|
OS::TripleO::Services::CinderVolume: ../../docker/services/pacemaker/cinder-volume.yaml
|
||||||
|
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2Ansible
|
||||||
|
|
||||||
parameter_defaults:
|
parameter_defaults:
|
||||||
ControllerServices:
|
ControllerServices:
|
||||||
@ -57,6 +58,7 @@ parameter_defaults:
|
|||||||
- OS::TripleO::Services::TripleoPackages
|
- OS::TripleO::Services::TripleoPackages
|
||||||
- OS::TripleO::Services::TripleoFirewall
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
- OS::TripleO::Services::Sshd
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Iscsid
|
||||||
- OS::TripleO::Services::CinderApi
|
- OS::TripleO::Services::CinderApi
|
||||||
- OS::TripleO::Services::CinderScheduler
|
- OS::TripleO::Services::CinderScheduler
|
||||||
- OS::TripleO::Services::CinderVolume
|
- OS::TripleO::Services::CinderVolume
|
||||||
@ -70,3 +72,12 @@ parameter_defaults:
|
|||||||
SwiftCeilometerPipelineEnabled: false
|
SwiftCeilometerPipelineEnabled: false
|
||||||
IronicCleaningDiskErase: 'metadata'
|
IronicCleaningDiskErase: 'metadata'
|
||||||
NovaSchedulerDiscoverHostsInCellsInterval: 15
|
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'
|
Loading…
Reference in New Issue
Block a user