Simple Helion Stackato deployments can be done using the OpenStack Horizon interface. If your system does not have Horizon enabled, if you need to configure options not available in Horizon, or if you want to script VM operations, you should use the following command-line tools:
To use these tools, set the environment variables for your OpenStack
credentials. Download the
openrc.sh file from User Settings >
OpenStack API, click Download RC file and then source the settings
with the following command:
Alternatively, set the variables manually as per the OpenStack CLI documentation.
The following instructions use glance 2.0.0, nova 2.17.0, and cinder 1.6.0. If you are using older versions of these clients (e.g. to work older Open Stack versions) consult the CLI help for usage information, as some options may have changed.
If you have not already done so, download the KVM image of the Helion Stackato Micro Cloud VM.
Unzip the image in a convenient local directory, then use
create an image in OpenStack. For example, the following command imports
qcow2 image of Helion Stackato to OpenStack and makes it publicly available:
glance image-create --name="Stackato-3.6.2" --visibility public \\ --container-format=bare --disk-format=qcow2 \\ --file stackato-v|version|-release.qcow2
To launch instances on OpenStack you will need a keypair consisting of a private and public key. See Creation of Key Pairs in the OpenStack documentation for details.
You can use the existing ssh public key from your local system by running the following command:
nova keypair-add --pub-key ~/.ssh/id_rsa.pub stackato-admin
Before launching a Helion Stackato VM instance, you will need to either create a security group which exposes only the necessary network ports, or use/modify an existing group with the properties described below.
If you are running a single-instance Helion Stackato Micro Cloud, you can create a simple security group which exposes the following three ports to the public (CIDR 0.0.0.0/0):
All internal communication between Helion Stackato processes on other ports
localhost in this configuration. See Helion Stackato port
requirements for details on port usage in
When creating a cluster you must limit most ports for externally-exposed nodes (such as Router or Load Balancer) and allow communication on all ports between nodes internal to the cluster (such as the Primary node, Controller, DEA, and data service nodes).
For example, you could create two groups:
stackato-extexposes only the HTTP, HTTPS, and SSH ports
stackato-intexposes all TCP and UDP ports only to members of the
stackato-extgroups (no ports are exposed to the public)
To create the
stackato-ext security group described above using
nova secgroup-create stackato-ext "Helion Stackato front end nodes" nova secgroup-add-rule stackato-ext tcp 22 22 0.0.0.0/0 nova secgroup-add-rule stackato-ext tcp 80 80 0.0.0.0/0 nova secgroup-add-rule stackato-ext tcp 443 443 0.0.0.0/0
To create the
nova secgroup-create stackato-int "stackato auxiliary nodes"
secgroup-add-group-rule command rather than
secgroup-add-rule for creating rules applying to a group
rather than a CIDR range:
nova secgroup-add-group-rule stackato-int stackato-int tcp 1 65535 nova secgroup-add-group-rule stackato-int stackato-int udp 1 65535 nova secgroup-add-group-rule stackato-int stackato-ext tcp 1 65535 nova secgroup-add-group-rule stackato-int stackato-ext udp 1 65535
stackato-int group is created, additional rules can be
stackato-ext to allow the two groups to communicate:
nova secgroup-add-group-rule stackato-ext stackato-ext tcp 1 65535 nova secgroup-add-group-rule stackato-ext stackato-ext udp 1 65535 nova secgroup-add-group-rule stackato-ext stackato-int tcp 1 65535 nova secgroup-add-group-rule stackato-ext stackato-int udp 1 65535
Find the Helion Stackato VM image using
nova image-list or the Horizon
interface. In the above example, the name 'Stackato-3.6.2' appears
in the list.
nova flavor-list to see a list of available instance sizes and
configurations and choose a flavor that provides 3GB of RAM or
greater. Make note of the flavor ID.
To boot a single Helion Stackato VM for use as a Micro Cloud, use the
boot command. For example:
nova boot microcloud --image Stackato-3.6.2 --flavor m1.medium \\ --key_name stackato-admin --security_groups stackato-ext
If you have multiple networks enabled, specify the one in which you want to
boot the instance using the
--nic net-id=<network id> option.
Setting up a Helion Stackato cluster on OpenStack is very similar to the process on any other infrastructure. Boot instances using the method above, and follow the instructions and guidelines in the Cluster Setup guide.
Stackato nodes hosting data services, the filesystem service, or the controller roles should always have certain key directories backed with block storage in Open Stack. Use the cinder client to create these volumes. For example:
cinder create --name stackato-droplets 100 # GB
nova to attach them. For example:
nova volume-attach <ID of server> <ID of volume created above> /dev/vdc
See the Using Persistent Storage section for instructions on how to mount the filesystems and relocate key data to them. See also the Multiple Controllers section for instructions specific to sharing a filesystem between Cloud Controller nodes.