Jump to: navigation, search

Nova-deployment-tool

Revision as of 02:53, 31 October 2010 by ShigetoshiYokoyama (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 the cloud based on Eucalyptus 2.0. Now Akira wants to do the same benchmark for Nova in the same environment as before.

Preparements before starting benchmarking:

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

Senario 1: 1. Change the setting for one computer, then execute deployment tool to install nova(2010.10.21 version) 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.

Senario 1 in deatils: Step: 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.

Senario 2: 1. Change the setting for five computers(api + volume, network, compute x 3), 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.

Senario 2 in details:

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

Step: 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.

Senario 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.

Senario 3 in details:

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

Step: As same as senario 1.

Senario 4: 1. Change the setting for five computers(api + volume + network, compute x 4), 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.

Senario 4 in details:

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

Step: As same as senario 1.

Senario 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.

Senario 5 in details:

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

Step: As 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(Deloy.sh) 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.

  • *********The followings are what Deloy.sh do.***********

4. Install Ruby, Gem, Puppet and other necessary softwares. 5. Change Puppet manifest according to 2. 6. Deloy Puppet master's manifest. 7. Start Puppet client. 8. Install Nova and start it. 9. Install NovaClient(to the step loading novarc). 10. Execute Nova test cases to confirm the result. 11. Output the result.

Implementation

TBD

UI Changes

TBD

Code Changes

TBD

Migration

TBD

Test/Demo Plan

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

Unresolved issues

TBD

BoF agenda and discussion

TBD