Table of Contents

These are rough notes being developed as the Joid install environment for Copper is developed.

Joid-Based Basic Install

Basic install guidelines: https://wiki.opnfv.org/joid/get_started and https://wiki.opnfv.org/joid/get_started?&#run_the_deployment_using_joid

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install bridge-utils vlan git openssh-server -y
mkdir ~/.ssh
chmod 744 ~/.ssh
(leave lo section as-is)
iface eth0 inet manual
auto brAdm
iface brAdm inet static
address 192.168.10.2
netmask 255.255.255.0
network 192.168.10.1
broadcast 192.168.10.255
gateway 192.168.10.1

dns-nameservers 8.8.8.8 127.0.0.1
bridge_ports eth0
sudo stop network-manager
echo "manual" | sudo tee /etc/init/network-manager.override
mkdir ~/git
cd git
git clone http://gerrit.opnfv.org/gerrit/joid.git
vi ~/git/joid/ci/maas/att/virpod1/deployment.yaml
cd ~/git/joid/ci
./02-maasdeploy.sh attvirpod1
You are now logged in to the MAAS server at
http://192.168.10.3/MAAS/api/1.0/ with the profile name 'maas'.
cd ~/git/joid/ci
./deploy.sh -o liberty -s odl -t nonha -l attvirpod1 
./clean.sh
# use the following commands if clean.sh hangs
rm -rf ~/.juju/environments
rm -rf ~/.juju/ssh
2015-12-04 11:21:02 [INFO] deployer.cli: Deployment complete in 1709.63 seconds
+ echo '... Deployment finished ....'
... Deployment finished ....

+ echo 'deploying finished'
deploying finished
watch juju status --format=tabular
juju status --format=short
- ceilometer/0: 192.168.10.103 (started) 8777/tcp
- ceph/0: compute1.maas (started)
- cinder/0: 192.168.10.104 (started)
- cinder-ceph/0: 192.168.10.104 (started)
- glance/0: 192.168.10.105 (started) 9292/tcp
- heat/0: 192.168.10.110 (started) 8000/tcp, 8004/tcp
- juju-gui/0: bootstrap.maas (started) 80/tcp, 443/tcp
- keystone/0: 192.168.10.106 (started)
- mongodb/0: 192.168.10.111 (started) 27017/tcp, 27019/tcp, 27021/tcp, 28017/tcp
- mysql/0: 192.168.10.107 (started)
- neutron-api/0: 192.168.10.112 (started) 9696/tcp
 - neutron-api-odl/0: 192.168.10.112 (started)
- neutron-gateway/0: controller1.maas (started)
- nodes-api/0: controller1.maas (started)
 - ntp/0: controller1.maas (started)
- nodes-compute/0: compute1.maas (started)
 - ntp/1: compute1.maas (started)
- nova-cloud-controller/0: 192.168.10.108 (started) 3333/tcp, 8773/tcp, 8774/tcp, 9696/tcp
- nova-compute/0: compute1.maas (started)
 - ceilometer-agent/0: compute1.maas (started)
 - openvswitch-odl/0: compute1.maas (started)
- odl-controller/0: 192.168.10.113 (started)
- openstack-dashboard/0: 192.168.10.114 (started) 80/tcp, 443/tcp
- rabbitmq-server/0: 192.168.10.109 (started) 5672/tcp

Installing Additional Tools

curl https://bootstrap.pypa.io/get-pip.py -O ~/get-pip.py
sudo -H python ~/get-pip.py
sudo -H apt-get install -y python-dev
sudo -H pip install python-openstackclient
sudo -H pip install python-glanceclient
sudo -H pip install python-neutronclient
sudo -H pip install python-novaclient
source ~/admin-openrc.sh

Verifying OpenStack and ODL Services are Operational

1) On the jumphost browse to, and verify that these services are active (e.g. per the example above):

sudo juju status --format=short | grep openstack-dashboard
sudo juju status --format=short | grep odl-controller

Verifying Services are Operational - Smoke Tests

The following procedure will verify that the basic OPNFV services are operational.

mkdir ~/git
cd ~/git
git clone https://gerrit.opnfv.org/gerrit/copper
cd ~/git/copper/tests/adhoc
source smoke01.sh
cd ~/git/copper/tests/adhoc
source smoke01-clean.sh

Verifying Services are Operational - Horizon UI and CLI

This was the part-manual procedure developed before the smoke tests. This section will be maintained so that a Horizon procedure is also documented.

1) Create image cirros-0.3.3-x86_64

glance --os-image-api-version 1 image-create --name cirros-0.3.3-x86_64 --disk-format qcow2 --location http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img --container-format bare
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | None                                 |
| container_format | bare                                 |
| created_at       | 2015-12-06T18:38:07.000000           |
| deleted          | False                                |
| deleted_at       | None                                 |
| disk_format      | qcow2                                |
| id               | 56432206-6038-48ef-a274-8cdb72b7604d |
| is_public        | False                                |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | cirros-0.3.3-x86_64                  |
| owner            | 259ac920516144e0b0dbc3d96a49227d     |
| protected        | False                                |
| size             | 13200896                             |
| status           | active                               |
| updated_at       | 2015-12-06T18:38:08.000000           |
| virtual_size     | None                                 |
+------------------+--------------------------------------+

2) On jumphost, create external network and subnet using Neutron CLI

neutron net-create public --router:external=true --provider:network_type=flat --provider:physical_network=physnet1
Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | b3913813-7a0e-4e20-b102-522f9f21914b |
| mtu                       | 0                                    |
| name                      | public                               |
| provider:network_type     | flat                                 |
| provider:physical_network | physnet1                             |
| provider:segmentation_id  |                                      |
| router:external           | True                                 |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | 66fa32b77cfe4558a2b8502f66db435e     |
+---------------------------+--------------------------------------+
neutron subnet-create --disable-dhcp public 192.168.10.0/24
Created a new subnet:
+-------------------+----------------------------------------------------+
| Field             | Value                                              |
+-------------------+----------------------------------------------------+
| allocation_pools  | {"start": "192.168.10.2", "end": "192.168.10.254"} |
| cidr              | 192.168.10.0/24                                    |
| dns_nameservers   |                                                    |
| enable_dhcp       | False                                              |
| gateway_ip        | 192.168.10.1                                       |
| host_routes       |                                                    |
| id                | 3384e0b4-563c-4736-8296-58d5a2c72075               |
| ip_version        | 4                                                  |
| ipv6_address_mode |                                                    |
| ipv6_ra_mode      |                                                    |
| name              |                                                    |
| network_id        | b3913813-7a0e-4e20-b102-522f9f21914b               |
| subnetpool_id     |                                                    |
| tenant_id         | 66fa32b77cfe4558a2b8502f66db435e                   |
+-------------------+----------------------------------------------------+

3) Create internal network.

neutron net-create internal
Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 2bd18ff3-bbbe-4710-b67f-624b2ede2aea |
| mtu                       | 0                                    |
| name                      | internal                             |
| provider:network_type     | vxlan                                |
| provider:physical_network |                                      |
| provider:segmentation_id  | 1097                                 |
| router:external           | False                                |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | 259ac920516144e0b0dbc3d96a49227d     |
+---------------------------+--------------------------------------+
neutron subnet-create internal 10.0.0.0/24 --name internal --gateway 10.0.0.1 --enable-dhcp --allocation-pool start=10.0.0.2,end=10.0.0.254 --dns-nameserver 8.8.8.8
Created a new subnet:
+-------------------+--------------------------------------------+
| Field             | Value                                      |
+-------------------+--------------------------------------------+
| allocation_pools  | {"start": "10.0.0.2", "end": "10.0.0.254"} |
| cidr              | 10.0.0.0/24                                |
| dns_nameservers   | 8.8.8.8                                    |
| enable_dhcp       | True                                       |
| gateway_ip        | 10.0.0.1                                   |
| host_routes       |                                            |
| id                | 58cb1cb5-b829-4816-b554-215bc48dfbfe       |
| ip_version        | 4                                          |
| ipv6_address_mode |                                            |
| ipv6_ra_mode      |                                            |
| name              |                                            |
| network_id        | 2bd18ff3-bbbe-4710-b67f-624b2ede2aea       |
| subnetpool_id     |                                            |
| tenant_id         | 259ac920516144e0b0dbc3d96a49227d           |
+-------------------+--------------------------------------------+

4) Create router and external port

neutron router-create external
Created a new router:
+-----------------------+--------------------------------------+
| Field                 | Value                                |
+-----------------------+--------------------------------------+
| admin_state_up        | True                                 |
| distributed           | False                                |
| external_gateway_info |                                      |
| ha                    | False                                |
| id                    | eb753d22-00f6-446c-b1e9-d8596b420d76 |
| name                  | external                             |
| routes                |                                      |
| status                | ACTIVE                               |
| tenant_id             | 259ac920516144e0b0dbc3d96a49227d     |
+-----------------------+--------------------------------------+
Created a new router:
+-----------------------+--------------------------------------+
| Field                 | Value                                |
+-----------------------+--------------------------------------+
| admin_state_up        | True                                 |
| distributed           | False                                |
| external_gateway_info |                                      |
| ha                    | False                                |
| id                    | eb753d22-00f6-446c-b1e9-d8596b420d76 |
| name                  | external                             |
| routes                |                                      |
| status                | ACTIVE                               |
| tenant_id             | 259ac920516144e0b0dbc3d96a49227d     |
+-----------------------+--------------------------------------+
neutron router-gateway-set external public
Set gateway for router external

5) Add internal network interface to the router.

neutron router-interface-add external subnet=internal

6) Launch images

neutron net-list
# copy id of network "internal" and use in the following command
nova boot --flavor m1.tiny --image cirros-0.3.3-x86_64 --nic net-id=2bd18ff3-bbbe-4710-b67f-624b2ede2aea cirros1
+--------------------------------------+------------------------------------------------------------+
| Property                             | Value                                                      |
+--------------------------------------+------------------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                                     |
| OS-EXT-AZ:availability_zone          |                                                            |
| OS-EXT-SRV-ATTR:host                 | -                                                          |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | -                                                          |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000001                                          |
| OS-EXT-STS:power_state               | 0                                                          |
| OS-EXT-STS:task_state                | scheduling                                                 |
| OS-EXT-STS:vm_state                  | building                                                   |
| OS-SRV-USG:launched_at               | -                                                          |
| OS-SRV-USG:terminated_at             | -                                                          |
| accessIPv4                           |                                                            |
| accessIPv6                           |                                                            |
| adminPass                            | jhUuRSoTc2ZR                                               |
| config_drive                         |                                                            |
| created                              | 2015-12-06T21:31:25Z                                       |
| flavor                               | m1.tiny (1)                                                |
| hostId                               |                                                            |
| id                                   | 35738bb6-b7ee-4fd8-8260-85ad01ba2786                       |
| image                                | cirros-0.3.3-x86_64 (56432206-6038-48ef-a274-8cdb72b7604d) |
| key_name                             | -                                                          |
| metadata                             | {}                                                         |
| name                                 | cirros1                                                    |
| os-extended-volumes:volumes_attached | []                                                         |
| progress                             | 0                                                          |
| security_groups                      | default                                                    |
| status                               | BUILD                                                      |
| tenant_id                            | 259ac920516144e0b0dbc3d96a49227d                           |
| updated                              | 2015-12-06T21:31:26Z                                       |
| user_id                              | aa4afba50cba429489e44848bafa6248                           |
+--------------------------------------+------------------------------------------------------------+
nova boot --flavor m1.tiny --image cirros-0.3.3-x86_64 --nic net-id=2bd18ff3-bbbe-4710-b67f-624b2ede2aea cirros2
+--------------------------------------+------------------------------------------------------------+
| Property                             | Value                                                      |
+--------------------------------------+------------------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                                     |
| OS-EXT-AZ:availability_zone          |                                                            |
| OS-EXT-SRV-ATTR:host                 | -                                                          |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | -                                                          |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000002                                          |
| OS-EXT-STS:power_state               | 0                                                          |
| OS-EXT-STS:task_state                | scheduling                                                 |
| OS-EXT-STS:vm_state                  | building                                                   |
| OS-SRV-USG:launched_at               | -                                                          |
| OS-SRV-USG:terminated_at             | -                                                          |
| accessIPv4                           |                                                            |
| accessIPv6                           |                                                            |
| adminPass                            | VPQL7bzRKyXr                                               |
| config_drive                         |                                                            |
| created                              | 2015-12-06T21:32:15Z                                       |
| flavor                               | m1.tiny (1)                                                |
| hostId                               |                                                            |
| id                                   | 1304cc75-098f-4101-9f8e-425954c5d25f                       |
| image                                | cirros-0.3.3-x86_64 (56432206-6038-48ef-a274-8cdb72b7604d) |
| key_name                             | -                                                          |
| metadata                             | {}                                                         |
| name                                 | cirros2                                                    |
| os-extended-volumes:volumes_attached | []                                                         |
| progress                             | 0                                                          |
| security_groups                      | default                                                    |
| status                               | BUILD                                                      |
| tenant_id                            | 259ac920516144e0b0dbc3d96a49227d                           |
| updated                              | 2015-12-06T21:32:16Z                                       |
| user_id                              | aa4afba50cba429489e44848bafa6248                           |
+--------------------------------------+------------------------------------------------------------+

7) Verify connectivity from VMs.