From 0218ca12d42f00a39cdeb3583d0a19203c63f6f7 Mon Sep 17 00:00:00 2001 From: Maru Newby Date: Wed, 31 Jul 2013 21:51:10 -0700 Subject: [PATCH] Allow tempest repo uri and revision configuration * Different revisions of tempest are required for different releases of openstack, so it is helpful to be able to choose the git repo and repo revision that will be deployed. * The vcsrepo submodule is updated so that remote revisions are supported - previously providing a git revision did not work. Change-Id: If89c06d7c909dd4e5cc7b5b07291bf526a22ea70 --- packstack/installer/run_setup.py | 9 ++++++++- packstack/plugins/provision_700.py | 24 ++++++++++++++++++++++++ packstack/puppet/modules/vcsrepo | 2 +- packstack/puppet/templates/provision.pp | 12 +++++++----- 4 files changed, 40 insertions(+), 7 deletions(-) diff --git a/packstack/installer/run_setup.py b/packstack/installer/run_setup.py index 1d0eddb21..ddeccfea7 100644 --- a/packstack/installer/run_setup.py +++ b/packstack/installer/run_setup.py @@ -826,7 +826,14 @@ def validateSingleFlag(options, flag): raise FlagValidationError(msg) def setProvisioningDefaults(): - pnames = ['CONFIG_PROVISION_' + x for x in ['DEMO', 'TEMPEST', 'ALL_IN_ONE_OVS_BRIDGE']] + conf_ids = [ + 'DEMO', + 'TEMPEST', + 'TEMPEST_REPO_URI', + 'TEMPEST_REPO_REVISION', + 'ALL_IN_ONE_OVS_BRIDGE', + ] + pnames = ['CONFIG_PROVISION_' + x for x in conf_ids] params = [controller.getParamByName(x) for x in pnames] for param in params: controller.CONF[param.CONF_NAME] = ( diff --git a/packstack/plugins/provision_700.py b/packstack/plugins/provision_700.py index 8a5a55bcd..2731b652b 100644 --- a/packstack/plugins/provision_700.py +++ b/packstack/plugins/provision_700.py @@ -60,6 +60,30 @@ def initConfig(controllerObject): "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "CONDITION" : False }, + {"CMD_OPTION" : "provision-tempest-repo-uri", + "USAGE" : "The uri of the tempest git repository to use", + "PROMPT" : "What is the uri of the Tempest git repository?", + "OPTION_LIST" : [], + "VALIDATORS" : [validators.validate_not_empty], + "DEFAULT_VALUE" : "https://github.com/redhat-openstack/tempest.git", + "MASK_INPUT" : False, + "LOOSE_VALIDATION": True, + "CONF_NAME" : "CONFIG_PROVISION_TEMPEST_REPO_URI", + "USE_DEFAULT" : True, + "NEED_CONFIRM" : False, + "CONDITION" : False }, + {"CMD_OPTION" : "provision-tempest-repo-revision", + "USAGE" : "The revision of the tempest git repository to use", + "PROMPT" : "What revision, branch, or tag of the Tempest git repository should be used?", + "OPTION_LIST" : [], + "VALIDATORS" : [validators.validate_not_empty], + "DEFAULT_VALUE" : "master", + "MASK_INPUT" : False, + "LOOSE_VALIDATION": True, + "CONF_NAME" : "CONFIG_PROVISION_TEMPEST_REPO_REVISION", + "USE_DEFAULT" : True, + "NEED_CONFIRM" : False, + "CONDITION" : False }, ], "PROVISION_ALL_IN_ONE_OVS_BRIDGE" : [ {"CMD_OPTION" : "provision-all-in-one-ovs-bridge", diff --git a/packstack/puppet/modules/vcsrepo b/packstack/puppet/modules/vcsrepo index 2c81045b5..6f7507a2a 160000 --- a/packstack/puppet/modules/vcsrepo +++ b/packstack/puppet/modules/vcsrepo @@ -1 +1 @@ -Subproject commit 2c81045b533150e8963384a2e812f57e9bfde134 +Subproject commit 6f7507a2a48ff0a58c7db026760a2eb84e382a77 diff --git a/packstack/puppet/templates/provision.pp b/packstack/puppet/templates/provision.pp index d2f1d0b76..bd8330b89 100644 --- a/packstack/puppet/templates/provision.pp +++ b/packstack/puppet/templates/provision.pp @@ -1,9 +1,11 @@ class { 'openstack::provision': - admin_password => '%(CONFIG_KEYSTONE_ADMIN_PW)s', - password => '%(CONFIG_KEYSTONE_DEMO_PW)s', - configure_tempest => %(CONFIG_PROVISION_TEMPEST)s, - setup_ovs_bridge => %(CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE)s, - public_bridge_name => '%(CONFIG_NEUTRON_L3_EXT_BRIDGE)s' + admin_password => '%(CONFIG_KEYSTONE_ADMIN_PW)s', + password => '%(CONFIG_KEYSTONE_DEMO_PW)s', + configure_tempest => %(CONFIG_PROVISION_TEMPEST)s, + tempest_repo_uri => '%(CONFIG_PROVISION_TEMPEST_REPO_URI)s', + tempest_repo_revision => '%(CONFIG_PROVISION_TEMPEST_REPO_REVISION)s', + setup_ovs_bridge => %(CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE)s, + public_bridge_name => '%(CONFIG_NEUTRON_L3_EXT_BRIDGE)s' } firewall { '000 nat':