summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkos Chandras <mchandras@suse.de>2018-09-19 16:28:10 +0100
committerMarkos Chandras <mchandras@suse.de>2018-09-19 17:40:54 +0100
commitb6367aeb802a0032ff08bbf96af590c91c52d43e (patch)
tree7e87f1ec7343884a1480aed1e361838ab05005bf
parentda13cd230fb877bbaa3037116f01e774d44c4b31 (diff)
xci: Add ability to pass command line options to xci-deploy.sh
We now support multiple PDF files so instead of introducing another env variable, we can simply pass this information as command line arguments to xci-deploy.sh. We can extend the script to allow more options line verbosity, scenario name, functest details etc so we can get rid of multiple env variables. Change-Id: I6c4a8d6e8b70e91746a659de923fee19019ed5e0 Signed-off-by: Markos Chandras <mchandras@suse.de>
-rw-r--r--xci/files/xci-lib.sh29
-rwxr-xr-xxci/playbooks/dynamic_inventory.py4
-rwxr-xr-xxci/xci-deploy.sh5
3 files changed, 36 insertions, 2 deletions
diff --git a/xci/files/xci-lib.sh b/xci/files/xci-lib.sh
index 064b9f68..2f360e44 100644
--- a/xci/files/xci-lib.sh
+++ b/xci/files/xci-lib.sh
@@ -10,6 +10,35 @@
# Avoid double sourcing the file
[[ -n ${XCI_LIB_SOURCED:-} ]] && return 0 || export XCI_LIB_SOURCED=1
+function usage() {
+ echo "
+Usage: $(basename ${0}) [-i <idf>] [-p <pdf>]
+
+ -h: This message
+ -i: Installer Descriptor File (IDF). (Default ${XCI_PATH}/xci/var/idf.yml)
+ -p: Pod Descriptor File (PDF). (Default ${XCI_PATH}/xci/var/pdf.yml)
+ "
+ exit 0
+}
+
+function parse_cmdline_opts() {
+ IDF=${XCI_PATH}/xci/var/idf.yml
+ PDF=${XCI_PATH}/xci/var/pdf.yml
+
+ while getopts ":hi:p:" o; do
+ case "${o}" in
+ i) IDF="${OPTARG}" ;;
+ p) PDF="${OPTARG}" ;;
+ h) usage ;;
+ *) echo "ERROR: Invalid option '-${OPTARG}'"; usage ;;
+ esac
+ done
+
+ # Do all the exports
+ export PDF=$(realpath ${PDF})
+ export IDF=$(realpath ${IDF})
+}
+
function bootstrap_xci_env() {
# Declare our virtualenv
export XCI_VENV=${XCI_PATH}/venv/
diff --git a/xci/playbooks/dynamic_inventory.py b/xci/playbooks/dynamic_inventory.py
index 9a1624b0..f6e93398 100755
--- a/xci/playbooks/dynamic_inventory.py
+++ b/xci/playbooks/dynamic_inventory.py
@@ -74,8 +74,8 @@ class XCIInventory(object):
self.args = parser.parse_args()
def read_pdf_idf(self):
- pdf_file = os.path.dirname(os.path.realpath(__file__)) + "/../var/pdf.yml"
- idf_file = os.path.dirname(os.path.realpath(__file__)) + "/../var/idf.yml"
+ pdf_file = os.environ['PDF']
+ idf_file = os.environ['IDF']
nodes = []
host_networks = {}
diff --git a/xci/xci-deploy.sh b/xci/xci-deploy.sh
index c1654151..d9c41968 100755
--- a/xci/xci-deploy.sh
+++ b/xci/xci-deploy.sh
@@ -50,6 +50,11 @@ done
unset user_local_dev_vars local_user_var
#
+# Parse command line options
+#
+parse_cmdline_opts $*
+
+#
# Bootstrap environment for XCI Deployment
#
echo "Info: Preparing host environment for the XCI deployment"