Nova-deployment-tool
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