Browse code

Move Sahara into in-tree plugin

Once the Sahara related code moved to Sahara repo and used, we can
remove Sahara specific code from Devstack.

Partial-Implements: bp sahara-devstack-intree

Change-Id: I34412b5cb2e86944b8555b8fd04b43556eb2bbe6
Depends-on: I2e00b2ebc59dd3be6a0539dea2985f2e801a1bd7
Depends-on: I07c3fede473030e8a110cbf5a08309f890905abf

Sergey Lukjanov authored on 2015/07/01 20:20:23
Showing 9 changed files
... ...
@@ -63,11 +63,6 @@ OpenFlow Agent (ofagent)
63 63
 * YAMAMOTO Takashi <yamamoto@valinux.co.jp>
64 64
 * Fumihiko Kakuma <kakuma@valinux.co.jp>
65 65
 
66
-Sahara
67
-~~~~~~
68
-
69
-* Sergey Lukjanov <slukjanov@mirantis.com>
70
-
71 66
 Swift
72 67
 ~~~~~
73 68
 
... ...
@@ -170,7 +170,6 @@ Scripts
170 170
 * `lib/nova <lib/nova.html>`__
171 171
 * `lib/oslo <lib/oslo.html>`__
172 172
 * `lib/rpc\_backend <lib/rpc_backend.html>`__
173
-* `lib/sahara <lib/sahara.html>`__
174 173
 * `lib/swift <lib/swift.html>`__
175 174
 * `lib/tempest <lib/tempest.html>`__
176 175
 * `lib/tls <lib/tls.html>`__
... ...
@@ -181,7 +180,6 @@ Scripts
181 181
 
182 182
 * `extras.d/50-ironic.sh <extras.d/50-ironic.sh.html>`__
183 183
 * `extras.d/60-ceph.sh <extras.d/60-ceph.sh.html>`__
184
-* `extras.d/70-sahara.sh <extras.d/70-sahara.sh.html>`__
185 184
 * `extras.d/70-tuskar.sh <extras.d/70-tuskar.sh.html>`__
186 185
 * `extras.d/70-zaqar.sh <extras.d/70-zaqar.sh.html>`__
187 186
 * `extras.d/80-tempest.sh <extras.d/80-tempest.sh.html>`__
... ...
@@ -238,7 +236,6 @@ Exercises
238 238
 * `exercises/floating\_ips.sh <exercises/floating_ips.sh.html>`__
239 239
 * `exercises/horizon.sh <exercises/horizon.sh.html>`__
240 240
 * `exercises/neutron-adv-test.sh <exercises/neutron-adv-test.sh.html>`__
241
-* `exercises/sahara.sh <exercises/sahara.sh.html>`__
242 241
 * `exercises/sec\_groups.sh <exercises/sec_groups.sh.html>`__
243 242
 * `exercises/swift.sh <exercises/swift.sh.html>`__
244 243
 * `exercises/volumes.sh <exercises/volumes.sh.html>`__
... ...
@@ -22,6 +22,8 @@ The following are plugins that exist for official OpenStack projects.
22 22
 +--------------------+-------------------------------------------+--------------------+
23 23
 |magnum              |git://git.openstack.org/openstack/magnum   |                    |
24 24
 +--------------------+-------------------------------------------+--------------------+
25
+|sahara              |git://git.openstack.org/openstack/sahara   |                    |
26
++--------------------+-------------------------------------------+--------------------+
25 27
 |trove               |git://git.openstack.org/openstack/trove    |                    |
26 28
 +--------------------+-------------------------------------------+--------------------+
27 29
 |zaqar               |git://git.openstack.org/openstack/zarar    |                    |
28 30
deleted file mode 100755
... ...
@@ -1,49 +0,0 @@
1
-#!/usr/bin/env bash
2
-
3
-# **sahara.sh**
4
-
5
-# Sanity check that Sahara started if enabled
6
-
7
-echo "*********************************************************************"
8
-echo "Begin DevStack Exercise: $0"
9
-echo "*********************************************************************"
10
-
11
-# This script exits on an error so that errors don't compound and you see
12
-# only the first error that occurred.
13
-set -o errexit
14
-
15
-# Print the commands being run so that we can see the command that triggers
16
-# an error.  It is also useful for following allowing as the install occurs.
17
-set -o xtrace
18
-
19
-
20
-# Settings
21
-# ========
22
-
23
-# Keep track of the current directory
24
-EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
25
-TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
26
-
27
-# Import common functions
28
-source $TOP_DIR/functions
29
-
30
-# Import configuration
31
-source $TOP_DIR/openrc
32
-
33
-# Import exercise configuration
34
-source $TOP_DIR/exerciserc
35
-
36
-is_service_enabled sahara || exit 55
37
-
38
-if is_ssl_enabled_service "sahara" || is_service_enabled tls-proxy; then
39
-    SAHARA_SERVICE_PROTOCOL="https"
40
-fi
41
-
42
-SAHARA_SERVICE_PROTOCOL=${SAHARA_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
43
-
44
-$CURL_GET $SAHARA_SERVICE_PROTOCOL://$SERVICE_HOST:8386/ 2>/dev/null | grep -q 'Auth' || die $LINENO "Sahara API isn't functioning!"
45
-
46
-set +o xtrace
47
-echo "*********************************************************************"
48
-echo "SUCCESS: End DevStack Exercise: $0"
49
-echo "*********************************************************************"
50 1
deleted file mode 100644
... ...
@@ -1,29 +0,0 @@
1
-# sahara.sh - DevStack extras script to install Sahara
2
-
3
-if is_service_enabled sahara; then
4
-    if [[ "$1" == "source" ]]; then
5
-        # Initial source
6
-        source $TOP_DIR/lib/sahara
7
-    elif [[ "$1" == "stack" && "$2" == "install" ]]; then
8
-        echo_summary "Installing sahara"
9
-        install_sahara
10
-        install_python_saharaclient
11
-        cleanup_sahara
12
-    elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
13
-        echo_summary "Configuring sahara"
14
-        configure_sahara
15
-        create_sahara_accounts
16
-    elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
17
-        echo_summary "Initializing sahara"
18
-        sahara_register_images
19
-        start_sahara
20
-    fi
21
-
22
-    if [[ "$1" == "unstack" ]]; then
23
-        stop_sahara
24
-    fi
25
-
26
-    if [[ "$1" == "clean" ]]; then
27
-        cleanup_sahara
28
-    fi
29
-fi
30 1
deleted file mode 100644
... ...
@@ -1,259 +0,0 @@
1
-#!/bin/bash
2
-#
3
-# lib/sahara
4
-
5
-# Dependencies:
6
-# ``functions`` file
7
-# ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined
8
-
9
-# ``stack.sh`` calls the entry points in this order:
10
-#
11
-# install_sahara
12
-# install_python_saharaclient
13
-# configure_sahara
14
-# sahara_register_images
15
-# start_sahara
16
-# stop_sahara
17
-# cleanup_sahara
18
-
19
-# Save trace setting
20
-XTRACE=$(set +o | grep xtrace)
21
-set +o xtrace
22
-
23
-
24
-# Defaults
25
-# --------
26
-
27
-# Set up default repos
28
-
29
-# Set up default directories
30
-GITDIR["python-saharaclient"]=$DEST/python-saharaclient
31
-SAHARA_DIR=$DEST/sahara
32
-
33
-SAHARA_CONF_DIR=${SAHARA_CONF_DIR:-/etc/sahara}
34
-SAHARA_CONF_FILE=${SAHARA_CONF_DIR}/sahara.conf
35
-
36
-if is_ssl_enabled_service "sahara" || is_service_enabled tls-proxy; then
37
-    SAHARA_SERVICE_PROTOCOL="https"
38
-fi
39
-SAHARA_SERVICE_HOST=${SAHARA_SERVICE_HOST:-$SERVICE_HOST}
40
-SAHARA_SERVICE_PORT=${SAHARA_SERVICE_PORT:-8386}
41
-SAHARA_SERVICE_PORT_INT=${SAHARA_SERVICE_PORT_INT:-18386}
42
-SAHARA_SERVICE_PROTOCOL=${SAHARA_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
43
-
44
-SAHARA_AUTH_CACHE_DIR=${SAHARA_AUTH_CACHE_DIR:-/var/cache/sahara}
45
-
46
-SAHARA_ENABLED_PLUGINS=${SAHARA_ENABLED_PLUGINS:-vanilla,hdp,cdh,spark,fake}
47
-
48
-# Support entry points installation of console scripts
49
-if [[ -d $SAHARA_DIR/bin ]]; then
50
-    SAHARA_BIN_DIR=$SAHARA_DIR/bin
51
-else
52
-    SAHARA_BIN_DIR=$(get_python_exec_prefix)
53
-fi
54
-
55
-# Tell Tempest this project is present
56
-TEMPEST_SERVICES+=,sahara
57
-
58
-# Functions
59
-# ---------
60
-
61
-# create_sahara_accounts() - Set up common required sahara accounts
62
-#
63
-# Tenant      User       Roles
64
-# ------------------------------
65
-# service     sahara    admin
66
-function create_sahara_accounts {
67
-
68
-    create_service_user "sahara"
69
-
70
-    if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
71
-
72
-        # TODO: remove "data_processing" service when #1356053 will be fixed
73
-        local sahara_service_old=$(openstack service create \
74
-            "data_processing" \
75
-            --name "sahara" \
76
-            --description "Sahara Data Processing" \
77
-            -f value -c id
78
-        )
79
-        local sahara_service_new=$(openstack service create \
80
-            "data-processing" \
81
-            --name "sahara" \
82
-            --description "Sahara Data Processing" \
83
-            -f value -c id
84
-        )
85
-        get_or_create_endpoint $sahara_service_old \
86
-            "$REGION_NAME" \
87
-            "$SAHARA_SERVICE_PROTOCOL://$SAHARA_SERVICE_HOST:$SAHARA_SERVICE_PORT/v1.1/\$(tenant_id)s" \
88
-            "$SAHARA_SERVICE_PROTOCOL://$SAHARA_SERVICE_HOST:$SAHARA_SERVICE_PORT/v1.1/\$(tenant_id)s" \
89
-            "$SAHARA_SERVICE_PROTOCOL://$SAHARA_SERVICE_HOST:$SAHARA_SERVICE_PORT/v1.1/\$(tenant_id)s"
90
-        get_or_create_endpoint $sahara_service_new \
91
-            "$REGION_NAME" \
92
-            "$SAHARA_SERVICE_PROTOCOL://$SAHARA_SERVICE_HOST:$SAHARA_SERVICE_PORT/v1.1/\$(tenant_id)s" \
93
-            "$SAHARA_SERVICE_PROTOCOL://$SAHARA_SERVICE_HOST:$SAHARA_SERVICE_PORT/v1.1/\$(tenant_id)s" \
94
-            "$SAHARA_SERVICE_PROTOCOL://$SAHARA_SERVICE_HOST:$SAHARA_SERVICE_PORT/v1.1/\$(tenant_id)s"
95
-    fi
96
-}
97
-
98
-# cleanup_sahara() - Remove residual data files, anything left over from
99
-# previous runs that would need to clean up.
100
-function cleanup_sahara {
101
-
102
-    # Cleanup auth cache dir
103
-    sudo rm -rf $SAHARA_AUTH_CACHE_DIR
104
-}
105
-
106
-# configure_sahara() - Set config files, create data dirs, etc
107
-function configure_sahara {
108
-    sudo install -d -o $STACK_USER $SAHARA_CONF_DIR
109
-
110
-    if [[ -f $SAHARA_DIR/etc/sahara/policy.json ]]; then
111
-        cp -p $SAHARA_DIR/etc/sahara/policy.json $SAHARA_CONF_DIR
112
-    fi
113
-
114
-    # Create auth cache dir
115
-    sudo install -d -o $STACK_USER -m 700 $SAHARA_AUTH_CACHE_DIR
116
-    rm -rf $SAHARA_AUTH_CACHE_DIR/*
117
-
118
-    configure_auth_token_middleware $SAHARA_CONF_FILE sahara $SAHARA_AUTH_CACHE_DIR
119
-
120
-    iniset_rpc_backend sahara $SAHARA_CONF_FILE DEFAULT
121
-
122
-    # Set configuration to send notifications
123
-
124
-    if is_service_enabled ceilometer; then
125
-        iniset $SAHARA_CONF_FILE DEFAULT enable_notifications "true"
126
-        iniset $SAHARA_CONF_FILE DEFAULT notification_driver "messaging"
127
-    fi
128
-
129
-    iniset $SAHARA_CONF_FILE DEFAULT verbose True
130
-    iniset $SAHARA_CONF_FILE DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
131
-
132
-    iniset $SAHARA_CONF_FILE DEFAULT plugins $SAHARA_ENABLED_PLUGINS
133
-
134
-    iniset $SAHARA_CONF_FILE database connection `database_connection_url sahara`
135
-
136
-    if is_service_enabled neutron; then
137
-        iniset $SAHARA_CONF_FILE DEFAULT use_neutron true
138
-
139
-        if is_ssl_enabled_service "neutron" || is_service_enabled tls-proxy; then
140
-            iniset $SAHARA_CONF_FILE neutron ca_file $SSL_BUNDLE_FILE
141
-        fi
142
-    else
143
-        iniset $SAHARA_CONF_FILE DEFAULT use_neutron false
144
-    fi
145
-
146
-    if is_service_enabled heat; then
147
-        iniset $SAHARA_CONF_FILE DEFAULT infrastructure_engine heat
148
-
149
-        if is_ssl_enabled_service "heat" || is_service_enabled tls-proxy; then
150
-            iniset $SAHARA_CONF_FILE heat ca_file $SSL_BUNDLE_FILE
151
-        fi
152
-    else
153
-        iniset $SAHARA_CONF_FILE DEFAULT infrastructure_engine direct
154
-    fi
155
-
156
-    if is_ssl_enabled_service "cinder" || is_service_enabled tls-proxy; then
157
-        iniset $SAHARA_CONF_FILE cinder ca_file $SSL_BUNDLE_FILE
158
-    fi
159
-
160
-    if is_ssl_enabled_service "nova" || is_service_enabled tls-proxy; then
161
-        iniset $SAHARA_CONF_FILE nova ca_file $SSL_BUNDLE_FILE
162
-    fi
163
-
164
-    if is_ssl_enabled_service "swift" || is_service_enabled tls-proxy; then
165
-        iniset $SAHARA_CONF_FILE swift ca_file $SSL_BUNDLE_FILE
166
-    fi
167
-
168
-    if is_ssl_enabled_service "key" || is_service_enabled tls-proxy; then
169
-        iniset $SAHARA_CONF_FILE keystone ca_file $SSL_BUNDLE_FILE
170
-    fi
171
-
172
-    # Register SSL certificates if provided
173
-    if is_ssl_enabled_service sahara; then
174
-        ensure_certificates SAHARA
175
-
176
-        iniset $SAHARA_CONF_FILE ssl cert_file "$SAHARA_SSL_CERT"
177
-        iniset $SAHARA_CONF_FILE ssl key_file "$SAHARA_SSL_KEY"
178
-    fi
179
-
180
-    iniset $SAHARA_CONF_FILE DEFAULT use_syslog $SYSLOG
181
-
182
-    # Format logging
183
-    if [ "$LOG_COLOR" == "True" ] && [ "$SYSLOG" == "False" ]; then
184
-        setup_colorized_logging $SAHARA_CONF_FILE DEFAULT
185
-    fi
186
-
187
-    if is_service_enabled tls-proxy; then
188
-        # Set the service port for a proxy to take the original
189
-        iniset $SAHARA_CONF_FILE DEFAULT port $SAHARA_SERVICE_PORT_INT
190
-    fi
191
-
192
-    recreate_database sahara
193
-    $SAHARA_BIN_DIR/sahara-db-manage --config-file $SAHARA_CONF_FILE upgrade head
194
-}
195
-
196
-# install_sahara() - Collect source and prepare
197
-function install_sahara {
198
-    git_clone $SAHARA_REPO $SAHARA_DIR $SAHARA_BRANCH
199
-    setup_develop $SAHARA_DIR
200
-}
201
-
202
-# install_python_saharaclient() - Collect source and prepare
203
-function install_python_saharaclient {
204
-    if use_library_from_git "python-saharaclient"; then
205
-        git_clone_by_name "python-saharaclient"
206
-        setup_dev_lib "python-saharaclient"
207
-    fi
208
-}
209
-
210
-# sahara_register_images() - Registers images in sahara image registry
211
-function sahara_register_images {
212
-    if is_service_enabled heat && [[ ! -z "$HEAT_CFN_IMAGE_URL" ]]; then
213
-        # Register heat image for Fake plugin
214
-        local fake_plugin_properties="--property _sahara_tag_0.1=True"
215
-        fake_plugin_properties+=" --property _sahara_tag_fake=True"
216
-        fake_plugin_properties+=" --property _sahara_username=fedora"
217
-        openstack --os-url $GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT image set $(basename "$HEAT_CFN_IMAGE_URL" ".qcow2") $fake_plugin_properties
218
-    fi
219
-}
220
-
221
-# start_sahara() - Start running processes, including screen
222
-function start_sahara {
223
-    local service_port=$SAHARA_SERVICE_PORT
224
-    local service_protocol=$SAHARA_SERVICE_PROTOCOL
225
-    if is_service_enabled tls-proxy; then
226
-        service_port=$SAHARA_SERVICE_PORT_INT
227
-        service_protocol="http"
228
-    fi
229
-
230
-    run_process sahara "$SAHARA_BIN_DIR/sahara-all --config-file $SAHARA_CONF_FILE"
231
-    run_process sahara-api "$SAHARA_BIN_DIR/sahara-api --config-file $SAHARA_CONF_FILE"
232
-    run_process sahara-eng "$SAHARA_BIN_DIR/sahara-engine --config-file $SAHARA_CONF_FILE"
233
-
234
-    echo "Waiting for Sahara to start..."
235
-    if ! wait_for_service $SERVICE_TIMEOUT $service_protocol://$SAHARA_SERVICE_HOST:$service_port; then
236
-        die $LINENO "Sahara did not start"
237
-    fi
238
-
239
-    # Start proxies if enabled
240
-    if is_service_enabled tls-proxy; then
241
-        start_tls_proxy '*' $SAHARA_SERVICE_PORT $SAHARA_SERVICE_HOST $SAHARA_SERVICE_PORT_INT &
242
-    fi
243
-}
244
-
245
-# stop_sahara() - Stop running processes
246
-function stop_sahara {
247
-    # Kill the Sahara screen windows
248
-    stop_process sahara
249
-    stop_process sahara-api
250
-    stop_process sahara-eng
251
-}
252
-
253
-
254
-# Restore xtrace
255
-$XTRACE
256
-
257
-# Local variables:
258
-# mode: shell-script
259
-# End:
... ...
@@ -505,7 +505,7 @@ source $TOP_DIR/lib/rpc_backend
505 505
 check_rpc_backend
506 506
 
507 507
 # Service to enable with SSL if ``USE_SSL`` is True
508
-SSL_ENABLED_SERVICES="key,nova,cinder,glance,s-proxy,neutron,sahara"
508
+SSL_ENABLED_SERVICES="key,nova,cinder,glance,s-proxy,neutron"
509 509
 
510 510
 if is_service_enabled tls-proxy && [ "$USE_SSL" == "True" ]; then
511 511
     die $LINENO "tls-proxy and SSL are mutually exclusive"
... ...
@@ -225,10 +225,6 @@ NEUTRON_VPNAAS_BRANCH=${NEUTRON_VPNAAS_BRANCH:-master}
225 225
 NOVA_REPO=${NOVA_REPO:-${GIT_BASE}/openstack/nova.git}
226 226
 NOVA_BRANCH=${NOVA_BRANCH:-master}
227 227
 
228
-# data processing service
229
-SAHARA_REPO=${SAHARA_REPO:-${GIT_BASE}/openstack/sahara.git}
230
-SAHARA_BRANCH=${SAHARA_BRANCH:-master}
231
-
232 228
 # object storage service
233 229
 SWIFT_REPO=${SWIFT_REPO:-${GIT_BASE}/openstack/swift.git}
234 230
 SWIFT_BRANCH=${SWIFT_BRANCH:-master}
... ...
@@ -290,10 +286,6 @@ GITBRANCH["python-neutronclient"]=${NEUTRONCLIENT_BRANCH:-master}
290 290
 GITREPO["python-novaclient"]=${NOVACLIENT_REPO:-${GIT_BASE}/openstack/python-novaclient.git}
291 291
 GITBRANCH["python-novaclient"]=${NOVACLIENT_BRANCH:-master}
292 292
 
293
-# python saharaclient
294
-GITREPO["python-saharaclient"]=${SAHARACLIENT_REPO:-${GIT_BASE}/openstack/python-saharaclient.git}
295
-GITBRANCH["python-saharaclient"]=${SAHARACLIENT_BRANCH:-master}
296
-
297 293
 # python swift client library
298 294
 GITREPO["python-swiftclient"]=${SWIFTCLIENT_REPO:-${GIT_BASE}/openstack/python-swiftclient.git}
299 295
 GITBRANCH["python-swiftclient"]=${SWIFTCLIENT_BRANCH:-master}
... ...
@@ -35,7 +35,7 @@ ALL_LIBS+=" python-glanceclient python-ironicclient tempest-lib"
35 35
 ALL_LIBS+=" oslo.messaging oslo.log cliff python-heatclient stevedore"
36 36
 ALL_LIBS+=" python-cinderclient glance_store oslo.concurrency oslo.db"
37 37
 ALL_LIBS+=" oslo.versionedobjects oslo.vmware keystonemiddleware"
38
-ALL_LIBS+=" oslo.serialization python-saharaclient django_openstack_auth"
38
+ALL_LIBS+=" oslo.serialization django_openstack_auth"
39 39
 ALL_LIBS+=" python-openstackclient oslo.rootwrap oslo.i18n"
40 40
 ALL_LIBS+=" python-ceilometerclient oslo.utils python-swiftclient"
41 41
 ALL_LIBS+=" python-neutronclient tooz ceilometermiddleware oslo.policy"