Merge "Remove outdated samples about deployment"
This commit is contained in:
commit
5dd9c7563e
@ -1,40 +0,0 @@
|
||||
Using Rally for OpenStack deployment
|
||||
====================================
|
||||
|
||||
This directory contains various input files for **rally deployment create**
|
||||
command. This command will deploy OpenStack and register it to Rally DB.
|
||||
|
||||
|
||||
devstack-in-existing-servers.json
|
||||
---------------------------------
|
||||
|
||||
Deploy with DevStack OpenStack cloud on specified servers.
|
||||
|
||||
|
||||
devstack-in-lxc.json
|
||||
--------------------
|
||||
|
||||
Deploy DevStack cluster in LXC containers
|
||||
|
||||
|
||||
devstack-in-openstack.json
|
||||
--------------------------
|
||||
|
||||
Create require VM in specified OpenStack cloud and deploy using DevStack
|
||||
OpenStack on them.
|
||||
|
||||
|
||||
devstack-lxc-engine-in-existing-servers.json
|
||||
--------------------------------------------
|
||||
|
||||
See *devstack-lxc-engine-in-existing-servers.rst* for details
|
||||
|
||||
fuel-ha.json
|
||||
------------
|
||||
|
||||
Deploy High Availability FUEL cluster.
|
||||
|
||||
fuel-multinode.json
|
||||
-------------------
|
||||
|
||||
Deploy Multinode FUEL cluster.
|
@ -1,57 +0,0 @@
|
||||
{
|
||||
"type": "MultihostEngine",
|
||||
"controller": {
|
||||
"type": "DevstackEngine",
|
||||
"localrc": {
|
||||
"ENABLED_SERVICES+": ",-n-cpu,-n-net",
|
||||
"MULTI_HOST": "1"
|
||||
},
|
||||
"provider": {
|
||||
"type": "CobblerProvider",
|
||||
"host": "172.29.74.8",
|
||||
"user": "cobbler",
|
||||
"password": "cobbler",
|
||||
"selector": {
|
||||
"profile": "OpenStackController",
|
||||
"owners": "Owner"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"type": "DevstackEngine",
|
||||
"count": 1,
|
||||
"localrc": {
|
||||
"ENABLED_SERVICES": "n-net"
|
||||
},
|
||||
"provider": {
|
||||
"type": "CobblerProvider",
|
||||
"host": "172.29.74.8",
|
||||
"user": "cobbler",
|
||||
"password": "cobbler",
|
||||
"selector": {
|
||||
"profile": "OpenStackNetwork",
|
||||
"owners": "Owner"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "DevstackEngine",
|
||||
"count": 1,
|
||||
"localrc": {
|
||||
"ENABLED_SERVICES": "n-cpu"
|
||||
},
|
||||
"provider": {
|
||||
"type": "CobblerProvider",
|
||||
"host": "172.29.74.8",
|
||||
"user": "cobbler",
|
||||
"password": "cobbler",
|
||||
"selector": {
|
||||
"profile": "OpenStackCompute",
|
||||
"owners": "Owner"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
]
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
{
|
||||
"type": "DevstackEngine",
|
||||
"devstack_repo": "https://git.openstack.org/openstack-dev/devstack",
|
||||
"devstack_branch": "master",
|
||||
"provider": {
|
||||
"type": "ExistingServers",
|
||||
"credentials": [{"user": "root", "host": "10.2.0.8"}]
|
||||
}
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
{
|
||||
"type": "DevstackEngine",
|
||||
"local_conf": {
|
||||
"VIRT_DRIVER": "fake"
|
||||
},
|
||||
"provider": {
|
||||
"type": "LxcProvider",
|
||||
"containers_per_host": 4,
|
||||
"container_name_prefix": "rally-providertest-02-",
|
||||
"start_lxc_network": "10.100.1.0/28",
|
||||
"tunnel_to": ["10.5.0.1"],
|
||||
"distribution": "ubuntu",
|
||||
"release": "raring",
|
||||
"host_provider": {
|
||||
"type": "ExistingServers",
|
||||
"credentials": [{"user": "root", "host": "10.2.250.103"}]
|
||||
}
|
||||
}
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
{
|
||||
"type": "DevstackEngine",
|
||||
"provider": {
|
||||
"type": "OpenStackProvider",
|
||||
"deployment_name": "Rally sample deployment",
|
||||
"user": "admin",
|
||||
"tenant": "admin",
|
||||
"region": "RegionOne",
|
||||
"flavor_id": "2",
|
||||
"nics": [{"net-id": "97936015-128a-42f1-a3f2-1868ceeeeb6f"}],
|
||||
"password": "admin",
|
||||
"auth_url": "http://example.net:5000/v2.0",
|
||||
"amount": 1,
|
||||
"wait_for_cloud_init": true,
|
||||
"image": {
|
||||
"checksum": "5101b2013b31d9f2f96f64f728926054",
|
||||
"name": "Ubuntu raring(added by rally)",
|
||||
"format": "qcow2",
|
||||
"userdata": "#cloud-config\r\n disable_root: false\r\n manage_etc_hosts: true\r\n",
|
||||
"url": "http://cloud-images.ubuntu.com/raring/current/raring-server-cloudimg-amd64-disk1.img"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
{
|
||||
"type": "MultihostEngine",
|
||||
"controller": {
|
||||
"type": "DevstackEngine",
|
||||
"localrc": {
|
||||
"MULTI_HOST": "1",
|
||||
"VIRT_DRIVER": "fake",
|
||||
"API_RATE_LIMIT": "False",
|
||||
"ENABLED_SERVICES+": ",-n-cpu",
|
||||
"SCREEN_LOGDIR": "$DEST/logs/screen"
|
||||
},
|
||||
"provider": {
|
||||
"type": "LxcProvider",
|
||||
"containers_per_host": 1,
|
||||
"container_name_prefix": "controller",
|
||||
"distribution": "ubuntu",
|
||||
"host_provider": {
|
||||
"type": "ExistingServers",
|
||||
"credentials": [{"user": "root", "host": "localhost"}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"type": "LxcEngine",
|
||||
"distribution": "ubuntu",
|
||||
"container_name": "devstack-compute",
|
||||
"nodes_per_server": 64,
|
||||
"provider": {
|
||||
"type": "ExistingServers",
|
||||
"credentials": [{"user": "root", "host": "localhost"}]
|
||||
},
|
||||
"engine": {
|
||||
"name": "DevstackEngine",
|
||||
"localrc": {
|
||||
"VIRT_DRIVER": "fake",
|
||||
"DATABASE_TYPE": "mysql",
|
||||
"MYSQL_HOST": "{controller_ip}",
|
||||
"RABBIT_HOST": "{controller_ip}",
|
||||
"GLANCE_HOSTPORT": "{controller_ip}:9292",
|
||||
"API_RATE_LIMIT": "False",
|
||||
"ENABLED_SERVICES": "n-cpu,n-net",
|
||||
"SCREEN_LOGDIR": "$DEST/logs/screen"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,228 +0,0 @@
|
||||
Devstack-LXC-engine-in-dummy
|
||||
============================
|
||||
|
||||
How to deploy cloud
|
||||
|
||||
Assume we have 1 server with lots of RAM and linux. It is strongly recommended
|
||||
to use btrfs for lxc containers. Please note root access is mandatory.
|
||||
|
||||
So, we need one controller node and 64 computes. All nodes can be deployed by DevstackEngine
|
||||
|
||||
|
||||
Controller
|
||||
----------
|
||||
::
|
||||
|
||||
"type": "DevstackEngine",
|
||||
"local_conf": {
|
||||
"MULTI_HOST": "1",
|
||||
"VIRT_DRIVER": "fake",
|
||||
"ENABLED_SERVICES+": ",-n-cpu",
|
||||
},
|
||||
|
||||
Look carefully at ENABLED_SERVICES. Such syntax is translated to 'ENABLED_SERVICES+=,-n-cpu'
|
||||
in local.conf. This means 'remove n-cpu from ENABLED_SERVICES'.
|
||||
|
||||
Please note: VIRT_DRIVER=fake on controller node is mandatory.
|
||||
|
||||
This node should be deployed in lxc container, so we use the LxcProvider::
|
||||
|
||||
"provider": {
|
||||
"type": "LxcProvider",
|
||||
"containers_per_host": 1,
|
||||
"container_name_prefix": "controller",
|
||||
"distribution": "ubuntu",
|
||||
"host_provider": {
|
||||
"name": "ExistingServers",
|
||||
"credentials": [{"user": "root", "host": "localhost"}]
|
||||
}
|
||||
}
|
||||
|
||||
ExistingServers is used as sub-provider, because we already have a linux box (localhost).
|
||||
|
||||
|
||||
Computes
|
||||
--------
|
||||
|
||||
Next we need 64 compute nodes. This can be done by LxcEngine. LxcEngine deploys the first
|
||||
compute instance via the devstack engine, then makes N clones using lxc-clone.
|
||||
|
||||
::
|
||||
|
||||
"type": "LxcEngine",
|
||||
"distribution": "ubuntu",
|
||||
"container_name": "devstack-compute",
|
||||
"nodes_per_server": 64,
|
||||
"provider": {
|
||||
"type": "ExistingServers",
|
||||
"credentials": [{"user": "root", "host": "localhost"}]
|
||||
},
|
||||
"engine": {
|
||||
"name": "DevstackEngine",
|
||||
"local_conf": {
|
||||
"VIRT_DRIVER": "fake",
|
||||
"DATABASE_TYPE": "mysql",
|
||||
"MYSQL_HOST": "{controller_ip}",
|
||||
"RABBIT_HOST": "{controller_ip}",
|
||||
"GLANCE_HOSTPORT": "{controller_ip}:9292",
|
||||
"ENABLED_SERVICES": "n-cpu,n-net",
|
||||
}
|
||||
}
|
||||
|
||||
This is very similar to LxcProvider configuration: ExistingServers as sub-provider and DevstackEngine
|
||||
as sub-engine. Please note controller's ip isn't known at the moment of configuratoin, so
|
||||
MultihostEngine will replace {contoller_ip} pattern with actual address after first node is deployed.
|
||||
|
||||
Also DATABASE_DRIVER is necessary because of bug in devstack.
|
||||
|
||||
|
||||
MultihostEngine
|
||||
---------------
|
||||
|
||||
The MultihostEngine configuration contains sections for configuring the controller and compute
|
||||
nodes, for example::
|
||||
|
||||
"type": "MultihostEngine",
|
||||
"controller": {
|
||||
// CONTROLLER CONFIGURATION HERE
|
||||
}
|
||||
"nodes": [
|
||||
{
|
||||
// NODES CONFIGURATION HERE
|
||||
}
|
||||
]
|
||||
|
||||
Here is an example of a complete configuration file, assembled from the snippets above::
|
||||
|
||||
{
|
||||
"type": "MultihostEngine",
|
||||
"controller": {
|
||||
"type": "DevstackEngine",
|
||||
"local_conf": {
|
||||
"MULTI_HOST": "1",
|
||||
"VIRT_DRIVER": "fake",
|
||||
"API_RATE_LIMIT": "False",
|
||||
"ENABLED_SERVICES+": ",-n-cpu",
|
||||
"SCREEN_LOGDIR": "$DEST/logs/screen"
|
||||
},
|
||||
"provider": {
|
||||
"type": "LxcProvider",
|
||||
"containers_per_host": 1,
|
||||
"container_name_prefix": "controller",
|
||||
"distribution": "ubuntu",
|
||||
"host_provider": {
|
||||
"type": "ExistingServers",
|
||||
"credentials": [{"user": "root", "host": "localhost"}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"type": "LxcEngine",
|
||||
"distribution": "ubuntu",
|
||||
"container_name": "devstack-compute",
|
||||
"nodes_per_server": 64,
|
||||
"provider": {
|
||||
"type": "ExistingServers",
|
||||
"credentials": [{"user": "root", "host": "localhost"}]
|
||||
},
|
||||
"engine": {
|
||||
"name": "DevstackEngine",
|
||||
"local_conf": {
|
||||
"VIRT_DRIVER": "fake",
|
||||
"DATABASE_TYPE": "mysql",
|
||||
"MYSQL_HOST": "{controller_ip}",
|
||||
"RABBIT_HOST": "{controller_ip}",
|
||||
"GLANCE_HOSTPORT": "{controller_ip}:9292",
|
||||
"API_RATE_LIMIT": "False",
|
||||
"ENABLED_SERVICES": "n-cpu,n-net",
|
||||
"SCREEN_LOGDIR": "$DEST/logs/screen"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Please note each compute node uses from 90M to 120M of RAM.
|
||||
|
||||
|
||||
SSH Access
|
||||
----------
|
||||
|
||||
The target host (localhost in this case) should be accessible via a password-less ssh key.
|
||||
If necessary ssh keys can be setup as follows::
|
||||
|
||||
$ cd
|
||||
$ ssh-keygen # just hit enter when asked for password
|
||||
$ sudo mkdir /root/.ssh
|
||||
$ sudo cat .ssh/id_rsa.pub >> /root/.ssh/authorized_keys
|
||||
$ ssh root@localhost
|
||||
# id
|
||||
uid=0(root) gid=0(root) groups=0(root)
|
||||
|
||||
Rally uses ssh for communication as most deployments are spread across multiple nodes.
|
||||
|
||||
|
||||
Tunneling
|
||||
---------
|
||||
|
||||
Both LxcProvider and LxcEngine have 'tunnel_to' configuration option. This is used
|
||||
for cases when using more then one hardware nodes::
|
||||
|
||||
+--------------------------+
|
||||
| computes-1 |
|
||||
| |
|
||||
+---------------| lxcbr0 10.100.1.0/24 |
|
||||
+--------------------------+ | | eth0 192.168.10.1 |
|
||||
| | | | |
|
||||
| rally | | +--------------------------+
|
||||
| |---------+ |
|
||||
| eth0 10.1.1.20 | | |
|
||||
| | v v +--------------------------+
|
||||
+--------------------------+ +---------------+ | computes-2 |
|
||||
| | | |
|
||||
| |<-------| lxcbr0 10.100.2.0/24 |
|
||||
+--------------------------+ | IP NETWORK | | eth0 192.168.10.2 |
|
||||
| controller | | | | |
|
||||
| |---->| | +--------------------------+
|
||||
| eth0 192.168.1.13 | +---------------+
|
||||
| | ^
|
||||
|tunnels: | | ...........
|
||||
|10.100.1/24->192.168.10.1 | |
|
||||
|10.100.2/24->192.168.10.2 | |
|
||||
|10.100.x/24->192.168.10.x | | +--------------------------+
|
||||
| | | | computes-n |
|
||||
+--------------------------+ | | |
|
||||
+---------------| lxcbr0 10.100.x.0/24 |
|
||||
| eth0 192.168.10.x |
|
||||
| |
|
||||
+--------------------------+
|
||||
|
||||
Each box is a separate hardware node. All nodes can access each other via ip, but lxc containers
|
||||
are only connected to isolated virtual networks within each node. For communication between
|
||||
lxc containers ipip tunneling is used. In this example we need to connect all the lxc-containers
|
||||
to controller node. So, we add the option "tunnel_to": ["192.168.1.13"]::
|
||||
|
||||
"type": "LxcEngine",
|
||||
"distribution": "ubuntu",
|
||||
"container_name": "devstack-compute",
|
||||
"nodes_per_server": 64,
|
||||
"start_lxc_network": "10.100.1.0/24",
|
||||
"tunnel_to": ["10.1.1.20", "192.168.1.13"]:
|
||||
"provider": {
|
||||
//SOME PROVIDER WHICH RETURNS N NODES
|
||||
//LxcEngine will create internal lxc
|
||||
//network starts from 10.100.1.0/24 (see start_lxc_network)
|
||||
//e.g 10.100.1.0/24, 10.100.2.0/24, ..., 10.100.n.0/24
|
||||
},
|
||||
"engine": {
|
||||
"name": "DevstackEngine",
|
||||
"local_conf": {
|
||||
"VIRT_DRIVER": "fake",
|
||||
"DATABASE_TYPE": "mysql",
|
||||
"MYSQL_HOST": "{controller_ip}",
|
||||
"RABBIT_HOST": "{controller_ip}",
|
||||
"GLANCE_HOSTPORT": "{controller_ip}:9292",
|
||||
"ENABLED_SERVICES": "n-cpu,n-net",
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
{
|
||||
"type": "MultihostEngine",
|
||||
"controller": {
|
||||
"type": "DevstackEngine",
|
||||
"local_conf": {
|
||||
"ENABLED_SERVICES+": ",-n-cpu,-n-net",
|
||||
"MULTI_HOST": "1",
|
||||
"SCREEN_LOGDIR": "$DEST/logs/screen"
|
||||
},
|
||||
"provider": {"type": "DummyProvider",
|
||||
"credentials": [{"host": "host-1.net",
|
||||
"user": "root"}]}
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"type": "DevstackEngine",
|
||||
"local_conf": {"ENABLED_SERVICES": "n-cpu,n-net"},
|
||||
"provider": {
|
||||
"type": "DummyProvider",
|
||||
"credentials": [{"host": "host-2.net",
|
||||
"user": "root"}]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
MultihostEngine
|
||||
===============
|
||||
|
||||
How to deploy multihost OpenStack
|
||||
|
||||
MultihostEngine's configuration contains two sections: controller and nodes.
|
||||
|
||||
Controller section
|
||||
------------------
|
||||
|
||||
This section is full configuration of a deployment. Returned endpoints is
|
||||
endpoints of the whole cloud.
|
||||
|
||||
Nodes section
|
||||
-------------
|
||||
|
||||
This section is a list of full configurations of a compute nodes. Returned
|
||||
endpoints are silently ignored.
|
Loading…
x
Reference in New Issue
Block a user