Skip to content
Snippets Groups Projects
Forked from Chris King / Packer Openstack Hpc Image
432 commits ahead of the upstream repository.
Krish Moodbidri's avatar
fe0de868

Create Openstack images for use with Cheaha

Prerequities

  1. packer
  2. python 3.5+
  3. an openstack RC file
  4. 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

  1. Use your openstack rc file
  2. Install ansible (preferably in a virtualenv) and ensure ansible-playbook is in PATH
  3. Copy openstack.pkrvars.hcl.example to openstack.pkrvars.hcl and edit in the documented variables
  4. 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:

  1. 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)
  2. Add the node entry to /etc/slurm/slurm.conf (both as a node definition and to a partition)

Running the openstack image

  1. Create an instance with the image, at whatever size you need
  2. Make sure to assign it to the openstack-cheaha-internal network with the cheaha-network security group
  3. Associagte a cheaha floating ip from the cheaha-cluster pool