User Tools

Site Tools


copper:academy:joid:congress

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
copper:academy:joid:congress [2015/12/10 02:39]
Bryan Sullivan
copper:academy:joid:congress [2016/02/25 01:22] (current)
Bryan Sullivan
Line 1: Line 1:
-This is a temporary location for a Congress install guide that will be included in the Copper git repo. 
- 
 Following are instructions for installing Congress on an Ubuntu 14.04 LXC container in the OPNFV Controller node, as installed by the JOID installer. This guide uses instructions from the [[http://​congress.readthedocs.org/​en/​latest/​readme.html#​installing-congress|Congress guide on readthedocs]]. Specific values below will need to be modified if you intend to repeat this procedure in your install environment. Following are instructions for installing Congress on an Ubuntu 14.04 LXC container in the OPNFV Controller node, as installed by the JOID installer. This guide uses instructions from the [[http://​congress.readthedocs.org/​en/​latest/​readme.html#​installing-congress|Congress guide on readthedocs]]. Specific values below will need to be modified if you intend to repeat this procedure in your install environment.
  
Line 6: Line 4:
 OPFNV install per [[https://​wiki.opnfv.org/​copper/​academy/​joid|JOID]] OPFNV install per [[https://​wiki.opnfv.org/​copper/​academy/​joid|JOID]]
  
-== Install ​base VM for congress on controller node == +== Install ​Procedure ​==
-<​code>​ +
-sudo juju ssh ubuntu@192.168.10.21 +
-</​code>​+
  
-== Clone the container == +The install currently occurs via four bash scripts provided in the copper repo. See these files for the detailed steps: 
-<​code>​ +  * [[https://​git.opnfv.org/​cgit/​copper/​tree/​components/​congress/joid/​install_congress_1.sh|install_congress_1.sh]]:​ creates ​the linux container ​for the congress ​server on the controller node, starts ​the congress ​server, copies install_congress_2.sh to the congress server and invokes it via ssh. 
-sudo lxc-clone -o juju-trusty-lxc-template -n juju-trusty-congress +  * [[https://​git.opnfv.org/​cgit/​copper/​tree/​components/​congress/​joid/​install_congress_2.sh|install_congress_2.sh]]:​ installs congress in the congress server.
-</code> +
- +
-== Start the container ​== +
-<​code>​ +
-sudo lxc-start -n juju-trusty-congress ​-d +
-</​code>​ +
- +
-== Get the container IP address == +
-<​code>​ +
-sudo lxc-info -n juju-trusty-congress +
-</code>+
  
 == If you need to start over == == If you need to start over ==
-<​code>​ 
-sudo lxc-destroy --name juju-trusty-congress 
-</​code>​ 
  
-== Exit from controller (back to jumphost) and login to congress container ​==+Shutdown the congress ​server, and on the node1-control machine, delete the container.
 <​code>​ <​code>​
-sudo juju ssh ubuntu@192.168.10.117 +# get the congress server address 
-</​code>​ +juju ssh ubuntu@node1-control 
- +sudo lxc-info --name juju-trusty-congress ​| grep IP | awk "/ / { print \$2 }"
-== Update package repos == +
-<​code>​ +
-sudo apt-get update +
-</​code>​ +
- +
-== Setup environment variables == +
-<​code>​ +
-export CONGRESS_HOST=192.168.10.106 +
-export KEYSTONE_HOST=192.168.10.119 +
-export CEILOMETER_HOST=192.168.10.116 +
-export CINDER_HOST=192.168.10.117 +
-export GLANCE_HOST=192.168.10.118 +
-export NEUTRON_HOST=192.168.10.125 +
-export NOVA_HOST=192.168.10.121 +
-</​code>​ +
- +
-== install pip == +
-<​code>​ +
-sudo apt-get install python-pip -+
-</​code>​ +
- +
-== install java == +
-<​code>​ +
-sudo apt-get install default-jre -y +
-</​code>​ +
- +
-== install other dependencies == +
-<​code>​ +
-# when prompted, set and remember mysql root user password +
-sudo apt-get install git gcc python-dev libxml2 libxslt1-dev libzip-dev mysql-server python-mysqldb -y +
-sudo pip install virtualenv +
-</​code>​ +
- +
-== clone congress ​== +
-<​code>​ +
-git clone https://​github.com/​openstack/​congress.git +
-cd congress +
-git checkout stable/​liberty +
-</​code>​ +
- +
-== Create virtualenv == +
-<​code>​ +
-virtualenv ~/​congress +
-source bin/​activate +
-</​code>​ +
- +
-== Setup Congress == +
-<​code>​ +
-sudo mkdir -p /​etc/​congress +
-sudo mkdir -p /​etc/​congress/​snapshot +
-sudo mkdir /​var/​log/​congress +
-sudo chown ubuntu /​var/​log/​congress +
-sudo cp etc/​api-paste.ini /​etc/​congress +
-sudo cp etc/​policy.json /​etc/​congress +
-</​code>​ +
- +
-== install requirements.txt and tox dependencies (detected by errors during ​"tox -egenconfig"​) == +
-<​code>​ +
-sudo apt-get install libffi-dev -y +
-sudo apt-get install openssl -y +
-sudo apt-get install libssl-dev -y +
-</code> +
- +
-== install dependencies in virtualenv == +
-<​code>​ +
-pip install -r requirements.txt +
-python setup.py install +
-</code> +
- +
-== install tox == +
-<​code>​ +
-pip install tox +
-</​code>​ +
- +
-== generate congress.conf.sample == +
-<​code>​ +
-tox -egenconfig +
-</​code>​ +
- +
-== edit congress.conf.sample as needed == +
-<​code>​ +
-sed -i -- '​s/#​verbose = true/​verbose = true/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​log_file = <​None>/​log_file = congress.log/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​log_dir = <​None>/​log_dir = \/​var\/​log\/​congress/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​bind_host = 0.0.0.0/​bind_host = 192.168.10.117/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​policy_path = <​None>/​policy_path = \/​etc\/​congress\/​snapshot/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​auth_strategy = keystone/​auth_strategy = noauth/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​drivers =/drivers = congress.datasources.neutronv2_driver.NeutronV2Driver,​congress.datasources.glancev2_driver.GlanceV2Driver,​congress.datasources.nova_driver.NovaDriver,​congress.datasources.keystone_driver.KeystoneDriver,​congress.datasources.ceilometer_driver.CeilometerDriver,​congress.datasources.cinder_driver.CinderDriver/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​auth_host = 127.0.0.1/​auth_host = 192.168.10.108/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​auth_port = 35357/​auth_port = 35357/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​auth_protocol = https/​auth_protocol = http/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​admin_tenant_name = admin/​admin_tenant_name = admin/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​admin_user = <​None>/​admin_user = congress/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​admin_password = <​None>/​admin_password = congress/​g'​ etc/​congress.conf.sample +
-sed -i -- '​s/#​connection = <​None>/​connection = mysql:​\/​\/​ubuntu:<​mysql password>​@localhost:​3306\/​congress/​g'​ etc/​congress.conf.sample +
-</​code>​ +
- +
-== copy congress.conf.sample to /​etc/​congress == +
-<​code>​ +
-sudo cp etc/​congress.conf.sample /​etc/​congress/​congress.conf +
-</​code>​ +
- +
-== create congress database == +
-<​code>​ +
-sudo mysql -u root -p +
-CREATE DATABASE congress; +
-GRANT ALL PRIVILEGES ON congress.* TO '​ubuntu'​@'​localhost'​ IDENTIFIED BY '<​mysql password>';​ +
-GRANT ALL PRIVILEGES ON congress.* TO '​ubuntu'​@'​%'​ IDENTIFIED BY '<​mysql password>';​+
 exit exit
-</​code>​ +juju ssh ubuntu@<​congress server ​address
- +sudo shutdown ​-0 exit 
-== install congress-db-manage dependencies ​ (detected by errors) == +juju ssh ubuntu@node1-control 
-<​code>​ +sudo lxc-destroy ​--name juju-trusty-congress
-sudo apt-get build-dep python-mysqldb -y +
-pip install MySQL-python +
-</​code>​ +
- +
-== create database schema == +
-<​code>​ +
-congress-db-manage --config-file /​etc/​congress/​congress.conf upgrade head +
-</​code>​ +
- +
-== Dependencies of OpenStack, Congress, Keystone related client operations == +
-<​code>​ +
-pip install python-openstackclient +
-pip install python-congressclient +
-pip install python-keystoneclient +
-</​code>​ +
- +
-== download admin-openrc.sh from Horizon and save in ~ == +
-<​code>​ +
-source ~/​admin-openrc.sh +
-</​code>​ +
- +
-== setup Congress user. TODO: needs update in http://​congress.readthedocs.org/​en/​latest/​readme.html#​installing-congress == +
-<​code>​ +
-pip install cliff --upgrade +
-export ADMIN_ROLE=$(openstack role list | awk "/ Admin / { print \$2 }") +
-export SERVICE_TENANT=$(openstack project list | awk "/ admin / { print \$2 }") +
-openstack user create --password congress --project admin --email "​congress@example.com"​ congress +
-export CONGRESS_USER=$(openstack user list | awk "/ congress / { print \$2 }") +
-openstack role add $ADMIN_ROLE --user $CONGRESS_USER --project $SERVICE_TENANT +
-</code> +
- +
-== Create Congress service == +
-<​code>​ +
-openstack service create ​congress ​--type "​policy"​ --description "​Congress Service"​ +
-export CONGRESS_SERVICE=$(openstack service list | awk "/ congress / { print \$2 }") +
-</​code>​ +
- +
-== Create Congress endpoint == +
-<​code>​ +
-openstack endpoint create $CONGRESS_SERVICE \ +
-  --region $OS_REGION_NAME \ +
-  --publicurl http://​$CONGRESS_HOST:​1789/​ \ +
-  --adminurl http://​$CONGRESS_HOST:​1789/​ \ +
-  --internalurl http://​$CONGRESS_HOST:​1789/​ +
-</​code>​ +
- +
-== Start the Congress service in the background == +
-<​code>​ +
-bin/​congress-server ​+
-# disown the process (so it keeps running if you get disconnected) +
-disown -h %1 +
-</code+
- +
-== Create data sources == +
-To remove datasources:​ openstack congress datasource delete <​name>​ +
-Probably good to do these commands in a new terminal tab, as the congress server log from the last command will be flooding your original terminal screen... +
-<​code>​ +
-openstack congress datasource create nova "​nova"​ \ +
-  --config username=$OS_USERNAME \ +
-  --config tenant_name=$OS_TENANT_NAME \ +
-  --config password=$OS_PASSWORD \ +
-  --config auth_url=http://​$KEYSTONE_HOST:​5000/​v2.0 +
-openstack congress datasource create neutronv2 "​neutronv2"​ \ +
-  --config username=$OS_USERNAME \ +
-  --config tenant_name=$OS_TENANT_NAME \ +
-  --config password=$OS_PASSWORD \ +
-  ​--config auth_url=http://​$KEYSTONE_HOST:​5000/​v2.0 +
-openstack congress datasource create ceilometer "​ceilometer"​ \ +
-  ​--config username=$OS_USERNAME \ +
-  --config tenant_name=$OS_TENANT_NAME \ +
-  --config password=$OS_PASSWORD \ +
-  --config auth_url=http://​$KEYSTONE_HOST:​5000/​v2.0 +
-openstack ​congress ​datasource create cinder "​cinder"​ \ +
-  --config username=$OS_USERNAME \ +
-  --config tenant_name=$OS_TENANT_NAME \ +
-  --config password=$OS_PASSWORD \ +
-  --config auth_url=http://​$KEYSTONE_HOST:​5000/​v2.0 +
-openstack congress datasource create glancev2 "​glancev2"​ \ +
-  --config username=$OS_USERNAME \ +
-  --config tenant_name=$OS_TENANT_NAME \ +
-  --config password=$OS_PASSWORD \ +
-  --config auth_url=http://​$KEYSTONE_HOST:​5000/​v2.0 +
-openstack congress datasource create keystone "​keystone"​ \ +
-  --config username=$OS_USERNAME \ +
-  --config tenant_name=$OS_TENANT_NAME \ +
-  --config password=$OS_PASSWORD \ +
-  --config auth_url=http://​$KEYSTONE_HOST:​5000/​v2.0 ​+
 </​code>​ </​code>​
  
Line 242: Line 28:
 <​code>​ <​code>​
 # On jumphost, SSH to Congress server # On jumphost, SSH to Congress server
-sudo juju ssh ubuntu@192.168.10.117+juju ssh ubuntu@<​congress server address>
 # If that fails # If that fails
   # On jumphost, SSH to controller node   # On jumphost, SSH to controller node
-  ​sudo juju ssh ubuntu@192.168.10.119+  juju ssh ubuntu@node1-control
   # Start the Congress container   # Start the Congress container
   sudo lxc-start -n juju-trusty-congress -d   sudo lxc-start -n juju-trusty-congress -d
Line 256: Line 42:
 # On the Congress server that you have logged into # On the Congress server that you have logged into
 source ~/​admin-openrc.sh source ~/​admin-openrc.sh
-cd congress+cd ~/git/congress
 source bin/​activate source bin/​activate
 bin/​congress-server & bin/​congress-server &
 disown -h  %1 disown -h  %1
 </​code>​ </​code>​
copper/academy/joid/congress.1449715140.txt.gz · Last modified: 2015/12/10 02:39 by Bryan Sullivan