summaryrefslogtreecommitdiffstats
path: root/controller/share/dtf-controller/parse_credsfile
diff options
context:
space:
mode:
authorPavel Raiskup <praiskup@redhat.com>2014-10-23 15:13:36 +0200
committerPavel Raiskup <praiskup@redhat.com>2014-10-23 15:15:18 +0200
commit83edd3a996c506b6a1988d0c68214e9a849397d8 (patch)
tree480d540ba768ccbdb4d730c3a422164c846058f5 /controller/share/dtf-controller/parse_credsfile
parent3d7b436102772e5e9e146e45e8d52210ce7498b5 (diff)
downloadpostgresql-setup-tests-83edd3a996c506b6a1988d0c68214e9a849397d8.tar.gz
postgresql-setup-tests-83edd3a996c506b6a1988d0c68214e9a849397d8.tar.xz
postgresql-setup-tests-83edd3a996c506b6a1988d0c68214e9a849397d8.zip
controller: autoconfiscate
First part of converting controller to autoconf/automake solution. * .gitignore: New gitignore; autotools ignores. * Makefile.am: New file. * get_machine: Renamed to template bin/dtf-get-machine.in. * bin/dtf-get-machine.in: New template based on get_machine. * run_remote: Renamed to template bin/dtf-run-remote.in. * bin/dtf-run-remote.in: New binary template from run_remote. * build: New bootstrap like helper script (git-only). * configure.ac: New file. * etc/dtf.sh.in: Likewise. * ansible_helpers/wait-for-ssh: Renamed to libexec/dtf-wait-for-ssh. * share/dtf-controller/parse_credsfile: Reworked script for parsing OS credentials. * parse_credsfile: Moved to share/dtf-controller. * libexec/dtf-wait-for-ssh: Renamed from wait-for-ssh. * ansible/*: Moved into share/dtf-controller/ansible/*. * share/dtf-controller/ansible/vars/generated-vars.yml.in: New template file exporting configure-time variables into playbooks.
Diffstat (limited to 'controller/share/dtf-controller/parse_credsfile')
-rw-r--r--controller/share/dtf-controller/parse_credsfile31
1 files changed, 31 insertions, 0 deletions
diff --git a/controller/share/dtf-controller/parse_credsfile b/controller/share/dtf-controller/parse_credsfile
new file mode 100644
index 0000000..2379e18
--- /dev/null
+++ b/controller/share/dtf-controller/parse_credsfile
@@ -0,0 +1,31 @@
+___perform_parsing()
+{
+ unset OS_USERNAME
+ local credsfile="$HOME/.dtf/private/os/$1.yml"
+
+ if test -z "$1"; then
+ echo >&2 "argument expected: OpenStack ID"
+ return 1
+ fi
+
+ if test ! -f "$credsfile"; then
+ echo >&2 "file '$credsfile' not found"
+ return 1
+ fi
+
+ while read line; do
+ if [[ "$line" =~ ^([a-zA-Z0-9_]*):\ ?(.*)$ ]]; then
+ key="${BASH_REMATCH[1]}"
+ if test "$key" = os_nova_password; then
+ key=os_password
+ fi
+ eval set ${BASH_REMATCH[2]}
+ eval export "${key^^}"="\"$@\""
+ fi
+ done < "$credsfile"
+}
+
+unset OS_AUTH_URL OS_PASSWORD OS_TENANT_ID OS_TENANT_NAME OS_USERNAME
+___perform_parsing "$@"
+
+# # vi: syntax=sh