OpenStack guest tools for ExoGENI
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

This software is intended to be installed into guest VM images that will be instantiated by OpenStack installations that have been patched with the NEuca extensions.

VM images can be variants of RedHat (or derivatives, like Fedora and Centos) or Debian/Ubuntu; other Linux/Unix distributions can be supported, but will require minor patching. Code contributions are welcome!

Typically, installation will require mounting an existing VM image as a loopback device and chroot'ing into it to perform the installation.

Prerequisites: python-2.6 or greater (but not python 3), python-ipaddr, python-netaddr, python-daemon, python-boto, and the Open-iSCSI initiator utilities.

To install (when not using the supplied RPM or DEB), simply execute the following command:

python install

Init scripts are provided for both Debian and Redhat variants; check within the appropriately named directory, and install it "as appropriate."

After the image boots you can also use the following tools from command line:

  • neuca-netconf - to configure host networking
  • neuca-user-script - to retrieve initial user-specified post-boot script
  • neuca-all-user-scripts - to retrieve all user-specified post-boot scripts
  • neuca-run-scripts - to execute any newly created user-specified post-boot scripts
  • neuca-user-data - to retrieve full user data
  • neuca-get - to retrieve specific items from user data
  • neuca-routes - to show whether host has been specified as a router, and get all routes
  • neuca-get-public-ip - to show the public IP of the host
  • neuca-distro - to check distribution detection
  • neuca-version - to report the version of neuca in use
  • neuca - issues the help printed above

For more information visit

Usage on chameleon

Heat Template for creating COMET Cluster

This heat template creates 2 CentOs7 servers and configures COMET on them. User is required to create COMET Context via the python client in order for instances.


Creating COMET context for chameleon node

Use Python Comet Client to create COMET context.

Create pubkeys context with value


Create etchost context with value

{"val_":"[{\"hostName\":\"kthare10.novalocal\",\"ip\":\"\"}]"} NOTE: Replace kthare10.novalocal with hostname of Chameleon instance

Example Commands

Hosts Context

python3 -o create_family -c -i ./input2.json

PubKeys Context

python3 -o create_family -c -i ./input1.json

Usage on exogeni nodes

Fetch neuca-guest-tools code by following commands

git clone
cd neuca-guest-tools/neuca-py/

NOTE: Until code is merged to master, following command is needed to get the latest neuca tools

Install and Start neuca-guest-tools

python install
python /usr/bin/neucad restart

Verify neuca daemon is running

ps -eaf | grep neuca
root 11133 1 2 14:12 ? 00:00:00 python /usr/bin/neucad start