Installing and configuring OpenStack.
Overview
Atomia is trying to be as agnostic to your OpenStack installation as possible, however there are a few settings required in order for the integration to work correctly.
Before you begin
For installation of OpenStack and documentation regarding how to get started, please visit their website: https://www.openstack.org/software/start/
Configure Nova Compute
nova.conf (controller)
[DEFAULT] # Force SSL for VNC ssl_only=true cert=/etc/nova/ssl/cloud-cert.pem key=/etc/nova/ssl/cloud-key.pem # Allow the resize operation to place VMs on the same host # can be disabled if you have more than 1 compute node allow_resize_to_same_host=True enabled_filters=AllHostsFilter # Auto confirm node resizes resize_confirm_window = 1
nova.conf (compute nodes)
[DEFAULT] # Set vnc proxy url to https and a valid hostname novncproxy_base_url = https://vnc-demo.atomia.com:6080/vnc_auto.html # Allow the resize operation to place VMs on the same host # can be disabled if you have more than 1 compute node allow_resize_to_same_host=True enabled_filters=AllHostsFilter # Auto confirm node resizes resize_confirm_window = 1
Configure Ceilometer
cinder.conf (controller)
[DEFAULT] volume_usage_audit_period=hour
Crontab
#Collect volume usage info every 1 minute */1 * * * * root cinder-volume-usage-audit
polling.yaml
--- sources: - name: some_pollsters interval: 60 meters: - cpu - cpu_l3_cache - memory.usage - network.incoming.bytes - network.incoming.packets - network.outgoing.bytes - network.outgoing.packets - disk.device.read.bytes - disk.device.read.requests - disk.device.write.bytes - disk.device.write.requests - hardware.cpu.util - hardware.memory.used - hardware.memory.total - hardware.memory.buffer - hardware.memory.cached - hardware.memory.swap.avail - hardware.memory.swap.total - hardware.system_stats.io.outgoing.blocks - hardware.system_stats.io.incoming.blocks - hardware.network.ip.incoming.datagrams - hardware.network.ip.outgoing.datagrams
You also need to configure Gnocchi. Please check the page Gnocchi configuration for additional information.
Configure Keystone
Atomia OpenStack module uses ResellerAdmin role by default. If you do not have this role created, you need to add it on your OpenStack. This role will be assigned to OpenStack users. If you want to use a different role, for example AtomiaUser
, you need to create the role and change the role name in the file C:\Program Files (x86)\Atomia\Common\unattended.ini
:
[OpenStack] UserRole = AtomiaUser
keystone.conf
# set uuid as token provider [token] provider = keystone.token.providers.uuid.Provider
Configure Flavors in OpenStack
Flavors in OpenStack is essential in order to be able to define different sizes of virtual machines to sell. In order to create a new flavor use the command “nova flavor-create [id] [name] [ram] [disk] [VCPUs]”, please note that Atomia assumes that the id and name of the flavor is the same.
[root@openstack ~(keystone_admin)]# nova flavor-create m1.ultra m1.ultra 256 5 1 +----------+----------+-----------+------+-----------+------+-------+-------------+-----------+ | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | +----------+----------+-----------+------+-----------+------+-------+-------------+-----------+ | m1.ultra | m1.ultra | 256 | 5 | 0 | | 1 | 1.0 | True | +----------+----------+-----------+------+-----------+------+-------+-------------+-----------+
If you prefer to use the Horizon administration interface the flavor configuration is available to administrators under “system panel -> flavors”.
Add images to OpenStack
When choosing or creating your own images you need to make sure they are in a compatible format and that they have cloud-init installed and configured. If you are planning to create your own image the OpenStack documentation contains very good information about images at OpenStack Image Guide. Most distributions comes with pre created images for cloud platforms such as OpenStack, in the table below we list the ones we have verifed to be working with OpenStack and Atomia.
OPERATING SYSTEM | VERSION | DOWNLOAD URL |
---|---|---|
Ubuntu | 18.04 Bionic Beaver | https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img |
Ubuntu | 16.04 Xenial Xerus | https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img |
Ubuntu | 14.04 Trusty Tahr | https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img |
In order to add an image to OpenStack (Glance) use the commands below (or add them through the Horizon gui).
wget https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img glance image-create --name 'Ubuntu 16.04' --visibility public --disk-format qcow2 --container-format bare < xenial-server-cloudimg-amd64-disk1.img
Note the id of the image, you will need it in later configuration steps. Repeat the process for all images you would like to offer.