~ubuntu-branches/ubuntu/trusty/heat/trusty-security

« back to all changes in this revision

Viewing changes to tools/openstack

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Yolanda Robla, Chuck Short
  • Date: 2013-07-22 16:22:29 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130722162229-zzvfu40id94ii0hc
Tags: 2013.2~b2-0ubuntu1
[ Yolanda Robla ]
* debian/tests: added autopkg tests

[ Chuck Short ]
* New upstream release
* debian/control:
  - Add python-pbr to build-depends.
  - Add python-d2to to build-depends.
  - Dropped python-argparse.
  - Add python-six to build-depends.
  - Dropped python-sendfile.
  - Dropped python-nose.
  - Added testrepository.
  - Added python-testtools.
* debian/rules: Run testrepository instead of nosetets.
* debian/patches/removes-lxml-version-limitation-from-pip-requires.patch: Dropped
  no longer needed.
* debian/patches/fix-package-version-detection-when-building-doc.patch: Dropped
  no longer needed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
    echo "status - show service status for all required OpenStack services"
54
54
fi
55
55
 
56
 
OS_SERVICES=(qpidd mysqld openstack-keystone tgtd openstack-glance-api openstack-glance-registry openstack-nova-api openstack-nova-objectstore openstack-nova-compute openstack-nova-network openstack-nova-scheduler openstack-nova-cert $VOLUME_SERVICE-volume)
57
 
if [[ $VOLUME_SERVICE == "openstack-cinder" ]]; then
58
 
    OS_SERVICES+=($VOLUME_SERVICE-api $VOLUME_SERVICE-scheduler)
59
 
fi
 
56
os_dist='unknown'
 
57
function check_os_version() {
 
58
    #determine which OpenStack version we'll be running
 
59
    os_version=$(rpm -q openstack-nova-common --qf='%{VERSION}')
 
60
    case $os_version in
 
61
        2012.1|2012.1.*) os_dist='essex';;
 
62
        2012.2|2012.2.*) os_dist='folsom';;
 
63
        2013.1|2013.1.*) os_dist='grizzly';;
 
64
        *) echo 'Could not detect installed OpenStack version';;
 
65
    esac
 
66
    echo "Detected os_version $os_version os_dist=$os_dist"
 
67
}
60
68
 
61
69
function os_status() {
62
70
    for service in ${OS_SERVICES[@]}
132
140
    # policy problem. See https://bugzilla.redhat.com/show_bug.cgi?id=857747
133
141
    sleep 2
134
142
    sudo systemctl $action openstack-nova-network.service
 
143
 
 
144
    # conductor service is new for grizzly
 
145
    if [ "$os_dist" = 'grizzly' ]; then
 
146
        sudo systemctl $action openstack-nova-conductor.service
 
147
    fi
135
148
}
136
149
 
137
150
function os_stop() {
204
217
function os_install() {
205
218
    sudo yum -q -y groupinstall Virtualization
206
219
    sudo yum -q -y install openstack-utils openstack-nova openstack-glance openstack-keystone openstack-dashboard scsi-target-utils qpid-cpp-server qpid-cpp-server-daemon $VOLUME_SERVICE
 
220
 
 
221
    check_os_version
 
222
 
207
223
    sudo dd if=/dev/zero of=$VOLUME_PATH bs=1M seek=20k count=0
208
224
    # Note if mysql-server is not installed, this will fail
209
225
    # and openstack-db --yes will install/start it
220
236
    fi
221
237
 
222
238
    # Create a keystone RC file
 
239
    # Note that keystone bug #1073291 "fix" removes a chunk of stuff from
 
240
    # /usr/share/openstack-keystone/sample_data.sh (called from
 
241
    # openstack-keystone-sample-data below), so for grizzly we have to align
 
242
    # our RC file with the hardcoded values, because the password variables
 
243
    # are now ignored, also the admin tenant is no longer created.
 
244
    # I raised bug #1166182 to potentially fix this, but for now workaround:
223
245
    mkdir -p $HOME/.openstack
224
 
    cat > $HOME/.openstack/keystonerc <<EOF
 
246
    if [ "$os_dist" = 'grizzly' ]; then
 
247
        cat > $HOME/.openstack/keystonerc <<EOF
 
248
export ADMIN_TOKEN=$(openssl rand -hex 10)
 
249
export OS_USERNAME=admin
 
250
export OS_PASSWORD=secrete
 
251
export OS_TENANT_NAME=demo
 
252
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/
 
253
export OS_AUTH_STRATEGY=keystone
 
254
EOF
 
255
    else
 
256
        cat > $HOME/.openstack/keystonerc <<EOF
225
257
export ADMIN_TOKEN=$(openssl rand -hex 10)
226
258
export OS_USERNAME=admin
227
259
export OS_PASSWORD=verybadpass
229
261
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/
230
262
export OS_AUTH_STRATEGY=keystone
231
263
EOF
 
264
    fi
232
265
    # Install keystone catalog
233
266
    source $HOME/.openstack/keystonerc
234
267
    sudo openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN
 
268
 
 
269
    # Need to setup pki on grizzly or you get "Unable to sign token." error
 
270
    if [ "$os_dist" = 'grizzly' ]; then
 
271
        keystone-manage pki_setup
 
272
        chown -R keystone /etc/keystone/ssl/
 
273
    fi
 
274
 
235
275
    sudo systemctl start openstack-keystone.service
236
276
    sleep 1
237
277
 
240
280
    # Configure nova to use keystone
241
281
    sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_tenant_name service
242
282
    sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_user nova
243
 
    sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_password servicepass
 
283
    if [ "$os_dist" = 'grizzly' ]; then
 
284
        sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_password nova
 
285
    else
 
286
        sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_password servicepass
 
287
    fi
244
288
    sudo openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
245
289
    # Configure glance to use keystone
246
290
    sudo openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone
247
291
    sudo openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone
248
292
    sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name service
249
293
    sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_user glance
250
 
    sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepass
 
294
    if [ "$os_dist" = 'grizzly' ]; then
 
295
        sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_password glance
 
296
    else
 
297
        sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepass
 
298
    fi
251
299
    sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_name service
252
300
    sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_user glance
253
301
    sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_password servicepass
297
345
 
298
346
}
299
347
 
 
348
OS_SERVICES=(qpidd mysqld openstack-keystone tgtd openstack-glance-api openstack-glance-registry openstack-nova-api openstack-nova-objectstore openstack-nova-compute openstack-nova-network openstack-nova-scheduler openstack-nova-cert $VOLUME_SERVICE-volume)
 
349
if [[ $VOLUME_SERVICE == "openstack-cinder" ]]; then
 
350
    OS_SERVICES+=($VOLUME_SERVICE-api $VOLUME_SERVICE-scheduler)
 
351
fi
 
352
 
 
353
check_os_version
 
354
if [ "$os_dist" = 'grizzly' ]; then
 
355
    OS_SERVICES+=(openstack-nova-conductor)
 
356
fi
 
357
 
300
358
case $action in
301
359
    "")
302
360
        ;;