summaryrefslogtreecommitdiffstats
path: root/docs/release/installation
diff options
context:
space:
mode:
authorQingyu Wang <qingyuwang33@gmail.com>2016-11-21 15:52:31 -0800
committerMaxwell Li <liyuenan@huawei.com>2017-02-22 01:53:56 +0000
commit45ebd77015ceef9420fbd0985eb5fe85dd96e107 (patch)
treeccd330f809f1859045774ddc6c57a139c7428e09 /docs/release/installation
parent849d0b1ae242f5b10163b45e285d4ee661519752 (diff)
Installation and release documentations update
JIRA: DOCS-165 update document for Danube release according to new doc guide; https://wiki.opnfv.org/display/DOC/Documentation+Guide add network topology for virtual and bm deployment; add a section for network_cfg.yaml configuration; add feature section, listing supported openstack version and features update installation for deployment and expansion. Change-Id: If43d94554bebc78bbd56cdf889c8c34dda926218 Signed-off-by: Qingyu <qingyuwang33@gmail.com> Signed-off-by: Justin <chigang@huawei.com>
Diffstat (limited to 'docs/release/installation')
-rw-r--r--docs/release/installation/bmdeploy.rst558
-rw-r--r--docs/release/installation/configure-network.rst107
-rw-r--r--docs/release/installation/expansion.rst157
-rw-r--r--docs/release/installation/featureTable.rst51
-rw-r--r--docs/release/installation/index.rst20
-rw-r--r--docs/release/installation/installation.rst163
-rw-r--r--docs/release/installation/introduction.rst38
-rw-r--r--docs/release/installation/offline-deploy.rst47
-rw-r--r--docs/release/installation/postinstall.rst32
-rw-r--r--docs/release/installation/preconditions.rst163
-rw-r--r--docs/release/installation/references.rst34
-rw-r--r--docs/release/installation/vmdeploy.rst231
12 files changed, 1601 insertions, 0 deletions
diff --git a/docs/release/installation/bmdeploy.rst b/docs/release/installation/bmdeploy.rst
new file mode 100644
index 00000000..43f08370
--- /dev/null
+++ b/docs/release/installation/bmdeploy.rst
@@ -0,0 +1,558 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) by Weidong Shao (HUAWEI) and Justin Chi (HUAWEI)
+
+Installation on Bare Metal
+==========================
+
+Nodes Configuration (Bare Metal Deployment)
+-------------------------------------------
+
+The below file is the inventory template of deployment nodes:
+
+"compass4nfv/deploy/conf/hardware_environment/huawei-pod1/dha.yml"
+
+The "dha.yml" is a collectively name for "os-nosdn-nofeature-ha.yml
+os-ocl-nofeature-ha.yml os-odl_l2-moon-ha.yml etc".
+
+You can write your own IPMI IP/User/Password/Mac address/roles reference to it.
+
+ - name -- Host name for deployment node after installation.
+
+ - ipmiVer -- IPMI interface version for deployment node support. IPMI 1.0
+ or IPMI 2.0 is available.
+
+ - ipmiIP -- IPMI IP address for deployment node. Make sure it can access
+ from Jumphost.
+
+ - ipmiUser -- IPMI Username for deployment node.
+
+ - ipmiPass -- IPMI Password for deployment node.
+
+ - mac -- MAC Address of deployment node PXE NIC.
+
+ - interfaces -- Host NIC renamed according to NIC MAC addresses when OS provisioning.
+
+ - roles -- Components deployed.
+
+**Set TYPE/FLAVOR and POWER TOOL**
+
+E.g.
+.. code-block:: yaml
+
+ TYPE: baremetal
+ FLAVOR: cluster
+ POWER_TOOL: ipmitool
+
+**Set ipmiUser/ipmiPass and ipmiVer**
+
+E.g.
+
+.. code-block:: yaml
+
+ ipmiUser: USER
+ ipmiPass: PASSWORD
+ ipmiVer: '2.0'
+
+**Assignment of different roles to servers**
+
+E.g. Openstack only deployment roles setting
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host1
+ mac: 'F8:4A:BF:55:A2:8D'
+ interfaces:
+ - eth1: 'F8:4A:BF:55:A2:8E'
+ ipmiIp: 172.16.130.26
+ roles:
+ - controller
+ - ha
+
+ - name: host2
+ mac: 'D8:49:0B:DA:5A:B7'
+ interfaces:
+ - eth1: 'D8:49:0B:DA:5A:B8'
+ ipmiIp: 172.16.130.27
+ roles:
+ - compute
+
+NOTE:
+THE 'ha' role MUST BE SELECT WITH CONTROLLERS, EVEN THERE IS ONLY ONE CONTROLLER NODE.
+
+E.g. Openstack and ceph deployment roles setting
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host1
+ mac: 'F8:4A:BF:55:A2:8D'
+ interfaces:
+ - eth1: 'F8:4A:BF:55:A2:8E'
+ ipmiIp: 172.16.130.26
+ roles:
+ - controller
+ - ha
+ - ceph-adm
+ - ceph-mon
+
+ - name: host2
+ mac: 'D8:49:0B:DA:5A:B7'
+ interfaces:
+ - eth1: 'D8:49:0B:DA:5A:B8'
+ ipmiIp: 172.16.130.27
+ roles:
+ - compute
+ - ceph-osd
+
+E.g. Openstack and ODL deployment roles setting
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host1
+ mac: 'F8:4A:BF:55:A2:8D'
+ interfaces:
+ - eth1: 'F8:4A:BF:55:A2:8E'
+ ipmiIp: 172.16.130.26
+ roles:
+ - controller
+ - ha
+ - odl
+
+ - name: host2
+ mac: 'D8:49:0B:DA:5A:B7'
+ interfaces:
+ - eth1: 'D8:49:0B:DA:5A:B8'
+ ipmiIp: 172.16.130.27
+ roles:
+ - compute
+
+E.g. Openstack and ONOS deployment roles setting
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host1
+ mac: 'F8:4A:BF:55:A2:8D'
+ interfaces:
+ - eth1: 'F8:4A:BF:55:A2:8E'
+ ipmiIp: 172.16.130.26
+ roles:
+ - controller
+ - ha
+ - onos
+
+ - name: host2
+ mac: 'D8:49:0B:DA:5A:B7'
+ interfaces:
+ - eth1: 'D8:49:0B:DA:5A:B8'
+ ipmiIp: 172.16.130.27
+ roles:
+ - compute
+
+Network Configuration (Bare Metal Deployment)
+---------------------------------------------
+
+Before deployment, there are some network configuration to be checked based
+on your network topology.Compass4nfv network default configuration file is
+"compass4nfv/deploy/conf/hardware_environment/huawei-pod1/network.yml".
+This file is an example, you can customize by yourself according to specific network
+environment.
+
+In this network.yml, there are several config sections listed following(corresponed to the
+ordre of the config file):
+
+Provider Mapping
+~~~~~~~~~~~~~~~~
+
+ - name -- provider network name.
+
+ - network -- default as physnet, do not change it.
+
+ - interfaces -- the NIC or Bridge attached by the Network.
+
+ - type -- the type of the NIC or Bridge(vlan for NIC and ovs for Bridge, either).
+
+ - roles -- all the possible roles of the host machines which connected by this
+ network(mostly put both controller and compute).
+
+System Interface
+~~~~~~~~~~~~~~~~
+
+ - name -- Network name.
+
+ - interfaces -- the NIC or Bridge attached by the Network.
+
+ - vlan_tag -- if type is vlan, add this tag before 'type' tag.
+
+ - type -- the type of the NIC or Bridge(vlan for NIC and ovs for Bridge, either).
+
+ - roles -- all the possible roles of the host machines which connected by this
+ network(mostly put both controller and compute).
+
+IP Settings
+~~~~~~~~~~~
+
+ - name -- network name corresponding the the network name in System Interface section one by one.
+
+ - ip_ranges -- ip addresses range provided for this network.
+
+ - cidr -- the IPv4 address and its associated routing prefix and subnet maskã
+
+ - gw -- need to add this line only if network is external.
+
+ - roles -- all the possible roles of the host machines which connected by this
+ network(mostly put both controller and compute).
+
+Internal VIP(virtual or proxy IP)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ - ip -- virtual or proxy ip address, must be in the same subnet with mgmt network
+ but must not be in the range of mgmt network.
+
+ - netmask -- the length of netmask
+
+ - interface -- mostly mgmt.
+
+Public VIP
+~~~~~~~~~~
+
+ - ip -- virtual or proxy ip address, must be in the same subnet with external
+ network but must not be in the range of external network.
+
+ - netmask -- the length of netmask
+
+ - interface -- mostly external.
+
+ONOS NIC
+~~~~~~~~
+
+ - the NIC for ONOS, if there is no ONOS configured, leave it unchanged.
+
+
+Public Network
+~~~~~~~~~~~~~~
+
+ - enable -- must be True(if False, you need to set up provider network manually).
+
+ - network -- leave it ext-net.
+
+ - type -- the type of the ext-net above, such as flat or vlan.
+
+ - segment_id -- when the type is vlan, this should be id of vlan.
+
+ - subnet -- leave it ext-subnet.
+
+ - provider_network -- leave it physnet.
+
+ - router -- leave it router-ext.
+
+ - enable_dhcp -- must be False.
+
+ - no_gateway -- must be False.
+
+ - external_gw -- same as gw in ip_settings.
+
+ - floating_ip_cidr -- cidr for floating ip, see explanation in ip_settings.
+
+ - floating_ip_start -- define range of floating ip with floating_ip_end(this
+ defined range must not be included in ip range of external configured in
+ ip_settings section).
+
+ - floating_ip_end -- define range of floating ip with floating_ip_start.
+
+
+**The following figure shows the default network configuration.**
+
+.. code-block:: console
+
+
+ +--+ +--+ +--+
+ | | | | | |
+ | | +------------+ | | | |
+ | +------+ Jumphost +------+ | | |
+ | | +------+-----+ | | | |
+ | | | | | | |
+ | | +------------+ +-----+ |
+ | | | | | |
+ | | +------------+ | | | |
+ | +------+ host1 +------+ | | |
+ | | +------+-----+ | | | |
+ | | | | | | |
+ | | +------------+ +-----+ |
+ | | | | | |
+ | | +------------+ | | | |
+ | +------+ host2 +------+ | | |
+ | | +------+-----+ | | | |
+ | | | | | | |
+ | | +------------+ +-----+ |
+ | | | | | |
+ | | +------------+ | | | |
+ | +------+ host3 +------+ | | |
+ | | +------+-----+ | | | |
+ | | | | | | |
+ | | +------------+ +-----+ |
+ | | | | | |
+ | | | | | |
+ +-++ ++-+ +-++
+ ^ ^ ^
+ | | |
+ | | |
+ +-+-------------------------+ | |
+ | External Network | | |
+ +---------------------------+ | |
+ +-----------------------+---+ |
+ | IPMI Network | |
+ +---------------------------+ |
+ +-------------------------+-+
+ | PXE(Installation) Network |
+ +---------------------------+
+
+
+
+
+**The following figure shows the interfaces and nics of JumpHost and deployment nodes in
+huawei-pod1 network configuration(default one nic for openstack networks).**
+
+.. code-block:: console
+
+
+ +--------------JumpHost-------------+
+ | |
+ | +-+Compass+-+ |
+ | | + +--------+ | External-network
+ | | eth2+---+br-ext +-+eth0+----------------------+
+ | | + +--------+ | |
+ | | | | |
+ | | | | |
+ | | + +--------+ | Install-network |
+ | | eth1+---+install +-+eth1+-----------------+ |
+ | | + +--------+ | | |
+ | | | | | |
+ | | | | | |
+ | | + | IPMI-network | |
+ | | eth0 eth2+-----------+ | |
+ | | + | | | |
+ | +---+VM+----+ | | | |
+ +-----------------------------------+ | | |
+ | | |
+ | | |
+ | | |
+ | | |
+ +---------------Host1---------------+ | | |
+ | | | | |
+ | eth0+----------------+ |
+ | | | | |
+ | mgmt +--------+ | | | |
+ | | | | | |
+ | +-----------+ | | | | |
+ | external+----+ br-prv +----+eth1+---------------------+
+ | +-----------+ | | | | |
+ | | | | | |
+ | storage +-----+ | | | |
+ | | | | |
+ +-----------------------------------+ | | |
+ | IPMI+-----------+ | |
+ +-----------------------------------+ | | |
+ | | |
+ | | |
+ | | |
+ +---------------Host2---------------+ | | |
+ | | | | |
+ | eth0+----------------+ |
+ | | | |
+ | mgmt +--------+ | | |
+ | | | | |
+ | +-----------+ | | | |
+ | external+----+ br-prv +----+eth1+---------------------+
+ | +-----------+ | | |
+ | | | |
+ | storage +-----+ | |
+ | | |
+ +-----------------------------------+ |
+ | IPMI+-----------+
+ +-----------------------------------+
+
+**The following figure shows the interfaces and nics of JumpHost and deployment nodes in
+intel-pod8 network configuration(openstack networks are seperated by multiple NICs).**
+
+.. code-block:: console
+
+
+ +-------------+JumpHost+------------+
+ | |
+ | +-+Compass+-+ |
+ | | + +--------+ | External-network
+ | | eth2+---+br-ext +-+eth0+----------------------+
+ | | + +--------+ | |
+ | | | | |
+ | | | | |
+ | | + +--------+ | Install-network |
+ | | eth1+---+install +-+eth1+-----------------+ |
+ | | + +--------+ | | |
+ | | | | | |
+ | | | | | |
+ | | + | IPMI-network | |
+ | | eth0 eth2+-----------+ | |
+ | | + | | | |
+ | +---+VM+----+ | | | |
+ +-----------------------------------+ | | |
+ | | |
+ | | |
+ | | |
+ | | |
+ +--------------+Host1+--------------+ | | |
+ | | | | |
+ | eth0+----------------+ |
+ | | | | |
+ | +--------+ | | | |
+ | external+----+br-prv +-+eth1+---------------------+
+ | +--------+ | | | |
+ | storage +---------------+eth2+-------------------------+
+ | | | | | |
+ | Mgmt +---------------+eth3+----------------------------+
+ | | | | | | |
+ | | | | | | |
+ +-----------------------------------+ | | | | |
+ | IPMI+-----------+ | | | |
+ +-----------------------------------+ | | | | |
+ | | | | |
+ | | | | |
+ | | | | |
+ | | | | |
+ +--------------+Host2+--------------+ | | | | |
+ | | | | | | |
+ | eth0+----------------+ | | |
+ | | | | | |
+ | +--------+ | | | | |
+ | external+----+br-prv +-+eth1+---------------------+ | |
+ | +--------+ | | | |
+ | storage +---------------+eth2+-------------------------+ |
+ | | | storage-network |
+ | Mgmt +---------------+eth3+----------------------------+
+ | | | mgmt-network
+ | | |
+ +-----------------------------------+ |
+ | IPMI+-----------+
+ +-----------------------------------+
+
+
+Start Deployment (Bare Metal Deployment)
+----------------------------------------
+
+1. Edit deploy.sh
+
+1.1. Set OS version for deployment nodes.
+ Compass4nfv supports ubuntu and centos based openstack newton.
+
+E.g.
+
+.. code-block:: bash
+
+ # Set OS version for target hosts
+ # Ubuntu16.04 or CentOS7
+ export OS_VERSION=xenial
+ or
+ export OS_VERSION=centos7
+
+1.2. Set ISO image corresponding to your code
+
+E.g.
+
+.. code-block:: bash
+
+ # Set ISO image corresponding to your code
+ export ISO_URL=file:///home/compass/compass4nfv.iso
+
+1.3. Set hardware deploy jumpserver PXE NIC. (set eth1 E.g.)
+ You do not need to set it when virtual deploy.
+
+E.g.
+
+.. code-block:: bash
+
+ # Set hardware deploy jumpserver PXE NIC
+ # you need to comment out it when virtual deploy
+ export INSTALL_NIC=eth1
+
+1.4. Set scenario that you want to deploy
+
+E.g.
+
+nosdn-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/hardware_environment/huawei-pod1/os-nosdn-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/hardware_environment/huawei-pod1/network.yml
+
+ocl-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/hardware_environment/huawei-pod1/os-ocl-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/hardware_environment/huawei-pod1/network_ocl.yml
+
+odl_l2-moon scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/hardware_environment/huawei-pod1/os-odl_l2-moon-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/hardware_environment/huawei-pod1/network.yml
+
+odl_l2-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/hardware_environment/huawei-pod1/os-odl_l2-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/hardware_environment/huawei-pod1/network.yml
+
+odl_l3-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/hardware_environment/huawei-pod1/os-odl_l3-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/hardware_environment/huawei-pod1/network.yml
+
+onos-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/hardware_environment/huawei-pod1/os-onos-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/hardware_environment/huawei-pod1/network_onos.yml
+
+onos-sfc deploy scenario sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/hardware_environment/huawei-pod1/os-onos-sfc-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/hardware_environment/huawei-pod1/network_onos.yml
+
+2. Run ``deploy.sh``
+
+.. code-block:: bash
+
+ ./deploy.sh
diff --git a/docs/release/installation/configure-network.rst b/docs/release/installation/configure-network.rst
new file mode 100644
index 00000000..2303be45
--- /dev/null
+++ b/docs/release/installation/configure-network.rst
@@ -0,0 +1,107 @@
+Configure network
+=================
+network_cfg.yaml file describes networks configuration for openstack on hosts. It
+specifies host network mapping and ip assignment of networks to be installed on hosts.
+Compass4nfv includes a sample network_cfg.yaml under
+``compass4nfv/deploy/conf/network_cfg.yaml``
+
+There are three openstack networks to be installed: external, mgmt and storage. These
+three networks can be shared on one physical nic or on separate nics (multi-nic). The
+sample included in compass4nfv uses one nic. For multi-nic configuration, see multi-nic
+configuration.
+
+Configure openstack network
+---------------------------
+
+****! All interface name in network_cfg.yaml must be identified in dha file by mac address !****
+
+Compass4nfv will install networks on host as described in this configuration. It will look
+for physical nic on host by **mac address** from dha file and rename nic to the name with
+that mac address. Therefore, any network interface name that is not identified by mac
+address in dha file will not be installed correctly as compass4nfv cannot find the nic.
+
+**Configure provider network**
+
+.. code-block:: yaml
+
+ provider_net_mappings:
+ - name: br-prv
+ network: physnet
+ interface: eth1
+ type: ovs
+ role:
+ - controller
+ - compute
+
+The external nic in dha file must be named ``eth1`` with mac address. If user uses a
+different interface name in dha file, change ``eth1`` to that name here.
+Note: User cannot use eth0 for external interface name as install/pxe network is named as
+such.
+
+**Configure openstack mgmt&storage network**:
+
+.. code-block:: yaml
+
+ sys_intf_mappings:
+ - name: mgmt
+ interface: eth1
+ vlan_tag: 101
+ type: vlan
+ role:
+ - controller
+ - compute
+ - name: storage
+ interface: eth1
+ vlan_tag: 102
+ type: vlan
+ role:
+ - controller
+ - compute
+
+Change ``vlan_tag`` of ``mgmt`` and ``storage`` to corresponding vlan tag configured on
+switch.
+
+**Note**: for virtual deployment, there is no need to modify mgmt&storage network.
+
+If using multi-nic feature, i.e, separate nic for mgmt or storage network, user needs to
+change ``name`` to desired nic name (need to match dha file). Please see multi-nic
+configuration.
+
+Assign IP address to networks
+-----------------------------------------
+
+``ip_settings`` section specifics ip assignment for openstack networks.
+
+User can use default ip range for mgmt&storage network.
+
+for external networks:
+
+.. code-block:: yaml
+
+ - name: external
+ ip_ranges:
+ - - "192.168.50.210"
+ - "192.168.50.220"
+ cidr: "192.168.50.0/24"
+ gw: "192.168.50.1"
+ role:
+ - controller
+ - compute
+
+Provide at least number of hosts available ip for external IP range(these ips will be
+assigned to each host). Provide actual cidr and gateway in ``cidr`` and ``gw`` fields.
+
+**configure public IP for horizon dashboard**
+
+.. code-block:: yaml
+
+ public_vip:
+ ip: 192.168.50.240
+ netmask: "24"
+ interface: external
+
+Provide an external ip in ``ip`` field. This ip cannot be within the ip range assigned to
+external network configured in pervious section. It will be used for horizon address.
+
+See section 6.2 (Vitual) and 7.2 (BareMetal) for graphs illustrating network topology.
+
diff --git a/docs/release/installation/expansion.rst b/docs/release/installation/expansion.rst
new file mode 100644
index 00000000..df0edb2d
--- /dev/null
+++ b/docs/release/installation/expansion.rst
@@ -0,0 +1,157 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) by Weidong Shao (HUAWEI) and Justin Chi (HUAWEI)
+
+Expansion Guide
+===============
+
+Edit NETWORK File
+-----------------
+
+The below file is the inventory template of deployment nodes:
+
+ "./deploy/conf/hardware_environment/huawei-pod1/network.yml"
+
+You can edit the network.yml which you had edited before the first deployment.
+
+NOTE:
+External subnet's ip_range should be changed as the first 6 IPs are already taken
+by the first deployment.
+
+Edit DHA File
+-------------
+
+The below file is the inventory template of deployment nodes:
+
+"./deploy/conf/hardware_environment/expansion-sample/hardware_cluster_expansion.yml"
+
+You can write your own IPMI IP/User/Password/Mac address/roles reference to it.
+
+ - name -- Host name for deployment node after installation.
+
+ - ipmiIP -- IPMI IP address for deployment node. Make sure it can access
+ from Jumphost.
+
+ - ipmiUser -- IPMI Username for deployment node.
+
+ - ipmiPass -- IPMI Password for deployment node.
+
+ - mac -- MAC Address of deployment node PXE NIC .
+
+**Set TYPE/FLAVOR and POWER TOOL**
+
+E.g.
+
+.. code-block:: yaml
+
+ TYPE: baremetal
+ FLAVOR: cluster
+ POWER_TOOL: ipmitool
+
+**Set ipmiUser/ipmiPass and ipmiVer**
+
+E.g.
+
+.. code-block:: yaml
+
+ ipmiUser: USER
+ ipmiPass: PASSWORD
+ ipmiVer: '2.0'
+
+**Assignment of roles to servers**
+
+E.g. Only increase one compute node
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host6
+ mac: 'E8:4D:D0:BA:60:45'
+ interfaces:
+ - eth1: '08:4D:D0:BA:60:44'
+ ipmiIp: 172.16.131.23
+ roles:
+ - compute
+
+
+E.g. Increase two compute nodes
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host6
+ mac: 'E8:4D:D0:BA:60:45'
+ interfaces:
+ - eth1: '08:4D:D0:BA:60:44'
+ ipmiIp: 172.16.131.23
+ roles:
+ - compute
+
+ - name: host6
+ mac: 'E8:4D:D0:BA:60:78'
+ interfaces:
+ - eth1: '08:4D:56:BA:60:83'
+ ipmiIp: 172.16.131.23
+ roles:
+ - compute
+
+Start Expansion
+~~~~~~~~~~~~~~~
+
+1. Edit network.yml and dha.yml file
+
+ You need to Edit network.yml and virtual_cluster_expansion.yml or
+ hardware_cluster_expansion.yml. Edit the DHA and NETWORK envionment variables.
+ External subnet's ip_range and management ip should be changed as the first 6
+ IPs are already taken by the first deployment.
+
+E.g.
+
+.. code-block:: bash
+
+ --- network.yml 2017-02-16 20:07:10.097878150 +0800
+ +++ network_expansion.yml 2017-02-17 11:40:08.734480478 +0800
+ @@ -56,7 +56,7 @@
+ - name: external
+ ip_ranges:
+ - - - "192.168.116.201"
+ + - - "192.168.116.206"
+ - "192.168.116.221"
+ cidr: "192.168.116.0/24"
+ gw: "192.168.116.1"
+
+2. Edit deploy.sh
+
+2.1. Set EXPANSION and VIRT_NUMBER.
+ VIRT_NUMBER decide how many virtual machines needs to expand when virtual expansion
+
+E.g.
+
+.. code-block:: bash
+
+ export EXPANSION="true"
+ export MANAGEMENT_IP_START="10.1.0.55"
+ export VIRT_NUMBER=1
+ export DEPLOY_FIRST_TIME="false"
+
+
+2.2. Set scenario that you need to expansion
+
+E.g.
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/hardware_environment/expansion-sample/hardware_cluster_expansion.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/hardware_environment/huawei-pod1/network.yml
+
+Note: Other environment variable shoud be same as your first deployment.
+ Please check the environment variable before you run deploy.sh.
+
+2. Run ``deploy.sh``
+
+.. code-block:: bash
+
+ ./deploy.sh
diff --git a/docs/release/installation/featureTable.rst b/docs/release/installation/featureTable.rst
new file mode 100644
index 00000000..e5ad9776
--- /dev/null
+++ b/docs/release/installation/featureTable.rst
@@ -0,0 +1,51 @@
+Features
+========
+
+Supported Openstack Version and OS
+----------------------------------
+
++---------------+----------+-----------+-----------+-----------+
+| | OS | OpenStack | OpenStack | OpenStack |
+| | only | Liberty | Mitaka | Newton |
++---------------+----------+-----------+-----------+-----------+
+| CentOS 7 | yes | yes | yes | yes |
++---------------+----------+-----------+-----------+-----------+
+| Ubuntu trusty | yes | yes | yes | no |
++---------------+----------+-----------+-----------+-----------+
+| Ubuntu xenial | yes | no | yes | yes |
++---------------+----------+-----------+-----------+-----------+
+
+
+Supported Openstack Flavor and Features
+---------------------------------------
+
++---------------+--------------+--------------+---------------+
+| | OpenStack | OpenStack | OpenStack |
+| | Liberty | Mitaka | Newton |
++---------------+--------------+--------------+---------------+
+| Virtual | Yes | Yes | Yes |
+| Deployment | | | |
++---------------+--------------+--------------+---------------+
+| Baremetal | Yes | Yes | Yes |
+| Deployment | | | |
++---------------+--------------+--------------+---------------+
+| HA | Yes | Yes | Yes |
+| | | | |
++---------------+--------------+--------------+---------------+
+| Ceph | Yes | Yes | Yes |
+| | | | |
++---------------+--------------+--------------+---------------+
+| SDN | Yes | Yes | Yes* |
+| ODL/ONOS | | | |
++---------------+--------------+--------------+---------------+
+| Compute Node | Yes | Yes | Yes |
+| Expansion | | | |
++---------------+--------------+--------------+---------------+
+| Multi-Nic | Yes | Yes | Yes |
+| Support | | | |
++---------------+--------------+--------------+---------------+
+| Boot | Yes | Yes | Yes |
+| Recovery | | | |
++---------------+--------------+--------------+---------------+
+
+* ONOS support will Release in Danube 2.0 or 3.0
diff --git a/docs/release/installation/index.rst b/docs/release/installation/index.rst
new file mode 100644
index 00000000..85805d64
--- /dev/null
+++ b/docs/release/installation/index.rst
@@ -0,0 +1,20 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+=====================================
+Compass4nfv Installation Instructions
+=====================================
+
+.. toctree::
+ :numbered:
+ :maxdepth: 4
+
+ introduction.rst
+ featureTable.rst
+ preconditions.rst
+ configure-network.rst
+ bmdeploy.rst
+ vmdeploy.rst
+ offline-deploy.rst
+ expansion.rst
+ references.rst
diff --git a/docs/release/installation/installation.rst b/docs/release/installation/installation.rst
new file mode 100644
index 00000000..18bac119
--- /dev/null
+++ b/docs/release/installation/installation.rst
@@ -0,0 +1,163 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) by Weidong Shao (HUAWEI) and Justin Chi (HUAWEI)
+
+Compass4nfv configuration
+=========================
+
+This document describes providing guidelines on how to install and
+configure the Danube release of OPNFV when using Compass as a
+deployment tool including required software and hardware
+configurations.
+
+Installation and configuration of host OS, OpenStack, OpenDaylight,
+ONOS, Ceph etc. can be supported by Compass on Virtual nodes or Bare Metal
+nodes.
+
+The audience of this document is assumed to have good knowledge in
+networking and Unix/Linux administration.
+
+
+Preconditions
+-------------
+
+Before starting the installation of the Danube release of OPNFV,
+some planning must be done.
+
+
+Retrieving the installation ISO image
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+First of all, The installation ISO is needed for deploying your OPNFV
+environment, it included packages of Compass, OpenStack, OpenDaylight, ONOS
+and so on.
+
+The stable release ISO can be retrieved via `OPNFV software download page <https://www.opnfv.org/software>`_
+
+The daily build ISO can be retrieved via OPNFV artifacts repository:
+
+http://artifacts.opnfv.org/compass4nfv.html
+
+NOTE: Search the keyword "compass4nfv/Danube" to locate the ISO image.
+
+E.g.
+compass4nfv/Danube/opnfv-2016-09-18_08-15-13.iso
+
+The name of iso image includes the time of iso building, you can get the daily
+ISO according the building time.
+The git url and sha1 of Compass4nfv are recorded in properties files,
+According these, the corresponding deployment scripts can be retrieved.
+
+
+Getting the deployment scripts
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To retrieve the repository of Compass4nfv on Jumphost use the following command:
+
+- git clone https://gerrit.opnfv.org/gerrit/compass4nfv
+
+NOTE: PLEASE DO NOT GIT CLONE COMPASS4NFV IN ROOT DIRECTORY(INCLUDE SUBFOLDERS).
+
+To get stable /Danube release, you can use the following command:
+
+- git checkout Danube.1.0
+
+Setup Requirements
+------------------
+
+If you have only 1 Bare Metal server, Virtual deployment is recommended. if more
+than or equal 3 servers, the Bare Metal deployment is recommended. The minimum number of
+servers for Bare metal deployment is 3, 1 for JumpServer(Jumphost), 1 for controller,
+1 for compute.
+
+
+Jumphost Requirements
+~~~~~~~~~~~~~~~~~~~~~
+
+The Jumphost requirements are outlined below:
+
+1. Ubuntu 14.04 (Pre-installed).
+
+2. Root access.
+
+3. libvirt virtualization support.
+
+4. Minimum 2 NICs.
+
+ - PXE installation Network (Receiving PXE request from nodes and providing OS provisioning)
+
+ - IPMI Network (Nodes power control and set boot PXE first via IPMI interface)
+
+ - External Network (Optional: Internet access)
+
+5. 16 GB of RAM for a Bare Metal deployment, 64 GB of RAM for a Virtual deployment.
+
+6. CPU cores: 32, Memory: 64 GB, Hard Disk: 500 GB, (Virtual Deployment needs 1 TB Hard Disk)
+
+
+Bare Metal Node Requirements
+----------------------------
+
+Bare Metal nodes require:
+
+1. IPMI enabled on OOB interface for power control.
+
+2. BIOS boot priority should be PXE first then local hard disk.
+
+3. Minimum 3 NICs.
+
+ - PXE installation Network (Broadcasting PXE request)
+
+ - IPMI Network (Receiving IPMI command from Jumphost)
+
+ - External Network (OpenStack mgmt/external/storage/tenant network)
+
+
+Network Requirements
+--------------------
+
+Network requirements include:
+
+1. No DHCP or TFTP server running on networks used by OPNFV.
+
+2. 2-6 separate networks with connectivity between Jumphost and nodes.
+
+ - PXE installation Network
+
+ - IPMI Network
+
+ - Openstack mgmt Network*
+
+ - Openstack external Network*
+
+ - Openstack tenant Network*
+
+ - Openstack storage Network*
+
+3. Lights out OOB network access from Jumphost with IPMI node enabled (Bare Metal deployment only).
+
+4. External network has Internet access, meaning a gateway and DNS availability.
+
+**The networks with(*) can be share one NIC(Default configuration) or use an exclusive**
+**NIC(Reconfigurated in network.yml).**
+
+
+Execution Requirements (Bare Metal Only)
+----------------------------------------
+
+In order to execute a deployment, one must gather the following information:
+
+1. IPMI IP addresses of the nodes.
+
+2. IPMI login information for the nodes (user/pass).
+
+3. MAC address of Control Plane / Provisioning interfaces of the Bare Metal nodes.
+
+
+Configurations
+---------------
+
+There are three configuration files a user needs to modify for a cluster deployment.
+``network_cfg.yaml`` for openstack networks on hosts.
+``dha file`` for host role, IPMI credential and host nic idenfitication (MAC address).
+``deploy.sh`` for os and openstack version.
diff --git a/docs/release/installation/introduction.rst b/docs/release/installation/introduction.rst
new file mode 100644
index 00000000..7470363a
--- /dev/null
+++ b/docs/release/installation/introduction.rst
@@ -0,0 +1,38 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International Licence.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) by Weidong Shao (HUAWEI) and Justin Chi (HUAWEI)
+
+Abstract
+========
+
+This document describes how to install the Danube release of OPNFV when
+using Compass4nfv as a deployment tool covering it's limitations, dependencies
+and required system resources.
+
+Version history
+===============
+
++--------------------+--------------------+--------------------+---------------------------+
+| **Date** | **Ver.** | **Author** | **Comment** |
+| | | | |
++--------------------+--------------------+--------------------+---------------------------+
+| 2017-02-21 | 3.0.0 | Justin chi | Changes for D release |
+| | | (HUAWEI) | |
++--------------------+--------------------+--------------------+---------------------------+
+| 2016-09-13 | 2.1.0 | Yuenan Li | Adjusted the docs |
+| | | (HUAWEI) | structure |
++--------------------+--------------------+--------------------+---------------------------+
+| 2016-09-12 | 2.0.0 | Yuenan Li | Rewritten for |
+| | | (HUAWEI) | Compass4nfv C release |
++--------------------+--------------------+--------------------+---------------------------+
+| 2016-01-17 | 1.0.0 | Justin chi | Rewritten for |
+| | | (HUAWEI) | Compass4nfv B release |
++--------------------+--------------------+--------------------+---------------------------+
+| 2015-12-16 | 0.0.2 | Matthew Li | Minor changes & |
+| | | (HUAWEI) | formatting |
++--------------------+--------------------+--------------------+---------------------------+
+| 2015-09-12 | 0.0.1 | Chen Shuai | First draft |
+| | | (HUAWEI) | |
++--------------------+--------------------+--------------------+---------------------------+
+
+
diff --git a/docs/release/installation/offline-deploy.rst b/docs/release/installation/offline-deploy.rst
new file mode 100644
index 00000000..68c78a0b
--- /dev/null
+++ b/docs/release/installation/offline-deploy.rst
@@ -0,0 +1,47 @@
+.. two dots create a comment. please leave this logo at the top of each of your rst files.
+
+Offline Deploy
+==============
+
+Compass4nfv uses offline approuch to deploy cluster and support complete offline
+deployment on a jumphost without access internet. Here is the offline deployment
+instuction:
+
+Preparation for offline deploy
+------------------------------
+
+1. Download compass.iso from OPNFV artifacts repository (Search compass4nfv in
+ http://artifacts.opnfv.org/ and download an appropriate ISO. ISO can also be
+ generated by script build.sh in compass4nfv root directory.)
+
+2. Download the Jumphost preparation package from our httpserver. (Download the
+ jumphost environment package from `here <http://205.177.226.237:9999/jh_env_package.tar.gz>`_.
+ It should be awared that currently we only support ubuntu trusty as offline
+ jumphost OS.)
+
+3. Clone the compass4nfv code repository.
+
+Steps of offline deploy
+-----------------------
+
+1. Copy the compass.iso, jh_env_package.tar.gz and the compass4nfv code
+ repository to your jumphost.
+
+2. Export the local path of the compass.iso and jh_env_package.tar.gz on
+ jumphost. Then you can perform deployment on a offline jumphost.
+
+E.g.
+
+Export the compass4nfv.iso and jh_env_package.tar.gz path
+
+.. code-block:: bash
+
+ # ISO_URL and JHPKG_URL should be absolute path
+ export ISO_URL=file:///home/compass/compass4nfv.iso
+ export JHPKG_URL=file:///home/compass/jh_env_package.tar.gz
+
+Run deploy.sh
+
+.. code-block:: bash
+
+ ./deploy.sh
diff --git a/docs/release/installation/postinstall.rst b/docs/release/installation/postinstall.rst
new file mode 100644
index 00000000..f9b7aa92
--- /dev/null
+++ b/docs/release/installation/postinstall.rst
@@ -0,0 +1,32 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International Licence.
+.. http://creativecommons.org/licenses/by/4.0
+
+.. commented as there is no content for this file at this time.
+
+.. <Project> post installation procedures
+.. ======================================
+.. Add a brief introduction to the methods of validating the installation
+.. according to this specific installer or feature.
+
+.. Automated post installation activities
+.. --------------------------------------
+.. Describe specific post installation activities performed by the OPNFV
+.. deployment pipeline including testing activities and reports. Refer to
+.. the relevant testing guides, results, and release notes.
+
+.. note: this section should be singular and derived from the test projects
+.. once we have one test suite to run for all deploy tools. This is not the
+.. case yet so each deploy tool will need to provide (hopefully very simillar)
+.. documentation of this.
+
+.. <Project> post configuration procedures
+.. ---------------------------------------
+.. Describe any deploy tool or feature specific scripts, tests or procedures
+.. that should be carried out on the deployment post install and configuration
+.. in this section.
+
+.. Platform components validation
+.. ---------------------------------
+.. Describe any component specific validation procedures necessary for your
+.. deployment tool in this section.
+
diff --git a/docs/release/installation/preconditions.rst b/docs/release/installation/preconditions.rst
new file mode 100644
index 00000000..18bac119
--- /dev/null
+++ b/docs/release/installation/preconditions.rst
@@ -0,0 +1,163 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) by Weidong Shao (HUAWEI) and Justin Chi (HUAWEI)
+
+Compass4nfv configuration
+=========================
+
+This document describes providing guidelines on how to install and
+configure the Danube release of OPNFV when using Compass as a
+deployment tool including required software and hardware
+configurations.
+
+Installation and configuration of host OS, OpenStack, OpenDaylight,
+ONOS, Ceph etc. can be supported by Compass on Virtual nodes or Bare Metal
+nodes.
+
+The audience of this document is assumed to have good knowledge in
+networking and Unix/Linux administration.
+
+
+Preconditions
+-------------
+
+Before starting the installation of the Danube release of OPNFV,
+some planning must be done.
+
+
+Retrieving the installation ISO image
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+First of all, The installation ISO is needed for deploying your OPNFV
+environment, it included packages of Compass, OpenStack, OpenDaylight, ONOS
+and so on.
+
+The stable release ISO can be retrieved via `OPNFV software download page <https://www.opnfv.org/software>`_
+
+The daily build ISO can be retrieved via OPNFV artifacts repository:
+
+http://artifacts.opnfv.org/compass4nfv.html
+
+NOTE: Search the keyword "compass4nfv/Danube" to locate the ISO image.
+
+E.g.
+compass4nfv/Danube/opnfv-2016-09-18_08-15-13.iso
+
+The name of iso image includes the time of iso building, you can get the daily
+ISO according the building time.
+The git url and sha1 of Compass4nfv are recorded in properties files,
+According these, the corresponding deployment scripts can be retrieved.
+
+
+Getting the deployment scripts
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To retrieve the repository of Compass4nfv on Jumphost use the following command:
+
+- git clone https://gerrit.opnfv.org/gerrit/compass4nfv
+
+NOTE: PLEASE DO NOT GIT CLONE COMPASS4NFV IN ROOT DIRECTORY(INCLUDE SUBFOLDERS).
+
+To get stable /Danube release, you can use the following command:
+
+- git checkout Danube.1.0
+
+Setup Requirements
+------------------
+
+If you have only 1 Bare Metal server, Virtual deployment is recommended. if more
+than or equal 3 servers, the Bare Metal deployment is recommended. The minimum number of
+servers for Bare metal deployment is 3, 1 for JumpServer(Jumphost), 1 for controller,
+1 for compute.
+
+
+Jumphost Requirements
+~~~~~~~~~~~~~~~~~~~~~
+
+The Jumphost requirements are outlined below:
+
+1. Ubuntu 14.04 (Pre-installed).
+
+2. Root access.
+
+3. libvirt virtualization support.
+
+4. Minimum 2 NICs.
+
+ - PXE installation Network (Receiving PXE request from nodes and providing OS provisioning)
+
+ - IPMI Network (Nodes power control and set boot PXE first via IPMI interface)
+
+ - External Network (Optional: Internet access)
+
+5. 16 GB of RAM for a Bare Metal deployment, 64 GB of RAM for a Virtual deployment.
+
+6. CPU cores: 32, Memory: 64 GB, Hard Disk: 500 GB, (Virtual Deployment needs 1 TB Hard Disk)
+
+
+Bare Metal Node Requirements
+----------------------------
+
+Bare Metal nodes require:
+
+1. IPMI enabled on OOB interface for power control.
+
+2. BIOS boot priority should be PXE first then local hard disk.
+
+3. Minimum 3 NICs.
+
+ - PXE installation Network (Broadcasting PXE request)
+
+ - IPMI Network (Receiving IPMI command from Jumphost)
+
+ - External Network (OpenStack mgmt/external/storage/tenant network)
+
+
+Network Requirements
+--------------------
+
+Network requirements include:
+
+1. No DHCP or TFTP server running on networks used by OPNFV.
+
+2. 2-6 separate networks with connectivity between Jumphost and nodes.
+
+ - PXE installation Network
+
+ - IPMI Network
+
+ - Openstack mgmt Network*
+
+ - Openstack external Network*
+
+ - Openstack tenant Network*
+
+ - Openstack storage Network*
+
+3. Lights out OOB network access from Jumphost with IPMI node enabled (Bare Metal deployment only).
+
+4. External network has Internet access, meaning a gateway and DNS availability.
+
+**The networks with(*) can be share one NIC(Default configuration) or use an exclusive**
+**NIC(Reconfigurated in network.yml).**
+
+
+Execution Requirements (Bare Metal Only)
+----------------------------------------
+
+In order to execute a deployment, one must gather the following information:
+
+1. IPMI IP addresses of the nodes.
+
+2. IPMI login information for the nodes (user/pass).
+
+3. MAC address of Control Plane / Provisioning interfaces of the Bare Metal nodes.
+
+
+Configurations
+---------------
+
+There are three configuration files a user needs to modify for a cluster deployment.
+``network_cfg.yaml`` for openstack networks on hosts.
+``dha file`` for host role, IPMI credential and host nic idenfitication (MAC address).
+``deploy.sh`` for os and openstack version.
diff --git a/docs/release/installation/references.rst b/docs/release/installation/references.rst
new file mode 100644
index 00000000..2dbaa144
--- /dev/null
+++ b/docs/release/installation/references.rst
@@ -0,0 +1,34 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International Licence.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) by Weidong Shao (HUAWEI) and Justin Chi (HUAWEI)
+
+References
+==========
+
+OPNFV
+-----
+
+`OPNFV Compass4nfv project page <https://wiki.opnfv.org/compass4nfv>`_
+
+`Tutoring videos <https://wiki.opnfv.org/display/compass4nfv/Compass+101>`_
+
+OpenStack
+---------
+
+`OpenStack Newton Release artifacts <http://www.openstack.org/software/Newton>`_
+
+OpenDaylight
+------------
+
+`OpenDaylight artifacts <http://www.opendaylight.org/software/downloads>`_
+
+ONOS
+----
+
+`ONOS artifacts <http://onosproject.org/software/>`_
+
+Compass
+-------
+
+`Compass Home Page <http://www.syscompass.org/>`_
+
diff --git a/docs/release/installation/vmdeploy.rst b/docs/release/installation/vmdeploy.rst
new file mode 100644
index 00000000..610ff51a
--- /dev/null
+++ b/docs/release/installation/vmdeploy.rst
@@ -0,0 +1,231 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International Licence.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) by Weidong Shao (HUAWEI) and Justin Chi (HUAWEI)
+
+Installation on virtual machines
+================================
+
+Nodes Configuration (Virtual Deployment)
+----------------------------------------
+
+virtual machine setting
+~~~~~~~~~~~~~~~~~~~~~~~
+
+ - VIRT_NUMBER -- the number of nodes for virtual deployment.
+
+ - VIRT_CPUS -- the number of CPUs allocated per virtual machine.
+
+ - VIRT_MEM -- the memory size(MB) allocated per virtual machine.
+
+ - VIRT_DISK -- the disk size allocated per virtual machine.
+
+.. code-block:: bash
+
+ export VIRT_NUMBER=${VIRT_NUMBER:-5}
+ export VIRT_CPUS=${VIRT_CPU:-4}
+ export VIRT_MEM=${VIRT_MEM:-16384}
+ export VIRT_DISK=${VIRT_DISK:-200G}
+
+
+roles setting
+~~~~~~~~~~~~~
+
+The below file is the inventory template of deployment nodes:
+
+"./deploy/conf/vm_environment/huawei-virtual1/dha.yml"
+
+The "dha.yml" is a collectively name for "os-nosdn-nofeature-ha.yml
+os-ocl-nofeature-ha.yml os-odl_l2-moon-ha.yml etc".
+
+You can write your own address/roles reference to it.
+
+ - name -- Host name for deployment node after installation.
+
+ - roles -- Components deployed.
+
+**Set TYPE and FLAVOR**
+
+E.g.
+
+.. code-block:: yaml
+
+ TYPE: virtual
+ FLAVOR: cluster
+
+**Assignment of different roles to servers**
+
+E.g. Openstack only deployment roles setting
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host1
+ roles:
+ - controller
+ - ha
+
+ - name: host2
+ roles:
+ - compute
+
+NOTE:
+IF YOU SELECT MUTIPLE NODES AS CONTROLLER, THE 'ha' role MUST BE SELECT, TOO.
+
+E.g. Openstack and ceph deployment roles setting
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host1
+ roles:
+ - controller
+ - ha
+ - ceph-adm
+ - ceph-mon
+
+ - name: host2
+ roles:
+ - compute
+ - ceph-osd
+
+E.g. Openstack and ODL deployment roles setting
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host1
+ roles:
+ - controller
+ - ha
+ - odl
+
+ - name: host2
+ roles:
+ - compute
+
+E.g. Openstack and ONOS deployment roles setting
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host1
+ roles:
+ - controller
+ - ha
+ - onos
+
+ - name: host2
+ roles:
+ - compute
+
+Network Configuration (Virtual Deployment)
+------------------------------------------
+
+The same with Baremetal Deployment.
+
+Start Deployment (Virtual Deployment)
+-------------------------------------
+
+1. Edit deploy.sh
+
+1.1. Set OS version for deployment nodes.
+ Compass4nfv supports ubuntu and centos based openstack newton.
+
+E.g.
+
+.. code-block:: bash
+
+ # Set OS version for target hosts
+ # Ubuntu16.04 or CentOS7
+ export OS_VERSION=xenial
+ or
+ export OS_VERSION=centos7
+
+1.2. Set ISO image corresponding to your code
+
+E.g.
+
+.. code-block:: bash
+
+ # Set ISO image corresponding to your code
+ export ISO_URL=file:///home/compass/compass4nfv.iso
+
+1.3. Set scenario that you want to deploy
+
+E.g.
+
+nosdn-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/vm_environment/os-nosdn-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/vm_environment/huawei-virtual1/network.yml
+
+ocl-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/vm_environment/os-ocl-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/vm_environment/huawei-virtual1/network_ocl.yml
+
+odl_l2-moon scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/vm_environment/os-odl_l2-moon-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/vm_environment/huawei-virtual1/network.yml
+
+odl_l2-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/vm_environment/os-odl_l2-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/vm_environment/huawei-virtual1/network.yml
+
+odl_l3-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/vm_environment/os-odl_l3-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/vm_environment/huawei-virtual1/network.yml
+
+onos-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/vm_environment/os-onos-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/vm_environment/huawei-virtual1/network_onos.yml
+
+onos-sfc deploy scenario sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/vm_environment/os-onos-sfc-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/vm_environment/huawei-virtual1/network_onos.yml
+
+2. Run ``deploy.sh``
+
+.. code-block:: bash
+
+ ./deploy.sh