diff options
21 files changed, 318 insertions, 212 deletions
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/secgroup/templates/neutron.j2 b/deploy/adapters/ansible/openstack_mitaka/roles/secgroup/templates/neutron.j2 index aac6c8a2..e7107660 100644 --- a/deploy/adapters/ansible/openstack_mitaka/roles/secgroup/templates/neutron.j2 +++ b/deploy/adapters/ansible/openstack_mitaka/roles/secgroup/templates/neutron.j2 @@ -2,3 +2,6 @@ firewall_driver = neutron.agent.firewall.NoopFirewallDriver enable_security_group = True +[agent] +prevent_arp_spoofing = False + diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/secgroup/templates/neutron.j2 b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/secgroup/templates/neutron.j2 index aac6c8a2..e7107660 100644 --- a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/secgroup/templates/neutron.j2 +++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/secgroup/templates/neutron.j2 @@ -2,3 +2,6 @@ firewall_driver = neutron.agent.firewall.NoopFirewallDriver enable_security_group = True +[agent] +prevent_arp_spoofing = False + diff --git a/deploy/adapters/ansible/roles/secgroup/templates/neutron.j2 b/deploy/adapters/ansible/roles/secgroup/templates/neutron.j2 index 7b39e18c..9f3652c4 100644 --- a/deploy/adapters/ansible/roles/secgroup/templates/neutron.j2 +++ b/deploy/adapters/ansible/roles/secgroup/templates/neutron.j2 @@ -2,3 +2,6 @@ firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver enable_security_group = False +[agent] +prevent_arp_spoofing = False + diff --git a/deploy/adapters/ansible/roles/setup-network/files/setup_networks/check_network.py b/deploy/adapters/ansible/roles/setup-network/files/setup_networks/check_network.py new file mode 100644 index 00000000..72a5db97 --- /dev/null +++ b/deploy/adapters/ansible/roles/setup-network/files/setup_networks/check_network.py @@ -0,0 +1,56 @@ +import yaml +import sys +import subprocess + +import log as logging + +LOG = logging.getLogger("net-check") + +def is_ip_reachable(ip): + cmd = "ping -c 2 %s" % ip + process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=None, shell=True) + + output = process.communicate()[0] + if " 0% packet loss" in output: + LOG.info("%s is reachable", ip) + elif "100% packet loss" in output: + LOG.error("%s is unreachable" % (ip)) + return False + else: + LOG.warn("%r", output) + + return True + +def is_host_ips_reachable(settings): + external = settings["br-prv"]["ip"] + external_gw = settings["br-prv"]["gw"] + storage = settings["storage"]["ip"] + mgmt = settings["mgmt"]["ip"] + + return is_ip_reachable(external) \ + and is_ip_reachable(external_gw) \ + and is_ip_reachable(storage) \ + and is_ip_reachable(mgmt) + +def main(hostname, config): + LOG.info("host is %s", hostname) + + result = True + + for host, settings in config.iteritems(): + LOG.info("check %s network connectivity start", host) + result = result and is_host_ips_reachable(settings) + + if result: + LOG.info("All hosts ips are reachable") + else: + LOG.error("Some hosts ips are unreachable !!!") + sys.exit(-1) + +if __name__ == "__main__": + hostname = yaml.load(sys.argv[1]) + config = yaml.load(sys.argv[2]) + config.pop(hostname, None) + + main(hostname, config) + diff --git a/deploy/adapters/ansible/roles/setup-network/tasks/main.yml b/deploy/adapters/ansible/roles/setup-network/tasks/main.yml index 7873c073..e1fdf925 100644 --- a/deploy/adapters/ansible/roles/setup-network/tasks/main.yml +++ b/deploy/adapters/ansible/roles/setup-network/tasks/main.yml @@ -38,6 +38,9 @@ with_items: - setup_networks/log.py - setup_networks/setup_networks.py + - setup_networks/check_network.py + tags: + - network_check - name: copy boot scripts copy: src={{ item }} dest=/etc/init.d/ mode=0755 @@ -58,7 +61,18 @@ tags: - recovery +- name: check basic network connectivity + shell: > + python /opt/setup_networks/check_network.py \ + "{{ inventory_hostname }}" \ + "{{ ip_settings }}" + tags: + - network_check + retries: 3 + delay: 2 + - name: add to boot scripts service: name=net_init enabled=yes - meta: flush_handlers + diff --git a/deploy/conf/hardware_environment/intel-pod8/os-nosdn-nofeature-ha.yml b/deploy/conf/hardware_environment/intel-pod8/os-nosdn-nofeature-ha.yml index b885c22b..f026b4f7 100644 --- a/deploy/conf/hardware_environment/intel-pod8/os-nosdn-nofeature-ha.yml +++ b/deploy/conf/hardware_environment/intel-pod8/os-nosdn-nofeature-ha.yml @@ -13,46 +13,52 @@ hosts: interfaces: - eth2: '00:1E:67:C5:5B:28' - eth3: '00:1E:67:C5:5B:29' - ipmiIp: 10.2.117.127 + ipmiIp: 10.2.117.134 roles: - controller - ha + - ceph-adm + - ceph-mon - name: host2 mac: '00:1E:67:D4:39:B5' interfaces: - eth2: '00:1E:67:C5:52:24' - eth3: '00:1E:67:C5:52:25' - ipmiIp: 10.2.117.129 + ipmiIp: 10.2.117.136 roles: - controller - ha + - ceph-mon - name: host3 mac: '00:1E:67:D4:31:B2' interfaces: - eth2: '00:1E:67:C1:FA:E0' - eth3: '00:1E:67:C1:FA:E1' - ipmiIp: 10.2.117.131 + ipmiIp: 10.2.117.138 roles: - controller - ha + - ceph-mon - name: host4 mac: '00:1E:67:D4:34:67' interfaces: - eth2: '00:1E:67:E2:58:80' - eth3: '00:1E:67:E2:58:81' - ipmiIp: 10.2.117.133 + ipmiIp: 10.2.117.140 roles: - compute + - ceph-osd - name: host5 mac: '00:1E:67:D4:38:42' interfaces: - eth2: '00:1E:67:C1:F9:2C' - eth3: '00:1E:67:C1:F9:2D' - ipmiIp: 10.2.117.135 + ipmiIp: 10.2.117.142 roles: - compute + - ceph-osd diff --git a/deploy/conf/hardware_environment/intel-pod8/os-ocl-nofeature-ha.yml b/deploy/conf/hardware_environment/intel-pod8/os-ocl-nofeature-ha.yml index 7892a0b5..b8d93d6b 100644 --- a/deploy/conf/hardware_environment/intel-pod8/os-ocl-nofeature-ha.yml +++ b/deploy/conf/hardware_environment/intel-pod8/os-ocl-nofeature-ha.yml @@ -13,45 +13,51 @@ hosts: interfaces: - eth2: '00:1E:67:C5:5B:28' - eth3: '00:1E:67:C5:5B:29' - ipmiIp: 10.2.117.127 + ipmiIp: 10.2.117.134 roles: - controller - ha - opencontrail + - ceph-adm + - ceph-mon - name: host2 mac: '00:1E:67:D4:39:B5' interfaces: - eth2: '00:1E:67:C5:52:24' - eth3: '00:1E:67:C5:52:25' - ipmiIp: 10.2.117.129 + ipmiIp: 10.2.117.136 roles: - compute + - ceph-osd - name: host3 mac: '00:1E:67:D4:31:B2' interfaces: - eth2: '00:1E:67:C1:FA:E0' - eth3: '00:1E:67:C1:FA:E1' - ipmiIp: 10.2.117.131 + ipmiIp: 10.2.117.138 roles: - compute + - ceph-osd - name: host4 mac: '00:1E:67:D4:34:67' interfaces: - eth2: '00:1E:67:E2:58:80' - eth3: '00:1E:67:E2:58:81' - ipmiIp: 10.2.117.133 + ipmiIp: 10.2.117.140 roles: - compute + - ceph-osd - name: host5 mac: '00:1E:67:D4:38:42' interfaces: - eth2: '00:1E:67:C1:F9:2C' - eth3: '00:1E:67:C1:F9:2D' - ipmiIp: 10.2.117.135 + ipmiIp: 10.2.117.142 roles: - compute + - ceph-osd diff --git a/deploy/conf/hardware_environment/intel-pod8/os-odl_l2-moon-ha.yml b/deploy/conf/hardware_environment/intel-pod8/os-odl_l2-moon-ha.yml index 5d46b7ba..62075c05 100644 --- a/deploy/conf/hardware_environment/intel-pod8/os-odl_l2-moon-ha.yml +++ b/deploy/conf/hardware_environment/intel-pod8/os-odl_l2-moon-ha.yml @@ -15,7 +15,7 @@ hosts: interfaces: - eth2: '00:1E:67:C5:5B:28' - eth3: '00:1E:67:C5:5B:29' - ipmiIp: 10.2.117.127 + ipmiIp: 10.2.117.134 roles: - controller - ha @@ -28,7 +28,7 @@ hosts: interfaces: - eth2: '00:1E:67:C5:52:24' - eth3: '00:1E:67:C5:52:25' - ipmiIp: 10.2.117.129 + ipmiIp: 10.2.117.136 roles: - controller - ha @@ -40,7 +40,7 @@ hosts: interfaces: - eth2: '00:1E:67:C1:FA:E0' - eth3: '00:1E:67:C1:FA:E1' - ipmiIp: 10.2.117.131 + ipmiIp: 10.2.117.138 roles: - controller - ha @@ -52,7 +52,7 @@ hosts: interfaces: - eth2: '00:1E:67:E2:58:80' - eth3: '00:1E:67:E2:58:81' - ipmiIp: 10.2.117.133 + ipmiIp: 10.2.117.140 roles: - compute - ceph-osd @@ -62,7 +62,7 @@ hosts: interfaces: - eth2: '00:1E:67:C1:F9:2C' - eth3: '00:1E:67:C1:F9:2D' - ipmiIp: 10.2.117.135 + ipmiIp: 10.2.117.142 roles: - compute - ceph-osd diff --git a/deploy/conf/hardware_environment/intel-pod8/os-odl_l2-nofeature-ha.yml b/deploy/conf/hardware_environment/intel-pod8/os-odl_l2-nofeature-ha.yml index e70169d7..39f946b3 100644 --- a/deploy/conf/hardware_environment/intel-pod8/os-odl_l2-nofeature-ha.yml +++ b/deploy/conf/hardware_environment/intel-pod8/os-odl_l2-nofeature-ha.yml @@ -13,49 +13,55 @@ hosts: interfaces: - eth2: '00:1E:67:C5:5B:28' - eth3: '00:1E:67:C5:5B:29' - ipmiIp: 10.2.117.127 + ipmiIp: 10.2.117.134 roles: - controller - ha - odl + - ceph-adm + - ceph-mon - name: host2 mac: '00:1E:67:D4:39:B5' interfaces: - eth2: '00:1E:67:C5:52:24' - eth3: '00:1E:67:C5:52:25' - ipmiIp: 10.2.117.129 + ipmiIp: 10.2.117.136 roles: - controller - ha - odl + - ceph-mon - name: host3 mac: '00:1E:67:D4:31:B2' interfaces: - eth2: '00:1E:67:C1:FA:E0' - eth3: '00:1E:67:C1:FA:E1' - ipmiIp: 10.2.117.131 + ipmiIp: 10.2.117.138 roles: - controller - ha - odl + - ceph-mon - name: host4 mac: '00:1E:67:D4:34:67' interfaces: - eth2: '00:1E:67:E2:58:80' - eth3: '00:1E:67:E2:58:81' - ipmiIp: 10.2.117.133 + ipmiIp: 10.2.117.140 roles: - compute + - ceph-osd - name: host5 mac: '00:1E:67:D4:38:42' interfaces: - eth2: '00:1E:67:C1:F9:2C' - eth3: '00:1E:67:C1:F9:2D' - ipmiIp: 10.2.117.135 + ipmiIp: 10.2.117.142 roles: - compute + - ceph-osd diff --git a/deploy/conf/hardware_environment/intel-pod8/os-odl_l3-nofeature-ha.yml b/deploy/conf/hardware_environment/intel-pod8/os-odl_l3-nofeature-ha.yml index b7914374..f4fadc94 100644 --- a/deploy/conf/hardware_environment/intel-pod8/os-odl_l3-nofeature-ha.yml +++ b/deploy/conf/hardware_environment/intel-pod8/os-odl_l3-nofeature-ha.yml @@ -15,49 +15,55 @@ hosts: interfaces: - eth2: '00:1E:67:C5:5B:28' - eth3: '00:1E:67:C5:5B:29' - ipmiIp: 10.2.117.127 + ipmiIp: 10.2.117.134 roles: - controller - ha - odl + - ceph-adm + - ceph-mon - name: host2 mac: '00:1E:67:D4:39:B5' interfaces: - eth2: '00:1E:67:C5:52:24' - eth3: '00:1E:67:C5:52:25' - ipmiIp: 10.2.117.129 + ipmiIp: 10.2.117.136 roles: - controller - ha - odl + - ceph-mon - name: host3 mac: '00:1E:67:D4:31:B2' interfaces: - eth2: '00:1E:67:C1:FA:E0' - eth3: '00:1E:67:C1:FA:E1' - ipmiIp: 10.2.117.131 + ipmiIp: 10.2.117.138 roles: - controller - ha - odl + - ceph-mon - name: host4 mac: '00:1E:67:D4:34:67' interfaces: - eth2: '00:1E:67:E2:58:80' - eth3: '00:1E:67:E2:58:81' - ipmiIp: 10.2.117.133 + ipmiIp: 10.2.117.140 roles: - compute + - ceph-osd - name: host5 mac: '00:1E:67:D4:38:42' interfaces: - eth2: '00:1E:67:C1:F9:2C' - eth3: '00:1E:67:C1:F9:2D' - ipmiIp: 10.2.117.135 + ipmiIp: 10.2.117.142 roles: - compute + - ceph-osd diff --git a/deploy/conf/hardware_environment/intel-pod8/os-onos-nofeature-ha.yml b/deploy/conf/hardware_environment/intel-pod8/os-onos-nofeature-ha.yml index 5b1390d3..7606691e 100644 --- a/deploy/conf/hardware_environment/intel-pod8/os-onos-nofeature-ha.yml +++ b/deploy/conf/hardware_environment/intel-pod8/os-onos-nofeature-ha.yml @@ -13,49 +13,55 @@ hosts: interfaces: - eth2: '00:1E:67:C5:5B:28' - eth3: '00:1E:67:C5:5B:29' - ipmiIp: 10.2.117.127 + ipmiIp: 10.2.117.134 roles: - controller - ha - onos + - ceph-adm + - ceph-mon - name: host2 mac: '00:1E:67:D4:39:B5' interfaces: - eth2: '00:1E:67:C5:52:24' - eth3: '00:1E:67:C5:52:25' - ipmiIp: 10.2.117.129 + ipmiIp: 10.2.117.136 roles: - controller - ha - onos + - ceph-mon - name: host3 mac: '00:1E:67:D4:31:B2' interfaces: - eth2: '00:1E:67:C1:FA:E0' - eth3: '00:1E:67:C1:FA:E1' - ipmiIp: 10.2.117.131 + ipmiIp: 10.2.117.138 roles: - controller - ha - onos + - ceph-mon - name: host4 mac: '00:1E:67:D4:34:67' interfaces: - eth2: '00:1E:67:E2:58:80' - eth3: '00:1E:67:E2:58:81' - ipmiIp: 10.2.117.133 + ipmiIp: 10.2.117.140 roles: - compute + - ceph-osd - name: host5 mac: '00:1E:67:D4:38:42' interfaces: - eth2: '00:1E:67:C1:F9:2C' - eth3: '00:1E:67:C1:F9:2D' - ipmiIp: 10.2.117.135 + ipmiIp: 10.2.117.142 roles: - compute + - ceph-osd diff --git a/deploy/conf/hardware_environment/intel-pod8/os-onos-sfc-ha.yml b/deploy/conf/hardware_environment/intel-pod8/os-onos-sfc-ha.yml index 0fab6b02..11bfd223 100644 --- a/deploy/conf/hardware_environment/intel-pod8/os-onos-sfc-ha.yml +++ b/deploy/conf/hardware_environment/intel-pod8/os-onos-sfc-ha.yml @@ -15,49 +15,55 @@ hosts: interfaces: - eth2: '00:1E:67:C5:5B:28' - eth3: '00:1E:67:C5:5B:29' - ipmiIp: 10.2.117.127 + ipmiIp: 10.2.117.134 roles: - controller - ha - onos + - ceph-adm + - ceph-mon - name: host2 mac: '00:1E:67:D4:39:B5' interfaces: - eth2: '00:1E:67:C5:52:24' - eth3: '00:1E:67:C5:52:25' - ipmiIp: 10.2.117.129 + ipmiIp: 10.2.117.136 roles: - controller - ha - onos + - ceph-mon - name: host3 mac: '00:1E:67:D4:31:B2' interfaces: - eth2: '00:1E:67:C1:FA:E0' - eth3: '00:1E:67:C1:FA:E1' - ipmiIp: 10.2.117.131 + ipmiIp: 10.2.117.138 roles: - controller - ha - onos + - ceph-mon - name: host4 mac: '00:1E:67:D4:34:67' interfaces: - eth2: '00:1E:67:E2:58:80' - eth3: '00:1E:67:E2:58:81' - ipmiIp: 10.2.117.133 + ipmiIp: 10.2.117.140 roles: - compute + - ceph-osd - name: host5 mac: '00:1E:67:D4:38:42' interfaces: - eth2: '00:1E:67:C1:F9:2C' - eth3: '00:1E:67:C1:F9:2D' - ipmiIp: 10.2.117.135 + ipmiIp: 10.2.117.142 roles: - compute + - ceph-osd diff --git a/docs/configguide/index.rst b/docs/configguide/index.rst deleted file mode 100644 index fa212a03..00000000 --- a/docs/configguide/index.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International Licence. -.. http://creativecommons.org/licenses/by/4.0 - -******************************************************** -OPNFV(Colorado) Compass4nfv installation instructions -******************************************************** - -.. toctree:: - :numbered: - :maxdepth: 4 - - introduction.rst - installerconfig.rst - bmdeploy.rst - vmdeploy.rst - references.rst diff --git a/docs/configguide/installerconfig.rst b/docs/configguide/installerconfig.rst deleted file mode 100644 index 9e552494..00000000 --- a/docs/configguide/installerconfig.rst +++ /dev/null @@ -1,155 +0,0 @@ -.. 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 Colorado 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 Colorado 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/ - -NOTE: Search the keyword "compass4nfv/Colorado" to locate the ISO image. - -E.g. -compass4nfv/colorado/opnfv-2016-01-16_15-03-18.iso -compass4nfv/colorado/opnfv-2016-01-16_15-03-18.properties - -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 /colorado release, you can use the following command: - -- git checkout colorado.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 Deloment 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. diff --git a/docs/configguide/bmdeploy.rst b/docs/installationprocedure/bmdeploy.rst index 7cc4b9ce..d08a8f8a 100644 --- a/docs/configguide/bmdeploy.rst +++ b/docs/installationprocedure/bmdeploy.rst @@ -49,6 +49,8 @@ E.g. ipmiPass: PASSWORD ipmiVer: '2.0' +**Assignment of different roles to servers** + E.g. Openstack only deployment roles setting .. code-block:: yaml diff --git a/docs/installationprocedure/index.rst b/docs/installationprocedure/index.rst index c0bcc6ce..6416e35d 100644 --- a/docs/installationprocedure/index.rst +++ b/docs/installationprocedure/index.rst @@ -1,13 +1,16 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) <optionally add copywriters name> -************************************ -Compass4nfv Installation Instruction -************************************ +******************************************************** +OPNFV(Colorado) Compass4nfv Installation Instructions +******************************************************** .. toctree:: :numbered: - :maxdepth: 2 + :maxdepth: 4 + introduction.rst installation.instruction.rst + bmdeploy.rst + vmdeploy.rst + references.rst diff --git a/docs/installationprocedure/installation.instruction.rst b/docs/installationprocedure/installation.instruction.rst index 12c6a184..9e552494 100644 --- a/docs/installationprocedure/installation.instruction.rst +++ b/docs/installationprocedure/installation.instruction.rst @@ -1,4 +1,155 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 - .. (c) <optionally add copywriters name> +.. (c) by Weidong Shao (HUAWEI) and Justin Chi (HUAWEI) +Compass4nfv configuration +========================= + +This document describes providing guidelines on how to install and +configure the Colorado 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 Colorado 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/ + +NOTE: Search the keyword "compass4nfv/Colorado" to locate the ISO image. + +E.g. +compass4nfv/colorado/opnfv-2016-01-16_15-03-18.iso +compass4nfv/colorado/opnfv-2016-01-16_15-03-18.properties + +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 /colorado release, you can use the following command: + +- git checkout colorado.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 Deloment 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. diff --git a/docs/configguide/introduction.rst b/docs/installationprocedure/introduction.rst index 820cb29a..d1c581e2 100644 --- a/docs/configguide/introduction.rst +++ b/docs/installationprocedure/introduction.rst @@ -16,6 +16,12 @@ Version history | **Date** | **Ver.** | **Author** | **Comment** | | | | | | +--------------------+--------------------+--------------------+---------------------------+ +| 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 | +--------------------+--------------------+--------------------+---------------------------+ diff --git a/docs/configguide/postinstall.rst b/docs/installationprocedure/postinstall.rst index f9b7aa92..f9b7aa92 100644 --- a/docs/configguide/postinstall.rst +++ b/docs/installationprocedure/postinstall.rst diff --git a/docs/configguide/references.rst b/docs/installationprocedure/references.rst index 467bf08d..467bf08d 100644 --- a/docs/configguide/references.rst +++ b/docs/installationprocedure/references.rst diff --git a/docs/configguide/vmdeploy.rst b/docs/installationprocedure/vmdeploy.rst index cb5df6fb..cb5df6fb 100644 --- a/docs/configguide/vmdeploy.rst +++ b/docs/installationprocedure/vmdeploy.rst |