summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--deploy/adapters/ansible/openstack_mitaka/roles/dashboard/vars/Debian.yml17
-rw-r--r--deploy/adapters/ansible/openstack_mitaka_xenial/roles/dashboard/vars/Debian.yml17
-rw-r--r--deploy/adapters/ansible/openstack_mitaka_xenial/roles/heat/tasks/heat_install.yml39
-rw-r--r--deploy/adapters/ansible/openstack_mitaka_xenial/roles/heat/templates/heat.j228
-rw-r--r--deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/tasks/keystone_install.yml88
-rw-r--r--deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/templates/admin-openrc-v3.sh19
-rw-r--r--deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/vars/Debian.yml1
-rw-r--r--deploy/conf/hardware_environment/huawei-pod5/network.yml90
-rw-r--r--deploy/conf/hardware_environment/huawei-pod5/network_ocl.yml90
-rw-r--r--deploy/conf/hardware_environment/huawei-pod5/network_onos.yml90
-rw-r--r--deploy/conf/hardware_environment/huawei-pod5/os-nosdn-nofeature-ha.yml63
-rw-r--r--deploy/conf/hardware_environment/huawei-pod5/os-ocl-nofeature-ha.yml62
-rw-r--r--deploy/conf/hardware_environment/huawei-pod5/os-odl_l2-moon-ha.yml68
-rw-r--r--deploy/conf/hardware_environment/huawei-pod5/os-odl_l2-nofeature-ha.yml66
-rw-r--r--deploy/conf/hardware_environment/huawei-pod5/os-odl_l3-nofeature-ha.yml68
-rw-r--r--deploy/conf/hardware_environment/huawei-pod5/os-onos-nofeature-ha.yml66
-rw-r--r--deploy/conf/hardware_environment/huawei-pod5/os-onos-sfc-ha.yml68
-rw-r--r--docs/FAQ/how-to-deploy-while-jumphost-cannot-access-internet.rst10
18 files changed, 950 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/dashboard/vars/Debian.yml b/deploy/adapters/ansible/openstack_mitaka/roles/dashboard/vars/Debian.yml
new file mode 100644
index 00000000..aaeb8cdb
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka/roles/dashboard/vars/Debian.yml
@@ -0,0 +1,17 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+packages: []
+
+services:
+ - memcached
+ - apache2
+
+apache_config_dir: /etc/apache2
+horizon_dir: /usr/share/openstack-dashboard/openstack_dashboard
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/dashboard/vars/Debian.yml b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/dashboard/vars/Debian.yml
new file mode 100644
index 00000000..aaeb8cdb
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/dashboard/vars/Debian.yml
@@ -0,0 +1,17 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+packages: []
+
+services:
+ - memcached
+ - apache2
+
+apache_config_dir: /etc/apache2
+horizon_dir: /usr/share/openstack-dashboard/openstack_dashboard
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/heat/tasks/heat_install.yml b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/heat/tasks/heat_install.yml
new file mode 100644
index 00000000..b90e6402
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/heat/tasks/heat_install.yml
@@ -0,0 +1,39 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- include_vars: "{{ ansible_os_family }}.yml"
+
+- name: install heat related packages
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+ with_items: packages | union(packages_noarch)
+
+- name: generate heat service list
+ lineinfile: dest=/opt/service create=yes line='{{ item }}'
+ with_items: services | union(services_noarch)
+
+# '
+
+- name: create heat user domain
+ shell: >
+ . /opt/admin-openrc-v3.sh;
+ openstack domain create --description "Stack projects and users" heat;
+ openstack user create --domain heat --password {{ HEAT_PASS }} heat_domain_admin;
+ openstack role add --domain heat --user-domain heat --user heat_domain_admin admin;
+ openstack role create heat_stack_owner;
+ openstack role add --project demo --user demo heat_stack_owner;
+ when: inventory_hostname == groups['controller'][0]
+
+- name: update heat conf
+ template: src=heat.j2
+ dest=/etc/heat/heat.conf
+ backup=yes
+ notify:
+ - restart heat service
+ - remove heat-sqlite-db
+
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/heat/templates/heat.j2 b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/heat/templates/heat.j2
new file mode 100644
index 00000000..62df9fd9
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/heat/templates/heat.j2
@@ -0,0 +1,28 @@
+[DEFAULT]
+heat_metadata_server_url = http://{{ internal_vip.ip }}:8000
+heat_waitcondition_server_url = http://{{ internal_vip.ip }}:8000/v1/waitcondition
+rpc_backend = rabbit
+rabbit_host = {{ rabbit_host }}
+rabbit_userid = {{ RABBIT_USER }}
+rabbit_password = {{ RABBIT_PASS }}
+log_dir = /var/log/heat
+stack_domain_admin = heat_domain_admin
+stack_domain_admin_password = {{ HEAT_PASS }}
+stack_user_domain_name = heat
+
+[database]
+connection = mysql://heat:{{ HEAT_DBPASS }}@{{ db_host }}/heat
+idle_timeout = 30
+use_db_reconnect = True
+pool_timeout = 10
+
+[ec2authtoken]
+auth_uri = http://{{ internal_vip.ip }}:5000/v2.0
+
+[keystone_authtoken]
+auth_uri = http://{{ internal_vip.ip }}:5000/v2.0
+identity_uri = http://{{ internal_vip.ip }}:35357
+admin_tenant_name = service
+admin_user = heat
+admin_password = {{ HEAT_PASS }}
+
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/tasks/keystone_install.yml b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/tasks/keystone_install.yml
new file mode 100644
index 00000000..ea6926f4
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/tasks/keystone_install.yml
@@ -0,0 +1,88 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- include_vars: "{{ ansible_os_family }}.yml"
+
+- name: disable auto start
+ copy:
+ content: "#!/bin/sh\nexit 101"
+ dest: "/usr/sbin/policy-rc.d"
+ mode: 0755
+ when: ansible_os_family == "Debian"
+
+- name: install keystone packages
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+ with_items: packages | union(packages_noarch)
+
+- name: enable auto start
+ file:
+ path=/usr/sbin/policy-rc.d
+ state=absent
+ when: ansible_os_family == "Debian"
+
+- name: generate keystone service list
+ lineinfile: dest=/opt/service create=yes line='{{ item }}'
+ with_items: services | union(services_noarch)
+
+- name: delete sqlite database
+ file:
+ path: /var/lib/keystone/keystone.db
+ state: absent
+
+- name: update keystone conf
+ template: src=keystone.conf dest=/etc/keystone/keystone.conf backup=yes
+ notify:
+ - restart keystone services
+
+- name: assure listen port exist
+ lineinfile:
+ dest: '{{ apache_config_dir }}/ports.conf'
+ regexp: '{{ item.regexp }}'
+ line: '{{ item.line}}'
+ with_items:
+ - regexp: "^Listen {{ internal_ip }}:5000"
+ line: "Listen {{ internal_ip }}:5000"
+ - regexp: "^Listen {{ internal_ip }}:35357"
+ line: "Listen {{ internal_ip }}:35357"
+ notify:
+ - restart keystone services
+
+- name: update apache2 configs
+ template:
+ src: wsgi-keystone.conf.j2
+ dest: '{{ apache_config_dir }}/sites-available/wsgi-keystone.conf'
+ when: ansible_os_family == 'Debian'
+ notify:
+ - restart keystone services
+
+- name: update apache2 configs
+ template:
+ src: wsgi-keystone.conf.j2
+ dest: '{{ apache_config_dir }}/wsgi-keystone.conf'
+ when: ansible_os_family == 'RedHat'
+ notify:
+ - restart keystone services
+
+- name: enable keystone server
+ file:
+ src: "{{ apache_config_dir }}/sites-available/wsgi-keystone.conf"
+ dest: "{{ apache_config_dir }}/sites-enabled/wsgi-keystone.conf"
+ state: "link"
+ when: ansible_os_family == 'Debian'
+ notify:
+ - restart keystone services
+
+- name: keystone source files
+ template: src={{ item }} dest=/opt/{{ item }}
+ with_items:
+ - admin-openrc.sh
+ - demo-openrc.sh
+ - admin-openrc-v3.sh
+
+- meta: flush_handlers
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/templates/admin-openrc-v3.sh b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/templates/admin-openrc-v3.sh
new file mode 100644
index 00000000..c3d863e8
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/templates/admin-openrc-v3.sh
@@ -0,0 +1,19 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+# Verify the Identity Service installation
+export OS_PASSWORD={{ ADMIN_PASS }}
+export OS_TENANT_NAME=admin
+export OS_AUTH_URL=http://{{ internal_vip.ip }}:35357/v3
+export OS_IDENTITY_API_VERSION=3
+export OS_USERNAME=admin
+export OS_VOLUME_API_VERSION=2
+export OS_USER_DOMAIN_NAME=Default
+export OS_PROJECT_DOMAIN_NAME=Default
+
+
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/vars/Debian.yml b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/vars/Debian.yml
index e86e6089..6000c6fd 100644
--- a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/vars/Debian.yml
+++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/keystone/vars/Debian.yml
@@ -15,6 +15,7 @@ packages:
- apache2
- libapache2-mod-wsgi
- python-keystone
+ - python-openstackclient
services:
- apache2
diff --git a/deploy/conf/hardware_environment/huawei-pod5/network.yml b/deploy/conf/hardware_environment/huawei-pod5/network.yml
new file mode 100644
index 00000000..dbaba01c
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod5/network.yml
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+ - name: br-prv
+ network: physnet
+ interface: eth1
+ type: ovs
+ role:
+ - controller
+ - compute
+
+sys_intf_mappings:
+ - name: mgmt
+ interface: eth1
+ vlan_tag: 125
+ type: vlan
+ role:
+ - controller
+ - compute
+
+ - name: storage
+ interface: eth1
+ vlan_tag: 126
+ type: vlan
+ role:
+ - controller
+ - compute
+
+ - name: external
+ interface: br-prv
+ type: ovs
+ role:
+ - controller
+ - compute
+
+ip_settings:
+ - name: mgmt
+ ip_ranges:
+ - - "172.16.1.1"
+ - "172.16.1.254"
+ cidr: "172.16.1.0/24"
+ role:
+ - controller
+ - compute
+
+ - name: storage
+ ip_ranges:
+ - - "172.16.2.1"
+ - "172.16.2.254"
+ cidr: "172.16.2.0/24"
+ role:
+ - controller
+ - compute
+
+ - name: external
+ ip_ranges:
+ - - "10.145.140.100"
+ - "10.145.140.105"
+ cidr: "10.145.140.0/24"
+ gw: "10.145.140.1"
+ role:
+ - controller
+ - compute
+
+internal_vip:
+ ip: 172.16.1.222
+ netmask: "24"
+ interface: mgmt
+
+public_vip:
+ ip: 10.145.140.115
+ netmask: "24"
+ interface: external
+
+onos_nic: eth2
+public_net_info:
+ enable: True
+ network: ext-net
+ type: flat
+ segment_id: 1000
+ subnet: ext-subnet
+ provider_network: physnet
+ router: router-ext
+ enable_dhcp: False
+ no_gateway: False
+ external_gw: "10.145.140.1"
+ floating_ip_cidr: "10.145.140.0/24"
+ floating_ip_start: "10.145.140.100"
+ floating_ip_end: "10.145.140.200"
diff --git a/deploy/conf/hardware_environment/huawei-pod5/network_ocl.yml b/deploy/conf/hardware_environment/huawei-pod5/network_ocl.yml
new file mode 100644
index 00000000..b15ce35a
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod5/network_ocl.yml
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+ - name: br-prv
+ network: physnet
+ interface: eth1
+ type: ovs
+ role:
+ - controller
+ - compute
+
+sys_intf_mappings:
+ - name: mgmt
+ interface: eth1
+ vlan_tag: 125
+ type: vlan
+ role:
+ - controller
+ - compute
+
+ - name: storage
+ interface: eth1
+ vlan_tag: 126
+ type: vlan
+ role:
+ - controller
+ - compute
+
+ - name: external
+ interface: br-prv
+ type: ovs
+ role:
+ - controller
+ - compute
+
+ip_settings:
+ - name: mgmt
+ ip_ranges:
+ - - "172.16.1.1"
+ - "172.16.1.254"
+ cidr: "172.16.1.0/24"
+ role:
+ - controller
+ - compute
+
+ - name: storage
+ ip_ranges:
+ - - "172.16.2.1"
+ - "172.16.2.254"
+ cidr: "172.16.2.0/24"
+ role:
+ - controller
+ - compute
+
+ - name: external
+ ip_ranges:
+ - - "10.145.140.100"
+ - "10.145.140.105"
+ cidr: "10.145.140.0/24"
+ gw: "10.145.140.1"
+ role:
+ - controller
+ - compute
+
+internal_vip:
+ ip: 172.16.1.222
+ netmask: "24"
+ interface: mgmt
+
+public_vip:
+ ip: 10.145.140.115
+ netmask: "24"
+ interface: external
+
+onos_nic: eth2
+public_net_info:
+ enable: True
+ network: ext-net
+ type: flat
+ segment_id: 1000
+ subnet: ext-subnet
+ provider_network: physnet
+ router: router-ext
+ enable_dhcp: False
+ no_gateway: False
+ external_gw: "100.100.100.1"
+ floating_ip_cidr: "100.100.100.0/24"
+ floating_ip_start: "100.100.100.30"
+ floating_ip_end: "100.100.100.120"
diff --git a/deploy/conf/hardware_environment/huawei-pod5/network_onos.yml b/deploy/conf/hardware_environment/huawei-pod5/network_onos.yml
new file mode 100644
index 00000000..6c543b48
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod5/network_onos.yml
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+ - name: br-prv
+ network: physnet
+ interface: eth1
+ type: ovs
+ role:
+ - controller
+ - compute
+
+sys_intf_mappings:
+ - name: mgmt
+ interface: eth1
+ vlan_tag: 125
+ type: vlan
+ role:
+ - controller
+ - compute
+
+ - name: storage
+ interface: eth1
+ vlan_tag: 126
+ type: vlan
+ role:
+ - controller
+ - compute
+
+ - name: external
+ interface: br-prv
+ type: ovs
+ role:
+ - controller
+ - compute
+
+ip_settings:
+ - name: mgmt
+ ip_ranges:
+ - - "172.16.1.1"
+ - "172.16.1.254"
+ cidr: "172.16.1.0/24"
+ role:
+ - controller
+ - compute
+
+ - name: storage
+ ip_ranges:
+ - - "172.16.2.1"
+ - "172.16.2.254"
+ cidr: "172.16.2.0/24"
+ role:
+ - controller
+ - compute
+
+ - name: external
+ ip_ranges:
+ - - "10.145.140.100"
+ - "10.145.140.105"
+ cidr: "10.145.140.0/24"
+ gw: "10.145.140.1"
+ role:
+ - controller
+ - compute
+
+internal_vip:
+ ip: 172.16.1.222
+ netmask: "24"
+ interface: mgmt
+
+public_vip:
+ ip: 10.145.140.115
+ netmask: "24"
+ interface: external
+
+onos_nic: eth2
+public_net_info:
+ enable: True
+ network: ext-net
+ type: vxlan
+ segment_id: 1000
+ subnet: ext-subnet
+ provider_network: physnet
+ router: router-ext
+ enable_dhcp: False
+ no_gateway: False
+ external_gw: "10.145.140.1"
+ floating_ip_cidr: "10.145.140.0/24"
+ floating_ip_start: "10.145.140.100"
+ floating_ip_end: "10.145.140.200"
diff --git a/deploy/conf/hardware_environment/huawei-pod5/os-nosdn-nofeature-ha.yml b/deploy/conf/hardware_environment/huawei-pod5/os-nosdn-nofeature-ha.yml
new file mode 100644
index 00000000..56428daa
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod5/os-nosdn-nofeature-ha.yml
@@ -0,0 +1,63 @@
+
+TYPE: baremetal
+FLAVOR: cluster
+POWER_TOOL: ipmitool
+
+ipmiUser: root
+ipmiVer: '2.0'
+
+hosts:
+ - name: host1
+ mac: '70:7b:e8:75:71:d3'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d2'
+ ipmiIp: 172.31.123.2
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - ceph-adm
+ - ceph-mon
+
+ - name: host2
+ mac: '70:7b:e8:75:72:21'
+ interfaces:
+ - eth1: '70:7b:e8:75:72:20'
+ ipmiIp: 172.31.123.3
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - ceph-mon
+
+ - name: host3
+ mac: '70:7b:e8:75:71:37'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:36'
+ ipmiIp: 172.31.123.4
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - ceph-mon
+
+ - name: host4
+ mac: '70:7b:e8:75:71:dc'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:db'
+ ipmiIp: 172.31.123.5
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
+ - name: host5
+ mac: '70:7b:e8:75:71:d6'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d5'
+ ipmiIp: 172.31.123.6
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
diff --git a/deploy/conf/hardware_environment/huawei-pod5/os-ocl-nofeature-ha.yml b/deploy/conf/hardware_environment/huawei-pod5/os-ocl-nofeature-ha.yml
new file mode 100644
index 00000000..65f31383
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod5/os-ocl-nofeature-ha.yml
@@ -0,0 +1,62 @@
+
+TYPE: baremetal
+FLAVOR: cluster
+POWER_TOOL: ipmitool
+
+ipmiUser: root
+ipmiVer: '2.0'
+
+hosts:
+ - name: host1
+ mac: '70:7b:e8:75:71:d3'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d2'
+ ipmiIp: 172.31.123.2
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - opencontrail
+ - ceph-adm
+ - ceph-mon
+
+ - name: host2
+ mac: '70:7b:e8:75:72:21'
+ interfaces:
+ - eth1: '70:7b:e8:75:72:20'
+ ipmiIp: 172.31.123.3
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
+ - name: host3
+ mac: '70:7b:e8:75:71:37'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:36'
+ ipmiIp: 172.31.123.4
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
+ - name: host4
+ mac: '70:7b:e8:75:71:dc'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:db'
+ ipmiIp: 172.31.123.5
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
+ - name: host5
+ mac: '70:7b:e8:75:71:d6'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d5'
+ ipmiIp: 172.31.123.6
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
diff --git a/deploy/conf/hardware_environment/huawei-pod5/os-odl_l2-moon-ha.yml b/deploy/conf/hardware_environment/huawei-pod5/os-odl_l2-moon-ha.yml
new file mode 100644
index 00000000..e19937ec
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod5/os-odl_l2-moon-ha.yml
@@ -0,0 +1,68 @@
+
+TYPE: baremetal
+FLAVOR: cluster
+POWER_TOOL: ipmitool
+
+ipmiUser: root
+ipmiVer: '2.0'
+
+moon: "Enable"
+
+hosts:
+ - name: host1
+ mac: '70:7b:e8:75:71:d3'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d2'
+ ipmiIp: 172.31.123.2
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - odl
+ - ceph-adm
+ - ceph-mon
+
+ - name: host2
+ mac: '70:7b:e8:75:72:21'
+ interfaces:
+ - eth1: '70:7b:e8:75:72:20'
+ ipmiIp: 172.31.123.3
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - odl
+ - ceph-mon
+
+ - name: host3
+ mac: '70:7b:e8:75:71:37'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:36'
+ ipmiIp: 172.31.123.4
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - odl
+ - ceph-mon
+
+ - name: host4
+ mac: '70:7b:e8:75:71:dc'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:db'
+ ipmiIp: 172.31.123.5
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
+ - name: host5
+ mac: '70:7b:e8:75:71:d6'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d5'
+ ipmiIp: 172.31.123.6
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
diff --git a/deploy/conf/hardware_environment/huawei-pod5/os-odl_l2-nofeature-ha.yml b/deploy/conf/hardware_environment/huawei-pod5/os-odl_l2-nofeature-ha.yml
new file mode 100644
index 00000000..3b01d83d
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod5/os-odl_l2-nofeature-ha.yml
@@ -0,0 +1,66 @@
+
+TYPE: baremetal
+FLAVOR: cluster
+POWER_TOOL: ipmitool
+
+ipmiUser: root
+ipmiVer: '2.0'
+
+hosts:
+ - name: host1
+ mac: '70:7b:e8:75:71:d3'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d2'
+ ipmiIp: 172.31.123.2
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - odl
+ - ceph-adm
+ - ceph-mon
+
+ - name: host2
+ mac: '70:7b:e8:75:72:21'
+ interfaces:
+ - eth1: '70:7b:e8:75:72:20'
+ ipmiIp: 172.31.123.3
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - odl
+ - ceph-mon
+
+ - name: host3
+ mac: '70:7b:e8:75:71:37'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:36'
+ ipmiIp: 172.31.123.4
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - odl
+ - ceph-mon
+
+ - name: host4
+ mac: '70:7b:e8:75:71:dc'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:db'
+ ipmiIp: 172.31.123.5
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
+ - name: host5
+ mac: '70:7b:e8:75:71:d6'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d5'
+ ipmiIp: 172.31.123.6
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
diff --git a/deploy/conf/hardware_environment/huawei-pod5/os-odl_l3-nofeature-ha.yml b/deploy/conf/hardware_environment/huawei-pod5/os-odl_l3-nofeature-ha.yml
new file mode 100644
index 00000000..dbc261a0
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod5/os-odl_l3-nofeature-ha.yml
@@ -0,0 +1,68 @@
+
+TYPE: baremetal
+FLAVOR: cluster
+POWER_TOOL: ipmitool
+
+ipmiUser: root
+ipmiVer: '2.0'
+
+odl_l3_agent: "Enable"
+
+hosts:
+ - name: host1
+ mac: '70:7b:e8:75:71:d3'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d2'
+ ipmiIp: 172.31.123.2
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - odl
+ - ceph-adm
+ - ceph-mon
+
+ - name: host2
+ mac: '70:7b:e8:75:72:21'
+ interfaces:
+ - eth1: '70:7b:e8:75:72:20'
+ ipmiIp: 172.31.123.3
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - odl
+ - ceph-mon
+
+ - name: host3
+ mac: '70:7b:e8:75:71:37'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:36'
+ ipmiIp: 172.31.123.4
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - odl
+ - ceph-mon
+
+ - name: host4
+ mac: '70:7b:e8:75:71:dc'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:db'
+ ipmiIp: 172.31.123.5
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
+ - name: host5
+ mac: '70:7b:e8:75:71:d6'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d5'
+ ipmiIp: 172.31.123.6
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
diff --git a/deploy/conf/hardware_environment/huawei-pod5/os-onos-nofeature-ha.yml b/deploy/conf/hardware_environment/huawei-pod5/os-onos-nofeature-ha.yml
new file mode 100644
index 00000000..cff1bcf2
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod5/os-onos-nofeature-ha.yml
@@ -0,0 +1,66 @@
+
+TYPE: baremetal
+FLAVOR: cluster
+POWER_TOOL: ipmitool
+
+ipmiUser: root
+ipmiVer: '2.0'
+
+hosts:
+ - name: host1
+ mac: '70:7b:e8:75:71:d3'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d2'
+ ipmiIp: 172.31.123.2
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - onos
+ - ceph-adm
+ - ceph-mon
+
+ - name: host2
+ mac: '70:7b:e8:75:72:21'
+ interfaces:
+ - eth1: '70:7b:e8:75:72:20'
+ ipmiIp: 172.31.123.3
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - onos
+ - ceph-mon
+
+ - name: host3
+ mac: '70:7b:e8:75:71:37'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:36'
+ ipmiIp: 172.31.123.4
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - onos
+ - ceph-mon
+
+ - name: host4
+ mac: '70:7b:e8:75:71:dc'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:db'
+ ipmiIp: 172.31.123.5
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
+ - name: host5
+ mac: '70:7b:e8:75:71:d6'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d5'
+ ipmiIp: 172.31.123.6
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
diff --git a/deploy/conf/hardware_environment/huawei-pod5/os-onos-sfc-ha.yml b/deploy/conf/hardware_environment/huawei-pod5/os-onos-sfc-ha.yml
new file mode 100644
index 00000000..435d4481
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod5/os-onos-sfc-ha.yml
@@ -0,0 +1,68 @@
+
+TYPE: baremetal
+FLAVOR: cluster
+POWER_TOOL: ipmitool
+
+ipmiUser: root
+ipmiVer: '2.0'
+
+onos_sfc: "Enable"
+
+hosts:
+ - name: host1
+ mac: '70:7b:e8:75:71:d3'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d2'
+ ipmiIp: 172.31.123.2
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - onos
+ - ceph-adm
+ - ceph-mon
+
+ - name: host2
+ mac: '70:7b:e8:75:72:21'
+ interfaces:
+ - eth1: '70:7b:e8:75:72:20'
+ ipmiIp: 172.31.123.3
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - onos
+ - ceph-mon
+
+ - name: host3
+ mac: '70:7b:e8:75:71:37'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:36'
+ ipmiIp: 172.31.123.4
+ ipmiPass: root
+ roles:
+ - controller
+ - ha
+ - onos
+ - ceph-mon
+
+ - name: host4
+ mac: '70:7b:e8:75:71:dc'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:db'
+ ipmiIp: 172.31.123.5
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
+ - name: host5
+ mac: '70:7b:e8:75:71:d6'
+ interfaces:
+ - eth1: '70:7b:e8:75:71:d5'
+ ipmiIp: 172.31.123.6
+ ipmiPass: root
+ roles:
+ - compute
+ - ceph-osd
+
diff --git a/docs/FAQ/how-to-deploy-while-jumphost-cannot-access-internet.rst b/docs/FAQ/how-to-deploy-while-jumphost-cannot-access-internet.rst
new file mode 100644
index 00000000..37db1aed
--- /dev/null
+++ b/docs/FAQ/how-to-deploy-while-jumphost-cannot-access-internet.rst
@@ -0,0 +1,10 @@
+.. two dots create a comment. please leave this logo at the top of each of your rst files.
+
+How to deploy while jumphost cannot access internet
+===================================================
+
+If your jumphost cannot access internet, don't worry, you can definitely deploy compass without internet access.
+
+You can download compass.iso first from OPNFV artifacts repository (http://artifacts.opnfv.org/, search compass4nfv and select an appropriate ISO file) via wget or curl. Then copy the compass.iso and the compass4nfv repository to your jumphost and editor the ISO_URL to your local path.
+
+After that you can deploy compass without internet access.