Introduction
The dodai-deploy is a software management tool. It supports the following softwares.
- OpenStack Diablo(Nova, Glance, Swift)
- hadoop 0.20.2
- sun grid engine 6.2u5
Features
- Manage installation, uninstallation and testing of a software.
- Support OpenStack Diablo and hadoop 0.20.2
- Support target machines in different network segments.
- Provide web UI to facilitate user operations.
- Provide REST API to make it possible to integrate it with other tools.
- Support parallel installation of software components.
OSes supported
The following OSes are supported.
- ubuntu 10.10
- ubuntu 11.04
- ubuntu 11.10
======
Glossary
- dodai-deploy server - The server in which services of dodai-deploy is started.
- Node - The machine that is the target of installation.
- Software - Nova, Glance, Swift etc.
- Component - Part of software, such as nova-compute or swift-proxy.
- Proposal - The set of the kinds of configurations which describe how to install a software. The configurations include "Node config", "Config item", "Software config", "Component config".
- Node config - A configuration that describes which component to be installed on a node.
- Config item - A variable which can be used in the content of software config and component config.
- Software config - A configuration that describes the content of a configuration file for all components.
- Component config - A configuration that describes the content of a configuration file for only one component.
Installation with one command
With the following command, you can install dodai-deploy server and dodai-deploy node in only one step.
curl https://raw.github.com/nii-cloud/dodai-deploy/master/setup-env/setup-all-in-one.sh | sudo sh
# OR if via proxy server
https_proxy=$proxy_server curl https://raw.github.com/nii-cloud/dodai-deploy/master/setup-env/setup-all-in-one.sh | sudo http_proxy=$proxy_server sh
Then you can access the Web UI via the URL http://$dodai_deploy_server:3000/.
Installation
The "$home" in the following sections is the path of the home directory of the dodai-deploy.
Download dodai-deploy
Execute the following commands on the dodai-deploy server and all the nodes.
sudo apt-get install git -y
git clone https://github.com/nii-cloud/dodai-deploy.git
cd dodai-deploy; git checkout 1.0 #only used to get dodai-deploy 1.0
Set up the dodai-deploy server
Execute the following commands on dodai-deploy server to install necessary softwares and modify their settings.
sudo $home/setup-env/setup.sh server
Set up nodes
Execute the following commands on all the nodes to install necessary softwares and modify their settings.
sudo $home/setup-env/setup.sh -s $server node
The $server in the above command is the fqdn of the dodai-deploy server. You can confirm the fqdn with the following command.
sudo hostname -f
Set up storage device for Swift
It is necessary to set up a storage device before swift is installed. You should execute the commands for a physical device or for a loopback device on all nodes in which swift storage server is to be installed.
For a physical device
Use the following command when the device is a physical device.
sudo $home/setup-env/setup-storage-for-swift.sh physical $storage_path $storage_dev
For example,
sudo $home/setup-env/setup-storage-for-swift.sh physical /srv/node sdb1
For a loopback device
Use the following command when the device is a loopback device.
sudo $home/setup-env/setup-storage-for-swift.sh loopback $storage_path $storage_dev $size
For example,
sudo $home/setup-env/setup-storage-for-swift.sh loopback /srv/node sdb1 4
Start servers
Execute the following command on the dodai-deploy server to start the web server and job server.
sudo $home/script/start-servers production
BTW, You can stop the web server and job server with the following command.
sudo $home/script/stop-servers
Uninstallation
Execute the following command on the dodai-deploy server to remove dodai-deploy.
sudo $home/setup-env/teardown.sh server
Execute the following command on the dodai-deploy nodes to remove dodai-deploy.
sudo $home/setup-env/teardown.sh node
Set up on EC2
Dodai-deploy can be set up on Amazon EC2 computing environment.
Define environment variables
Fill values in $home/lib/tasks/dodai_ec2rc and execute following command to define environment variables.
source $home/lib/tasks/dodai_ec2rc
Set up dodai-deploy server and nodes in one time
Execute the following command to set up dodai-deploy server and nodes in one time.
rake dodai:ec2 nodes_size=NODES_SIZE [server_port=SERVER_PORT]
# NODES_SIZE : The number of dodai-deploy nodes to be started.
# SERVER_PORT : The port number of dodai-deploy server. The default value is 3000.
Set up dodai-deploy server only
Execute the following command to set up dodai-deploy server only.
rake dodai:ec2 [server_port=SERVER_PORT]
# SERVER_PORT : The port number of dodai-deploy server. The default value is 3000.
Set up dodai-deploy nodes and add them to a dodai-deploy server
Execute the following command to set up dodai-deploy nodes and add them to a dodai-deploy server.
rake dodai:ec2:nodes nodes_size=NODES_SIZE server_fqdn=SERVER_FQDN server_dns_name=SERVER_DNS_NAME [server_port=SERVER_PORT]
#NODES_SIZE : The number of dodai-deploy nodes to be started.
#SERVER_FQDN : The fqdn of dodai-deploy server, which can be confirmed with command "hostname -f".
#SERVER_DNS_NAME: The IP address or dns name of dodai-deploy server.
#SERVER_PORT : The port number of dodai-deploy server. The default value is 3000.
Use Web UI
You can find step-by-step guidance at http://$dodai_deploy_server:3000/.
Use REST APIs
An API simulator can be found at http://$dodai_deploy_server:3000/rest_apis/index.html. You can get the list of REST APIs with it. Moreover, you can execute APIs by simply filling in parameters and clicking the "Execute" button.
Use CLI
The lightweight cli tool for dodai-deploy is provided. You can find the usage with the following command.
script/cli.rb
And the output is,
Usage: ruby dodai_deploy_cli.rb [--verbose] [--port=PORT_NUMBER] SERVER RESOURCE ACTION [PARAM1 PARAM2 ...]
SERVER : IP address or dns name of deploy server.
PORT_NUMBER: Port number of the rails server in deploy server.
RESOURCE : Resource name.
ACTION : Action name, such as list, show, create, destroy.
--verbose : Return details.
Available resources and actions can be confirmed with the following command.
script/cli.rb list SERVER
The output is,
Resources and corresponding actions are listed below.
software
list
show
component
list
show
node
list
create
destroy
node_candidate
list
proposal
list
create
destroy
show
install
uninstall
test
Notes
SSH login nova instance after test of nova
An instance will be started during the test of nova. After the test, you can login the instance by executing the following commands.
sudo -i
cd /tmp/nova
. env/novarc
euca-describe-instances
ssh -i mykey.priv 10.0.0.3
Nova depends on glance in default settings.
Because in /etc/nova/nova.conf the value of setting "image_service" is "nova.image.glance.GlanceImageService", glance should be installed before using nova.
https://github.com/nii-cloud/dodai-deploy/wiki/User-guide