ChameleonCloud / chi-in-a-box

Packaging the systems and operations of the Chameleon testbed
Apache License 2.0
14 stars 10 forks source link

support baremetal node vlans in dev-in-a-box via tenks + ovs #295

Closed msherman64 closed 2 months ago

msherman64 commented 2 months ago

This PR documents dev-in-a-box more fully, and provides a pre-configured defaults.yml file suitable to set up a development instance on top of KVM.

In particular, it uses 3 sets of veth pairs to create dummy interfaces for the external api, internal api, and neutron physnet, so that we don't depend on actual interface naming.

some assumptions for this to work:

a separate veth pair is created for each of:

external_api internal_api physnet for public physnet for sharednet+ironic-provisoning+tenant nets

When you run the commands to "start up" tenks, it will create 3 libvirt domains, a virtualbmc listener for each, and a network interface for each VM attached to the provisioning and sharednet physnets. Then, it will enroll them into ironic (but not blazar or Doni) for you.

to test things out, try commands like: openstack baremetal node inspect tk0 or openstack server create --flavor my_rc --image CC-Ubuntu20.04 --network sharednet1 test01

to watch the serial console, execute e.g. virsh console tk0, which you can exit by pressing ctrl+a, ]

note some remaining chi-in-a-box tech debt: it's still a bit clunky to import the cc-ubuntu images. Also, these fake nodes need something like 4GB of ram, mostly to unpack our centos8-based ironic initramfs. This could be minimized by using tinyipa instead.