From 02d4e0e856b0b875d4ae7f5bcb07e335892b7f1a Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 14:29:12 +0400 Subject: [PATCH 01/19] simple eho installation scripts has been added --- lib/eho | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ stack.sh | 19 +++++++++++++++++ stackrc | 4 ++++ 3 files changed, 85 insertions(+) create mode 100644 lib/eho diff --git a/lib/eho b/lib/eho new file mode 100644 index 0000000000..3d017d1712 --- /dev/null +++ b/lib/eho @@ -0,0 +1,62 @@ +# lib/eho +# Functions to control the configuration and operation of the EHO service +# + +# ``stack.sh`` calls the entry points in this order: +# +# install_eho +# configure_eho +# init_eho +# start_eho +# stop_eho +# cleanup_eho + +# Save trace setting +XTRACE=$(set +o | grep xtrace) +set +o xtrace + + +# Defaults +# -------- + +# + +# Set up default directories +EHO_DIR=$DEST/eho + +if [[ -d $EHO_DIR/bin ]]; then + EHO_BIN_DIR=$EHO_DIR/bin +else + EHO_BIN_DIR=$(get_python_exec_prefix) +fi + +# Entry Points +# ------------ + +function cleanup_eho() { + echo "EHO has been cleaned" +} + +function configure_eho() { + setup_develop $EHO_DIR +} + +function init_eho() { +} + +function install_eho() { + git_clone $EHO_REPO $EHO_DIR $EHO_BRANCH $EHO_TAG +} + +function start_eho() { + screen_it eho "cd $EHO_DIR && $EHO_BIN_DIR/eho --reset-db --stub-data" +} + +function stop_horizon() { + for serv in eho; do + screen -S $SCREEN_NAME -p $serv -X kill + done +} + +# Restore xtrace +$XTRACE diff --git a/stack.sh b/stack.sh index c39d855bd2..4024f2daba 100755 --- a/stack.sh +++ b/stack.sh @@ -283,6 +283,7 @@ source $TOP_DIR/lib/heat source $TOP_DIR/lib/quantum source $TOP_DIR/lib/baremetal source $TOP_DIR/lib/ldap +source $TOP_DIR/lib/eho # Set the destination directories for OpenStack projects HORIZON_DIR=$DEST/horizon @@ -290,6 +291,7 @@ OPENSTACKCLIENT_DIR=$DEST/python-openstackclient NOVNC_DIR=$DEST/noVNC SPICE_DIR=$DEST/spice-html5 SWIFT3_DIR=$DEST/swift3 +EHO_DIR=$DEST/eho # Should cinder perform secure deletion of volumes? # Defaults to true, can be set to False to avoid this bug when testing: @@ -712,6 +714,9 @@ if is_service_enabled ceilometer; then install_ceilometerclient install_ceilometer fi +if is_service_enabled eho; then + install_eho +fi # Initialization @@ -777,6 +782,10 @@ if is_service_enabled tls-proxy; then # don't be naive and add to existing line! fi +if is_service_enabled eho; then + configure_eho +fi + # Syslog # ------ @@ -1199,6 +1208,16 @@ if is_service_enabled heat; then start_heat fi +if is_service_enabled eho; then + echo_summary "Uploading EHO images" + for eho_image_url in ${EHO_IMAGE_URLS//,/ }; do + upload_image $eho_image_url $TOKEN + done + echo_summary "Configuring EHO" + init_eho + echo_summary "Starting EHO" + start_eho + # Create account rc files # ======================= diff --git a/stackrc b/stackrc index d418a0ec5a..72a38ca284 100644 --- a/stackrc +++ b/stackrc @@ -198,3 +198,7 @@ VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-5130M} PRIVATE_NETWORK_NAME=${PRIVATE_NETWORK_NAME:-"private"} PUBLIC_NETWORK_NAME=${PUBLIC_NETWORK_NAME:-"nova"} + +# eho confs +EHO_REPO=${GIT_BASE}/Mirantis/eho.git +EHO_BRANCH=master From 7df10a715bedf6ee010e12dcd77dfcd6142da15c Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 14:45:05 +0400 Subject: [PATCH 02/19] small fixes --- lib/eho | 1 + stack.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/eho b/lib/eho index 3d017d1712..2ae0adb254 100644 --- a/lib/eho +++ b/lib/eho @@ -42,6 +42,7 @@ function configure_eho() { } function init_eho() { + echo "init eho" } function install_eho() { diff --git a/stack.sh b/stack.sh index 4024f2daba..7239f33a84 100755 --- a/stack.sh +++ b/stack.sh @@ -1217,6 +1217,7 @@ if is_service_enabled eho; then init_eho echo_summary "Starting EHO" start_eho +fi # Create account rc files # ======================= From ea7d891e61b82a6c9bc4b1ec149807147f4b6166 Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 14:56:40 +0400 Subject: [PATCH 03/19] binary name has been fixed --- lib/eho | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/eho b/lib/eho index 2ae0adb254..a1e6abb3a4 100644 --- a/lib/eho +++ b/lib/eho @@ -50,7 +50,7 @@ function install_eho() { } function start_eho() { - screen_it eho "cd $EHO_DIR && $EHO_BIN_DIR/eho --reset-db --stub-data" + screen_it eho "cd $EHO_DIR && $EHO_BIN_DIR/eho-api --reset-db --stub-data" } function stop_horizon() { From 271afc558896e703d008cdbef2299dd2ed526b07 Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 16:39:02 +0400 Subject: [PATCH 04/19] --allow-cluster-ops option has been added --- lib/eho | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/eho b/lib/eho index a1e6abb3a4..f929dce32d 100644 --- a/lib/eho +++ b/lib/eho @@ -50,7 +50,7 @@ function install_eho() { } function start_eho() { - screen_it eho "cd $EHO_DIR && $EHO_BIN_DIR/eho-api --reset-db --stub-data" + screen_it eho "cd $EHO_DIR && $EHO_BIN_DIR/eho-api --reset-db --stub-data --allow-cluster-ops" } function stop_horizon() { From 40620e469b1bca7e4eaaf3516c16ef1202424c7c Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 17:07:38 +0400 Subject: [PATCH 05/19] config_eho has been improved --- lib/eho | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/eho b/lib/eho index f929dce32d..cbc5a257f6 100644 --- a/lib/eho +++ b/lib/eho @@ -39,10 +39,27 @@ function cleanup_eho() { function configure_eho() { setup_develop $EHO_DIR + + # configure eho to use mysql installation + + echo " + # OPENSTACK CONF + OS_AUTH_PROTOCOL = 'http' + OS_AUTH_HOST = '127.0.0.1' + OS_AUTH_PORT = '35357' + OS_ADMIN_USER = 'admin' + OS_ADMIN_PASSWORD = 'swordfish' + OS_ADMIN_TENANT = 'admin' + + # NODE CONF + NODE_USER = 'root' + NODE_PASSWORD = 'swordfish' + NODE_INTERNAL_NET = 'novanetwork' + " > $EHO_DIR/etc/local.cfg } function init_eho() { - echo "init eho" + echo "init eho: here we should init db using eho-manage" } function install_eho() { From 5a6eb6cf8bb612a5f446bc297cc5fd0b9b166d31 Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 17:10:59 +0400 Subject: [PATCH 06/19] debug log level is now used for starting eho-api --- lib/eho | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/eho b/lib/eho index cbc5a257f6..e639bcca78 100644 --- a/lib/eho +++ b/lib/eho @@ -67,7 +67,7 @@ function install_eho() { } function start_eho() { - screen_it eho "cd $EHO_DIR && $EHO_BIN_DIR/eho-api --reset-db --stub-data --allow-cluster-ops" + screen_it eho "cd $EHO_DIR && $EHO_BIN_DIR/eho-api --reset-db --stub-data --allow-cluster-ops --log-level DEBUG" } function stop_horizon() { From 6cefe13197c032b605277c05f5ac3d672b720a4f Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 17:16:54 +0400 Subject: [PATCH 07/19] unexpected indent has been fixed --- lib/eho | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/lib/eho b/lib/eho index e639bcca78..847929e668 100644 --- a/lib/eho +++ b/lib/eho @@ -42,20 +42,19 @@ function configure_eho() { # configure eho to use mysql installation - echo " - # OPENSTACK CONF - OS_AUTH_PROTOCOL = 'http' - OS_AUTH_HOST = '127.0.0.1' - OS_AUTH_PORT = '35357' - OS_ADMIN_USER = 'admin' - OS_ADMIN_PASSWORD = 'swordfish' - OS_ADMIN_TENANT = 'admin' - - # NODE CONF - NODE_USER = 'root' - NODE_PASSWORD = 'swordfish' - NODE_INTERNAL_NET = 'novanetwork' - " > $EHO_DIR/etc/local.cfg + echo "# OPENSTACK CONF +OS_AUTH_PROTOCOL = 'http' +OS_AUTH_HOST = '127.0.0.1' +OS_AUTH_PORT = '35357' +OS_ADMIN_USER = 'admin' +OS_ADMIN_PASSWORD = 'swordfish' +OS_ADMIN_TENANT = 'admin' + +# NODE CONF +NODE_USER = 'root' +NODE_PASSWORD = 'swordfish' +NODE_INTERNAL_NET = 'novanetwork' +" > $EHO_DIR/etc/local.cfg } function init_eho() { From cadf09b082bcb590e6096eabe62bcf962bbec895 Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 17:18:52 +0400 Subject: [PATCH 08/19] using custom horizon with EHO pages --- stackrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stackrc b/stackrc index 72a38ca284..8e2ea898ba 100644 --- a/stackrc +++ b/stackrc @@ -91,7 +91,7 @@ SPICE_REPO=http://anongit.freedesktop.org/git/spice/spice-html5.git SPICE_BRANCH=master # django powered web control panel for openstack -HORIZON_REPO=${GIT_BASE}/openstack/horizon.git +HORIZON_REPO=${GIT_BASE}/Frostman/eho-horizon.git HORIZON_BRANCH=master # python client library to nova that horizon (and others) use From 7412f88a612f1ac83556629e74c9ed450e3235c4 Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 17:25:30 +0400 Subject: [PATCH 09/19] endpoints creation has been added, 9000 port is niw used for eho api --- lib/eho | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/eho b/lib/eho index 847929e668..50bfee3bac 100644 --- a/lib/eho +++ b/lib/eho @@ -40,6 +40,18 @@ function cleanup_eho() { function configure_eho() { setup_develop $EHO_DIR + EHO_SERVICE=$(keystone service-create \ + --name=eho \ + --type=mapreduce \ + --description="MapReduce Service" \ + | grep " id " | get_field 2) + keystone endpoint-create \ + --region RegionOne \ + --service_id $EHO_SERVICE \ + --publicurl "http://$SERVICE_HOST:9000/" \ + --adminurl "http://$SERVICE_HOST:9000/" \ + --internalurl "http://$SERVICE_HOST:9000/" + # configure eho to use mysql installation echo "# OPENSTACK CONF @@ -66,7 +78,8 @@ function install_eho() { } function start_eho() { - screen_it eho "cd $EHO_DIR && $EHO_BIN_DIR/eho-api --reset-db --stub-data --allow-cluster-ops --log-level DEBUG" + screen_it eho "cd $EHO_DIR && $EHO_BIN_DIR/eho-api --reset-db \ + --stub-data --allow-cluster-ops --log-level DEBUG --port 9000" } function stop_horizon() { From 9886a4d9ffb455f9153b86e3cd2e79c54d41a73a Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 17:41:34 +0400 Subject: [PATCH 10/19] eho has been added to default services list --- stackrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stackrc b/stackrc index 8e2ea898ba..0a0e1241a5 100644 --- a/stackrc +++ b/stackrc @@ -21,7 +21,7 @@ fi # ``disable_service`` functions in ``localrc``. # For example, to enable Swift add this to ``localrc``: # enable_service swift -ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,tempest,mysql +ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,eho,rabbit,tempest,mysql # Set the default Nova APIs to enable NOVA_ENABLED_APIS=ec2,osapi_compute,metadata From 0965bae6f669219c1f72119b9799ff24e0fffa78 Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 18:52:42 +0400 Subject: [PATCH 11/19] user, service and endpoint creation has been fixed --- files/keystone_data.sh | 25 +++++++++++++++++++++++++ lib/eho | 18 +++--------------- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/files/keystone_data.sh b/files/keystone_data.sh index a6fab09926..e1432917de 100755 --- a/files/keystone_data.sh +++ b/files/keystone_data.sh @@ -122,6 +122,30 @@ if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then fi fi +# EHO +if [[ "$ENABLED_SERVICES" =~ "eho" ]]; then + EHO_USER=$(get_id keystone user-create \ + --name=eho \ + --pass="$SERVICE_PASSWORD" \ + --tenant_id $SERVICE_TENANT \ + --email=eho@example.com) + keystone user-role-add \ + --tenant_id $SERVICE_TENANT \ + --user_id $EHO_USER \ + --role_id $ADMIN_ROLE + + EHO_SERVICE=$(get_id keystone service-create \ + --name=eho \ + --type=mapreduce \ + --description="MapReduce Service") + keystone endpoint-create \ + --region RegionOne \ + --service_id $EHO_SERVICE \ + --publicurl "http://$SERVICE_HOST:9000/%(tenant_id)" \ + --adminurl "http://$SERVICE_HOST:9000/%(tenant_id)" \ + --internalurl "http://$SERVICE_HOST:9000/%(tenant_id)" +fi + # Swift if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then SWIFT_USER=$(get_id keystone user-create \ @@ -219,3 +243,4 @@ if [[ "$ENABLED_SERVICES" =~ "tempest" ]]; then --user_id $ALT_DEMO_USER \ --role_id $MEMBER_ROLE fi + diff --git a/lib/eho b/lib/eho index 50bfee3bac..7d43df0bf1 100644 --- a/lib/eho +++ b/lib/eho @@ -40,27 +40,15 @@ function cleanup_eho() { function configure_eho() { setup_develop $EHO_DIR - EHO_SERVICE=$(keystone service-create \ - --name=eho \ - --type=mapreduce \ - --description="MapReduce Service" \ - | grep " id " | get_field 2) - keystone endpoint-create \ - --region RegionOne \ - --service_id $EHO_SERVICE \ - --publicurl "http://$SERVICE_HOST:9000/" \ - --adminurl "http://$SERVICE_HOST:9000/" \ - --internalurl "http://$SERVICE_HOST:9000/" - # configure eho to use mysql installation echo "# OPENSTACK CONF OS_AUTH_PROTOCOL = 'http' OS_AUTH_HOST = '127.0.0.1' OS_AUTH_PORT = '35357' -OS_ADMIN_USER = 'admin' -OS_ADMIN_PASSWORD = 'swordfish' -OS_ADMIN_TENANT = 'admin' +OS_ADMIN_USER = 'eho' +OS_ADMIN_PASSWORD = '$SERVICE_PASSWORD' +OS_ADMIN_TENANT = '$SERVICE_TENANT' # NODE CONF NODE_USER = 'root' From 47adf86d62666b942363ffbe51622772f3644d8e Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 18:55:12 +0400 Subject: [PATCH 12/19] eho stop added --- lib/eho | 2 +- unstack.sh | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/eho b/lib/eho index 7d43df0bf1..4bcea75baa 100644 --- a/lib/eho +++ b/lib/eho @@ -70,7 +70,7 @@ function start_eho() { --stub-data --allow-cluster-ops --log-level DEBUG --port 9000" } -function stop_horizon() { +function stop_eho() { for serv in eho; do screen -S $SCREEN_NAME -p $serv -X kill done diff --git a/unstack.sh b/unstack.sh index a086d5c620..38727668ca 100755 --- a/unstack.sh +++ b/unstack.sh @@ -30,6 +30,7 @@ source $TOP_DIR/lib/cinder source $TOP_DIR/lib/horizon source $TOP_DIR/lib/swift source $TOP_DIR/lib/quantum +source $TOP_DIR/lib/eho # Determine what system we are running on. This provides ``os_VENDOR``, # ``os_RELEASE``, ``os_UPDATE``, ``os_PACKAGE``, ``os_CODENAME`` @@ -110,3 +111,7 @@ if is_service_enabled quantum; then stop_quantum stop_quantum_third_party fi + +if is_service_enabled eho; then + stop_eho +fi From a2b8071ba38f498003ee04a64eb32add150a558f Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 19:14:28 +0400 Subject: [PATCH 13/19] image upload has been fixed --- stack.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/stack.sh b/stack.sh index 7239f33a84..0be0c17cf7 100755 --- a/stack.sh +++ b/stack.sh @@ -1210,11 +1210,15 @@ fi if is_service_enabled eho; then echo_summary "Uploading EHO images" + + TOKEN=$(keystone token-get | grep ' id ' | get_field 2) for eho_image_url in ${EHO_IMAGE_URLS//,/ }; do upload_image $eho_image_url $TOKEN done + echo_summary "Configuring EHO" init_eho + echo_summary "Starting EHO" start_eho fi From ecbc29ca88081ff28ab43c34ec35bdf8218c415c Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 20:35:13 +0400 Subject: [PATCH 14/19] endpoints has been fixed --- files/keystone_data.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/files/keystone_data.sh b/files/keystone_data.sh index e1432917de..72c3d35fd1 100755 --- a/files/keystone_data.sh +++ b/files/keystone_data.sh @@ -141,9 +141,9 @@ if [[ "$ENABLED_SERVICES" =~ "eho" ]]; then keystone endpoint-create \ --region RegionOne \ --service_id $EHO_SERVICE \ - --publicurl "http://$SERVICE_HOST:9000/%(tenant_id)" \ - --adminurl "http://$SERVICE_HOST:9000/%(tenant_id)" \ - --internalurl "http://$SERVICE_HOST:9000/%(tenant_id)" + --publicurl "http://$SERVICE_HOST:9000/v0.2/%(tenant_id)s" \ + --adminurl "http://$SERVICE_HOST:9000/v0.2/%(tenant_id)s" \ + --internalurl "http://$SERVICE_HOST:9000/v0.2/%(tenant_id)s" fi # Swift From f95c2f3719458e345a3e2e0b2d773ab8c9d02b96 Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Fri, 15 Mar 2013 20:35:32 +0400 Subject: [PATCH 15/19] eho upload moved to another place --- stack.sh | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/stack.sh b/stack.sh index 0be0c17cf7..9eb76d9f99 100755 --- a/stack.sh +++ b/stack.sh @@ -1208,21 +1208,6 @@ if is_service_enabled heat; then start_heat fi -if is_service_enabled eho; then - echo_summary "Uploading EHO images" - - TOKEN=$(keystone token-get | grep ' id ' | get_field 2) - for eho_image_url in ${EHO_IMAGE_URLS//,/ }; do - upload_image $eho_image_url $TOKEN - done - - echo_summary "Configuring EHO" - init_eho - - echo_summary "Starting EHO" - start_eho -fi - # Create account rc files # ======================= @@ -1366,6 +1351,21 @@ if is_service_enabled heat; then echo "Heat has replaced the default flavors. View by running: nova flavor-list" fi +if is_service_enabled eho; then + echo_summary "Uploading EHO images" + + TOKEN=$(keystone token-get | grep ' id ' | get_field 2) + for eho_image_url in ${EHO_IMAGE_URLS//,/ }; do + upload_image $eho_image_url $TOKEN + done + + echo_summary "Configuring EHO" + init_eho + + echo_summary "Starting EHO" + start_eho +fi + # If Keystone is present you can point ``nova`` cli to this server if is_service_enabled key; then echo "Keystone is serving at $KEYSTONE_AUTH_PROTOCOL://$SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0/" From 9905c7eac6601bfac821596d23db0dcd40c80c37 Mon Sep 17 00:00:00 2001 From: Sergey Lukjanov Date: Mon, 18 Mar 2013 15:04:27 +0400 Subject: [PATCH 16/19] qcow2.gz support has been added --- functions | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/functions b/functions index f5032d59d0..032a661a0b 100644 --- a/functions +++ b/functions @@ -1049,6 +1049,13 @@ function upload_image() { DISK_FORMAT=qcow2 CONTAINER_FORMAT=bare ;; + *.qcow2.gz) + IMAGE="$FILES/${IMAGE_FNAME}" + IMAGE_NAME=$(basename "$IMAGE" ".qcow2.gz") + DISK_FORMAT=qcow2 + CONTAINER_FORMAT=bare + UNPACK=zcat + ;; *) echo "Do not know what to do with $IMAGE_FNAME"; false;; esac From 377aaaac382f402ea4f8e688bc40448eb782dac3 Mon Sep 17 00:00:00 2001 From: nkonovalov Date: Wed, 3 Apr 2013 10:04:17 +0000 Subject: [PATCH 17/19] eho changed to savanna --- lib/savanna | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 lib/savanna diff --git a/lib/savanna b/lib/savanna new file mode 100644 index 0000000000..0da90ff91d --- /dev/null +++ b/lib/savanna @@ -0,0 +1,80 @@ +# lib/eho +# Functions to control the configuration and operation of the EHO service +# + +# ``stack.sh`` calls the entry points in this order: +# +# install_svanna +# configure_savanna +# init_savanna +# start_savanna +# stop_savanna +# cleanup_savanna + +# Save trace setting +XTRACE=$(set +o | grep xtrace) +set +o xtrace + +source $TOP_DIR/openrc + +# Defaults +# -------- + +# + +# Set up default directories +SAVANNA_DIR=$DEST/savanna + +if [[ -d $SAVANNA_DIR/bin ]]; then + SAVANNA_BIN_DIR=$SAVANNA_DIR/bin +else + SAVANNA_BIN_DIR=$(get_python_exec_prefix) +fi + +# Entry Points +# ------------ + +function cleanup_savanna() { + echo "SAVANNA has been cleaned" +} + +function configure_savanna() { + setup_develop $SAVANNA_DIR + + # configure eho to use mysql installation + + echo " +[DEFAULT] +allow_cluster_ops=true + +os_auth_host=127.0.0.1 +os_admin_password=$OS_PASSWORD + +[cluster_node] + +[sqlalchemy] + +" > $SAVANNA_DIR/etc/savanna/savanna.conf +} + +function init_savanna() { + echo "init savanna" + $SAVANNA_BIN_DIR/savanna-manage --config-file $SAVANNA_DIR/etc/savanna/savanna.conf reset-db --with-gen-templates +} + +function install_savanna() { + git_clone $SAVANNA_REPO $SAVANNA_DIR $SAVANNA_BRANCH $SAVANNA_TAG +} + +function start_savanna() { + screen_it savanna "cd $SAVANNA_DIR && $SAVANNA_BIN_DIR/savanna-api --config-file $SAVANNA_DIR/etc/savanna/savanna.conf" +} + +function stop_savanna() { + for serv in savanna; do + screen -S $SCREEN_NAME -p $serv -X kill + done +} + +# Restore xtrace +$XTRACE From eb5213d48322294f87b125c8c8114bf4ba0b758d Mon Sep 17 00:00:00 2001 From: nkonovalov Date: Wed, 3 Apr 2013 14:32:04 +0000 Subject: [PATCH 18/19] devstack configured to work with savanna --- files/keystone_data.sh | 24 ++++++------- functions | 17 +++++---- lib/eho | 80 ------------------------------------------ lib/savanna | 4 +-- stack.sh | 28 +++++++-------- stackrc | 8 ++--- unstack.sh | 6 ++-- 7 files changed, 45 insertions(+), 122 deletions(-) delete mode 100644 lib/eho diff --git a/files/keystone_data.sh b/files/keystone_data.sh index 72c3d35fd1..15d61bcd0d 100755 --- a/files/keystone_data.sh +++ b/files/keystone_data.sh @@ -122,28 +122,28 @@ if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then fi fi -# EHO -if [[ "$ENABLED_SERVICES" =~ "eho" ]]; then - EHO_USER=$(get_id keystone user-create \ - --name=eho \ +# SAVANNA +if [[ "$ENABLED_SERVICES" =~ "savanna" ]]; then + SAVANNA_USER=$(get_id keystone user-create \ + --name=savanna \ --pass="$SERVICE_PASSWORD" \ --tenant_id $SERVICE_TENANT \ - --email=eho@example.com) + --email=savanna@example.com) keystone user-role-add \ --tenant_id $SERVICE_TENANT \ - --user_id $EHO_USER \ + --user_id $SAVANNA_USER \ --role_id $ADMIN_ROLE - EHO_SERVICE=$(get_id keystone service-create \ - --name=eho \ + SAVANNA_SERVICE=$(get_id keystone service-create \ + --name=savanna \ --type=mapreduce \ --description="MapReduce Service") keystone endpoint-create \ --region RegionOne \ - --service_id $EHO_SERVICE \ - --publicurl "http://$SERVICE_HOST:9000/v0.2/%(tenant_id)s" \ - --adminurl "http://$SERVICE_HOST:9000/v0.2/%(tenant_id)s" \ - --internalurl "http://$SERVICE_HOST:9000/v0.2/%(tenant_id)s" + --service_id $SAVANNA_SERVICE \ + --publicurl "http://$SERVICE_HOST:8080/v0.2/%(tenant_id)s" \ + --adminurl "http://$SERVICE_HOST:8080/v0.2/%(tenant_id)s" \ + --internalurl "http://$SERVICE_HOST:80800/v0.2/%(tenant_id)s" fi # Swift diff --git a/functions b/functions index 032a661a0b..d89d518d33 100644 --- a/functions +++ b/functions @@ -1006,6 +1006,16 @@ function upload_image() { CONTAINER_FORMAT="" UNPACK="" case "$IMAGE_FNAME" in + *.qcow2.tar.gz) + IMAGE_NAME="${IMAGE_FNAME%.qcow2.tar.gz}" + xdir="$FILES/images/$IMAGE_NAME" + rm -Rf "$xdir"; + mkdir "$xdir" + tar -zxf $FILES/$IMAGE_FNAME -C "$xdir" + IMAGE="$xdir/$IMAGE_NAME.img" + DISK_FORMAT=qcow2 + CONTAINER_FORMAT=bare + ;; *.tar.gz|*.tgz) # Extract ami and aki files [ "${IMAGE_FNAME%.tar.gz}" != "$IMAGE_FNAME" ] && @@ -1049,13 +1059,6 @@ function upload_image() { DISK_FORMAT=qcow2 CONTAINER_FORMAT=bare ;; - *.qcow2.gz) - IMAGE="$FILES/${IMAGE_FNAME}" - IMAGE_NAME=$(basename "$IMAGE" ".qcow2.gz") - DISK_FORMAT=qcow2 - CONTAINER_FORMAT=bare - UNPACK=zcat - ;; *) echo "Do not know what to do with $IMAGE_FNAME"; false;; esac diff --git a/lib/eho b/lib/eho deleted file mode 100644 index 4bcea75baa..0000000000 --- a/lib/eho +++ /dev/null @@ -1,80 +0,0 @@ -# lib/eho -# Functions to control the configuration and operation of the EHO service -# - -# ``stack.sh`` calls the entry points in this order: -# -# install_eho -# configure_eho -# init_eho -# start_eho -# stop_eho -# cleanup_eho - -# Save trace setting -XTRACE=$(set +o | grep xtrace) -set +o xtrace - - -# Defaults -# -------- - -# - -# Set up default directories -EHO_DIR=$DEST/eho - -if [[ -d $EHO_DIR/bin ]]; then - EHO_BIN_DIR=$EHO_DIR/bin -else - EHO_BIN_DIR=$(get_python_exec_prefix) -fi - -# Entry Points -# ------------ - -function cleanup_eho() { - echo "EHO has been cleaned" -} - -function configure_eho() { - setup_develop $EHO_DIR - - # configure eho to use mysql installation - - echo "# OPENSTACK CONF -OS_AUTH_PROTOCOL = 'http' -OS_AUTH_HOST = '127.0.0.1' -OS_AUTH_PORT = '35357' -OS_ADMIN_USER = 'eho' -OS_ADMIN_PASSWORD = '$SERVICE_PASSWORD' -OS_ADMIN_TENANT = '$SERVICE_TENANT' - -# NODE CONF -NODE_USER = 'root' -NODE_PASSWORD = 'swordfish' -NODE_INTERNAL_NET = 'novanetwork' -" > $EHO_DIR/etc/local.cfg -} - -function init_eho() { - echo "init eho: here we should init db using eho-manage" -} - -function install_eho() { - git_clone $EHO_REPO $EHO_DIR $EHO_BRANCH $EHO_TAG -} - -function start_eho() { - screen_it eho "cd $EHO_DIR && $EHO_BIN_DIR/eho-api --reset-db \ - --stub-data --allow-cluster-ops --log-level DEBUG --port 9000" -} - -function stop_eho() { - for serv in eho; do - screen -S $SCREEN_NAME -p $serv -X kill - done -} - -# Restore xtrace -$XTRACE diff --git a/lib/savanna b/lib/savanna index 0da90ff91d..2e7d0717b1 100644 --- a/lib/savanna +++ b/lib/savanna @@ -1,4 +1,4 @@ -# lib/eho +# lib/savanna # Functions to control the configuration and operation of the EHO service # @@ -51,7 +51,7 @@ os_auth_host=127.0.0.1 os_admin_password=$OS_PASSWORD [cluster_node] - +user_floating_ips=false [sqlalchemy] " > $SAVANNA_DIR/etc/savanna/savanna.conf diff --git a/stack.sh b/stack.sh index 9eb76d9f99..682dfc9341 100755 --- a/stack.sh +++ b/stack.sh @@ -283,7 +283,7 @@ source $TOP_DIR/lib/heat source $TOP_DIR/lib/quantum source $TOP_DIR/lib/baremetal source $TOP_DIR/lib/ldap -source $TOP_DIR/lib/eho +source $TOP_DIR/lib/savanna # Set the destination directories for OpenStack projects HORIZON_DIR=$DEST/horizon @@ -291,7 +291,7 @@ OPENSTACKCLIENT_DIR=$DEST/python-openstackclient NOVNC_DIR=$DEST/noVNC SPICE_DIR=$DEST/spice-html5 SWIFT3_DIR=$DEST/swift3 -EHO_DIR=$DEST/eho +SAVANNA_DIR=$DEST/savanna # Should cinder perform secure deletion of volumes? # Defaults to true, can be set to False to avoid this bug when testing: @@ -714,8 +714,8 @@ if is_service_enabled ceilometer; then install_ceilometerclient install_ceilometer fi -if is_service_enabled eho; then - install_eho +if is_service_enabled savanna; then + install_savanna fi @@ -782,8 +782,8 @@ if is_service_enabled tls-proxy; then # don't be naive and add to existing line! fi -if is_service_enabled eho; then - configure_eho +if is_service_enabled savanna; then + configure_savanna fi # Syslog @@ -1351,19 +1351,19 @@ if is_service_enabled heat; then echo "Heat has replaced the default flavors. View by running: nova flavor-list" fi -if is_service_enabled eho; then - echo_summary "Uploading EHO images" +if is_service_enabled savanna; then + echo_summary "Uploading SAVANNA images" TOKEN=$(keystone token-get | grep ' id ' | get_field 2) - for eho_image_url in ${EHO_IMAGE_URLS//,/ }; do - upload_image $eho_image_url $TOKEN + for savanna_image_url in ${SAVANNA_IMAGE_URLS//,/ }; do + upload_image $savanna_image_url $TOKEN done - echo_summary "Configuring EHO" - init_eho + echo_summary "Configuring SAVANNA" + init_savanna - echo_summary "Starting EHO" - start_eho + echo_summary "Starting SAVANNA" + start_savanna fi # If Keystone is present you can point ``nova`` cli to this server diff --git a/stackrc b/stackrc index 0a0e1241a5..967202f288 100644 --- a/stackrc +++ b/stackrc @@ -21,7 +21,7 @@ fi # ``disable_service`` functions in ``localrc``. # For example, to enable Swift add this to ``localrc``: # enable_service swift -ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,eho,rabbit,tempest,mysql +ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,savanna,rabbit,tempest,mysql # Set the default Nova APIs to enable NOVA_ENABLED_APIS=ec2,osapi_compute,metadata @@ -199,6 +199,6 @@ VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-5130M} PRIVATE_NETWORK_NAME=${PRIVATE_NETWORK_NAME:-"private"} PUBLIC_NETWORK_NAME=${PUBLIC_NETWORK_NAME:-"nova"} -# eho confs -EHO_REPO=${GIT_BASE}/Mirantis/eho.git -EHO_BRANCH=master +# savanna confs +SAVANNA_REPO=${GIT_BASE}/stackforge/savanna.git +SAVANNA_BRANCH=master diff --git a/unstack.sh b/unstack.sh index 38727668ca..84998c9f52 100755 --- a/unstack.sh +++ b/unstack.sh @@ -30,7 +30,7 @@ source $TOP_DIR/lib/cinder source $TOP_DIR/lib/horizon source $TOP_DIR/lib/swift source $TOP_DIR/lib/quantum -source $TOP_DIR/lib/eho +source $TOP_DIR/lib/savanna # Determine what system we are running on. This provides ``os_VENDOR``, # ``os_RELEASE``, ``os_UPDATE``, ``os_PACKAGE``, ``os_CODENAME`` @@ -112,6 +112,6 @@ if is_service_enabled quantum; then stop_quantum_third_party fi -if is_service_enabled eho; then - stop_eho +if is_service_enabled savanna; then + stop_savanna fi From b7d17646f57e94d6442388573113c21f3b8efd36 Mon Sep 17 00:00:00 2001 From: nkonovalov Date: Wed, 3 Apr 2013 15:48:57 +0000 Subject: [PATCH 19/19] config fix --- lib/savanna | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/savanna b/lib/savanna index 2e7d0717b1..48a0458ec8 100644 --- a/lib/savanna +++ b/lib/savanna @@ -41,8 +41,6 @@ function cleanup_savanna() { function configure_savanna() { setup_develop $SAVANNA_DIR - # configure eho to use mysql installation - echo " [DEFAULT] allow_cluster_ops=true @@ -51,7 +49,7 @@ os_auth_host=127.0.0.1 os_admin_password=$OS_PASSWORD [cluster_node] -user_floating_ips=false +use_floating_ips=false [sqlalchemy] " > $SAVANNA_DIR/etc/savanna/savanna.conf