summaryrefslogtreecommitdiffstats
path: root/components/congress/test-webapp/README.txt
blob: aa0f91c6513ebb9ecb4bd3dc7fde5746342ab391 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
#  
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#  
# http://www.apache.org/licenses/LICENSE-2.0
#  
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# This file contains instructions for installation and use of the Copper
# project adhoc test driver for OpenStack Congress, formatted as a 
# Docuwiki page.

Following are notes on creating a container as test driver for Congress. This is based upon an Ubuntu host as installed by JOID.

=== Create and Activate the Container ===

<code>
sudo lxc-create -n trusty-copper -t /usr/share/lxc/templates/lxc-ubuntu -- -b ubuntu ~/opnfv

sudo lxc-start -n trusty-copper -d

sudo lxc-info --name trusty-copper
Name:           trusty-copper
State:          RUNNING
PID:            4563
IP:             10.0.3.44
CPU use:        28.77 seconds
BlkIO use:      522.79 MiB
Memory use:     559.75 MiB
KMem use:       0 bytes
Link:           vethDMFOAN
 TX bytes:      2.62 MiB
 RX bytes:      88.48 MiB
 Total bytes:   91.10 MiB
</code>

=== Login and configure the test server ===
<code>
ssh ubuntu@10.0.3.44
sudo apt-get update
sudo apt-get upgrade -y

# Install pip
sudo apt-get install python-pip -y

# Install java
sudo apt-get install default-jre -y

# Install other dependencies
sudo apt-get install git gcc python-dev libxml2 libxslt1-dev libzip-dev php5-curl -y

# Setup OpenStack environment variables per your OPNFV install
export CONGRESS_HOST=192.168.10.117
export KEYSTONE_HOST=192.168.10.108
export CEILOMETER_HOST=192.168.10.105
export CINDER_HOST=192.168.10.101
export GLANCE_HOST=192.168.10.106
export HEAT_HOST=192.168.10.107
export NEUTRON_HOST=192.168.10.111
export NOVA_HOST=192.168.10.112
source ~/admin-openrc.sh

# Install and test OpenStack client
mkdir ~/git
cd git
git clone https://github.com/openstack/python-openstackclient.git
cd python-openstackclient
git checkout stable/liberty
sudo pip install -r requirements.txt
sudo python setup.py install
openstack service list
+----------------------------------+------------+----------------+
| ID                               | Name       | Type           |
+----------------------------------+------------+----------------+
| 2f8799ae50f24c928c021fabf8a50f5f | keystone   | identity       |
| 351b13f56d9a4e25849406ec1d5a2726 | cinder     | volume         |
| 5129510c3143454f9ba8ec7e6735e267 | cinderv2   | volumev2       |
| 5ee1e220460f41dea9be06921400ce9b | congress   | policy         |
| 78e73a7789a14f56a5d248a0cd141201 | quantum    | network        |
| 9d5a00fb475a45b2ae6767528299ed6b | ceilometer | metering       |
| 9e4b1624ef0b434abc0b82f607c5045c | heat       | orchestration  |
| b6c01ceb5023442d9f394b83f2a18e01 | heat-cfn   | cloudformation |
| ba6199e3505045ad87e2a7175bd0c57f | glance     | image          |
| d753f304a0d541dbb989780ae70328a8 | nova       | compute        |
+----------------------------------+------------+----------------+

# Install and test Congress client
cd ~/git
git clone https://github.com/openstack/python-congressclient.git
cd python-congressclient
git checkout stable/liberty
sudo pip install -r requirements.txt
sudo python setup.py install
openstack congress driver list
+------------+--------------------------------------------------------------------------+
| id         | description                                                              |
+------------+--------------------------------------------------------------------------+
| ceilometer | Datasource driver that interfaces with ceilometer.                       |
| neutronv2  | Datasource driver that interfaces with OpenStack Networking aka Neutron. |
| nova       | Datasource driver that interfaces with OpenStack Compute aka nova.       |
| keystone   | Datasource driver that interfaces with keystone.                         |
| cinder     | Datasource driver that interfaces with OpenStack cinder.                 |
| glancev2   | Datasource driver that interfaces with OpenStack Images aka Glance.      |
+------------+--------------------------------------------------------------------------+

# Install and test Glance client
cd ~/git
git clone https://github.com/openstack/python-glanceclient.git
cd python-glanceclient
git checkout stable/liberty
sudo pip install -r requirements.txt
sudo python setup.py install
glance image-list
+--------------------------------------+---------------------+
| ID                                   | Name                |
+--------------------------------------+---------------------+
| 6ce4433e-65c0-4cd8-958d-b06e30c76241 | cirros-0.3.3-x86_64 |
+--------------------------------------+---------------------+

# Install and test Neutron client
cd ~/git
git clone https://github.com/openstack/python-neutronclient.git
cd python-neutronclient
git checkout stable/liberty
sudo pip install -r requirements.txt
sudo python setup.py install
neutron net-list
+--------------------------------------+------# install dependencies
sudo apt-get install lamp-server^ -y
# when prompted, set mysql root user password to "ubuntu"
----+------------------------------------------------------+
| id                                   | name     | subnets                                              |
+--------------------------------------+----------+------------------------------------------------------+
| dc6227df-af41-439f-bd2c-c2c2f0fe7fc5 | public   | 5745846c-dd79-4900-a7da-bf506348ceac 192.168.10.0/24 |
| a3f9f13a-5de9-4d3b-98c8-d2e40a2ef8e9 | internal | 5e0be862-90da-44ab-af43-56d5c65aa049 10.0.0.0/24     |
+--------------------------------------+----------+------------------------------------------------------+

# Install and test Nova client
cd ~/git
git clone https://github.com/openstack/python-novaclient.git
cd python-novaclient
git checkout stable/liberty
sudo pip install -r requirements.txt
sudo python setup.py install
nova hypervisor-list
+----+---------------------+-------+---------+
| ID | Hypervisor hostname | State | Status  |
+----+---------------------+-------+---------+
| 1  | compute1.maas       | up    | enabled |
+----+---------------------+-------+---------+

# Install and test Keystone client
cd ~/git
git clone https://github.com/openstack/python-keystoneclient.git
cd python-keystoneclient
git checkout stable/liberty
sudo pip install -r requirements.txt
sudo python setup.py install

</code>

=== Setup the Congress Test Webapp ===

<code>
# Clone Copper (if not already cloned in user home)
cd ~/git
if [ ! -d ~/git/copper ]; then git clone https://gerrit.opnfv.org/gerrit/copper; fi

# Copy the Apache config
sudo cp ~/git/copper/components/congress/test-webapp/www/ubuntu-apache2.conf /etc/apache2/apache2.conf

# Point proxy.php to the Congress server per your install
sed -i -- "s/192.168.10.117/$CONGRESS_HOST/g" \
  ~/git/copper/components/congress/test-webapp/www/html/proxy/index.php

# Copy the webapp to the Apache root directory and fix permissions
sudo cp -R ~/git/copper/components/congress/test-webapp/www/html /var/www
sudo chmod 755 /var/www/html -R

# Make webapp log directory and set permissions
mkdir ~/logs
chmod 777 ~/logs

# Restart Apache
sudo service apache2 restart
</code>

=== Using the Test Webapp ===
Browse to the trusty-copper server IP address.

Interactive options are meant to be self-explanatory given a basic familiarity with the Congress service and data model. But the app will be developed with additional features and UI elements.