From 5b64df00a64989d746b759b6bc09f453652bda24 Mon Sep 17 00:00:00 2001 From: Miruna Paun Date: Tue, 18 Sep 2018 17:16:13 +0200 Subject: USERDOCAP-351 Adding a new chapter Provider Scripts to the UG --- book-enea-nfv-core-installation-guide/doc/book.xml | 1 + .../doc/provider_scripts.xml | 177 +++++++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100644 book-enea-nfv-core-installation-guide/doc/provider_scripts.xml diff --git a/book-enea-nfv-core-installation-guide/doc/book.xml b/book-enea-nfv-core-installation-guide/doc/book.xml index 6744769..0308e84 100644 --- a/book-enea-nfv-core-installation-guide/doc/book.xml +++ b/book-enea-nfv-core-installation-guide/doc/book.xml @@ -16,5 +16,6 @@ + diff --git a/book-enea-nfv-core-installation-guide/doc/provider_scripts.xml b/book-enea-nfv-core-installation-guide/doc/provider_scripts.xml new file mode 100644 index 0000000..2ba9b39 --- /dev/null +++ b/book-enea-nfv-core-installation-guide/doc/provider_scripts.xml @@ -0,0 +1,177 @@ + + + + Provider Scripts + + INSERT INTRO TEXT HERE AND REPLACE THIS + +
+ Provider Networks + + For the best results it is recommended to run this playbook as soon + as the deploy+provision segments in Fuel successfully finish or if there + are no modifications made to the networking/neutron/openvswitch components + on the POD. + + Things to consider: + + + + All node types (computes and controllers) are viable and can + sustain a provider network. + + + + DPDK is not mandatory. If a DPDK is not detected on a node, the + interface type will be OVSPort for the provider + network bridge, therefore DPDK is not checked during the pre-run + Ansible stages. + + + + How to run the Provider Networks + Playbook + + + + Log into the Fuel master. + + + + Install ansible: yum install ansible + + + + Run the initial script: > cd /opt/enea/postdeployscripts/provider-net +> ./init.sh + + This will create a hosts file that will be used by Ansible to + associate the nodes into groups and to access them. It will also + create a file named samplenetworks.json, which + will contain a single network in which all nodes (computes and + controllers) are plugged in. + + The samplenetworks.json file will have the + following content: { + "networks": [ + { + "name": "prov-net", + "nodes": [ + { + "interfaces": [], + "name": "node-1" + }, + [...] # all other controller and compute nodes: node-X + ] + } + } + + + The interface list is empty and has to be populated by the + user. If the interface lists are left empty the node will simply not + be processed, though it will attempt to pass any checks. + + + To use this file the user has to copy its contents into the + following location:mv samplenetworks.json /opt/enea/postdeployscripts/provider-net/files/networks.json + + + + Populate the networks.json file which is + located in + /opt/enea/postdeployscripts/provider-net/files/networks.json. + + The networks.json file will be used in the + playbook to know which interfaces on which nodes are used in which + networks. Various checks are in place to minimize user error. + + Below you can see a sample networks.json + file, similar to step 2, with some interfaces + included: { + "networks":[ + { + "name":"prov-net", + "nodes":[ + { + "name":"node-4", + "interfaces":[ + "em2p1s0f5" + ] + }, + { + "name":"node-5", + "interfaces":[ + "em2p1s0f5" + ] + } + ] + } + ] + }The snippet shown above infers the following: + + + + There is a provider network named + prov-net. + + + + Two nodes (node-4 and node-5) are connected to this + network. + + + + Each of these nodes have an interface plugged into said + network. + + + + All of these components are lists, and can be + scaled accordingly, making it possible for there to be potentially X + networks with Y nodes with Z interfaces. + + Make sure to check the following before the + networks.json file is populated: + + + + Check that the node names in the file match the actual + hostnames of the nodes. + + + + Check that the interfaces on the nodes in the file match the + ones on the actual machines and aren't using the DPDK + driver. + + + + + + Run the playbook:ansible-playbook deploy.yamldeploy.yaml + is located: + /opt/enea/postdeployscripts/provider-net/deploy.yaml. + + + After the playbook is executed the nodes will be + rebooted. + + + On the processed nodes there should be new OVS bridges with the + following interface(s):Bridge br-prov-net + Controller "tcp:127.0.0.1:6633" + is_connected: true + fail_mode: secure + Port phy-br-prov-net + Interface phy-br-prov-net + type: patch + options: {peer=int-br-prov-net} + Port br-prov-net + Interface br-prov-net + type: internal + ovs_version: "2.9.0" + + +
+
\ No newline at end of file -- cgit v1.2.3-54-g00ecf