Atomia Cloud Hosting Platform

OpenStack configuration

49 views 0

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

Table: Verified images.

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.

Was this helpful?