Connecting Atomia to OpenStack

Atomia by default offers connectivity to any flavor of the OpenStack installation. This enables Atomia to automatically provision and execute billing tasks upon the actions from your end customers.

For Atomia to be able to perform these actions, Atomia connects to different end points (API) of your OpenStack installation. Atomia utilizes following OpenStack modules / API:

Module Description API End Point
keystone Used by Atomia to manage identity of your end users in your OpenStack installation http://hostname-of-keystone:35357
nova Used to handle all compute node related information regarding your end users running virtual machines http://hostname-of-nova:8774
neutron Handling networking parts of virtual machines of your end customers http://hostname-of-neutron:9696
ceilometer Collecting all metered values as you have defined them, which are then being automatically billed by Atomia to your end customer http://hostname-of-ceilometer:8777
cinder For management of storage for your end customers (snapshots, volumes and so on) http://hostname-of-cinder:8776


To connect Atomia to your existing OpenStack environment - just one XML file needs to be edited, which looks like this:

<?xml version="1.0" encoding="utf-8"?>
<resourceDescription xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <bindings xdt:Locator="XPath(//bindings[moduleList/module/@name='Atomia.Provisioning.Modules.OpenStack.OpenStack'])">
    <moduleList>
      <module name="Atomia.Provisioning.Modules.OpenStack.OpenStack" resourceAsignmentPolicy="RoundRobin" />
    </moduleList>
    <resourceList>
      <resource name="OpenStack1" xdt:Transform="Insert">
        <property name="AdminUser">admin</property>
        <property name="AdminPassword">admin</property>
        <property name="OSDomain">Default</property>
        <property name="IdentityUri">http://hostname-of-keystone:35357</property>
        <property name="ComputeUri">http://hostname-of-nova:8774</property>
        <property name="NetworkUri">http://hostname-of-neutron:9696</property>
        <property name="CeilometerUri">http://hostname-of-ceilometer:8777</property>
        <property name="CinderUri">http://hostname-of-cinder:8776</property>
        <property name="Hypervisor">kvm</property>
        <property name="ExternalGatewayId">2185b388-f4ad-4925-a1a0-155ea17aac66</property>
      </resource>
    </resourceList>
  </bindings>
</resourceDescription>


Once this is done - you can start 
defining products in Atomia which your end customer can than purchase.

More information on OpenStack configuration can be found here.