Deprecated

This page is deprecated. There is no support for devstack based setups. Use Bring-up A-CORD in CORD POD environment

Running on CloudLab (optional)

If bringing the setup on a cloudlab machine, set up extra disk space for devstack by running the following commands:

$ sudo mkdir -p /opt/stack
$ sudo /usr/testbed/bin/mkextrafs -f /opt/stack

Devstack Mitaka Installation

Clone devstack:

$ git clone https://git.openstack.org/openstack-dev/devstack
$ cd ~/devstack
$ git checkout stable/mitaka

 

Go to devstack folder and create a local.conf with following contents:

# A single node devstack configuration for use with XOS
[[local|localrc]]

ADMIN_PASSWORD=password
MYSQL_PASSWORD=password
RABBIT_PASSWORD=password
SERVICE_PASSWORD=password
enable_plugin ceilometer https://git.openstack.org/openstack/ceilometer stable/mitaka

disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
# Optional, to enable tempest configuration as part of devstack
enable_service tempest
CEILOMETER_BACKEND=mongodb

## Neutron options
Q_USE_SECGROUP=False

 

run ./stack.sh script.

With this step devstack should be installed successfully.

Uninstall devstack

Whenever the devstack needs to be reinstalled, ensure always the following commands are used:

$ ./unstack.sh

$ ./clean.sh

$ ./stack.sh ---> To reinstall

Install XOS

Go through the instructions in the below links to familiaize with CORD contributions work-flow:

Getting the Source Code

Working with Gerrit

 

Pull the CORD service-profile repository

$ #NOTE: If you are planning to commit any changes on any of the CORD repos, use SSH URLs instead of http URLs as described in above work-flow links
$ git clone https://gerrit.opencord.org/service-profile
$ #To make the below work around in openstack synchronizer repository, clone the repo first
$ #mkdir -p ~/xos_services && cd ~/xos_services
$ #git clone https://gerrit.opencord.org/openstack 
$ #Comment out the line ~57 (nova.quotas.update  method call)   in ~/xos_services/openstack/xos/synchronizer/steps/sync_controller_slices.py 
(https://gerrit.opencord.org/gitweb?p=openstack.git;a=blob;f=xos/synchronizer/steps/sync_controller_slices.py;h=cac3741b42972d3342d75a26d936a83760b73eb4;hb=refs/heads/master#l57)
$ cd ~/service-profile/acord
$ make devstack

Issue with Docker Install

During the make devstack, if the command hangs around installing docker, for the time being, install docker via this method: https://docs.docker.com/engine/installation/linux/ubuntulinux/ 


Open XOS portal (at port 9999)

 Verify the Deployment/Sites/User objects are created in XOS successfully

On-boarding XOS Monitoring Service

$ cd ~/service-profile/acord
$ make cord-monitoringservice
  • Ensure "ceilometer-trusty-server-multi-nic" image is downloaded to devstack glance as part of above step (`glance image-list`)
  • Verify XOS Slices with name 'mysite_ceilometer' is created successfully and an VM instance is created under 'mysite_ceilometer' slice. The instance should have two IP addresses.
  • Verify if ssh to VM instance with 10.0.0.* and 'ubuntu' as user is working fine from the host machine.
  • Verify 'Services/Ceilometer_Service' is launched successfully in XOS portal
  • Under Service/Ceilometer_Service, goto Adminstration tab, click monitoring channels -> Verify the monitoring channel is launched successfully (Green Tick mark next to the entry in UI)
  • Click on the monitoring channel entry and note down the Ceilometer URL from that entry
  • Using Curl command, with URL as Ceilometer URL retrieved from above + /v2/meters. For ex. if the ceilometer URL is http://10.0.0.3:8889/, then do curl on 'http://10.0.0.3:8889/v2/meters'
  • Verify curl output is able able to display the meters retrieved

Installing A-CORD Custom Plug-ins

Install vSG/vCPE plugins in devstack ceilometer and verify if u r able to inject them and retrieve those events:

Installing A-CORD PUB/SUB Service

A-CORD PUB/SUB service requires Kafka to be installed. Use the following instructions to install Kafka:

  • Download kafka:http://mirror.fibergrid.in/apache/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz
  • install java
    • sudo apt-get update
    • sudo apt-get install default-jre
  • install kafka package
    • sudo easy_install pip
    • sudo pip install kafka-python
  • tar -xzf kafka_2.11-0.9.0.0.tgz
  • Start the zookeeper server:
    • bin/zookeeper-server-start.sh config/zookeeper.properties
  • Start Kafka Server
    • bin/kafka-server-start.sh config/server.properties

Configure Mitaka ceilometer to publish events to PUB/SUB service (Below example is to publish ceilometer 'cpu_util' events):

  • Change /etc/ceilometer/pipeline.yaml to publish meters to kafka.
    • - name: cpu_sink
        transformers:
              - name: "rate_of_change"
                parameters:
                      target:
                            name: "cpu_util"
                            unit: "%"
                            type: "gauge"
                            scale: "100.0 / (10**9 * (resource_metadata.cpu_number or 1))"
      publishers:
          - notifier://
          - kafka://<kafkaip>:9092?topic=<topic name configured in PUB/SUB service>

    • ex:kafka://<IP>:9092?topic=test9

  • Restart the ceilometer-agent-notification, ceilometer-agent-compute, ceilometer-agent-central screens in devstack

Follow README from the below link to install PUB/SUB daemon (Note:If Kafka is running as part of above step, ignore running kafka in this step):

https://github.com/srikanthvavila/pub-sub/tree/master/ceilometer_pub_sub

Changes needed in pub_sub.conf:
[WEB_SERVER]
webserver_host = <IP on which PUB/SUB daemon running>
webserver_port = 4455

[CLIENT]
target = kafka://<kafkaip>:9092?topic=test9