Merge "Update Ironic VM network connection"
This commit is contained in:
commit
c40d449a39
@ -1306,6 +1306,12 @@ function cleanup_baremetal_basic_ops {
|
|||||||
local vm_name
|
local vm_name
|
||||||
for vm_name in $(_ironic_bm_vm_names); do
|
for vm_name in $(_ironic_bm_vm_names); do
|
||||||
sudo su $STACK_USER -c "$IRONIC_SCRIPTS_DIR/cleanup-node.sh $vm_name"
|
sudo su $STACK_USER -c "$IRONIC_SCRIPTS_DIR/cleanup-node.sh $vm_name"
|
||||||
|
# Cleanup node bridge/interfaces
|
||||||
|
sudo ip link set ovs-$vm_name down
|
||||||
|
sudo ip link set br-$vm_name down
|
||||||
|
sudo ovs-vsctl del-port ovs-$vm_name
|
||||||
|
sudo ip link del dev ovs-$vm_name
|
||||||
|
sudo ip link del dev br-$vm_name
|
||||||
done
|
done
|
||||||
|
|
||||||
sudo ovs-vsctl --if-exists del-br $IRONIC_VM_NETWORK_BRIDGE
|
sudo ovs-vsctl --if-exists del-br $IRONIC_VM_NETWORK_BRIDGE
|
||||||
|
@ -68,10 +68,11 @@ def main():
|
|||||||
help="CPU count for the VM.")
|
help="CPU count for the VM.")
|
||||||
parser.add_argument('--bootdev', default='hd',
|
parser.add_argument('--bootdev', default='hd',
|
||||||
help="What boot device to use (hd/network).")
|
help="What boot device to use (hd/network).")
|
||||||
parser.add_argument('--network', default="brbm",
|
|
||||||
help='The libvirt network name to use')
|
|
||||||
parser.add_argument('--libvirt-nic-driver', default='virtio',
|
parser.add_argument('--libvirt-nic-driver', default='virtio',
|
||||||
help='The libvirt network driver to use')
|
help='The libvirt network driver to use')
|
||||||
|
parser.add_argument('--bridge', default="br-seed",
|
||||||
|
help='The linux bridge name to use for seeding \
|
||||||
|
the baremetal pseudo-node\'s OS image')
|
||||||
parser.add_argument('--console-log',
|
parser.add_argument('--console-log',
|
||||||
help='File to log console')
|
help='File to log console')
|
||||||
parser.add_argument('--emulator', default=None,
|
parser.add_argument('--emulator', default=None,
|
||||||
@ -89,7 +90,7 @@ def main():
|
|||||||
'memory': args.memory,
|
'memory': args.memory,
|
||||||
'cpus': args.cpus,
|
'cpus': args.cpus,
|
||||||
'bootdev': args.bootdev,
|
'bootdev': args.bootdev,
|
||||||
'network': args.network,
|
'bridge': args.bridge,
|
||||||
'nicdriver': args.libvirt_nic_driver,
|
'nicdriver': args.libvirt_nic_driver,
|
||||||
'emulator': args.emulator,
|
'emulator': args.emulator,
|
||||||
'disk_format': args.disk_format
|
'disk_format': args.disk_format
|
||||||
|
@ -62,6 +62,18 @@ else
|
|||||||
fi
|
fi
|
||||||
VOL_NAME="${NAME}.${DISK_FORMAT}"
|
VOL_NAME="${NAME}.${DISK_FORMAT}"
|
||||||
|
|
||||||
|
# Create bridge and add VM interface to it.
|
||||||
|
# Additional interface will be added to this bridge and
|
||||||
|
# it will be plugged to OVS.
|
||||||
|
# This is needed in order to have interface in OVS even
|
||||||
|
# when VM is in shutdown state
|
||||||
|
|
||||||
|
sudo brctl addbr br-$NAME
|
||||||
|
sudo ip link set br-$NAME up
|
||||||
|
sudo ovs-vsctl add-port $BRIDGE ovs-$NAME -- set Interface ovs-$NAME type=internal
|
||||||
|
sudo ip link set ovs-$NAME up
|
||||||
|
sudo brctl addif br-$NAME ovs-$NAME
|
||||||
|
|
||||||
if ! virsh list --all | grep -q $NAME; then
|
if ! virsh list --all | grep -q $NAME; then
|
||||||
virsh vol-list --pool $LIBVIRT_STORAGE_POOL | grep -q $VOL_NAME &&
|
virsh vol-list --pool $LIBVIRT_STORAGE_POOL | grep -q $VOL_NAME &&
|
||||||
virsh vol-delete $VOL_NAME --pool $LIBVIRT_STORAGE_POOL >&2
|
virsh vol-delete $VOL_NAME --pool $LIBVIRT_STORAGE_POOL >&2
|
||||||
@ -73,7 +85,7 @@ if ! virsh list --all | grep -q $NAME; then
|
|||||||
$TOP_DIR/scripts/configure-vm.py \
|
$TOP_DIR/scripts/configure-vm.py \
|
||||||
--bootdev network --name $NAME --image "$volume_path" \
|
--bootdev network --name $NAME --image "$volume_path" \
|
||||||
--arch $ARCH --cpus $CPU --memory $MEM --libvirt-nic-driver $LIBVIRT_NIC_DRIVER \
|
--arch $ARCH --cpus $CPU --memory $MEM --libvirt-nic-driver $LIBVIRT_NIC_DRIVER \
|
||||||
--emulator $EMULATOR --network $BRIDGE --disk-format $DISK_FORMAT $VM_LOGGING >&2
|
--emulator $EMULATOR --bridge br-$NAME --disk-format $DISK_FORMAT $VM_LOGGING >&2
|
||||||
|
|
||||||
# Createa Virtual BMC for the node if IPMI is used
|
# Createa Virtual BMC for the node if IPMI is used
|
||||||
if [[ $(type -P vbmc) != "" ]]; then
|
if [[ $(type -P vbmc) != "" ]]; then
|
||||||
|
@ -28,9 +28,8 @@
|
|||||||
<controller type='ide' index='0'>
|
<controller type='ide' index='0'>
|
||||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
|
||||||
</controller>
|
</controller>
|
||||||
<interface type='network'>
|
<interface type='bridge'>
|
||||||
<source network='%(network)s'/>
|
<source bridge='%(bridge)s'/>
|
||||||
<virtualport type='openvswitch'/>
|
|
||||||
<model type='%(nicdriver)s'/>
|
<model type='%(nicdriver)s'/>
|
||||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
|
||||||
</interface>
|
</interface>
|
||||||
|
Loading…
Reference in New Issue
Block a user