Jump to: navigation, search

Nova-deployment-tool

Warning.svg Old Design Page

This page was used to help design a feature for a previous release of OpenStack. It may or may not have been implemented. As a result, this page is unlikely to be updated and could contain outdated information. It was last updated on 2014-03-26

  • Launchpad Entry: NovaSpec:nova-deployment-tool
  • Created: 2010-10-31
  • Contributors: Shigetoshi Yokoyama, Nobukazu Yoshioka

Summary

Develop a deployment tool for easily installing nova to numbers of computers simultaneously.

Release Note

TBD

Rationale

Using configuration management tool, you can create deployment tool to install nova into multiple OS quickly, to maintain the installing script easily, and install to numbers of machines simultaneously.

User stories

Basic senario:

A first year master student of Computer Science Department (Akira) has benchmarked Eucalyptus 2.0. Now Akira wants to apply the same benchmark on Nova in the same environment as before.

Requirements before starting scenarios:

  1. Os Ubuntu 10.10 Server edition is installed
  2. Network is connected.

Scenario 1:

  1. Change the setting for one computer, then execute deployment tool to install nova(Austin) into one computer automatically.
  2. Run functional test automatically, and confirm all the test results are OK.
  3. If any test result is NG in step 2, analyze the reason according to the error message, and after solving it, run the deployment tool to install nova, and run functional tests again.
  4. Start benchmarking and get the result.

Steps:

  1. Install deployment tool.
  2. Change setting.
  3. Execute deployment tool.
    • Install puppet
    • Create manifest according to setting.
    • Puppet_run
    • Execute nova test tool for functional test.
    • Return test results with advisory message.
    • If OK, go to 4.
  4. Start benchmarking, get result data.

Scenario 2: 1. Change the setting for five computers(api + volume, network, compute x 3), then execute deployment tool to install nova(Austin) into five computers automatically. 2. Run functional test automatically, and confirm all the test results are OK. 3. If any test result is NG in step 2, analyze the reason according to the error message, and after solving it, run the deployment tool to install nova, and run functional tests again. 4. Start benchmarking and get the result.

Preconditions:

Five computers with Ubuntu 10.10 server edition installed and connected in the same LAN.

Detailed documentation available at NovaInstall/NovaDeploymentTool.

Steps:

  1. Install deployment tool.
  2. Change setting.
  3. Execute deployment tool.
    • Install puppet
    • Create manifest according to setting.
    • Puppet_run
    • Execute nova test tool for functional test.
    • Return test results with advisory message.
    • If OK, go to 4.
  4. Start benchmarking, get result data.

Scenario 3:

  1. Change the setting for five computers(api, volume, network, compute x 2), then execute deployment tool to install nova(2010.10.21 version) into five computers automatically.
  2. Run functional test automatically, and confirm all the test results are OK.
  3. If any test result is NG in step 2, analyze the reason according to the error message, and after solving it, run the deployment tool to install nova, and run functional tests again.
  4. Start benchmarking and get the result.

Preconditions:

Five computers with Ubuntu 10.10 server edition installed and connected in the same LAN.

Steps:

Same as scenario 1. 

Scenario 4:

  1. Change the setting for five computers(api + volume + network, compute x 4), then execute deployment tool to install nova(Austin) into five computers automatically.
  2. Run functional test automatically, and confirm all the test results are OK.
  3. If any test result is NG in step 2, analyze the reason according to the error message, and after solving it, run the deployment tool to install nova, and run functional tests again.
  4. Start benchmarking and get the result.

Precondition:

Five computers with Ubuntu 10.10 server edition installed and connected in the same LAN.

Step:

Same as senario 1. 

Scenario 5:

  1. Change the setting for five computers(api, volume x 2, network, compute), then execute deployment tool to install nova(2010.10.21 version) into five computers automatically.
  2. Run functional test automatically, and confirm all the test results are OK.
  3. If any test result is NG in step 2, analyze the reason according to the error message, and after solving it, run the deployment tool to install nova, and run functional tests again.
  4. Start benchmarking and get the result.

Preconditions:

Five computers with Ubuntu 10.10 server edition installed and connected in the same LAN.

Steps:

Same as senario 1. 

Assumptions

OS has been installed into target computers. Sshd has been installed into target computers. Ssh has been installed into the computers where to install from.

Design

  1. Download the deployment tool(Deploy.py)
  2. Change the setting of the deployment tool, which is something like configuration file. And the setting items are IP address, installation path and others.
  3. Execute Deploy.sh.
  4. ********* The followings are what Deploy.sh does ***********
  5. Install Ruby, Gem, Puppet and other necessary software.
  6. Change Puppet manifest according to the configuration file.
  7. Deploy Puppet master's manifest.
  8. Start Puppet client.
  9. Install Nova and start it.
  10. Install NovaClient(to the step loading novarc).
  11. Execute Nova test cases to confirm the result.
  12. Output the result.

Implementation

TBD

UI Changes

TBD

Code Changes

TBD

Migration

TBD

Test/Demo Plan

  1. Test to check if all the services are running.
  2. Test to check if the image can be bundled, uploaded and registered.
  3. Test to check if the registered image can be started as an instance.
  4. Test to check if the instance started can be terminated.

Unresolved issues

This might be related to Soren's blueprint and should maybe be discussed at the same time.

Soren's "Use puppet to deploy Nova" blueprint

BoF agenda and discussion

TBD