ca3d5e47b0
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
54 lines
2.2 KiB
YAML
54 lines
2.2 KiB
YAML
heat_template_version: rocky
|
|
|
|
parameters:
|
|
servers:
|
|
type: json
|
|
|
|
resources:
|
|
|
|
ExtraConfig:
|
|
type: OS::Heat::SoftwareConfig
|
|
properties:
|
|
group: script
|
|
config: |
|
|
#!/bin/bash
|
|
cd /etc/yum.repos.d
|
|
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
|
|
yum remove -y epel-release
|
|
systemctl start libvirtd
|
|
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: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
|
|
properties:
|
|
servers: {get_param: servers}
|
|
config: {get_resource: ExtraConfig}
|
|
actions: ['CREATE'] # Only do this on CREATE
|
|
name: VirtNodeExtraConfig
|