CORD-1375 Update documentation for CORD 3.0
Change-Id: I1443e10ffa1ceeeee8299e6da7398d4e0dfe78c3
diff --git a/docs/quickstart_physical.md b/docs/quickstart_physical.md
index 1312480..e5f45cd 100644
--- a/docs/quickstart_physical.md
+++ b/docs/quickstart_physical.md
@@ -95,7 +95,7 @@
similar to:
```
ls -F
-build/ incubator/ onos-apps/ orchestration/ test/
+build/ component/ incubator/ onos-apps/ orchestration/ test/
```
## Create the Development Machine
@@ -173,16 +173,25 @@
```
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
-opencord/onos <none> e1ade494f06e 3 days ago 936.5 MB
-python 2.7-alpine c80455665c57 2 weeks ago 71.46 MB
-xosproject/xos-base <none> 2b791db4def0 4 weeks ago 756.4 MB
-redis <none> 74b99a81add5 11 weeks ago 182.8 MB
-xosproject/xos-postgres <none> 95312a611414 11 weeks ago 393.8 MB
-xosproject/cord-app-build <none> 003a1c20e34a 5 months ago 1.108 GB
-consul <none> 62f109a3299c 6 months ago 41.05 MB
-swarm <none> 47dc182ea74b 8 months ago 19.32 MB
-nginx <none> 3c69047c6034 8 months ago 182.7 MB
-xosproject/vsg <none> dd026689aff3 9 months ago 336 MB
+REPOSITORY TAG IMAGE ID CREATED SIZE
+xosproject/xos-postgres candidate c17f15922d35 20 hours ago 348MB
+xosproject/xos-postgres latest c17f15922d35 20 hours ago 348MB
+nginx candidate 958a7ae9e569 3 days ago 109MB
+nginx latest 958a7ae9e569 3 days ago 109MB
+xosproject/xos-base candidate 4a6b75a0f05a 6 days ago 932MB
+xosproject/xos-base latest 4a6b75a0f05a 6 days ago 932MB
+python 2.7-alpine 3dd614730c9c 7 days ago 72MB
+onosproject/onos <none> e41f6f8b2570 2 weeks ago 948MB
+gliderlabs/consul-server candidate 7ef15b0d1bdb 4 months ago 29.2MB
+gliderlabs/consul-server latest 7ef15b0d1bdb 4 months ago 29.2MB
+node <none> c09e81cac06c 4 months ago 650MB
+redis <none> 74b99a81add5 7 months ago 183MB
+consul <none> 62f109a3299c 11 months ago 41.1MB
+swarm <none> 47dc182ea74b 13 months ago 19.3MB
+nginx <none> 3c69047c6034 13 months ago 183MB
+gliderlabs/registrator candidate 3b59190c6c80 13 months ago 23.8MB
+gliderlabs/registrator latest 3b59190c6c80 13 months ago 23.8MB
+xosproject/vsg <none> dd026689aff3 13 months ago 336MB
```
## Build Images
@@ -228,34 +237,64 @@
```
docker images --format 'table {{.Repository}}\t{{.Tag}}\t{{.Size}}\t{{.ID}}'
REPOSITORY TAG SIZE IMAGE ID
-opencord/mavenrepo latest 338.2 MB 2e29009df740
-cord-maas-switchq latest 337.7 MB 73b084b48796
-cord-provisioner latest 822.4 MB bd26a7001dd8
-cord-dhcp-harvester latest 346.8 MB d3cfa30cf38c
-config-generator latest 278.4 MB e58059b1afb2
-cord-maas-bootstrap latest 359.4 MB c70c437c6039
-cord-maas-automation latest 371.8 MB 9757ac34e7f6
-cord-ip-allocator latest 276.5 MB 0f399f8389aa
-opencord/onos <none> 936.5 MB e1ade494f06e
-python 2.7-alpine 71.46 MB c80455665c57
-golang alpine 240.5 MB 00371bbb49d5
-golang 1.6-alpine 283 MB 1ea38172de32
-nginx latest 181.6 MB 01f818af747d
-xosproject/xos-base <none> 756.4 MB 2b791db4def0
-ubuntu 14.04 187.9 MB 3f755ca42730
-redis <none> 182.8 MB 74b99a81add5
-xosproject/xos-postgres <none> 393.8 MB 95312a611414
-xosproject/cord-app-build <none> 1.108 GB 003a1c20e34a
-consul <none> 41.05 MB 62f109a3299c
-swarm <none> 19.32 MB 47dc182ea74b
-nginx <none> 182.7 MB 3c69047c6034
-xosproject/vsg <none> 336 MB dd026689aff3
+xosproject/xos-ui candidate 943MB 23a2e5523279
+xosproject/exampleservice-synchronizer candidate 940MB b7cd75514f65
+xosproject/fabric-synchronizer candidate 940MB 2b183b0504fd
+xosproject/vtr-synchronizer candidate 940MB f2955d88bf63
+xosproject/vsg-synchronizer candidate 940MB 680b400ba627
+xosproject/vrouter-synchronizer candidate 940MB 332cb7817586
+xosproject/onos-synchronizer candidate 940MB 12fe520e29ae
+xosproject/openstack-synchronizer candidate 940MB 6a2e9b56ecba
+xosproject/vtn-synchronizer candidate 940MB 5edf77bcd615
+xosproject/gui-extension-rcord candidate 1.02GB 0cf6c1defba5
+xosproject/gui-extension-vtr candidate 1.02GB c78d602c5359
+xosproject/xos-corebuilder candidate 932MB c73eab2918c2
+xosproject/xos-gui-extension-builder candidate 1.02GB 78fe07e95ba9
+xosproject/xos-gui candidate 652MB e57d903b9766
+xosproject/xos-ws candidate 682MB 39cefcaa50bc
+xosproject/xos-synchronizer-base candidate 940MB a914ae0d1aba
+xosproject/xos-client candidate 940MB 667948589bc9
+xosproject/chameleon candidate 936MB cdb9d6996401
+xosproject/xos candidate 942MB 11f37fd19b0d
+xosproject/xos-postgres candidate 345MB f038a31b50be
+opencord/mavenrepo latest 271MB 2df1c4d790bf
+cord-maas-switchq candidate 14MB 8a44d3070ffd
+cord-maas-switchq build 252MB 77d7967c14e4
+cord-provisioner candidate 96.7MB de87aa48ffc4
+cord-provisioner build 250MB beff949ff60b
+cord-dhcp-harvester candidate 18.8MB 79780c133469
+cord-dhcp-harvester build 254MB c7950fc044dd
+config-generator candidate 12.2MB 37a51b0acdb2
+config-generator build 249MB 3d1f1faaf5e1
+cord-maas-automation candidate 13.6MB 2af5474082d4
+cord-maas-automation build 251MB 420d5328dc11
+cord-ip-allocator candidate 12.1MB 6d8aed37cb91
+cord-ip-allocator build 249MB 7235cbd3d771
+ubuntu 14.04.5 188MB 132b7427a3b4
+xosproject/xos-postgres latest 348MB c17f15922d35
+golang 1.7-alpine 241MB e40088237856
+nginx latest 109MB 958a7ae9e569
+xosproject/xos-base candidate 932MB 4a6b75a0f05a
+xosproject/xos-base latest 932MB 4a6b75a0f05a
+python 2.7-alpine 72MB 3dd614730c9c
+alpine 3.5 3.99MB 75b63e430bd1
+onosproject/onos <none> 948MB e41f6f8b2570
+node 7.9.0 665MB 90223b3d894e
+gliderlabs/consul-server candidate 29.2MB 7ef15b0d1bdb
+gliderlabs/consul-server latest 29.2MB 7ef15b0d1bdb
+node <none> 650MB c09e81cac06c
+redis <none> 183MB 74b99a81add5
+consul <none> 41.1MB 62f109a3299c
+swarm <none> 19.3MB 47dc182ea74b
+nginx candidate 183MB 3c69047c6034
+gliderlabs/registrator candidate 23.8MB 3b59190c6c80
+gliderlabs/registrator latest 23.8MB 3b59190c6c80
+xosproject/vsg <none> 336MB dd026689aff3
```
**NOTE:** *Not all the above Docker images were built by the `buildImages`
command. Some of them, list golang, are used as a base for other Docker
-images; and some, like `abh1nav/dockerui` were downloaded when the development
-machine was created with `vagrant up`.*
+images.*
## Deployment Configuration File
The commands to deploy the POD can be customized via a *deployment configuration
@@ -303,20 +342,39 @@
"cord-dhcp-harvester",
"cord-ip-allocator",
"cord-maas-automation",
- "cord-maas-bootstrap",
"cord-maas-switchq",
"cord-provisioner",
+ "gliderlabs/consul-server",
+ "gliderlabs/registrator",
"mavenrepo",
"nginx",
- "opencord/onos",
+ "node",
+ "onosproject/onos",
"redis",
"swarm",
- "xosproject/cord-app-build",
+ "xosproject/chameleon",
+ "xosproject/exampleservice-synchronizer",
+ "xosproject/fabric-synchronizer",
+ "xosproject/gui-extension-rcord",
+ "xosproject/gui-extension-vtr",
+ "xosproject/onos-synchronizer",
+ "xosproject/openstack-synchronizer",
+ "xosproject/vrouter-synchronizer",
"xosproject/vsg",
- "xosproject/xos-base",
- "xosproject/xos-postgres"
+ "xosproject/vsg-synchronizer",
+ "xosproject/vtn-synchronizer",
+ "xosproject/vtr-synchronizer",
+ "xosproject/xos",
+ "xosproject/xos-client",
+ "xosproject/xos-corebuilder",
+ "xosproject/xos-gui",
+ "xosproject/xos-postgres",
+ "xosproject/xos-synchronizer-base",
+ "xosproject/xos-ui",
+ "xosproject/xos-ws"
]
}
+}
```
## Deploy Bare Metal Provisioning Capabilities
@@ -578,7 +636,7 @@
### Fabric Gateway Configuration
First, login to the CORD head node and change to the
-`service-profile/cord-pod` directory.
+`/opt/cord_profile` directory.
To configure the fabric gateway, you will need to edit the file
`cord-services.yaml`. You will see a section that looks like this:
@@ -596,11 +654,12 @@
vSGs, as well as the gateway IP and MAC address that the vSGs should use to
reach the Internet.
-Once the `cord-services.yaml` file has been edited as
+Once the `cord-services.yaml` TOSCA file has been edited as
described above, push it to XOS by running the following:
```
-make cord
+cd /opt/cord_profile
+docker-compose -p rcord exec xos_ui python /opt/xos/tosca/run.py xosadmin@opencord.org /opt/cord_profile/cord-services.yaml
```
### Complete
@@ -610,13 +669,11 @@
To check the VTN configuration maintained by XOS:
- Go to the "ONOS apps" page in the CORD GUI:
- - URL: `http://<head-node>/admin/onos/onosapp/`
- - Username: `padmin@vicci.org`
- - Password: `letmein`
+ - URL: `http://<head-node>/xos#/onos/onosapp/`
+ - Username: `xosadmin@opencord.org`
+ - Password: (contents of `/opt/cord/build/platform-install/credentials/xosadmin@opencord.org`)
- Select *VTN_ONOS_app* in the table
- - Verify that the *Backend status text* has a green check with the message *successfully enacted*
- - Select *Attributes* tab
- - Look for the *rest_onos/v1/network/configuration/* attribute. Verify that its value looks correct for the VTN app's network configuration.
+ - Verify that the *Backend status* is *1 - OK*
To check that the network configuration has been successfully pushed
to the ONOS VTN app and processed by it:
@@ -626,35 +683,24 @@
- Password: `rocks`
- Run the `cordvtn-nodes` command
- Verify that the information for all nodes is correct
- - Verify that the initialization status of all nodes is *COMPLETE*
-
-This will look like the following:
-
+ - Verify that the initialization status of all nodes is *COMPLETE* This will look like the following:
```
-$ ssh -p 8102 onos@onos-cord
-Password authentication
-Password: # the password is 'rocks'
-Welcome to Open Network Operating System (ONOS)!
- ____ _ ______ ____
- / __ \/ |/ / __ \/ __/
- / /_/ / / /_/ /\ \
- \____/_/|_/\____/___/
-
-Documentation: wiki.onosproject.org
-Tutorials: tutorials.onosproject.org
-Mailing lists: lists.onosproject.org
-
-Come help out! Find out how at: contribute.onosproject.org
-
-Hit '<tab>' for a list of available commands
-and '[cmd] --help' for help on a specific command.
-Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown ONOS.
-
onos> cordvtn-nodes
Hostname Management IP Data IP Data Iface Br-int State
sturdy-baseball 10.1.0.14/24 10.6.1.2/24 fabric of:0000525400d7cf3c COMPLETE
Total 1 nodes
```
+ - Run the `netcfg` command. Verify that the updated gateway information is present under `publicGateways`:
+```
+ "publicGateways" : [ {
+ "gatewayIp" : "10.6.1.193",
+ "gatewayMac" : "02:42:0a:06:01:01"
+ }, {
+ "gatewayIp" : "10.6.1.129",
+ "gatewayMac" : "02:42:0a:06:01:01"
+ } ],
+
+```
### Troubleshoot
If the compute node is not initialized properly (i.e. not in the COMPLETE state):
@@ -771,41 +817,26 @@
generate a new network configuration using the following commands:
```
-cp ~/xos_services/fabric/config/network-cfg-quickstart.json{,.$(date +%Y%m%d-%H%M%S)}
-cord generate > ~/xos_services/fabric/config/network-cfg-quickstart.json
+cd /opt/cord_profile
+cp fabric-network-cfg.json{,.$(date +%Y%m%d-%H%M%S)}
+cord generate > fabric-network-cfg.json
```
-Once these steps are done, delete old configuration,
-apply new configuration, and restart apps in ONOS (still in the XOS VM):
+Once these steps are done, delete the old configuration,
+load the new configuration into XOS, and restart the apps in ONOS:
```
-cd ~/service-profile/cord-pod
-make delete_fabric_config
-make fabric
-make reactivate_fabric_apps
+sudo pip install httpie
+http -a onos:rocks DELETE http://onos-fabric:8181/onos/v1/network/configuration/
+docker-compose -p rcord exec xos_ui python /opt/xos/tosca/run.py xosadmin@opencord.org /opt/cord_profile/fabric-service.yaml
+http -a onos:rocks POST http://onos-fabric:8181/onos/v1/applications/org.onosproject.vrouter/active
+http -a onos:rocks POST http://onos-fabric:8181/onos/v1/applications/org.onosproject.segmentrouting/active
```
To verify that XOS has pushed the configuration to ONOS, log into ONOS in the onos-fabric VM and run `netcfg`:
```
-$ ssh -p 8101 onos@onos-fabric
+$ ssh -p 8101 onos@onos-fabric netcfg
Password authentication
Password: # password is 'rocks'
-Welcome to Open Network Operating System (ONOS)!
- ____ _ ______ ____
- / __ \/ |/ / __ \/ __/
- / /_/ / / /_/ /\ \
- \____/_/|_/\____/___/
-
-Documentation: wiki.onosproject.org
-Tutorials: tutorials.onosproject.org
-Mailing lists: lists.onosproject.org
-
-Come help out! Find out how at: contribute.onosproject.org
-
-Hit '<tab>' for a list of available commands
-and '[cmd] --help' for help on a specific command.
-Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown ONOS.
-
-onos> netcfg
{
"hosts" : {
"00:00:00:00:00:04/None" : {
@@ -828,21 +859,22 @@
To correctly configure the fabric when VMs and containers are created on a
physical host, XOS needs to associate the `location` tag of each physical host
(from the fabric configuration) with its Node object in XOS. This step needs to
-be done after new physical compute nodes are provisioned on the POD. To update
-the node locations in XOS, login to the head node and run the following:
-```
-cd ~/service-profile/cord-pod
-rm fabric.yaml
-make fabric.yaml
-```
+be done after a new physical compute node is provisioned on the POD.
-Edit `fabric.yaml`, updating the `value` field under `<hostname>_location_tag` to
-reflect the `location` of the host from the fabric configuration created in the
-previous step. Then run:
+To update the node location in XOS, login to the XOS GUI and perform the following steps:
-```
-make fabric
-```
+ * Expand *Core* at left and select *Nodes*
+ * Make a note of the *Id* of the new node
+ * Select *Tags* at left
+ * Click on the *Add* button at upper right
+ * Fill in the following information:
+ * Backend status: *0*
+ * Name: *location_tag*
+ * Value: *(location of the node in the fabric configuration created above)*
+ * Content type: *core.node*
+ * Object id: *(the Id of the new node)*
+ * Service id: *ONOS_Fabric*
+ * Click _Save_ button at bottom. You should see a message that the location_tag was successfully saved.
### Connect Switches to the controller
We need to manually connect the switches to ONOS after the network config is applied.