Skip to content
Snippets Groups Projects
Forked from rc / hpc-factory
29 commits behind the upstream repository.
Eesaan Atluri's avatar
Eesaan Atluri authored
Closes rc/hpc-factory#181

Defining a network can be optional when a port is already defined when
deploying a VM.

This commit adds flexibility where you can either use --port or
--network options to define a network during the deployment.

Alternatively, you can define both but the port cannot be from the same
network you used in the --network option. Otherwise, you will have two
ips from the same network which will cause network reachability issues.
09717c19

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