Skip to content

Commit 7ff8443

Browse files
committed
Rename all Savanna usages to Sahara
There are several backward compatibility nits. Change-Id: I93cac543375896602d158860cc557f86e41bcb63
1 parent 0c76039 commit 7ff8443

File tree

7 files changed

+290
-286
lines changed

7 files changed

+290
-286
lines changed
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/usr/bin/env bash
22

3-
# **savanna.sh**
3+
# **sahara.sh**
44

5-
# Sanity check that Savanna started if enabled
5+
# Sanity check that Sahara started if enabled
66

77
echo "*********************************************************************"
88
echo "Begin DevStack Exercise: $0"
@@ -33,9 +33,9 @@ source $TOP_DIR/openrc
3333
# Import exercise configuration
3434
source $TOP_DIR/exerciserc
3535

36-
is_service_enabled savanna || exit 55
36+
is_service_enabled sahara || exit 55
3737

38-
curl http://$SERVICE_HOST:8386/ 2>/dev/null | grep -q 'Auth' || die $LINENO "Savanna API not functioning!"
38+
curl http://$SERVICE_HOST:8386/ 2>/dev/null | grep -q 'Auth' || die $LINENO "Sahara API isn't functioning!"
3939

4040
set +o xtrace
4141
echo "*********************************************************************"

extras.d/70-sahara.sh

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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+
source $TOP_DIR/lib/sahara-dashboard
8+
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
9+
echo_summary "Installing sahara"
10+
install_sahara
11+
cleanup_sahara
12+
if is_service_enabled horizon; then
13+
install_sahara_dashboard
14+
fi
15+
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
16+
echo_summary "Configuring sahara"
17+
configure_sahara
18+
create_sahara_accounts
19+
if is_service_enabled horizon; then
20+
configure_sahara_dashboard
21+
fi
22+
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
23+
echo_summary "Initializing sahara"
24+
start_sahara
25+
fi
26+
27+
if [[ "$1" == "unstack" ]]; then
28+
stop_sahara
29+
if is_service_enabled horizon; then
30+
cleanup_sahara_dashboard
31+
fi
32+
fi
33+
34+
if [[ "$1" == "clean" ]]; then
35+
cleanup_sahara
36+
fi
37+
fi

extras.d/70-savanna.sh

Lines changed: 0 additions & 37 deletions
This file was deleted.

lib/sahara

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
# lib/sahara
2+
3+
# Dependencies:
4+
# ``functions`` file
5+
# ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined
6+
7+
# ``stack.sh`` calls the entry points in this order:
8+
#
9+
# install_sahara
10+
# configure_sahara
11+
# start_sahara
12+
# stop_sahara
13+
# cleanup_sahara
14+
15+
# Save trace setting
16+
XTRACE=$(set +o | grep xtrace)
17+
set +o xtrace
18+
19+
20+
# Defaults
21+
# --------
22+
23+
# Set up default repos
24+
SAHARA_REPO=${SAHARA_REPO:-${GIT_BASE}/openstack/sahara.git}
25+
SAHARA_BRANCH=${SAHARA_BRANCH:-master}
26+
27+
# Set up default directories
28+
SAHARA_DIR=$DEST/sahara
29+
SAHARA_CONF_DIR=${SAHARA_CONF_DIR:-/etc/sahara}
30+
SAHARA_CONF_FILE=${SAHARA_CONF_DIR}/sahara.conf
31+
SAHARA_DEBUG=${SAHARA_DEBUG:-True}
32+
33+
SAHARA_SERVICE_HOST=${SAHARA_SERVICE_HOST:-$SERVICE_HOST}
34+
SAHARA_SERVICE_PORT=${SAHARA_SERVICE_PORT:-8386}
35+
SAHARA_SERVICE_PROTOCOL=${SAHARA_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
36+
37+
SAHARA_AUTH_CACHE_DIR=${SAHARA_AUTH_CACHE_DIR:-/var/cache/sahara}
38+
39+
# Support entry points installation of console scripts
40+
if [[ -d $SAHARA_DIR/bin ]]; then
41+
SAHARA_BIN_DIR=$SAHARA_DIR/bin
42+
else
43+
SAHARA_BIN_DIR=$(get_python_exec_prefix)
44+
fi
45+
46+
# Tell Tempest this project is present
47+
TEMPEST_SERVICES+=,sahara
48+
49+
# For backward compatibility with current tests in Tempest
50+
TEMPEST_SERVICES+=,savanna
51+
52+
53+
# Functions
54+
# ---------
55+
56+
# create_sahara_accounts() - Set up common required sahara accounts
57+
#
58+
# Tenant User Roles
59+
# ------------------------------
60+
# service sahara admin
61+
function create_sahara_accounts {
62+
63+
SERVICE_TENANT=$(openstack project list | awk "/ $SERVICE_TENANT_NAME / { print \$2 }")
64+
ADMIN_ROLE=$(openstack role list | awk "/ admin / { print \$2 }")
65+
66+
SAHARA_USER=$(openstack user create \
67+
sahara \
68+
--password "$SERVICE_PASSWORD" \
69+
--project $SERVICE_TENANT \
70+
71+
| grep " id " | get_field 2)
72+
openstack role add \
73+
$ADMIN_ROLE \
74+
--project $SERVICE_TENANT \
75+
--user $SAHARA_USER
76+
77+
if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
78+
SAHARA_SERVICE=$(openstack service create \
79+
sahara \
80+
--type=data_processing \
81+
--description="Sahara Data Processing" \
82+
| grep " id " | get_field 2)
83+
openstack endpoint create \
84+
$SAHARA_SERVICE \
85+
--region RegionOne \
86+
--publicurl "$SAHARA_SERVICE_PROTOCOL://$SAHARA_SERVICE_HOST:$SAHARA_SERVICE_PORT/v1.1/\$(tenant_id)s" \
87+
--adminurl "$SAHARA_SERVICE_PROTOCOL://$SAHARA_SERVICE_HOST:$SAHARA_SERVICE_PORT/v1.1/\$(tenant_id)s" \
88+
--internalurl "$SAHARA_SERVICE_PROTOCOL://$SAHARA_SERVICE_HOST:$SAHARA_SERVICE_PORT/v1.1/\$(tenant_id)s"
89+
fi
90+
}
91+
92+
# cleanup_sahara() - Remove residual data files, anything left over from
93+
# previous runs that would need to clean up.
94+
function cleanup_sahara {
95+
96+
# Cleanup auth cache dir
97+
sudo rm -rf $SAHARA_AUTH_CACHE_DIR
98+
}
99+
100+
# configure_sahara() - Set config files, create data dirs, etc
101+
function configure_sahara {
102+
103+
if [[ ! -d $SAHARA_CONF_DIR ]]; then
104+
sudo mkdir -p $SAHARA_CONF_DIR
105+
fi
106+
sudo chown $STACK_USER $SAHARA_CONF_DIR
107+
108+
# Copy over sahara configuration file and configure common parameters.
109+
# TODO(slukjanov): rename when sahara internals will be updated
110+
cp $SAHARA_DIR/etc/savanna/savanna.conf.sample $SAHARA_CONF_FILE
111+
112+
# Create auth cache dir
113+
sudo mkdir -p $SAHARA_AUTH_CACHE_DIR
114+
sudo chown $STACK_USER $SAHARA_AUTH_CACHE_DIR
115+
rm -rf $SAHARA_AUTH_CACHE_DIR/*
116+
117+
# Set obsolete keystone auth configs for backward compatibility
118+
iniset $SAHARA_CONF_FILE DEFAULT os_auth_host $KEYSTONE_SERVICE_HOST
119+
iniset $SAHARA_CONF_FILE DEFAULT os_auth_port $KEYSTONE_SERVICE_PORT
120+
iniset $SAHARA_CONF_FILE DEFAULT os_auth_protocol $KEYSTONE_SERVICE_PROTOCOL
121+
iniset $SAHARA_CONF_FILE DEFAULT os_admin_password $SERVICE_PASSWORD
122+
iniset $SAHARA_CONF_FILE DEFAULT os_admin_username sahara
123+
iniset $SAHARA_CONF_FILE DEFAULT os_admin_tenant_name $SERVICE_TENANT_NAME
124+
125+
# Set actual keystone auth configs
126+
iniset $SAHARA_CONF_FILE keystone_authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/
127+
iniset $SAHARA_CONF_FILE keystone_authtoken admin_tenant_name $SERVICE_TENANT_NAME
128+
iniset $SAHARA_CONF_FILE keystone_authtoken admin_user sahara
129+
iniset $SAHARA_CONF_FILE keystone_authtoken admin_password $SERVICE_PASSWORD
130+
iniset $SAHARA_CONF_FILE keystone_authtoken signing_dir $SAHARA_AUTH_CACHE_DIR
131+
iniset $SAHARA_CONF_FILE keystone_authtoken cafile $KEYSTONE_SSL_CA
132+
133+
iniset $SAHARA_CONF_FILE DEFAULT debug $SAHARA_DEBUG
134+
135+
iniset $SAHARA_CONF_FILE database connection `database_connection_url sahara`
136+
137+
if is_service_enabled neutron; then
138+
iniset $SAHARA_CONF_FILE DEFAULT use_neutron true
139+
iniset $SAHARA_CONF_FILE DEFAULT use_floating_ips true
140+
fi
141+
142+
if is_service_enabled heat; then
143+
iniset $SAHARA_CONF_FILE DEFAULT infrastructure_engine heat
144+
else
145+
iniset $SAHARA_CONF_FILE DEFAULT infrastructure_engine direct
146+
fi
147+
148+
iniset $SAHARA_CONF_FILE DEFAULT use_syslog $SYSLOG
149+
150+
recreate_database sahara utf8
151+
$SAHARA_BIN_DIR/sahara-db-manage --config-file $SAHARA_CONF_FILE upgrade head
152+
}
153+
154+
# install_sahara() - Collect source and prepare
155+
function install_sahara {
156+
git_clone $SAHARA_REPO $SAHARA_DIR $SAHARA_BRANCH
157+
setup_develop $SAHARA_DIR
158+
}
159+
160+
# start_sahara() - Start running processes, including screen
161+
function start_sahara {
162+
screen_it sahara "cd $SAHARA_DIR && $SAHARA_BIN_DIR/sahara-api --config-file $SAHARA_CONF_FILE"
163+
}
164+
165+
# stop_sahara() - Stop running processes
166+
function stop_sahara {
167+
# Kill the Sahara screen windows
168+
screen -S $SCREEN_NAME -p sahara -X kill
169+
}
170+
171+
172+
# Restore xtrace
173+
$XTRACE
174+
175+
# Local variables:
176+
# mode: shell-script
177+
# End:

lib/sahara-dashboard

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# lib/sahara-dashboard
2+
3+
# Dependencies:
4+
#
5+
# - ``functions`` file
6+
# - ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined
7+
# - ``SERVICE_HOST``
8+
9+
# ``stack.sh`` calls the entry points in this order:
10+
#
11+
# - install_sahara_dashboard
12+
# - configure_sahara_dashboard
13+
# - cleanup_sahara_dashboard
14+
15+
# Save trace setting
16+
XTRACE=$(set +o | grep xtrace)
17+
set +o xtrace
18+
19+
source $TOP_DIR/lib/horizon
20+
21+
# Defaults
22+
# --------
23+
24+
# Set up default repos
25+
SAHARA_DASHBOARD_REPO=${SAHARA_DASHBOARD_REPO:-${GIT_BASE}/openstack/sahara-dashboard.git}
26+
SAHARA_DASHBOARD_BRANCH=${SAHARA_DASHBOARD_BRANCH:-master}
27+
28+
SAHARA_PYTHONCLIENT_REPO=${SAHARA_PYTHONCLIENT_REPO:-${GIT_BASE}/openstack/python-saharaclient.git}
29+
SAHARA_PYTHONCLIENT_BRANCH=${SAHARA_PYTHONCLIENT_BRANCH:-master}
30+
31+
# Set up default directories
32+
SAHARA_DASHBOARD_DIR=$DEST/sahara-dashboard
33+
SAHARA_PYTHONCLIENT_DIR=$DEST/python-saharaclient
34+
35+
# Functions
36+
# ---------
37+
38+
function configure_sahara_dashboard {
39+
40+
echo -e "AUTO_ASSIGNMENT_ENABLED = False" >> $HORIZON_DIR/openstack_dashboard/local/local_settings.py
41+
echo -e "HORIZON_CONFIG['dashboards'] += ('sahara',)" >> $HORIZON_DIR/openstack_dashboard/settings.py
42+
echo -e "INSTALLED_APPS += ('saharadashboard',)" >> $HORIZON_DIR/openstack_dashboard/settings.py
43+
44+
if is_service_enabled neutron; then
45+
echo -e "SAHARA_USE_NEUTRON = True" >> $HORIZON_DIR/openstack_dashboard/local/local_settings.py
46+
fi
47+
}
48+
49+
# install_sahara_dashboard() - Collect source and prepare
50+
function install_sahara_dashboard {
51+
install_python_saharaclient
52+
git_clone $SAHARA_DASHBOARD_REPO $SAHARA_DASHBOARD_DIR $SAHARA_DASHBOARD_BRANCH
53+
setup_develop $SAHARA_DASHBOARD_DIR
54+
}
55+
56+
function install_python_saharaclient {
57+
git_clone $SAHARA_PYTHONCLIENT_REPO $SAHARA_PYTHONCLIENT_DIR $SAHARA_PYTHONCLIENT_BRANCH
58+
setup_develop $SAHARA_PYTHONCLIENT_DIR
59+
}
60+
61+
# Cleanup file settings.py from Sahara
62+
function cleanup_sahara_dashboard {
63+
sed -i '/sahara/d' $HORIZON_DIR/openstack_dashboard/settings.py
64+
}
65+
66+
# Restore xtrace
67+
$XTRACE
68+
69+
# Local variables:
70+
# mode: shell-script
71+
# End:
72+

0 commit comments

Comments
 (0)