summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-01-26 15:29:13 +0100
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-01-27 11:30:58 +0100
commit9f9356251d1e5d1812ac16859f8b6b6f20eeb8dd (patch)
treef8ba380db5a3363db8c350b6a9d40fd533d384c4
parente7fe8818ece870b88556f7bad78b589b26d19151 (diff)
Fixes for Multisite Kingbird Jenkins jobs
This patch contains the changes needed to get scripts working as part of Jenkins jobs. Changes include fixes for below issues. - Archive servicepass.ini and endpoints.ini under $WORKSPACE due to inability of Jenkins with archiving artifacts that are stored in directories which has no read permissions for. - Fetch servicepass.ini and endpoints.ini from corresponding locations and store them in $WORKSPACE. Change-Id: I88d477f5c6217a6ad7db250ae582fab2a17dc30e Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
-rwxr-xr-xtools/keystone/endpoint.sh6
-rwxr-xr-xtools/keystone/fetchpass.sh13
-rwxr-xr-xtools/keystone/region.sh4
-rwxr-xr-xtools/keystone/writepass.sh8
4 files changed, 21 insertions, 10 deletions
diff --git a/tools/keystone/endpoint.sh b/tools/keystone/endpoint.sh
index 410a723..b79638f 100755
--- a/tools/keystone/endpoint.sh
+++ b/tools/keystone/endpoint.sh
@@ -16,12 +16,16 @@ set -o pipefail
# Ensure that openrc containing OpenStack environment variables is present.
source openrc
+# if running as part of Jenkins job, create the file in WORKSPACE
+WORKSPACE=${WORKSPACE:-/root}
+ENDPOINT_FILE="${WORKSPACE}/endpoints.ini"
+
# Endpoints. Dynamically get IP addresses from another service (keystone)
ENDPOINT_PUBLIC_URL=$(openstack endpoint list | grep keystone | grep public | cut -d '|' -f 8 | cut -d '/' -f 3 | cut -d ':' -f 1)
ENDPOINT_ADMIN_URL=$(openstack endpoint list | grep keystone | grep admin | cut -d '|' -f 8 | cut -d '/' -f 3 | cut -d ':' -f 1)
ENDPOINT_INTERNAL_URL=$(openstack endpoint list | grep keystone | grep internal | cut -d '|' -f 8 | cut -d '/' -f 3 | cut -d ':' -f 1)
-cat <<EOT >> /root/endpoints.ini
+cat <<EOT >> ${ENDPOINT_FILE}
[DEFAULT]
public_url=${ENDPOINT_PUBLIC_URL}
admin_url=${ENDPOINT_ADMIN_URL}
diff --git a/tools/keystone/fetchpass.sh b/tools/keystone/fetchpass.sh
index 6e3b069..50fdb5c 100755
--- a/tools/keystone/fetchpass.sh
+++ b/tools/keystone/fetchpass.sh
@@ -12,8 +12,6 @@
# Fetch service password from the configuration files and store them
# in a file to pass further down the build chain
-EXPORT_FILE="/root/servicepass.ini"
-
GLANCE_CONF="/etc/glance/glance-registry.conf"
NOVA_CONF="/etc/nova/nova.conf"
NEUTRON_CONF="/etc/neutron/neutron.conf"
@@ -26,6 +24,11 @@ AODH_CONF='/etc/aodh/aodh.conf'
source openrc
+# if running as part of Jenkins job, create the files in WORKSPACE
+WORKSPACE=${WORKSPACE:-/root}
+PASSWORD_FILE_ENC="${WORKSPACE}/servicepass.ini"
+PASSWORD_FILE="${WORKSPACE}/passwords.ini"
+
# Get an option from an INI file
# iniget config-file section option
function iniget {
@@ -54,7 +57,7 @@ ceilometer_password=$(iniget ${CEILOMETER_CONF} keystone_authtoken password)
aodh_password=$(iniget ${AODH_CONF} keystone_authtoken password)
#NOTE: can't find swift in /etc
-cat <<EOT >> /root/passwords.ini
+cat <<EOT >> ${PASSWORD_FILE}
[DEFAULT]
identity_uri=${bind_host}
glance=${glance_password}
@@ -67,6 +70,6 @@ ceilometer=${ceilometer_password}
aodh=${aodh_password}
EOT
-openssl enc -aes-256-cbc -salt -in /root/passwords.ini -out ${EXPORT_FILE} -k multisite
+openssl enc -aes-256-cbc -salt -in ${PASSWORD_FILE} -out ${PASSWORD_FILE_ENC} -k multisite
-rm /root/passwords.ini \ No newline at end of file
+rm ${PASSWORD_FILE}
diff --git a/tools/keystone/region.sh b/tools/keystone/region.sh
index 1ae108f..c42401d 100755
--- a/tools/keystone/region.sh
+++ b/tools/keystone/region.sh
@@ -27,7 +27,9 @@ source openrc
#
# openstack endpoint create --publicurl "" --adminurl "" --internalurl "" --region ${region} <service>
-ENDPOINT_FILE="/root/endpoints.ini"
+# if running as part of Jenkins job, read the file from WORKSPACE
+WORKSPACE=${WORKSPACE:-/root}
+ENDPOINT_FILE="${WORKSPACE}/endpoints.ini"
# Get an option from an INI file
# iniget config-file section option
diff --git a/tools/keystone/writepass.sh b/tools/keystone/writepass.sh
index 2b0a965..d125854 100755
--- a/tools/keystone/writepass.sh
+++ b/tools/keystone/writepass.sh
@@ -13,8 +13,10 @@ set -o errexit
set -o nounset
set -o pipefail
-PASSWORD_FILE_ENC="servicepass.ini"
-PASSWORD_FILE="/root/passwords.ini"
+# if running as part of Jenkins job, read and create the files from/in WORKSPACE
+WORKSPACE=${WORKSPACE:-/root}
+PASSWORD_FILE_ENC="${WORKSPACE}/servicepass.ini"
+PASSWORD_FILE="${WORKSPACE}/passwords.ini"
function ini_has_option {
local file=$1
@@ -67,7 +69,7 @@ $option = $value
}
function decode_passwords() {
- openssl enc -aes-256-cbc -d -a -in ${PASSWORD_FILE_ENC} -out /root/passwords.ini -k multisite
+ openssl enc -aes-256-cbc -d -a -in ${PASSWORD_FILE_ENC} -out ${PASSWORD_FILE} -k multisite
}
function write_controller() {