«

»

Mar 22 2016

Nutanix OpenStack Part I – Deployment

“VMTurbo"
This will be the first blog post in a series that will cover the Nutanix OpenStack solution and what could be better than starting with the deployment. I will not spend much time explaining the architecture but i’ll mention the three main components in the Nutanix OpenStack solution:

  • Acropolis OpenStack Services VM (OVM) – This is the VM we will create later in the blog post and it includes both the below components in my case. You can use another OpenStack controller if you prefer but in this demo purpose case i don’t have any requirements that can justify that.
  • OpenStack Controller (OSC) – The OpenStack controller manage the OpenStack API calls and provides e.g. the API and UI capabilities.
  • Acropolis OpenStack Driver – The OpenStack Controller sends instructions to the Acropolis OpenStack drivers which translates them to Acropolis API calls.

Prerequisites

First a few things you need before we can complete the deployment since it involves connecting the OVM to an existing Nutanix Acropolis Hypervisor (AHV) cluster.

  • Install an AHV based Nutanix cluster.
  • Download the OVM from the Nutanix Portal via the Downloads -> Tools & Firmware dropdown.
    • Search for Nutanix OpenStack Image and download the qcow2 file
      Screen Shot 2016-03-18 at 02.55.55
  • Upload the Image to the existing Nutanix cluster Image Configuration formerly known as Image Service using the following procedure:
    • Start Image Configuration via the upper right Gear Icon -> Image Configuration
      Screen Shot 2016-03-18 at 07.03.08
    • Click the Upload Image button
      Screen Shot 2016-03-18 at 02.03.09
    • Give the Image a Name, Provide an Annotation, Select Disk as Image Type, Select Container and finally select the downloaded file before pressing the Save icon.
      Screen Shot 2016-03-18 at 01.52.14

When done it’s time to start deploying the OVM.

Deployment

As with any other Nutanix solution the OpenStack one is also very easy to deploy. Follow the below steps and you are up and running a few minutes after the download has completed.

  • Create the OVM using the qcow2 file via the VM -> Table view and pressing the light green Create VM icon upper right corner
    • Give the VM a Name, configure 4 vCPUs, configure 16 GB RAM
      Screen Shot 2016-03-18 at 02.10.42
    • Create a disk using the Clone From Image Service options, select the recently uploaded OVM-Img file and click Add.
      Screen Shot 2016-03-18 at 02.10.18
    • Create a NIC meaning select a VLAN ID in the drop down box and click add.
      Screen Shot 2016-03-18 at 02.10.31
    • When VM is created, power it on and launch the console
  • Configure the OVM. There are only three commands that you need to run to setup the OVM but please refer to the Implementation guide for additional information and potential configuration steps regarding compute resource calculation, Nutanix Container to be used among other things.
    • Add Nutanix OVM
      • ovmctl –add ovm –name ovm01 –ip 10.10.100.161 –netmask 255.255.255.0 –gateway 10.10.100.1 –nameserver 10.10.100.3 –domain vcdx56.local
        Important: there are two minus signs before each argument meaning — 
        Screen Shot 2016-03-18 at 08.02.18

        • IP is the IP of the OVM we just deployed and the rest is pretty self explaining
    • Add OpenStack Controller
      • ovmctl –add controller –name ovm01 –ip 10.10.100.161
        Important: there are two minus signs before each argument meaning —
        Screen Shot 2016-03-18 at 02.30.45

        • OVM is still the OVM we just deployed. This is where you can configure another Controller if needed.
    • Add the first Nutanix Cluster
      • ovmctl –add cluster –name npx5 –ip 10.10.100.135 –username admin –password nutanix/4u –container_name CTR01
        Important: there are two minus signs before each argument meaning — Screen Shot 2016-03-18 at 03.01.48

        • This is where we add the Nutanix AHV based cluster as an OpenStack hypervisor. Since i don’t have a Nutanix Container called default i need to specify the Nutanix Container name using –container_name
  • Verify the configuration using the ovmctl –show command and make sure there are no errors and that the configured Nutanix Cluster is displayed correctly
    Screen Shot 2016-03-18 at 03.09.55
    Role:
    —–
    Allinone – Openstack controller, Acropolis driversOVM configuration:
    ——————
    1 OVM name : ovm01
    IP : 10.10.100.161
    Netmask : 255.255.255.0
    Gateway : 10.10.100.1
    Nameserver : 10.10.100.3
    Domain : vcdx56.localOpenstack Controllers configuration:
    ————————————
    1 Controller name : ovm01
    IP : 10.10.100.161
    Auth
    Auth strategy : keystone
    Auth region : RegionOne
    Auth tenant : services
    Auth Nova password : ********
    Auth Glance password : ********
    Auth Cinder password : ********
    Auth Neutron password : ********
    DB
    DB Nova : mysql
    DB Cinder : mysql
    DB Glance : mysql
    DB Neutron : mysql
    DB Nova password : ********
    DB Glance password : ********
    DB Cinder password : ********
    DB Neutron password : ********
    RPC
    RPC backend : rabbit
    RPC username : guest
    RPC password : ********
    Image cache : disableNutanix Clusters configuration:
    ——————————-
    1 Cluster name : npx5
    IP : 10.10.100.135
    Username : admin
    Password : ********
    Vnc : 41648
    Vcpus per core : 4
    Container name : CTR01
    Services enabled : compute, volume, networkVersion:
    ——–
    Version : 2015.1.0
    Release : 1
    Summary : Acropolis drivers for Openstack Kilo.
  • Now it’s time to access the UI.
    • Browse to using https://10.10.100.161 and log in using admin/admin
      Screen Shot 2016-03-18 at 03.12.52
    • This is the Home screen when loggin in as admin
      Screen Shot 2016-03-18 at 07.52.50
    • Verify the Hypervisor, the Nutanix cluster is successfully displayed in the UI
      Screen Shot 2016-03-18 at 07.53.06

Yes, i know i’m employees by Nutanix but this is by far the easiest and fatest OpenStack deployment i have ever seen. The footprint is just one single VM using 4 vCPUs and 16 GB Memory compared to multiple VMs for many other solutions.

Next part will be about OpenStack Projects and can be found here

When done reading this blog post, please proceed to part two, three and four in the blog series:

Nutanix OpenStack Part II – Project & User Management

Nutanix OpenStack Part III – Network Management

Nutanix OpenStack Part IV – Image management

 

4 comments

Skip to comment form

  1. Andrey

    Hi,
    I followed exactly the same procedure when deploying openstack vm. Anyway, after I create ovm with ovmctl command, the IP address is dropped in like 15 seconds. Though the eth0 interface is configured with NM_CONTROLLED=no, only disabling NetworkManager has helped here. But then I get error messages that NM manager is disabled when creating controller and cluster. Any ideas how to fix that?

  2. comprar bebe reborn

    Excellent, what a website it is! This website gives valuable information to
    us, keep it up.

  3. como abortar

    Excellent way of explaining, and nice paragraph to obtain facts on the topic of my presentation subject
    matter, which i am going to present in school.

  4. Justin

    Minor question for a fledgling admin:

    after adding the controller you note “this is where you can add another controller if needed”.

    Are there any notes I can read up on on how to configure a multi-controller configuration so I can have a bit of HA in this setup? I assumed I’d simply repeat the syntax for each controller, but attempting to do that returns the error that it can’t remove the default controller … implying it tried to _replace_ the controller, not add a 2nd. It looks like there’s a local mysql on each image, so it’s possible I’m trying to get too fancy, but I thought I’d ask.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">