diff options
Diffstat (limited to 'docs')
26 files changed, 1319 insertions, 1100 deletions
diff --git a/docs/FAQ/how-to-build-customized-iso.rst b/docs/FAQ/how-to-build-customized-iso.rst deleted file mode 100644 index c0bf4083..00000000 --- a/docs/FAQ/how-to-build-customized-iso.rst +++ /dev/null @@ -1,260 +0,0 @@ -.. two dots create a comment. please leave this logo at the top of each of your rst files. - -How to build a customized ISO -============================= - -If you want to use Compass4nfv official ISO to deploy the environment, you can jump over this section. - -This section indicates how to add additional packages and how to build a new compass4nfv ISO file -so that Compass4nfv would install the additional packages automatically during the deployment. - -Approach 1 ----- apt/yum installation -------------------------------------- - -1. Confirm the targeted packages could be installed via apt-get(Ubuntu) and yum(Centos), -you can verify on your own environment first by commands -"apt-get install {targeted packages}" on Ubuntu and "yum install {targeted packages}" on Centos. - -2. Create a new role folder ({newrole}) in the compass4nfv/deploy/adapters/ansible/roles/, -create a new folder named "vars" in the new role folder({newrole}), -and create a file named "main.yml" and add "---" at the head of this file. - -3. If the targeted packages names are same in both Ubuntu and Centos, you just need edit main.yml. - -Add the packages' names as following: - -.. code-block:: bash - - packages_noarch: - - {targeted packages1} - - {targeted packages2} - - {targeted packages3} - ... - -4. If the targeted packages' names are different in Ubuntu and Centos, -you need create "Debian.yml" and/or "RedHat.yml" in the same folder as "main.yml" and add "---" at the head of the files. - -Add the packages' names as following in the "Debian.yml" and/or "RedHat.yml" : - -.. code-block:: bash - - --- - packages: - - {targeted Ubuntu/RedHat packages1} - - {targeted Ubuntu/RedHat packages2} - - {targeted Ubuntu/RedHat packages3} - ... - -Also you can refer "compass4nfv/deploy/adapters/ansible/roles/glance/vars" as example. - -5.1 Add the new role to ansible so that Compass4nfv will install the packages during the deployment : -"enter compass4nfv/deploy/adapters/ansible/openstack_juno/" and edit HA-ansible-multinodes.yml and/or single-controller.yml, -add {newrole} at an appropriate position, please be aware of that compass4nfv deploys the roles -in the order as list in HA-ansible-multinodes.yml/single-controller.yml, you can add a new section as the following:: - - - hosts: all/controller/compute/ha - remote_user: root - sudo: True - roles: - - {newrole} - -The first line "hosts" of the section means compass4nfv will deploy {newrole} on which baremetals/VMs, -"all" means it deploys on all baremetals/VMs, "controller" means it deploys on all controller and so on. - -Also you can refer "glance" position in HA-ansible-multinodes.yml and single-controller.yml. - -Attention - "HA-ansible-multinodes.yml" deploys controllers backup targeted environment -and 3 controllers in backup mode + 2 compute by default;. - "single-controller.yml" deploys 1 controller + 4 compute. - - -5.2 Or insert the new role into the existing section at an appropriate position in -HA-ansible-multinodes.yml and single-controller.yml. - - Example: - -.. code-block:: bash - - - hosts: controller/all/compute/ha - remote_user: root - sudo: True - roles: - - database - - mq - - keystone - - nova-controller - - neutron-controller - - {newrole} - -Please pay attention to the first line "hosts" by which Compass4nfv deploys {newrole} on which baremetals/VMs. - -Also please pay attention to the position inserted as Compass4nfv deploys the packages in the order as list. - -Also you can refer "glance" position as example in HA-ansible-multinodes.yml and single-controller.yml. - -6. Run compass4nfv/build/make_repo.sh. - -7. After 6 finishs, please check "compass4nfv/work/repo/" folder, -if files as following exist in the folder, that means building packages successfully. - -centos7-juno-ppa.tar.gz is OpenStack Juno version for Centos7. - -trusty-juno-ppa.tar.gz is OpenStack Juno version for Ubuntu14.04. - -trusty-kilo-ppa.tar.gz is OpenStack Kilo version for Ubuntu14.04. - - -8. Edit compass4nfv/build/build.conf, find CENTOS7_JUNO_PPA and TRUSTY_JUNO_PPA items, -modify these 2 items as local paths(if you just want deploy with one operating system, you just modify one item). - -CENTOS7_JUNO_PPA is packages path for Centos, TRUSTY_JUNO_PPA is packages path for Ubuntu - -.. code-block:: bash - - CENTOS7_JUNO_PPA=/compass4nfv/work/repo/centos7-juno-ppa.tar.gz - - TRUSTY_JUNO_PPA=/compass4nfv/work/repo/trusty-juno-ppa.tar.gz - - -9. Run compass4nfv/build.sh to build a new ISO, after finished, if there is a new ISO file compass.iso -in the "compass4nfv/work/building" folder, that means building iso successfully. - -Approach 2 ---- source installation ------------------------------------ - -This section indicates to install packages from source codes. If the targeted packages could not be -installed from apt-get and yum but from source codes, please refer this section. - -1. Enter folder "compass4nfv/build/arch/Debian" or "compass4nfv/build/arch/RedHat" that depend on -operating system you want to install package, create a bash(.sh) file -which includes all the commands which install the packages from source codes. - - Example: - -.. code-block:: bash - - #!/bin/bash - apt-get update - apt-get install -y build-essential fakeroot debhelper \ - autoconf automake bzip2 libssl-dev \ - openssl graphviz python-all procps \ - python-qt4 python-zopeinterface \ - python-twisted-conch libtool wget - - pushd . - cd /tmp - wget http://openvswitch.org/releases/openvswitch-2.3.1.tar.gz - tar -zxvf openvswitch-2.3.1.tar.gz - cd openvswitch-2.3.1 - DEB_BUILD_OPTIONS='parallel=8 nocheck' fakeroot debian/rules binary - cd - - cp -f *.deb /var/cache/apt/archives/ - popd - -Please pay attention to the last second sentence, all the compiled packages need to be -copied to the "/var/cache/apt/archives/"(Ubuntu) folder, and for Centos, the folder is ... to be continued . - -2. Add a new role so that Compass4nfv will install the packages during the deployment, -create a new role folder ({newrole}) in the "compass4nfv/deploy/adapters/ansible/roles/", -create a new folder named "vars" in the new role folder({newrole}), -and create a file named "main.yml" and add "---" at the head of this file. - -3. If the packages' names are same in both Ubuntu and Centos, you just need edit main.yml. - -Add the packages' names as following: - -.. code-block:: bash - - packages_noarch: - - {targeted packages1} - - {targeted packages2} - - {targeted packages3} - ... - - -4. If the targeted packages' names are different in Ubuntu and Centos, -you need create "Debian.yml" and/or "RedHat.yml" in the same folder as "main.yml" -and add "---" at the head of the files. - -Add the packages' names as following in the "Debian.yml" and/or "RedHat.yml" : - -.. code-block:: bash - - packages: - - {targeted Ubuntu/RedHat packages1} - - {targeted Ubuntu/RedHat packages2} - - {targeted Ubuntu/RedHat packages3} - ... - -Also you can refer "compass4nfv/deploy/adapters/ansible/roles/glance/vars" as example. - -5.1 Enter "compass4nfv/deploy/adapters/ansible/openstack_juno/" and edit HA-ansible-multinodes.yml -and/or single-controller.yml, add {newrole} at an appropriate position, please be aware of that compass4nfv -deploys the roles in the order as list in HA-ansible-multinodes.yml/single-controller.yml, -you can add a new section as the following:: - - - hosts: all/controller/compute/ha - remote_user: root - sudo: True - roles: - - {newrole} - -The first line "hosts" of the section means compass4nfv will deploy {newrole} on which baremetals/VMs, -"all" means it deploys on all baremetals/VMs, "controller" means it deploys on all controller and so on. - -Also you can refer "glance" position in HA-ansible-multinodes.yml and single-controller.yml. - -Attention - "HA-ansible-multinodes.yml" deploys controllers backup targeted environment and -3 controllers in backup mode + 2 compute by default. - "single-controller.yml" deploys 1 controller + 4 compute. - -5.2 Or insert the new role into the existing section at an appropriate position -in HA-ansible-multinodes.yml and single-controller.yml. - - Example: - -.. code-block:: bash - - - hosts: controller - remote_user: root - sudo: True - roles: - - database - - mq - - keystone - - nova-controller - - neutron-controller - - {newrole} - -Please pay attention to the first line "hosts" by which Compass4nfv deploys {newrole} on which baremetals/VMs. - -Also please pay attention to the position inserted as Compass4nfv deploys the packages in the order as list. - -Also you can refer "glance" position as example in HA-ansible-multinodes.yml and single-controller.yml. - -6. Run compass4nfv/build/make_repo.sh . - -7. After 6 finishs, please check "compass4nfv/work/repo/" folder, -if files as following exist in the folder, that means building packages successfully. - -centos7-juno-ppa.tar.gz is OpenStack Juno version for Centos7. - -trusty-juno-ppa.tar.gz is OpenStack Juno version for Ubuntu14.04. - -trusty-kilo-ppa.tar.gz is OpenStack Kilo version for Ubuntu14.04. - -8. Edit compass4nfv/build/build.conf, find CENTOS7_JUNO_PPA and TRUSTY_JUNO_PPA items, -modify these 2 items as local paths(if you just want deploy with one operating system, you just modify one item). - -CENTOS7_JUNO_PPA is packages path for Centos, TRUSTY_JUNO_PPA is packages path for Ubuntu - -.. code-block:: bash - - CENTOS7_JUNO_PPA=/compass4nfv/work/repo/centos7-juno-ppa.tar.gz - - TRUSTY_JUNO_PPA=/compass4nfv/work/repo/trusty-juno-ppa.tar.gz - -9. Run compass4nfv/build.sh to build a new ISO, after finished, if there is a new ISO file compass.iso -in the "compass4nfv/work/building" folder, that means building ISO successfully. 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 deleted file mode 100644 index 986bd79a..00000000 --- a/docs/FAQ/how-to-deploy-while-jumphost-cannot-access-internet.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. 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. diff --git a/docs/FAQ/how-to-deploy-without-internet-access.rst b/docs/FAQ/how-to-deploy-without-internet-access.rst deleted file mode 100644 index e91f110b..00000000 --- a/docs/FAQ/how-to-deploy-without-internet-access.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. two dots create a comment. please leave this logo at the top of each of your rst files. - -How to deploy without internet access -===================================== - -If you have created your own ISO file(compass.iso), you realy could deploy without internet access, -edit "compass4nfv/deploy/conf/base.conf" file and assign item ISO_URL as your local ISO file path -(export ISO_URL=file:///compass4nfv/work/building/compass.iso). -Then execute "compass4nfv/deploy.sh" and Compass4nfv could deploy with local compass.iso without -internet access. - -Also 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. -After this, edit "compass4nfv/deploy/conf/base.conf" file and assign item ISO_URL as your local ISO file -path.Then execute "compass4nfv/deploy.sh" and Compass4nfv could deploy with local compass.iso without -internet access. - diff --git a/docs/development/design/feature-integration.rst b/docs/development/design/feature-integration.rst new file mode 100644 index 00000000..71fceb3e --- /dev/null +++ b/docs/development/design/feature-integration.rst @@ -0,0 +1,174 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) by Justin Chi (HUAWEI) and Yifei Xue (HUAWEI) + +How to integrate a feature into compass4nfv +=========================================== + +This document describes how to integrate a feature (e.g. sdn, moon, kvm, sfc) +into compass installer. Follow the steps below, you can achieve the goal. + +Create a role for the feature +----------------------------- + +Currently Ansible is the main packages installation plugin in the adapters of +Compass4nfv, which is used to deploy all the roles listed in the playbooks. +(More details about ansible and playbook can be achieved according to the +Reference.) The mostly used playbook in compass4nfv is named +"HA-ansible-multinodes.yml" located in "*your_path_to_compass4nfv*/compass4nfv/deploy/ +adapters/ansible/openstack/". + +Before you add your role into the playbook, create your role under the directory of +"*your_path_to_compass4nfv*/compass4nfv/deploy/adapters/ansible/roles/". For example +Fig 1 shows some roles currently existed in compass4nfv. + + +.. figure:: images/Existed_roles.png + :alt: Existed roles in compass4nfv + :figclass: align-center + + Fig 1. Existed roles in compass4nfv + + +Let's take a look at "moon" and understand the construction of a role. Fig 2 +below presents the tree of "moon". + + +.. figure:: images/Moon.png + :alt: Tree of moon role + :figclass: align-center + + Fig 2. Tree of moon role + + +There are five directories in moon, which are files, handlers, tasks, templates and vars. +Almost every role has such five directories. + +For "files", it is used to store the files you want to copy to the hosts without any +modification. These files can be configuration files, code files and etc. Here in moon's +files directory, there are two python files and one configuration file. All of the three +files will be copied to controller nodes for some purposes. + +For "handlers", it is used to store some operations frequently used in your tasks. For +example, restart the service daemon. + +For "tasks", it is used to store the task yaml files. You need to add the yaml files including +the tasks you write to deploy your role on the hosts. Please attention that a *main.yml* +should be existed as the entrance of running tasks. In Fig 2, you can find that there are four +yaml files in the tasks directory of moon. The *main.yml* is the entrance which will call the +other three yaml files. + +For "templates", it is used to store the files that you want to replace some variables in them +before copying to hosts. These variables are usually defined in "vars" directory. This can +avoid hard coding. + +For "vars", it is used to store the yaml files in which the packages and variables are defined. +The packages defined here are some generic debian or rpm packages. The script of making repo +will scan the packages names here and download them into related PPA. For some special +packages, section "Build packages for the feature" will introduce how to handle with special +packages. The variables defined here are used in the files in "templates" and "tasks". + +Note: you can get the special packages in the tasks like this: + +.. code-block:: bash + + - name: get the special packages' http server + shell: awk -F'=' '/compass_server/ {print $2}' /etc/compass.conf + register: http_server + + - name: download odl package + get_url: + url: "http://{{ http_server.stdout_lines[0] }}/packages/odl/{{ odl_pkg_url }}" + dest: /opt/ + + +Build packages for the feature +------------------------------ + +In the previous section, we have explained how to build the generic packages for your feature. +In this section, we will talk about how to build the special packages used by your feature. + + +.. figure:: images/repo_features.png + :alt: Features building directory in compass4nfv + :figclass: align-center + + Fig 3. Features building directory in compass4nfv + + +Fig 3 shows the tree of "*your_path_to_compass4nfv*/compass4nfv/repo/features/". Dockerfile +is used to start a docker container to run the scripts in scripts directory. These scripts +will download the special feature related packages into the container. What you need to do is +to write a shell script to download or build the package you want. And then put the script +into "*your_path_to_compass4nfv*/compass4nfv/repo/features/scripts/". Attention that, you need +to make a directory under */pkg*. Take opendaylight as an example: + +.. code-block:: bash + + mkdir -p /pkg/odl + +After downloading or building your feature packages, please copy all of your packages into the +directory you made, e.g. */pkg/odl*. + +Note: If you have specail requirements for the container OS or kernel vesion, etc. Please +contact us. + +After all of these, come back to *your_path_to_compass4nfv*/compass4nfv/ directory, and run +the command below: + +.. code-block:: bash + + ./repo/make_repo.sh feature # To get special packages + + ./repo/make_repo.sh openstack # To get generic packages + +When execution finished, you will get a tar package named *packages.tar.gz* under +"*your_path_to_compass4nfv*/compass4nfv/work/repo/". Your feature related packages have been +archived in this tar package. And you will also get the PPA packages which includes the generic +packages you defined in the role directory. The PPA packages are *xenial-newton-ppa.tar.gz* +and *centos7-newton-ppa.tar.gz*, also in "*your_path_to_compass4nfv*/compass4nfv/work/repo/". + + +Build compass ISO including the feature +--------------------------------------- + +Before you deploy a cluster with your feature installed, you need an ISO with feature packages, +generic packages and role included. This section introduces how to build the ISO you want. +What you need to do are two simple things: + +**Configure the build configuration file** + +The build configuration file is located in "*your_path_to_compass4nfv*/compass4nfv/build/". +There are lines in the file like this: + +.. code-block:: bash + + export APP_PACKAGE=${APP_PACKAGE:-$FEATURE_URL/packages.tar.gz} + + export XENIAL_NEWTON_PPA=${XENIAL_NEWTON_PPA:-$PPA_URL/xenial-newton-ppa.tar.gz} + + export CENTOS7_NEWTON_PPA=${CENTOS7_NEWTON_PPA:-$PPA_URL/centos7-newton-ppa.tar.gz} + +Just replace the $FEATURE_URL and $PPA_URL to the directory where your *packages.tar.gz* +located in. For example: + +.. code-block:: bash + + export APP_PACKAGE=${APP_PACKAGE:-file:///home/opnfv/compass4nfv/work/repo/packages.tar.gz} + + export XENIAL_NEWTON_PPA=${XENIAL_NEWTON_PPA:-file:///home/opnfv/compass4nfv/work/repo/xenial-newton-ppa.tar.gz} + + export CENTOS7_NEWTON_PPA=${CENTOS7_NEWTON_PPA:-file:///home/opnfv/compass4nfv/work/repo/centos7-newton-ppa.tar.gz} + +**Build the ISO** + +After the configuration, just run the command below to build the ISO you want for deployment. + +.. code-block:: bash + + ./build.sh + +References +---------- + +`Ansible documentation: http://docs.ansible.com/ansible/index.html>` diff --git a/docs/development/design/images/Existed_roles.png b/docs/development/design/images/Existed_roles.png Binary files differnew file mode 100644 index 00000000..b2427dba --- /dev/null +++ b/docs/development/design/images/Existed_roles.png diff --git a/docs/development/design/images/Moon.png b/docs/development/design/images/Moon.png Binary files differnew file mode 100644 index 00000000..869ffbc8 --- /dev/null +++ b/docs/development/design/images/Moon.png diff --git a/docs/development/design/images/repo_features.png b/docs/development/design/images/repo_features.png Binary files differnew file mode 100644 index 00000000..c634bfa8 --- /dev/null +++ b/docs/development/design/images/repo_features.png diff --git a/docs/development/design/index.rst b/docs/development/design/index.rst new file mode 100644 index 00000000..3bffdf46 --- /dev/null +++ b/docs/development/design/index.rst @@ -0,0 +1,14 @@ +.. _compass4nfv-design: + +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +======================== +Compass4nfv Design Guide +======================== + +.. toctree:: + :numbered: + :maxdepth: 3 + + feature-integration.rst diff --git a/docs/installationprocedure/bmdeploy.rst b/docs/installationprocedure/bmdeploy.rst deleted file mode 100644 index 3b294f1f..00000000 --- a/docs/installationprocedure/bmdeploy.rst +++ /dev/null @@ -1,340 +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) - -Installation Guide (Bare Metal Deployment) -========================================== - -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 . - - - 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: -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 - 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". -You can write your own reference to it. - -**The following figure shows the default network configuration.** - -.. code-block:: console - - - +--+ +--+ +--+ - | | | | | | - | | +------------+ | | | | - | +------+ Jumphost +------+ | | | - | | +------+-----+ | | | | - | | | | | | | - | | +------------+ +-----+ | - | | | | | | - | | +------------+ | | | | - | +------+ host1 +------+ | | | - | | +------+-----+ | | | | - | | | | | | | - | | +------------+ +-----+ | - | | | | | | - | | +------------+ | | | | - | +------+ host2 +------+ | | | - | | +------+-----+ | | | | - | | | | | | | - | | +------------+ +-----+ | - | | | | | | - | | +------------+ | | | | - | +------+ host3 +------+ | | | - | | +------+-----+ | | | | - | | | | | | | - | | +------------+ +-----+ | - | | | | | | - | | | | | | - +-++ ++-+ +-++ - ^ ^ ^ - | | | - | | | - +-+-------------------------+ | | - | External Network | | | - +---------------------------+ | | - +-----------------------+---+ | - | IPMI Network | | - +---------------------------+ | - +-------------------------+-+ - | PXE(Installation) Network | - +---------------------------+ - - -Start Deployment (Bare Metal Deployment) ----------------------------------------- - -1. Edit deploy.sh - -Set OS version and OpenStack version for deployment nodes. - Compass4nfv Colorado supports three OS version based openstack mitaka. - -E.g. - -.. code-block:: bash - - ######################### The environment for Openstack ###################### - # Ubuntu16.04 Newton - #export OS_VERSION=xenial - #export OPENSTACK_VERSION=newton_xenial - - # Ubuntu14.04 Mitaka - #export OS_VERSION=trusty - #export OPENSTACK_VERSION=mitaka - - # Ubuntu16.04 Mitaka - #export OS_VERSION=xenial - #export OPENSTACK_VERSION=mitaka_xenial - - # Centos7 Mitaka - #export OS_VERSION=centos7 - #export OPENSTACK_VERSION=mitaka - - # Redhat7 OSP9 - #export OS_VERSION=redhat7 - #export OPENSTACK_VERSION=osp9 - -Set ISO image that you want to deploy - -E.g. - -.. code-block:: bash - - # ISO_URL is your iso's absolute path - export ISO_URL=file:///home/compass/compass4nfv.iso - # or - # export ISO_URL=http://artifacts.opnfv.org/compass4nfv/colorado/opnfv-colorado.1.0.iso - -Set Jumphost PXE NIC. (set eth1 E.g.) - -E.g. - -.. code-block:: bash - - ########## Hardware Deploy Jumphost PXE NIC ########## - # you need comment out it when virtual deploy - export INSTALL_NIC=eth1 - -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/installationprocedure/expansion.rst b/docs/installationprocedure/expansion.rst deleted file mode 100644 index 697945ba..00000000 --- a/docs/installationprocedure/expansion.rst +++ /dev/null @@ -1,339 +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) - -Expansion Guide -=============== - -Bare Metal Expansion --------------------- - -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 deploy.sh - -Set the EXPANSION to true. - -E.g. - -.. code-block:: bash - - ######################### Deploy or Expansion ############################### - # Modify 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. - # VIRT_NUMBER decide how many virtual machines needs to expand when virtual expansion - - export EXPANSION="true" - export MANAGEMENT_IP_START="10.1.0.55" - #export VIRT_NUMBER=1 - export DEPLOY_FIRST_TIME="false" - - -Set OS version and OpenStack version for deployment nodes. - -E.g. - -.. code-block:: bash - - ######################### The environment for Openstack ###################### - # Ubuntu16.04 Newton - #export OS_VERSION=xenial - #export OPENSTACK_VERSION=newton_xenial - - # Ubuntu14.04 Mitaka - #export OS_VERSION=trusty - #export OPENSTACK_VERSION=mitaka - - # Ubuntu16.04 Mitaka - #export OS_VERSION=xenial - #export OPENSTACK_VERSION=mitaka_xenial - - # Centos7 Mitaka - #export OS_VERSION=centos7 - #export OPENSTACK_VERSION=mitaka - - # Redhat7 OSP9 - #export OS_VERSION=redhat7 - #export OPENSTACK_VERSION=osp9 - -NOTE: -The OS version and OpenStack version should be same as the first deployment. - -Set ISO image that you want to deploy - -E.g. - -.. code-block:: bash - - # ISO_URL is your iso's absolute path - export ISO_URL=file:///home/compass/compass4nfv.iso - # or - # export ISO_URL=http://artifacts.opnfv.org/compass4nfv/colorado/opnfv-colorado.1.0.iso - -NOTE: -The ISO should be same as the first deployment. - -Set scenario that you want 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 - -Set jumpserver PXE NIC - -E.g. - -.. code-block:: bash - - INSTALL_NIC=${INSTALL_NIC:-eth1} - -Check the environment variable. - -2. Run ``deploy.sh`` - -.. code-block:: bash - - ./deploy.sh - -Virtual Expansion ------------------ - -Edit NETWORK File -~~~~~~~~~~~~~~~~~ - -The below file is the inventory template of deployment nodes: - - "./deploy/conf/vm_environment/huawei-virtual1/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/vm_environment/virtual_cluster_expansion.yml" - -**Set TYPE and FLAVOR** - -E.g. - -.. code-block:: yaml - - TYPE: virtual - FLAVOR: cluster - -**Assignment of roles to servers** - -E.g. Only increase one compute node - -.. code-block:: yaml - - hosts: - - name: host6 - roles: - - compute - -E.g. Increase two compute nodes - -.. code-block:: yaml - - hosts: - - name: host6 - roles: - - compute - - - name: host7 - roles: - - compute - -Start Expansion -~~~~~~~~~~~~~~~ - -1. Edit add.sh - -Set the EXPANSION to true. - -E.g. - -.. code-block:: bash - - ######################### Deploy or Expansion ############################### - # Modify 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. - # VIRT_NUMBER decide how many virtual machines needs to expand when virtual expansion - - export EXPANSION="true" - export MANAGEMENT_IP_START="10.1.0.55" - export VIRT_NUMBER=1 - export DEPLOY_FIRST_TIME="false" - -Set OS version and OpenStack version for deployment nodes. - -E.g. - -.. code-block:: bash - - ######################### The environment for Openstack ###################### - # Ubuntu16.04 Newton - #export OS_VERSION=xenial - #export OPENSTACK_VERSION=newton_xenial - - # Ubuntu14.04 Mitaka - #export OS_VERSION=trusty - #export OPENSTACK_VERSION=mitaka - - # Ubuntu16.04 Mitaka - #export OS_VERSION=xenial - #export OPENSTACK_VERSION=mitaka_xenial - - # Centos7 Mitaka - #export OS_VERSION=centos7 - #export OPENSTACK_VERSION=mitaka - - # Redhat7 OSP9 - #export OS_VERSION=redhat7 - #export OPENSTACK_VERSION=osp9 - -NOTE: -The OS version and OpenStack version should be same as the first deployment. - -Set ISO image that you want to deploy - -E.g. - -.. code-block:: bash - - # ISO_URL is your iso's absolute path - export ISO_URL=file:///home/compass/compass4nfv.iso - # or - # export ISO_URL=http://artifacts.opnfv.org/compass4nfv/colorado/opnfv-colorado.1.0.iso - -NOTE: -The OS version and OpenStack version should be same as the first deployment. - -Set scenario that you want to expansion - -E.g. - -.. code-block:: bash - - # DHA is your dha.yml's path - export DHA=./deploy/conf/vm_environment/virtual_cluster_expansion.yml - - # NETWORK is your network.yml's path - export NETWORK=./deploy/conf/vm_environment/huawei-virtual1/network.yml - -Check the environment variable. - -2. Run ``deploy.sh`` - -.. code-block:: bash - - ./deploy.sh diff --git a/docs/FAQ/faq.rst b/docs/release/FAQ/faq.rst index 177ff0bb..177ff0bb 100644 --- a/docs/FAQ/faq.rst +++ b/docs/release/FAQ/faq.rst diff --git a/docs/FAQ/index.rst b/docs/release/FAQ/index.rst index d116e26b..a843a213 100644 --- a/docs/FAQ/index.rst +++ b/docs/release/FAQ/index.rst @@ -1,9 +1,11 @@ +.. _compass4nfv-FAQ: + .. This work is licensed under a Creative Commons Attribution 4.0 International Licence. .. http://creativecommons.org/licenses/by/4.0 -========================================================= -OPNFV(Colorado) Compass4nfv Frequently Asked Questions -========================================================= +====================================== +Compass4nfv Frequently Asked Questions +====================================== .. toctree:: :numbered: 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/installationprocedure/index.rst b/docs/release/installation/index.rst index 7bcbc281..d678b9df 100644 --- a/docs/installationprocedure/index.rst +++ b/docs/release/installation/index.rst @@ -1,16 +1,20 @@ +.. _compass4nfv-installation: + .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -******************************************************** -OPNFV(Colorado) Compass4nfv Installation Instructions -******************************************************** +===================================== +Compass4nfv Installation Instructions +===================================== .. toctree:: :numbered: :maxdepth: 4 introduction.rst - installation.instruction.rst + featureTable.rst + preconditions.rst + configure-network.rst bmdeploy.rst vmdeploy.rst offline-deploy.rst diff --git a/docs/installationprocedure/installation.instruction.rst b/docs/release/installation/installation.rst index 87c8a55c..18bac119 100644 --- a/docs/installationprocedure/installation.instruction.rst +++ b/docs/release/installation/installation.rst @@ -6,7 +6,7 @@ Compass4nfv configuration ========================= This document describes providing guidelines on how to install and -configure the Colorado release of OPNFV when using Compass as a +configure the Danube release of OPNFV when using Compass as a deployment tool including required software and hardware configurations. @@ -21,7 +21,7 @@ networking and Unix/Linux administration. Preconditions ------------- -Before starting the installation of the Colorado release of OPNFV, +Before starting the installation of the Danube release of OPNFV, some planning must be done. @@ -38,10 +38,10 @@ The daily build ISO can be retrieved via OPNFV artifacts repository: http://artifacts.opnfv.org/compass4nfv.html -NOTE: Search the keyword "compass4nfv/Colorado" to locate the ISO image. +NOTE: Search the keyword "compass4nfv/Danube" to locate the ISO image. E.g. -compass4nfv/colorado/opnfv-2016-09-18_08-15-13.iso +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. @@ -58,9 +58,9 @@ To retrieve the repository of Compass4nfv on Jumphost use the following command: NOTE: PLEASE DO NOT GIT CLONE COMPASS4NFV IN ROOT DIRECTORY(INCLUDE SUBFOLDERS). -To get stable /colorado release, you can use the following command: +To get stable /Danube release, you can use the following command: -- git checkout colorado.1.0 +- git checkout Danube.1.0 Setup Requirements ------------------ @@ -92,7 +92,7 @@ The Jumphost requirements are outlined below: 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) +6. CPU cores: 32, Memory: 64 GB, Hard Disk: 500 GB, (Virtual Deployment needs 1 TB Hard Disk) Bare Metal Node Requirements @@ -152,3 +152,12 @@ In order to execute a deployment, one must gather the following information: 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/installationprocedure/introduction.rst b/docs/release/installation/introduction.rst index 835a5788..7470363a 100644 --- a/docs/installationprocedure/introduction.rst +++ b/docs/release/installation/introduction.rst @@ -5,7 +5,7 @@ Abstract ======== -This document describes how to install the Colorado release of OPNFV when +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. @@ -16,6 +16,9 @@ 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 | +--------------------+--------------------+--------------------+---------------------------+ diff --git a/docs/installationprocedure/offline-deploy.rst b/docs/release/installation/offline-deploy.rst index 68c78a0b..68c78a0b 100644 --- a/docs/installationprocedure/offline-deploy.rst +++ b/docs/release/installation/offline-deploy.rst diff --git a/docs/installationprocedure/postinstall.rst b/docs/release/installation/postinstall.rst index f9b7aa92..f9b7aa92 100644 --- a/docs/installationprocedure/postinstall.rst +++ b/docs/release/installation/postinstall.rst 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/installationprocedure/references.rst b/docs/release/installation/references.rst index 69ca4e7b..2dbaa144 100644 --- a/docs/installationprocedure/references.rst +++ b/docs/release/installation/references.rst @@ -8,20 +8,14 @@ References OPNFV ----- -`OPNFV Home Page <www.opnfv.org>`_ - -`OPNFV Genesis project page <https://wiki.opnfv.org/get_started>`_ - `OPNFV Compass4nfv project page <https://wiki.opnfv.org/compass4nfv>`_ -`OPNFV Compass4nfv release notes <http://artifacts.opnfv.org/compass4nfv/colorado/docs/release-notes/index.html>`_ +`Tutoring videos <https://wiki.opnfv.org/display/compass4nfv/Compass+101>`_ OpenStack --------- -`OpenStack Mitaka Release artifacts <http://www.openstack.org/software/mitaka>`_ - -`OpenStack documentation <http://docs.openstack.org>`_ +`OpenStack Newton Release artifacts <http://www.openstack.org/software/Newton>`_ OpenDaylight ------------ diff --git a/docs/installationprocedure/vmdeploy.rst b/docs/release/installation/vmdeploy.rst index 54d7863e..610ff51a 100644 --- a/docs/installationprocedure/vmdeploy.rst +++ b/docs/release/installation/vmdeploy.rst @@ -2,12 +2,34 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) by Weidong Shao (HUAWEI) and Justin Chi (HUAWEI) -Installation Guide (Virtual Deployment) -======================================= +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" @@ -99,99 +121,36 @@ E.g. Openstack and ONOS deployment roles setting Network Configuration (Virtual 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/vm_environment/huawei-virtual1/network.yml". -You can write your own reference to it. - -**The following figure shows the default network configuration.** - -.. code-block:: console - - - +--+ +--+ - | | | | - | | +------------+ | | - | +------+ Jumphost +------+ | - | | +------+-----+ | | - | | | | | - | | +------------+ | - | | | | - | | +------------+ | | - | +------+ host1 +------+ | - | | +------+-----+ | | - | | | | | - | | +------------+ | - | | | | - | | +------------+ | | - | +------+ host2 +------+ | - | | +------+-----+ | | - | | | | | - | | +------------+ | - | | | | - | | +------------+ | | - | +------+ host3 +------+ | - | | +------+-----+ | | - | | | | | - | | +------------+ | - | | | | - | | | | - +-++ ++-+ - ^ ^ - | | - | | - +-+-------------------------+ | - | External Network | | - +---------------------------+ | - +-----------------------+---+ - | Installation Network | - +---------------------------+ +The same with Baremetal Deployment. Start Deployment (Virtual Deployment) ------------------------------------- 1. Edit deploy.sh -Set OS version and OpenStack version for deployment nodes. - Compass4nfv Colorado supports three OS version based openstack mitaka. +1.1. Set OS version for deployment nodes. + Compass4nfv supports ubuntu and centos based openstack newton. E.g. .. code-block:: bash - ######################### The environment for Openstack ###################### - # Ubuntu16.04 Newton - #export OS_VERSION=xenial - #export OPENSTACK_VERSION=newton_xenial - - # Ubuntu14.04 Mitaka - #export OS_VERSION=trusty - #export OPENSTACK_VERSION=mitaka - - # Ubuntu16.04 Mitaka - #export OS_VERSION=xenial - #export OPENSTACK_VERSION=mitaka_xenial - - # Centos7 Mitaka - #export OS_VERSION=centos7 - #export OPENSTACK_VERSION=mitaka - - # Redhat7 OSP9 - #export OS_VERSION=redhat7 - #export OPENSTACK_VERSION=osp9 + # Set OS version for target hosts + # Ubuntu16.04 or CentOS7 + export OS_VERSION=xenial + or + export OS_VERSION=centos7 -Set ISO image that you want to deploy +1.2. Set ISO image corresponding to your code E.g. .. code-block:: bash - # ISO_URL is your iso's absolute path - # export ISO_URL=file:///home/compass/compass4nfv.iso - # or - # export ISO_URL=http://artifacts.opnfv.org/compass4nfv/colorado/opnfv-colorado.1.0.iso + # Set ISO image corresponding to your code + export ISO_URL=file:///home/compass/compass4nfv.iso -Set scenario that you want to deploy +1.3. Set scenario that you want to deploy E.g. diff --git a/docs/releasenotes/index.rst b/docs/release/release-notes/index.rst index e10b8372..14827c22 100644 --- a/docs/releasenotes/index.rst +++ b/docs/release/release-notes/index.rst @@ -1,9 +1,11 @@ +.. _compass4nfv-releasenotes: + .. This work is licensed under a Creative Commons Attribution 4.0 International Licence. .. http://creativecommons.org/licenses/by/4.0 -========================================= -OPNFV Colorado: Compass4nfv Release Notes -========================================= +========================= +Compass4nfv Release Notes +========================= .. toctree:: :numbered: diff --git a/docs/releasenotes/release-notes.rst b/docs/release/release-notes/release-notes.rst index ff8ec500..e44e6744 100644 --- a/docs/releasenotes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst @@ -2,7 +2,7 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) Weidong Shao (HUAWEI) and Justin Chi (HUAWEI) -Release Note for the Colorado release of OPNFV when using Compass4nfv as a deployment tool. +Release Note for the Danube release of OPNFV when using Compass4nfv as a deployment tool. Abstract ======== @@ -25,16 +25,16 @@ Release Data | **Project** | Compass4nfv | | | | +--------------------------------------+--------------------------------------+ -| **Repo/tag** | Compass4nfv/Colorado.1.0 | +| **Repo/tag** | Compass4nfv/Danube.1.0 | | | | +--------------------------------------+--------------------------------------+ -| **Release designation** | Colorado.1.0 | +| **Release designation** | Danube.1.0 | | | | +--------------------------------------+--------------------------------------+ -| **Release date** | September 22 2016 | +| **Release date** | March 27 2017 | | | | +--------------------------------------+--------------------------------------+ -| **Purpose of the delivery** | OPNFV Colorado release | +| **Purpose of the delivery** | OPNFV Danube release | | | | +--------------------------------------+--------------------------------------+ @@ -44,16 +44,16 @@ Deliverables Software deliverables ~~~~~~~~~~~~~~~~~~~~~ - - Compass4nfv/Colorado.1.0 ISO, please get it from `OPNFV software download page <https://www.opnfv.org/software/>`_ + - Compass4nfv/Danube.1.0 ISO, please get it from `OPNFV software download page <https://www.opnfv.org/software/>`_ .. _document-label: Documentation deliverables ~~~~~~~~~~~~~~~~~~~~~~~~~~ - - OPNFV(Colorado) Compass4nfv installation instructions + - OPNFV(Danube) Compass4nfv installation instructions - - OPNFV(Colorado) Compass4nfv Release Notes + - OPNFV(Danube) Compass4nfv Release Notes Version change -------------- @@ -62,21 +62,21 @@ Version change Module version change ~~~~~~~~~~~~~~~~~~~~~ -This is the Colorado release of compass4nfv as a deployment toolchain in OPNFV, the following +This is the Danube release of compass4nfv as a deployment toolchain in OPNFV, the following upstream components supported with this release. - - Ubuntu 14.04.3 + - Ubuntu 16.04/Centos 7.3 - - Openstack (Mitaka release) + - Openstack (Newton release) - - Opendaylight (Beryllium SR2 release) + - Opendaylight (Boron SR2 release) - - ONOS (Goldeneye release) + - ONOS (J-bird release/later release) Document version change ~~~~~~~~~~~~~~~~~~~~~~~ -Adjusted the document structure, and you can see document at `OPNFV(Colorado) Compass4nfv installation instructions <http://artifacts.opnfv.org/compass4nfv/docs/configguide/index.html>`_. +Adjusted the document structure, and you can see document at `OPNFV(Danube) Compass4nfv installation instructions <http://artifacts.opnfv.org/compass4nfv/docs/configguide/index.html>`_. Reason for new version ---------------------- @@ -88,13 +88,7 @@ Feature additions | **JIRA REFERENCE** | **SLOGAN** | | | | +--------------------------------------+-----------------------------------------+ -| JIRA: COMPASS-438 | Add A Task Of ONOS-SFC | | | | -+--------------------------------------+-----------------------------------------+ -| JIRA: COMPASS-443 | Add MOON in Compass | -| | | -+--------------------------------------+-----------------------------------------+ -| JIRA: COMPASS-444 | Add Xenial-mitaka ODL Support | | | | +--------------------------------------+-----------------------------------------+ @@ -108,7 +102,7 @@ Bug corrections | **JIRA REFERENCE** | **SLOGAN** | | | | +--------------------------------------+--------------------------------------+ -| JIRA: COMPASS-459 | PXE boot may have NO SIGNAL | +| | | | | | +--------------------------------------+--------------------------------------+ @@ -133,9 +127,7 @@ Known issues +---------------+----------------------------------------------+ | **Scenario** | **Issue** | +---------------+----------------------------------------------+ -| MOON | First ODL test FAILS because ODL/Openstack | -| | federation done in moon is partial. Only | -| | MD-SAL is federated (not AD-SAL) | +| | | +---------------+----------------------------------------------+ | | | +---------------+----------------------------------------------+ @@ -153,12 +145,11 @@ Known issues Workarounds ----------- -`See JIRA <https://jira.opnfv.org/issues/?jql=project%20%3D%20COMPASS%20AND%20labels%20%3D%20C-1.0-Workaround>`_ + Test Result =========== -The Colorado release with the Compass4nfv deployment toolchain has undergone QA test +The Danube release with the Compass4nfv deployment toolchain has undergone QA test runs with the following results: - - `Functest test result <http://testresults.opnfv.org/reporting/functest/release/colorado/index-status-compass.html>`_ - - `Yardstick test result <http://testresults.opnfv.org/reporting/yardstick/release/colorado/index-status-compass.html>`_ + |