Files
nova-powervm/devstack
Eric Fried fe9bec248e Shim compute driver in nova.virt namespace
Recent nova commit 8eb03de1eb83a6cd2d4d41804e1b8253f94e5400 removed the
mechanism by which nova-powervm was loading its ComputeDriver from out
of tree.

With Change-Id: I78c0ca85cb6ee2e370214a89a203f6f099748930 we can now add
to the nova.virt namespace from the nova-powervm package.

This change set restores the ability to load the driver by creating a
thin shim into nova.virt.powervm.driver, passing through all public
symbols from nova_powervm.virt.powervm.driver.

Change-Id: I8ff5154edfcef6fa83686b2ae046512ce7d6d628
Partial-Bug: 1575335
2016-04-28 14:55:52 -05:00
..

Installing with DevStack

What is DevStack?

DevStack is a script to quickly create an OpenStack development environment.

Find out more here.

What are DevStack plugins?

DevStack plugins act as project-specific extensions of DevStack. They allow external projects to execute code directly in the DevStack run, supporting configuration and installation changes as part of the normal local.conf and stack.sh execution. For NovaLink, we have DevStack plugins for each of our three projects - nova-powervm, networking-powervm, and ceilometer-powervm. These plugins, with the appropriate local.conf settings for your environment, will allow you to simply clone down DevStack, configure, run stack.sh, and end up with a working OpenStack/Novalink PowerVM environment with no other scripting required.

More details can be found here.

  1. Download DevStack:

    $ git clone https://git.openstack.org/openstack-dev/devstack /opt/stack/devstack
  2. Set up your local.conf file to pull in our projects:
    1. If you have an existing DevStack local.conf, modify it to pull in this project by adding:

      [[local|localrc]]
      enable_plugin nova-powervm http://git.openstack.org/openstack/nova-powervm

    and following the instructions for networking-powervm and ceilometer-powervm as needed for your environment.

    1. If you're setting up DevStack for the first time, example files are available in the nova-powervm project to provide reference on using this driver with the corresponding networking-powervm and ceilometer-powervm drivers. Following these example files will enable the appropriate drivers and services for each node type. Example config files for all-in-one, compute, and control nodes can be found here.

      The nova-powervm project provides three different sample local.conf files as a starting point for devstack.

      • local.conf.aio

        • Runs on the NovaLink VM of the PowerVM system
        • Provides a full 'all in one' devstack VM
      • local.conf.control

        • Can run on any devstack capable machine (POWER or x86)
        • Provides the controller node for devstack. Typically paired with the local.conf.compute
      • local.conf.compute

        • Runs on the NovaLink VM of the PowerVM system
        • Provides the compute node for a devstack. Typically paired with the local.conf.control
  3. See our devrefs and plugin references for the configuration options for each driver, then configure the installation in local.conf as needed for your environment.

  4. For nova-powervm, changing the DISK_DRIVER settings for your environment will be required. The default configuration for other settings will be sufficient for most installs. :

    [[local|localrc]]
    ...
    DISK_DRIVER =
    VOL_GRP_NAME =
    CLUSTER_NAME =
    
    [[post-config|$NOVA_CONF]]
    [powervm]
    ...
  5. A few notes:

    • By default this will pull in the latest/trunk versions of all the projects. If you want to run a stable version instead, you can either check out that stable branch in the DevStack repo (git checkout stable/liberty) which is the preferred method, or you can do it on a project by project basis in the local.conf file as needed.
    • If you need any special services enabled for your environment, you can also specify those in your local.conf file. In our example files we demonstrate enabling and disabling services (n-cpu, q-agt, etc) required for our drivers.
  6. Run stack.sh from DevStack:

    $ cd /opt/stack/devstack
    $ FORCE=yes ./stack.sh

    FORCE=yes is needed on Ubuntu 15.10 since only Ubuntu LTS releases are officially supported by DevStack. If you're running a control only node on a different, supported OS version you can skip using FORCE=yes.

  7. At this point DevStack will run through stack.sh, and barring any DevStack issues, you should end up with a standard link to your Horizon portal at the end of the stack run. Congratulations!