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:
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:
- git clone https://github.com/srikanthvavila/ceilometer-plugins.git
- TODO
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>
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