Merge "CORD-3105 Add SimpleExampleService documentation to guide"
diff --git a/SUMMARY.md b/SUMMARY.md
index 600411d..1cf75e1 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -40,6 +40,7 @@
* [Configuring Services](operating_cord/services.md)
* [Fabric](fabric/README.md)
* [ONOS](onos-service/README.md)
+ * [RCORD](rcord/README.md)
* [vOLT](olt-service/README.md)
* [vRouter](vrouter/README.md)
* [Modeling Guide](xos/README.md)
@@ -73,4 +74,3 @@
* [Test Setup](cord-tester/qa_testsetup.md)
* [Test Environment](cord-tester/qa_testenv.md)
* [System Tests](cord-tester/validate_pods.md)
-
diff --git a/prereqs/k8s-multi-node.md b/prereqs/k8s-multi-node.md
index d606416..febe128 100644
--- a/prereqs/k8s-multi-node.md
+++ b/prereqs/k8s-multi-node.md
@@ -25,7 +25,7 @@
* Run Ubuntu 16.04 server
* Able to communicate together (ping one each other)
* Have the same user *cord* configured, that you can use to remotely access them from the operator machine
- * The user *cord* is sudoer on each machine, and it doesn't need a password to get sudoer privileges
+ * The user *cord* is sudoer on each machine, and it doesn't need a password to get sudoer privileges (see to authorize a password-less access from the development/management machine in the sections below)
## Download the Kubespray Installation Scripts
@@ -46,6 +46,13 @@
* Export the k8s configuration file path as environment variable to
let the user access a specific deployment
+## Prepare for the Kubespray installation
+
+Before starting the installation make sure that
+
+* The development/management machine has password-less access to the target machine(s), meaning the public key of the development/management machine has been copied in the authorization_keys files on the target machines. If you don't know how to do a script called *copy-ssh-keys.sh* is provided. To copy your public key to a target machine run *./copy-ssh-keys.sh TARGET_MACHINE_IP*. Repeat this procedure for each target machine.
+* All target machines don't mount any swap partition. It's easy as simply installing Ubuntu without a swap partition or -once the OS is already installed- commenting out the corresponding line in */etc/fstab* and reboot.
+
## Install Kubespray
The following example assumes that
@@ -61,7 +68,6 @@
* Cleans up any old Kubespray installation folder (may be there from previous installations)
* Clones the official Kubespray installation repository
-* Copies the public key of the operator machine, over to each target machine
* Installs required software and configures the target machines as prescribed in the Kubespray guide
* Deploys Kubespray
* Downloads and exports the access configuration outside the Kubespray folder, so it won’t be removed at the next execution of the script (for example while trying to re-deploy the POD, or while deploying a different POD)
@@ -71,8 +77,9 @@
./setup.sh -i onf 10.90.0.101 10.90.0.102 10.90.0.103
```
-At the beginning of the installation you will be asked to insert your
+> **NOTE:** at the beginning of the installation you will be asked to insert your
password multiple times.
+> **NOTE:** the official Kubespray instalation procedure -run by the script- will automatically change the hostname of the target machine(s) with nodeX (where X is an incremental number starting from 1).
At the end of the procedure, Kubespray should be installed and running
on the remote machines.
diff --git a/prereqs/vtn-setup.md b/prereqs/vtn-setup.md
index d523c3b..e5ff99b 100644
--- a/prereqs/vtn-setup.md
+++ b/prereqs/vtn-setup.md
@@ -22,7 +22,7 @@
cp ~/.ssh/id_rsa xos-profiles/base-openstack/files/node_key
```
-The VTN app requires a fabric interface on the compute nodes. VTN will not successfully initialize if this interface is not present. By default the name of this interface is expected to be named `fabric`. If there is not an actual fabric interface on the compute node, create a dummy interface as follows:
+Second, the VTN app requires a fabric interface on the compute nodes. VTN will not successfully initialize if this interface is not present. By default the name of this interface is expected to be named `fabric`. If there is not an actual fabric interface on the compute node, create a dummy interface as follows:
```shell
sudo modprobe dummy
@@ -30,14 +30,22 @@
sudo ifconfig fabric up
```
-Finally, on each compute node, Open vSwitch must be configured to listen for
-remote connections so that it can be controlled by VTN. Example:
+Finally, in order to be added to the VTN configuration, each compute node must
+be resolvable in DNS. If a server's hostname is not resolvable, it can be
+added to the local `kube-dns` server (substitute _HOSTNAME_ with the output of
+the `hostname` command, and _HOST-IP-ADDRESS_ with the node's primary IP
+address):
```shell
-PODS=$( kubectl get pod --namespace openstack|grep openvswitch-db|awk '{print $1}' )
-for POD in $PODS
-do
- kubectl --namespace openstack exec "$POD" \
- -- ovs-appctl -t ovsdb-server ovsdb-server/add-remote ptcp:6641
-done
+cat <<EOF > /tmp/HOSTNAME-dns.yaml
+kind: Service
+apiVersion: v1
+metadata:
+ name: HOSTNAME
+ namespace: default
+spec:
+ type: ExternalName
+ externalName: HOST-IP-ADDRESS
+EOF
+kubectl create -f /tmp/HOSTNAME-dns.yaml
```
diff --git a/profiles/mcord/install.md b/profiles/mcord/install.md
index 89bbb76..3fda193 100644
--- a/profiles/mcord/install.md
+++ b/profiles/mcord/install.md
@@ -5,9 +5,8 @@
A convenience script is provided that will install M-CORD on a single
node, suitable for evaluation or testing. Requirements:
-- An Ubuntu 16.04 node with at least 64GB of RAM and 32 virtual CPUs
+- An _Ubuntu 16.04.4 LTS_ server with at least 64GB of RAM and 32 virtual CPUs
- User invoking the script has passwordless `sudo` capability
-- Hostname is resolvable in DNS, e.g., `dig +short $( hostname )` returns an IP address
```bash
git clone https://gerrit.opencord.org/automation-tools