diff options
24 files changed, 629 insertions, 33 deletions
diff --git a/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml b/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml index 59826776..ef7128c5 100644 --- a/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml +++ b/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml @@ -78,6 +78,7 @@ - network_hosts - repo_container - utility + - tacker_all remote_user: root roles: - setup-odl-sfc diff --git a/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh b/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh index c598027f..fb197555 100644 --- a/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh +++ b/deploy/adapters/ansible/roles/config-osa/files/op-venv-script.sh @@ -202,6 +202,17 @@ unset ROLE_VENV_WITH_INDEX #unset ROLE_VENV_WITH_INDEX ROLE_VENV_WITH_INDEX=false +ROLE_VENV_PATH="/tmp/openstack-venv-builder/venvs/tacker" +ROLE_VENV_FILE="tacker-15.1.4-x86_64" +if [ ! -f "${ROLE_VENV_FILE}.tgz" ];then + venv_create "${ROLE_VENV_PATH}" "${ROLE_VENV_FILE}" "${ROLE_VENV_WITH_INDEX}" "python-tackerclient mysql-python networking-sfc==4.0.0 pymysql python-heatclient python-tackerclient tacker" & + pid[3]=$! +fi +unset ROLE_VENV_PATH +unset ROLE_VENV_FILE +unset ROLE_VENV_WITH_INDEX + +ROLE_VENV_WITH_INDEX=false ROLE_VENV_PATH="/tmp/openstack-venv-builder/venvs/horizon" ROLE_VENV_FILE="horizon-15.1.4-x86_64" if [ ! -f "${ROLE_VENV_FILE}.tgz" ];then diff --git a/deploy/adapters/ansible/roles/config-osa/files/policy.json b/deploy/adapters/ansible/roles/config-osa/files/policy.json new file mode 100644 index 00000000..0aa0a3d1 --- /dev/null +++ b/deploy/adapters/ansible/roles/config-osa/files/policy.json @@ -0,0 +1,15 @@ +{ + "context_is_admin": "role:admin", + "segregation": "rule:context_is_admin", + + "telemetry:get_samples": "", + "telemetry:get_sample": "", + "telemetry:query_sample": "", + "telemetry:create_samples": "", + + "telemetry:compute_statistics": "", + "telemetry:get_meters": "", + + "telemetry:get_resource": "", + "telemetry:get_resources": "", +} diff --git a/deploy/adapters/ansible/roles/config-osa/tasks/main.yml b/deploy/adapters/ansible/roles/config-osa/tasks/main.yml index d3779fd4..d2ce5c38 100755 --- a/deploy/adapters/ansible/roles/config-osa/tasks/main.yml +++ b/deploy/adapters/ansible/roles/config-osa/tasks/main.yml @@ -138,6 +138,12 @@ {% endraw %} when: offline_deployment is defined and offline_deployment == "Enable" +# This is a bug in ocata, will be removed in the future +- name: limit the version of networking-sfc in os_tacker + shell: | + sed -i 's/networking-sfc$/networking-sfc=={{ networking_sfc_version }}/g' \ + /etc/ansible/roles/os_tacker/defaults/main.yml + - name: add rally and tempest to requirement.txt blockinfile: dest: /etc/ansible/roles/repo_build/tasks/repo_pre_build.yml @@ -263,3 +269,5 @@ dest: /etc/ansible/roles/repo_build/tasks/main.yml insertafter: "^- include: repo_post_build.yml" line: "- include: repo_fix_pandas.yml" + +- include: meters.yml diff --git a/deploy/adapters/ansible/roles/config-osa/tasks/meters.yml b/deploy/adapters/ansible/roles/config-osa/tasks/meters.yml new file mode 100644 index 00000000..163fc69d --- /dev/null +++ b/deploy/adapters/ansible/roles/config-osa/tasks/meters.yml @@ -0,0 +1,71 @@ +############################################################################# +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +# ############################################################################# +--- +- name: modify the aodh haproxy config + replace: + dest: /opt/openstack-ansible/playbooks/vars/configs/haproxy_config.yml + regexp: '- "expect status 401"' + replace: '- "expect status 200"' + +- name: add OS_AUTH_TYPE in openrc + lineinfile: + dest: /etc/ansible/roles/openstack_openrc/templates/openrc.j2 + line: "export OS_AUTH_TYPE=password" + +- name: copy the ceilometer policy yaml + copy: + dest: /etc/ansible/roles/os_ceilometer/templates/policy.json.j2 + src: policy.json + mode: 0664 + +- name: replace the ceilometer policy + lineinfile: + dest: /etc/ansible/roles/os_ceilometer/tasks/ceilometer_post_install.yml + regexp: "ceilometer_policy_user_content" + line: ' src: "policy.json.j2"' + backrefs: "yes" + +- name: modify the os-ceilometer-install.yml + blockinfile: + dest: /opt/openstack-ansible/playbooks/os-ceilometer-install.yml + insertbefore: "common-tasks/package-cache-proxy.yml" + block: | + # create ceilometer db + - include: common-tasks/mysql-db-user.yml + static: no + vars: {% raw %} + user_name: "{{ ceilometer_galera_user }}" + password: "{{ ceilometer_container_db_password }}" + login_host: "{{ ceilometer_galera_address }}" + db_name: "{{ ceilometer_galera_database }}" + when: inventory_hostname == groups['ceilometer_all'][0]{% endraw %} + +- name: modify the os-ceilometer-install.yml + lineinfile: + dest: /opt/openstack-ansible/playbooks/os-ceilometer-install.yml + insertafter: "is_metal" + line: "{{ item }}" + with_items: + - " ceilometer_galera_user: ceilometer" + - " ceilometer_galera_database: ceilometer" + +- name: modify the os-ceilometer-install.yml + lineinfile: + dest: /opt/openstack-ansible/playbooks/os-ceilometer-install.yml + insertafter: "is_metal" + line: ' {% raw %} ceilometer_galera_address: "{{ galera_address }}"{% endraw %}' + +# yamllint disable rule:line-length +- name: change the ceilometer.conf.j2 + blockinfile: + dest: /etc/ansible/roles/os_ceilometer/templates/ceilometer.conf.j2 + block: | + [database]{% raw %} + connection = mysql+pymysql://{{ ceilometer_galera_user }}:{{ ceilometer_container_db_password }}@{{ceilometer_galera_address }}/{{ ceilometer_galera_database }}?charset=utf86{% endraw %} +# yamllint enable rule:line-length diff --git a/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2 b/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2 index cadf5308..be119fbe 100644 --- a/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2 +++ b/deploy/adapters/ansible/roles/config-osa/templates/openstack_user_config.yml.j2 @@ -213,6 +213,13 @@ metrics_hosts: ip: {{ hostvars[host]['ansible_ssh_host'] }} {% endfor %} +# tacker (mano service) +mano_hosts: +{% for host in groups.controller%} + {{host}}: + ip: {{ hostvars[host]['ansible_ssh_host'] }} +{% endfor %} + # nova hypervisors compute_hosts: {% for host in groups.compute%} diff --git a/deploy/adapters/ansible/roles/config-osa/vars/main.yml b/deploy/adapters/ansible/roles/config-osa/vars/main.yml index 18687fa5..0b3b0c1e 100644 --- a/deploy/adapters/ansible/roles/config-osa/vars/main.yml +++ b/deploy/adapters/ansible/roles/config-osa/vars/main.yml @@ -10,3 +10,4 @@ LOCAL_REPOSITORY_IP: "192.168.137.222" ceph_host: "{{ hostvars[inventory_hostname]['groups']['ceph_osd'][0] }}" repo_dest_path: "/var/www/repo/os-releases/15.1.4/ubuntu-16.04-x86_64/" +networking_sfc_version: 4.0.0 diff --git a/deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-nofeature-ha.yml b/deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-nofeature-ha.yml new file mode 100644 index 00000000..995d0107 --- /dev/null +++ b/deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-nofeature-ha.yml @@ -0,0 +1,65 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +TYPE: baremetal +FLAVOR: cluster +POWER_TOOL: ipmitool + +ipmiUser: root +ipmiVer: '2.0' + +hosts: + - name: host1 + mac: 'F8:4A:BF:55:A2:8D' + interfaces: + - eth1: 'F8:4A:BF:55:A2:8E' + ipmiIp: 172.16.130.26 + ipmiPass: Opnfv@pod1 + roles: + - kube_master + - etcd + + - name: host2 + mac: 'D8:49:0B:DA:5A:B7' + interfaces: + - eth1: 'D8:49:0B:DA:5A:B8' + ipmiIp: 172.16.130.27 + ipmiPass: Opnfv@pod1 + roles: + - kube_master + - etcd + + - name: host3 + mac: '78:D7:52:A0:B1:99' + interfaces: + - eth1: '78:D7:52:A0:B1:9A' + ipmiIp: 172.16.130.29 + ipmiPass: Opnfv@pod1 + roles: + - kube_master + - etcd + + - name: host4 + mac: 'D8:49:0B:DA:5B:5D' + interfaces: + - eth1: 'D8:49:0B:DA:5B:5E' + ipmiIp: 172.16.130.30 + ipmiPass: Opnfv@pod1 + roles: + - kube_node + + - name: host5 + mac: 'D8:49:0B:DA:56:85' + interfaces: + - eth1: 'D8:49:0B:DA:56:86' + ipmiIp: 172.16.130.31 + ipmiPass: Opnfv@pod1 + roles: + - kube_node diff --git a/deploy/conf/vm_environment/k8-nosdn-nofeature-noha.yml b/deploy/conf/vm_environment/k8-nosdn-nofeature-noha.yml new file mode 100644 index 00000000..9912d59b --- /dev/null +++ b/deploy/conf/vm_environment/k8-nosdn-nofeature-noha.yml @@ -0,0 +1,22 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +TYPE: virtual +FLAVOR: cluster + +hosts: + - name: host1 + roles: + - kube_master + - etcd + + - name: host2 + roles: + - kube_node diff --git a/docs/release/configguide/index.rst b/docs/release/configguide/index.rst deleted file mode 100644 index fae27101..00000000 --- a/docs/release/configguide/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -.. _compass4nfv-overview: - -********************************* -Compass4NFV Release Overview -********************************* - -.. toctree:: - :maxdepth: 2 - - containerized_compass.rst diff --git a/docs/release/installation/featureTable.rst b/docs/release/installation/featureTable.rst index 7d91d2a0..2cd74a2b 100644 --- a/docs/release/installation/featureTable.rst +++ b/docs/release/installation/featureTable.rst @@ -44,7 +44,7 @@ Supported Openstack Flavor and Features | Multi-Nic | Yes | Yes | Yes | Yes | | Support | | | | | +---------------+--------------+--------------+---------------+---------------+ -| Boot | Yes | Yes | Yes | YES | +| Boot | Yes | Yes | Yes | Yes | | Recovery | | | | | +---------------+--------------+--------------+---------------+---------------+ | SFC | No | No | Yes | Yes | diff --git a/docs/release/installation/images/architecture.png b/docs/release/installation/images/architecture.png Binary files differnew file mode 100644 index 00000000..0ee8bceb --- /dev/null +++ b/docs/release/installation/images/architecture.png diff --git a/docs/release/installation/images/k8s.png b/docs/release/installation/images/k8s.png Binary files differnew file mode 100644 index 00000000..6af82dcc --- /dev/null +++ b/docs/release/installation/images/k8s.png diff --git a/docs/release/installation/index.rst b/docs/release/installation/index.rst index d678b9df..80d07e86 100644 --- a/docs/release/installation/index.rst +++ b/docs/release/installation/index.rst @@ -17,6 +17,8 @@ Compass4nfv Installation Instructions configure-network.rst bmdeploy.rst vmdeploy.rst + k8s-intro.rst + k8s-deploy.rst offline-deploy.rst expansion.rst references.rst diff --git a/docs/release/installation/k8s-deploy.rst b/docs/release/installation/k8s-deploy.rst new file mode 100644 index 00000000..65f638cb --- /dev/null +++ b/docs/release/installation/k8s-deploy.rst @@ -0,0 +1,267 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International Licence. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) by Yifei Xue (HUAWEI) and Justin Chi (HUAWEI) + +Installation of K8s on virtual machines +======================================= + +Quick Start +----------- + +Only 1 command to try virtual deployment, if you have Internet access. Just Paste it and Run. + +.. code-block:: bash + + curl https://raw.githubusercontent.com/opnfv/compass4nfv/master/quickstart_k8s.sh | bash + +If you want to deploy noha with1 controller and 1 compute, run the following command + +.. code-block:: bash + + export SCENARIO=k8-nosdn-nofeature-noha.yml + export VIRT_NUMBER=2 + curl https://raw.githubusercontent.com/opnfv/compass4nfv/euphrates/quickstart_k8s.sh | bash + +Installation of K8s 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/k8-nosdn-nofeature-ha.yml" + +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. K8s 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: + - kube_master + - etcd + + - name: host2 + mac: 'D8:49:0B:DA:5A:B7' + interfaces: + - eth1: 'D8:49:0B:DA:5A:B8' + ipmiIp: 172.16.130.27 + roles: + - kube_node + +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. + + +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.** + +.. figure:: images/k8s.png + :alt: Kubernetes network configuration + :figclass: align-center + + Fig 5. Kubernetes network configuration + +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 + # Only CentOS7 supported now + export OS_VERSION=centos7 + +1.2. Set tarball corresponding to your code + +E.g. + +.. code-block:: bash + + # Set ISO image corresponding to your code + export ISO_URL=file:///home/compass/compass4nfv.tar.gz + +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. K8s 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/k8-nosdn-nofeature-ha.yml + + # NETWORK is your network.yml's path + export NETWORK=./deploy/conf/hardware_environment/huawei-pod1/network.yml + +2. Run ``deploy.sh`` + +.. code-block:: bash + + ./deploy.sh diff --git a/docs/release/installation/k8s-intro.rst b/docs/release/installation/k8s-intro.rst new file mode 100644 index 00000000..a3ea4547 --- /dev/null +++ b/docs/release/installation/k8s-intro.rst @@ -0,0 +1,96 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International Licence. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) by Yifei Xue (HUAWEI) and Justin Chi (HUAWEI) + +K8s introduction +================ + +Kubernetes Architecture +----------------------- + +Currently Compass can deploy kubernetes as NFVI in 3+2 mode by default. + +**The following figure shows a typical architecture of Kubernetes.** + +.. figure:: images/architecture.png + :alt: K8s architecture + :figclass: align-center + + Fig 3. K8s architecture + +Kube-apiserver +~~~~~~~~~~~~~~ + +Kube-apiserver exposes the Kubernetes API. It is the front-end for the Kubernetes control plane. +It is designed to scale horizontally, that is, it scales by deploying more instances. + +Etcd +~~~~ + +Etcd is used as Kubernetes' backing store. All cluster data is stored here. Always have a backup +plan for etcd's data for your Kubernetes cluster. + +Kube-controller-manager +~~~~~~~~~~~~~~~~~~~~~~~ + +Kube-controller-manager runs controllers, which are the background threads that handle routine +tasks in the cluster. Logically, each controller is a separate process, but to reduce complexity, +they are all compiled into a single binary and run in a single process. + +These controllers include: + + - Node Controller: Responsible for noticing and responding when nodes go down. + - Replication Controller: Responsible for maintaining the correct number of pods for every + replication controller object in the system. + - Endpoints Controller: Populates the Endpoints object (that is, joins Services & Pods). + - Service Account & Token Controllers: Create default accounts and API access tokens for + new namespaces. + +kube-scheduler +~~~~~~~~~~~~~~ + +Kube-scheduler watches newly created pods that have no node assigned, and selects a node for them +to run on. + +Kubelet +~~~~~~~ + +Kubelet is the primary node agent. It watches for pods that have been assigned to its node (either +by apiserver or via local configuration file) and: + + - Mounts the pod's required volumes. + - Downloads the pod's secrets. + - Runs the pod's containers via docker (or, experimentally, rkt). + - Periodically executes any requested container liveness probes. + - Reports the status of the pod back to the rest of the system, by creating a mirror pod if + necessary. + - Reports the status of the node back to the rest of the system. + +Kube-proxy +~~~~~~~~~~ + +Kube-proxy enables the Kubernetes service abstraction by maintaining network rules on the host and +performing connection forwarding. + +Docker +~~~~~~ + +Docker is used for running containers. + +POD +~~~ + +A pod is a collection of containers and its storage inside a node of a Kubernetes cluster. It is +possible to create a pod with multiple containers inside it. For example, keeping a database container +and data container in the same pod. + +Understand Kubernetes Networking in Compass configuration +--------------------------------------------------------- + +**The following figure shows the Kubernetes Networking in Compass configuration.** + +.. figure:: images/k8s.png + :alt: Kubernetes Networking in Compass + :figclass: align-center + + Fig 4. Kubernetes Networking in Compass diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst index 85700385..73825062 100644 --- a/docs/release/release-notes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst @@ -31,7 +31,7 @@ Release Data | **Release designation** | Euphrates.1.0 | | | | +--------------------------------------+--------------------------------------+ -| **Release date** | September 2017 | +| **Release date** | October 2017 | | | | +--------------------------------------+--------------------------------------+ | **Purpose of the delivery** | OPNFV Euphrates release | @@ -69,13 +69,10 @@ upstream components supported with this release. - Openstack (Ocata release) - - Opendaylight (Nitrogen release) - + - Kubernates (1.7.3) -Document version change -~~~~~~~~~~~~~~~~~~~~~~~ + - Opendaylight (Nitrogen release) -Adjusted the document structure, and you can see document at `OPNFV(Euphrates) Compass4nfv installation instructions <http://artifacts.opnfv.org/compass4nfv/docs/configguide/index.html>`_. Reason for new version ---------------------- @@ -160,5 +157,5 @@ Test Result The Euphrates release with the Compass4nfv deployment toolchain has undergone QA test runs with the following results: -Functest: http://testresults.opnfv.org/reporting/functest/release/danube/index-status-compass.html +Functest: http://testresults.opnfv.org/reporting/euphrates/functest/status-compass.html diff --git a/docs/release/scenarios/k8s-nosdn-nofeature-ha.rst b/docs/release/scenarios/k8s-nosdn-nofeature-ha.rst index 7e8e3b33..d9925cb7 100644 --- a/docs/release/scenarios/k8s-nosdn-nofeature-ha.rst +++ b/docs/release/scenarios/k8s-nosdn-nofeature-ha.rst @@ -9,9 +9,9 @@ deployment with no SDN controller and no feature enabled. :depth: 3 :local: -============ -Introduction -============ +====================== +k8s-nosdn-nofeature-ha +====================== This scenario is used to deploy an kubernets cluster. diff --git a/docs/release/scenarios/os-nosdn-nofeature-ha.rst b/docs/release/scenarios/os-nosdn-nofeature-ha.rst index f2dce3da..6ff3b85c 100644 --- a/docs/release/scenarios/os-nosdn-nofeature-ha.rst +++ b/docs/release/scenarios/os-nosdn-nofeature-ha.rst @@ -9,9 +9,9 @@ deployment with no SDN controller and no feature enabled. :depth: 3 :local: -============ -Introduction -============ +===================== +os-nosdn-nofeature-ha +===================== This scenario is used to deploy an Ocata OpenStack deployment with Ceph Jewel, and without SDN controller nor any NFV feature enabled. diff --git a/docs/release/scenarios/os-odl-nofeature-ha.rst b/docs/release/scenarios/os-odl-nofeature-ha.rst index 14b02e6d..64e74e04 100644 --- a/docs/release/scenarios/os-odl-nofeature-ha.rst +++ b/docs/release/scenarios/os-odl-nofeature-ha.rst @@ -9,9 +9,9 @@ deployment with the OpenDaylight controller and no feature enabled. :depth: 3 :local: -============ -Introduction -============ +=================== +os-odl-nofeature-ha +=================== This scenario is used to deploy an Ocata OpenStack deployment with OpenDaylight Nitrogen, Ceph Jewel, and without any NFV feature enabled. diff --git a/docs/release/scenarios/os-odl-sfc-ha.rst b/docs/release/scenarios/os-odl-sfc-ha.rst index 2a7a9fe0..7dca2417 100644 --- a/docs/release/scenarios/os-odl-sfc-ha.rst +++ b/docs/release/scenarios/os-odl-sfc-ha.rst @@ -9,9 +9,9 @@ deployment with the OpenDaylight controller and SFC feature enabled. :depth: 3 :local: -============ -Introduction -============ +============= +os-odl-sfc-ha +============= This scenario is used to deploy an Ocata OpenStack deployment with OpenDaylight Nitrogen, Ceph Jewel, and SFC feature enabled. diff --git a/docs/release/userguide/FAQ/faq.rst b/docs/release/userguide/FAQ/faq.rst index f2500a0d..326b85fe 100644 --- a/docs/release/userguide/FAQ/faq.rst +++ b/docs/release/userguide/FAQ/faq.rst @@ -131,9 +131,44 @@ How to recovery network connection after Jumphost reboot source deploy/network.sh && save_network_info +How to use Kubernetes CLI +========================= + +Login one of the controllers +---------------------------- + +There are 3 controllers referring to host1 to host3 with IPs from 10.1.0.50 to 10.1.0.52. +The username of the nodes is root, and the password is root. + +.. code-block:: bash + + ssh root@10.1.0.50 + +Run the Kubernetes command +-------------------------- + +Kubectl controls the Kubernetes cluster manager. + +.. code-block:: bash + + kubectl help + +Follow the k8s example to create a ngnix service +------------------------------------------------ + +To create a nginx service, please read Ref[2] at the end of this page. + References ========== + +[1] +--- + For more information on the Compass4nfv FAQ, please visit `COMPASS FAQ WIKI Page <https://wiki.opnfv.org/compass4nfv_faq>`_ +[2] +--- + +`K8s Get-Started Page <http://containertutorials.com/get_started_kubernetes/k8s_example.html>`_ diff --git a/plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-tacker-1.yml b/plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-tacker-1.yml new file mode 100644 index 00000000..c43b6dcc --- /dev/null +++ b/plugins/odl_sfc/roles/setup-odl-sfc/tasks/control-tacker-1.yml @@ -0,0 +1,8 @@ +--- + +- name: upgrade networking-sfc + pip: + name: networking-sfc + extra_args: -U + virtualenv: /openstack/venvs/tacker-15.1.4 + when: odl_sfc == "Enable" diff --git a/plugins/odl_sfc/roles/setup-odl-sfc/tasks/odl-cluster.yml b/plugins/odl_sfc/roles/setup-odl-sfc/tasks/odl-cluster.yml index 07bf7084..ee2ee32a 100755 --- a/plugins/odl_sfc/roles/setup-odl-sfc/tasks/odl-cluster.yml +++ b/plugins/odl_sfc/roles/setup-odl-sfc/tasks/odl-cluster.yml @@ -48,4 +48,7 @@ - inventory_hostname in groups['neutron_server'][0] - inventory_hostname not in groups['network_hosts'] +- include: control-tacker-1.yml + when: inventory_hostname in groups['tacker_all'] + - include: odl-post.yml |