Create Openstack images for use with Cheaha
Prerequities
- packer
- python 3.5+
- an openstack RC file
- Copies of certain files you can find around cheaha (place in
ansible/files
):
-
/etc/yum.repos.d/cm.repo
from a bright node -
/etc/pki/rpm-gpg/RPM-GPG-KEY-cm
from a bright node -
/etc/munge/munge.key
from a bright node -
/cm/local/apps/opendlap/etc/certs/*.{key,pem}
(all certs in this directory) from a bright node -
/etc/nslcd.conf
from a bright node
Quickstart
Use your openstack rc file and use the following and you should be able to quickly create an instance:
python -mvenv env
. env/bin/activate
pip install ansible
cp openstack.pkrvars.hcl{.example,}
packer build -var-file=openstack.pkrvars.hcl openstack
Running
- Use your openstack rc file
- Install ansible (preferably in a virtualenv) and ensure
ansible-playbook
is inPATH
- Copy
openstack.pkrvars.hcl.example
toopenstack.pkrvars.hcl
and edit in the documented variables - Run
packer build -var-file=openstack.pkrvars.hcl openstack
Bright considerations
In order to have this node "behave" as a normal slurm node, you'll need to do the following:
- Create an entry for it in devices - this is specifically to create the dns entry (the most important thing to set up is the IP under interfaces)
- Add the node entry to
/etc/slurm/slurm.conf
(both as a node definition and to a partition)
Running the openstack image
- Create an instance with the image, at whatever size you need
- Make sure to assign it to the
openstack-cheaha-internal
network with thecheaha-network
security group - Associagte a cheaha floating ip from the
cheaha-cluster
pool