OpenStack Support

Roboconf has a IaaS implementation for OpenStack.
It only supports the creation of compute VMs.

The implementation can associate a public address to the created VM.
The behavior depends on the iaas.properties file.

Roboconf keeps memory of the most public address for the created VM.
This address will be used by other components which resolve their dependencies through Roboconf.

As an example, if a MySQL server is deployed on OpenStack but only has an internal address (i.e. not visible the IaaS), then any web application server that uses it will have to be inside the same network. This can lead to some issues in case of hybrid cloud. For the moment, Roboconf does not check anything with respect to this. It is assumed the administrator knows what he does.

Sample iaas.properties.
Just copy / paste and edit.

# Configuration file for Openstack
iaas.type = openstack

# The keystone URL
openstack.identityUrl = 

# The nova URL
openstack.computeUrl = 

# Credentials to connect
openstack.tenantId = 
openstack.user = 
openstack.password = 
openstack.keypair = 

# VM configuration
openstack.image = 
openstack.flavor = m1.small
openstack.securityGroup = default

# VM networking.
# Use either floatingIpPool for Nova, or networkId / fixedIp for Neutron.
openstack.floatingIpPool = public

# Storage configuration
openstack.volumeId =
openstack.volumeSizeGb =
openstack.volumeMountPoint =

Here is a complete description of the parameters for OpenStack.

Property Description Default Mandatory
iaas.type Determines the IaaS plugin to be used none, must be “openstack” yes
openstack.identityUrl URL of the identity server (aka. keystone) none yes
openstack.computeUrl URL of the compute service (aka. nova) none yes
openstack.tenantId The tenant ID associated to the user to connect none yes
openstack.user The name of the user to connect none yes
openstack.password The password of the user to connect none yes
openstack.keypair The name of the key pair used to connect none yes
openstack.image The ID of the VM image or snapshot used as a template for the VM none yes
openstack.flavor The VM “size” aka. flavor in Openstack m1.tiny no
openstack.securityGroup The VM security group default no
openstack.floatingIpPool A pool of available public IPs, so that one of them be associated to the VM (if no pool is provided, the VM only has a private IP). Works only for Nova networking (for Neutron, use networkId / fixedIp instead). none no
openstack.networkId A neutron (aka quantum) network ID, to use for networking. If no fixedIp is specified, DHCP will be used to associate an IP from the corresponding network. Works only for Neutron networking (for Nova networking, use floatingIpPool instead). none no
openstack.fixedIp When a networkId is specified (Neutron networking), it is possible to select a fixed IP from that network. When no fixedIp is specified, DHCP is used to allocate one dynamically. none no
openstack.volumeId The ID or name of a volume to attach to the VM (if no volume is found with the given ID, it will be considered a name). none no
openstack.volumeSizeGb The size in GB of the volume to attach (usable only with volumeId set as a volume name: the volume would then be created if not present). none no
openstack.volumeMountPoint The mount point of the volume to attach (usable only with volumeId set). Should comply with Openstack volume mount point name conventions (eg. /dev/vdb or /dev/vdc). /dev/vdb no