aboutsummaryrefslogtreecommitdiff
path: root/kolla
diff options
context:
space:
mode:
authorMark Goddard <mark@stackhpc.com>2019-12-06 11:13:37 +0000
committerMark Goddard <mark@stackhpc.com>2019-12-06 13:37:04 +0000
commit55d8828be3d3476d6f3201682796fc3883ff615b (patch)
treed977b8061687728b141202f08a1987fde80b1eab /kolla
parentdf987c9d3fca40e0a7529e48a3626dfdd58e2168 (diff)
downloadkolla-55d8828be3d3476d6f3201682796fc3883ff615b.tar.gz
kolla-55d8828be3d3476d6f3201682796fc3883ff615b.zip
Switch to stable/train for source images on CentOS/RHEL
OpenStack projects are beginning to drop python 2 support on the master branch. CentOS 8 is not yet ready, so our best option to continue building and testing CentOS is to use the Train tarballs for source images. This change also introduces a new openstack_branch config option which can be used to set the branch used for source images. For CentOS/RHEL, the default is stable-train, for Debian/Ubuntu it it master. Change-Id: Ieab5e06a3c05951d97bb979ab735b4cef675cc0a
Diffstat (limited to 'kolla')
-rwxr-xr-xkolla/common/config.py234
1 files changed, 123 insertions, 111 deletions
diff --git a/kolla/common/config.py b/kolla/common/config.py
index 0c4dc5ae3..689631010 100755
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -33,7 +33,12 @@ DISTRO_RELEASE = {
'debian': '10',
'ubuntu': '18.04',
}
-OPENSTACK_RELEASE = 'master'
+OPENSTACK_RELEASE = {
+ 'centos': 'train',
+ 'rhel': 'train',
+ 'debian': 'master',
+ 'ubuntu': 'master',
+}
# This is noarch repository so we will use it on all architectures
DELOREAN = \
@@ -246,8 +251,10 @@ _CLI_OPTS = [
help=('Squash the image layers. WARNING: it will consume lots'
' of disk IO. "docker-squash" tool is required, install'
' it by "pip install docker-squash"')),
- cfg.StrOpt('openstack-release', default=OPENSTACK_RELEASE,
+ cfg.StrOpt('openstack-release', default='master',
help='OpenStack release for building kolla-toolbox'),
+ cfg.StrOpt('openstack-branch', default='master',
+ help='Branch for source images'),
]
_BASE_OPTS = [
@@ -281,67 +288,67 @@ SOURCES = {
'openstack-base': {
'type': 'url',
'location': ('$tarballs_base/requirements/'
- 'requirements-master.tar.gz')},
+ 'requirements-${openstack_branch}.tar.gz')},
'aodh-base': {
'type': 'url',
'location': ('$tarballs_base/aodh/'
- 'aodh-master.tar.gz')},
+ 'aodh-${openstack_branch}.tar.gz')},
'barbican-base': {
'type': 'url',
'location': ('$tarballs_base/barbican/'
- 'barbican-master.tar.gz')},
+ 'barbican-${openstack_branch}.tar.gz')},
'bifrost-base': {
'type': 'url',
'location': ('$tarballs_base/bifrost/'
- 'bifrost-master.tar.gz')},
+ 'bifrost-${openstack_branch}.tar.gz')},
'blazar-base': {
'type': 'url',
'location': ('$tarballs_base/blazar/'
- 'blazar-master.tar.gz')},
+ 'blazar-${openstack_branch}.tar.gz')},
'ceilometer-base': {
'type': 'url',
'location': ('$tarballs_base/ceilometer/'
- 'ceilometer-master.tar.gz')},
+ 'ceilometer-${openstack_branch}.tar.gz')},
'ceilometer-base-plugin-panko': {
'type': 'url',
'location': ('$tarballs_base/panko/'
- 'panko-master.tar.gz')},
+ 'panko-${openstack_branch}.tar.gz')},
'cinder-base': {
'type': 'url',
'location': ('$tarballs_base/cinder/'
- 'cinder-master.tar.gz')},
+ 'cinder-${openstack_branch}.tar.gz')},
'congress-base': {
'type': 'url',
'location': ('$tarballs_base/congress/'
- 'congress-master.tar.gz')},
+ 'congress-${openstack_branch}.tar.gz')},
'cloudkitty-base': {
'type': 'url',
'location': ('$tarballs_base/cloudkitty/'
- 'cloudkitty-master.tar.gz')},
+ 'cloudkitty-${openstack_branch}.tar.gz')},
'cyborg-base': {
'type': 'url',
'location': ('$tarballs_base/cyborg/'
- 'cyborg-master.tar.gz')},
+ 'cyborg-${openstack_branch}.tar.gz')},
'designate-base': {
'type': 'url',
'location': ('$tarballs_base/designate/'
- 'designate-master.tar.gz')},
+ 'designate-${openstack_branch}.tar.gz')},
'ec2-api': {
'type': 'url',
'location': ('$tarballs_base/ec2-api/'
- 'ec2-api-master.tar.gz')},
+ 'ec2-api-${openstack_branch}.tar.gz')},
'freezer-api': {
'type': 'url',
'location': ('$tarballs_base/freezer-api/'
- 'freezer-api-master.tar.gz')},
+ 'freezer-api-${openstack_branch}.tar.gz')},
'freezer-base': {
'type': 'url',
'location': ('$tarballs_base/freezer/'
- 'freezer-master.tar.gz')},
+ 'freezer-${openstack_branch}.tar.gz')},
'glance-base': {
'type': 'url',
'location': ('$tarballs_base/glance/'
- 'glance-master.tar.gz')},
+ 'glance-${openstack_branch}.tar.gz')},
'gnocchi-base': {
'type': 'git',
'reference': 'master',
@@ -350,195 +357,195 @@ SOURCES = {
'heat-base': {
'type': 'url',
'location': ('$tarballs_base/heat/'
- 'heat-master.tar.gz')},
+ 'heat-${openstack_branch}.tar.gz')},
'horizon': {
'type': 'url',
'location': ('$tarballs_base/horizon/'
- 'horizon-master.tar.gz')},
+ 'horizon-${openstack_branch}.tar.gz')},
'horizon-plugin-blazar-dashboard': {
'type': 'url',
'location': ('$tarballs_base/blazar-dashboard/'
- 'blazar-dashboard-master.tar.gz')},
+ 'blazar-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-congress-dashboard': {
'type': 'url',
'location': ('$tarballs_base/congress-dashboard/'
- 'congress-dashboard-master.tar.gz')},
+ 'congress-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-cloudkitty-dashboard': {
'type': 'url',
'location': ('$tarballs_base/cloudkitty-dashboard/'
- 'cloudkitty-dashboard-master.tar.gz')},
+ 'cloudkitty-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-designate-dashboard': {
'type': 'url',
'location': ('$tarballs_base/designate-dashboard/'
- 'designate-dashboard-master.tar.gz')},
+ 'designate-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-fwaas-dashboard': {
'type': 'url',
'location': ('$tarballs_base/neutron-fwaas-dashboard/'
- 'neutron-fwaas-dashboard-master.tar.gz')},
+ 'neutron-fwaas-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-freezer-web-ui': {
'type': 'url',
'location': ('$tarballs_base/freezer-web-ui/'
- 'freezer-web-ui-master.tar.gz')},
+ 'freezer-web-ui-${openstack_branch}.tar.gz')},
'horizon-plugin-heat-dashboard': {
'type': 'url',
'location': ('$tarballs_base/heat-dashboard/'
- 'heat-dashboard-master.tar.gz')},
+ 'heat-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-ironic-ui': {
'type': 'url',
'location': ('$tarballs_base/ironic-ui/'
- 'ironic-ui-master.tar.gz')},
+ 'ironic-ui-${openstack_branch}.tar.gz')},
'horizon-plugin-karbor-dashboard': {
'type': 'url',
'location': ('$tarballs_base/karbor-dashboard/'
- 'karbor-dashboard-master.tar.gz')},
+ 'karbor-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-magnum-ui': {
'type': 'url',
'location': ('$tarballs_base/magnum-ui/'
- 'magnum-ui-master.tar.gz')},
+ 'magnum-ui-${openstack_branch}.tar.gz')},
'horizon-plugin-manila-ui': {
'type': 'url',
'location': ('$tarballs_base/manila-ui/'
- 'manila-ui-master.tar.gz')},
+ 'manila-ui-${openstack_branch}.tar.gz')},
'horizon-plugin-masakari-dashboard': {
'type': 'url',
'location': ('$tarballs_base/masakari-dashboard/'
- 'masakari-dashboard-master.tar.gz')},
+ 'masakari-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-mistral-dashboard': {
'type': 'url',
'location': ('$tarballs_base/mistral-dashboard/'
- 'mistral-dashboard-master.tar.gz')},
+ 'mistral-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-monasca-ui': {
'type': 'url',
'location': ('$tarballs_base/monasca-ui/'
- 'monasca-ui-master.tar.gz')},
+ 'monasca-ui-${openstack_branch}.tar.gz')},
'horizon-plugin-murano-dashboard': {
'type': 'url',
'location': ('$tarballs_base/murano-dashboard/'
- 'murano-dashboard-master.tar.gz')},
+ 'murano-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-neutron-vpnaas-dashboard': {
'type': 'url',
'location': ('$tarballs_base/neutron-vpnaas-dashboard/'
- 'neutron-vpnaas-dashboard-master.tar.gz')},
+ 'neutron-vpnaas-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-octavia-dashboard': {
'type': 'url',
'location': ('$tarballs_base/octavia-dashboard/'
- 'octavia-dashboard-master.tar.gz')},
+ 'octavia-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-qinling-dashboard': {
'type': 'url',
'location': ('$tarballs_base/qinling-dashboard/'
- 'qinling-dashboard-master.tar.gz')},
+ 'qinling-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-sahara-dashboard': {
'type': 'url',
'location': ('$tarballs_base/sahara-dashboard/'
- 'sahara-dashboard-master.tar.gz')},
+ 'sahara-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-searchlight-ui': {
'type': 'url',
'location': ('$tarballs_base/searchlight-ui/'
- 'searchlight-ui-master.tar.gz')},
+ 'searchlight-ui-${openstack_branch}.tar.gz')},
'horizon-plugin-senlin-dashboard': {
'type': 'url',
'location': ('$tarballs_base/senlin-dashboard/'
- 'senlin-dashboard-master.tar.gz')},
+ 'senlin-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-solum-dashboard': {
'type': 'url',
'location': ('$tarballs_base/solum-dashboard/'
- 'solum-dashboard-master.tar.gz')},
+ 'solum-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-tacker-dashboard': {
'type': 'url',
'location': ('$tarballs_base/tacker-horizon/'
- 'tacker-horizon-master.tar.gz')},
+ 'tacker-horizon-${openstack_branch}.tar.gz')},
'horizon-plugin-trove-dashboard': {
'type': 'url',
'location': ('$tarballs_base/trove-dashboard/'
- 'trove-dashboard-master.tar.gz')},
+ 'trove-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-vitrage-dashboard': {
'type': 'url',
'location': ('$tarballs_base/vitrage-dashboard/'
- 'vitrage-dashboard-master.tar.gz')},
+ 'vitrage-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-watcher-dashboard': {
'type': 'url',
'location': ('$tarballs_base/watcher-dashboard/'
- 'watcher-dashboard-master.tar.gz')},
+ 'watcher-dashboard-${openstack_branch}.tar.gz')},
'horizon-plugin-zaqar-ui': {
'type': 'url',
'location': ('$tarballs_base/zaqar-ui/'
- 'zaqar-ui-master.tar.gz')},
+ 'zaqar-ui-${openstack_branch}.tar.gz')},
'horizon-plugin-zun-ui': {
'type': 'url',
'location': ('$tarballs_base/zun-ui/'
- 'zun-ui-master.tar.gz')},
+ 'zun-ui-${openstack_branch}.tar.gz')},
'ironic-base': {
'type': 'url',
'location': ('$tarballs_base/ironic/'
- 'ironic-master.tar.gz')},
+ 'ironic-${openstack_branch}.tar.gz')},
'ironic-inspector': {
'type': 'url',
'location': ('$tarballs_base/ironic-inspector/'
- 'ironic-inspector-master.tar.gz')},
+ 'ironic-inspector-${openstack_branch}.tar.gz')},
'karbor-base': {
'type': 'url',
'location': ('$tarballs_base/karbor/'
- 'karbor-master.tar.gz')},
+ 'karbor-${openstack_branch}.tar.gz')},
'keystone-base': {
'type': 'url',
'location': ('$tarballs_base/keystone/'
- 'keystone-master.tar.gz')},
+ 'keystone-${openstack_branch}.tar.gz')},
'kuryr-base': {
'type': 'url',
'location': ('$tarballs_base/kuryr/'
- 'kuryr-master.tar.gz')},
+ 'kuryr-${openstack_branch}.tar.gz')},
'kuryr-libnetwork': {
'type': 'url',
'location': ('$tarballs_base/kuryr-libnetwork/'
- 'kuryr-libnetwork-master.tar.gz')},
+ 'kuryr-libnetwork-${openstack_branch}.tar.gz')},
'magnum-base': {
'type': 'url',
'location': ('$tarballs_base/magnum/'
- 'magnum-master.tar.gz')},
+ 'magnum-${openstack_branch}.tar.gz')},
'manila-base': {
'type': 'url',
'location': ('$tarballs_base/manila/'
- 'manila-master.tar.gz')},
+ 'manila-${openstack_branch}.tar.gz')},
'masakari-base': {
'type': 'url',
'location': ('$tarballs_base/masakari/'
- 'masakari-master.tar.gz')},
+ 'masakari-${openstack_branch}.tar.gz')},
'masakari-monitors': {
'type': 'url',
'location': ('$tarballs_base/masakari-monitors/'
- 'masakari-monitors-master.tar.gz')},
+ 'masakari-monitors-${openstack_branch}.tar.gz')},
'mistral-base': {
'type': 'url',
'location': ('$tarballs_base/mistral/'
- 'mistral-master.tar.gz')},
+ 'mistral-${openstack_branch}.tar.gz')},
'mistral-base-plugin-tacker': {
'type': 'url',
'location': ('$tarballs_base/tacker/'
- 'tacker-master.tar.gz')},
+ 'tacker-${openstack_branch}.tar.gz')},
'monasca-agent': {
'type': 'url',
'location': ('$tarballs_base/monasca-agent/'
- 'monasca-agent-master.tar.gz')},
+ 'monasca-agent-${openstack_branch}.tar.gz')},
'monasca-api': {
'type': 'url',
'location': ('$tarballs_base/monasca-api/'
- 'monasca-api-master.tar.gz')},
+ 'monasca-api-${openstack_branch}.tar.gz')},
'monasca-log-api': {
'type': 'url',
'location': ('$tarballs_base/monasca-log-api/'
- 'monasca-log-api-master.tar.gz')},
+ 'monasca-log-api-${openstack_branch}.tar.gz')},
'monasca-notification': {
'type': 'url',
'location': ('$tarballs_base/monasca-notification/'
- 'monasca-notification-master.tar.gz')},
+ 'monasca-notification-${openstack_branch}.tar.gz')},
'monasca-persister': {
'type': 'url',
'location': ('$tarballs_base/monasca-persister/'
- 'monasca-persister-master.tar.gz')},
+ 'monasca-persister-${openstack_branch}.tar.gz')},
'monasca-statsd': {
'type': 'url',
'location': ('$tarballs_base/monasca-statsd/'
- 'monasca-statsd-master.tar.gz')},
+ 'monasca-statsd-${openstack_branch}.tar.gz')},
# FIXME(dszumski): Use openstack tar when infra is fixed
'monasca-thresh': {
'type': 'url',
@@ -547,91 +554,91 @@ SOURCES = {
'monasca-thresh-additions-monasca-common': {
'type': 'url',
'location': ('$tarballs_base/monasca-common/'
- 'monasca-common-master.tar.gz')},
+ 'monasca-common-${openstack_branch}.tar.gz')},
'murano-base': {
'type': 'url',
'location': ('$tarballs_base/murano/'
- 'murano-master.tar.gz')},
+ 'murano-${openstack_branch}.tar.gz')},
'neutron-base': {
'type': 'url',
'location': ('$tarballs_base/neutron/'
- 'neutron-master.tar.gz')},
+ 'neutron-${openstack_branch}.tar.gz')},
'neutron-base-plugin-neutron-fwaas': {
'type': 'url',
'location': ('$tarballs_base/neutron-fwaas/'
- 'neutron-fwaas-master.tar.gz')},
+ 'neutron-fwaas-${openstack_branch}.tar.gz')},
'neutron-base-plugin-networking-ansible': {
'type': 'url',
'location': ('$tarballs_base/networking-ansible/'
- 'networking-ansible-master.tar.gz')},
+ 'networking-ansible-${openstack_branch}.tar.gz')},
'neutron-base-plugin-networking-baremetal': {
'type': 'url',
'location': ('$tarballs_base/networking-baremetal/'
- 'networking-baremetal-master.tar.gz')},
+ 'networking-baremetal-${openstack_branch}.tar.gz')},
'neutron-base-plugin-networking-generic-switch': {
'type': 'url',
'location': ('$tarballs_base/networking-generic-switch/'
- 'networking-generic-switch-master.tar.gz')},
+ 'networking-generic-switch-${openstack_branch}.tar.gz')},
'neutron-base-plugin-networking-sfc': {
'type': 'url',
'location': ('$tarballs_base/networking-sfc/'
- 'networking-sfc-master.tar.gz')},
+ 'networking-sfc-${openstack_branch}.tar.gz')},
'neutron-base-plugin-vmware-nsx': {
'type': 'url',
'location': ('$tarballs_base/vmware-nsx/'
- 'vmware-nsx-master.tar.gz')},
+ 'vmware-nsx-${openstack_branch}.tar.gz')},
'neutron-base-plugin-vpnaas-agent': {
'type': 'url',
'location': ('$tarballs_base/neutron-vpnaas/'
- 'neutron-vpnaas-master.tar.gz')},
+ 'neutron-vpnaas-${openstack_branch}.tar.gz')},
'neutron-bgp-dragent': {
'type': 'url',
'location': ('$tarballs_base/neutron-dynamic-routing/'
- 'neutron-dynamic-routing-master.tar.gz')},
+ 'neutron-dynamic-routing-${openstack_branch}.tar.gz')},
'neutron-server-opendaylight-plugin-networking-odl': {
'type': 'url',
'location': ('$tarballs_base/networking-odl/'
- 'networking-odl-master.tar.gz')},
+ 'networking-odl-${openstack_branch}.tar.gz')},
'neutron-server-opendaylight-plugin-networking-bgpvpn': {
'type': 'url',
'location': ('$tarballs_base/networking-bgpvpn/'
- 'networking-bgpvpn-master.tar.gz')},
+ 'networking-bgpvpn-${openstack_branch}.tar.gz')},
'neutron-server-opendaylight-plugin-networking-l2gw': {
'type': 'url',
'location': ('$tarballs_base/networking-l2gw/'
- 'networking-l2gw-master.tar.gz')},
+ 'networking-l2gw-${openstack_branch}.tar.gz')},
'neutron-server-opendaylight-plugin-networking-sfc': {
'type': 'url',
'location': ('$tarballs_base/networking-sfc/'
- 'networking-sfc-master.tar.gz')},
+ 'networking-sfc-${openstack_branch}.tar.gz')},
'neutron-server-plugin-neutron-dynamic-routing': {
'type': 'url',
'location': ('$tarballs_base/neutron-dynamic-routing/'
- 'neutron-dynamic-routing-master.tar.gz')},
+ 'neutron-dynamic-routing-${openstack_branch}.tar.gz')},
'neutron-server-plugin-vmware-nsxlib': {
'type': 'url',
'location': ('$tarballs_base/vmware-nsxlib/'
- 'vmware-nsxlib-master.tar.gz')},
+ 'vmware-nsxlib-${openstack_branch}.tar.gz')},
'neutron-vpnaas-agent': {
'type': 'url',
'location': ('$tarballs_base/neutron-vpnaas/'
- 'neutron-vpnaas-master.tar.gz')},
+ 'neutron-vpnaas-${openstack_branch}.tar.gz')},
'neutron-server-ovn-plugin-networking-ovn': {
'type': 'url',
'location': ('$tarballs_base/networking-ovn/'
- 'networking-ovn-master.tar.gz')},
+ 'networking-ovn-${openstack_branch}.tar.gz')},
'neutron-metadata-agent-ovn-plugin-networking-ovn': {
'type': 'url',
'location': ('$tarballs_base/networking-ovn/'
- 'networking-ovn-master.tar.gz')},
+ 'networking-ovn-${openstack_branch}.tar.gz')},
'nova-base': {
'type': 'url',
'location': ('$tarballs_base/nova/'
- 'nova-master.tar.gz')},
+ 'nova-${openstack_branch}.tar.gz')},
'nova-base-plugin-blazar': {
'type': 'url',
'location': ('$tarballs_base/blazar-nova/'
- 'blazar-nova-master.tar.gz')},
+ 'blazar-nova-${openstack_branch}.tar.gz')},
'nova-base-plugin-mksproxy': {
'type': 'url',
'location': ('$tarballs_base/nova-mksproxy/'
@@ -643,19 +650,19 @@ SOURCES = {
'octavia-base': {
'type': 'url',
'location': ('$tarballs_base/octavia/'
- 'octavia-master.tar.gz')},
+ 'octavia-${openstack_branch}.tar.gz')},
'panko-base': {
'type': 'url',
'location': ('$tarballs_base/panko/'
- 'panko-master.tar.gz')},
+ 'panko-${openstack_branch}.tar.gz')},
'placement-base': {
'type': 'url',
'location': ('$tarballs_base/placement/'
- 'placement-master.tar.gz')},
+ 'placement-${openstack_branch}.tar.gz')},
'qinling-base': {
'type': 'url',
'location': ('$tarballs_base/qinling/'
- 'qinling-master.tar.gz')},
+ 'qinling-${openstack_branch}.tar.gz')},
'tempest-plugin-tempest-conf': {
'type': 'url',
'location': ('$tarballs_base/python-tempestconf/'
@@ -727,7 +734,8 @@ SOURCES = {
'tempest-plugin-tripleo-common': {
'type': 'url',
'location': ('$tarballs_base/tripleo-common-tempest-plugin/'
- 'tripleo-common-tempest-plugin-master.tar.gz')},
+ 'tripleo-common-tempest-plugin-master.'
+ 'tar.gz')},
'tempest-plugin-trove': {
'type': 'url',
'location': ('$tarballs_base/trove-tempest-plugin/'
@@ -751,55 +759,55 @@ SOURCES = {
'sahara-base': {
'type': 'url',
'location': ('$tarballs_base/sahara/'
- 'sahara-master.tar.gz')},
+ 'sahara-${openstack_branch}.tar.gz')},
'sahara-base-plugin-ambari': {
'type': 'url',
'location': ('$tarballs_base/sahara-plugin-ambari/'
- 'sahara-plugin-ambari-master.tar.gz')},
+ 'sahara-plugin-ambari-${openstack_branch}.tar.gz')},
'sahara-base-plugin-cdh': {
'type': 'url',
'location': ('$tarballs_base/sahara-plugin-cdh/'
- 'sahara-plugin-cdh-master.tar.gz')},
+ 'sahara-plugin-cdh-${openstack_branch}.tar.gz')},
'sahara-base-plugin-mapr': {
'type': 'url',
'location': ('$tarballs_base/sahara-plugin-mapr/'
- 'sahara-plugin-mapr-master.tar.gz')},
+ 'sahara-plugin-mapr-${openstack_branch}.tar.gz')},
'sahara-base-plugin-spark': {
'type': 'url',
'location': ('$tarballs_base/sahara-plugin-spark/'
- 'sahara-plugin-spark-master.tar.gz')},
+ 'sahara-plugin-spark-${openstack_branch}.tar.gz')},
'sahara-base-plugin-storm': {
'type': 'url',
'location': ('$tarballs_base/sahara-plugin-storm/'
- 'sahara-plugin-storm-master.tar.gz')},
+ 'sahara-plugin-storm-${openstack_branch}.tar.gz')},
'sahara-base-plugin-vanilla': {
'type': 'url',
'location': ('$tarballs_base/sahara-plugin-vanilla/'
- 'sahara-plugin-vanilla-master.tar.gz')},
+ 'sahara-plugin-vanilla-${openstack_branch}.tar.gz')},
'searchlight-base': {
'type': 'url',
'location': ('$tarballs_base/searchlight/'
- 'searchlight-master.tar.gz')},
+ 'searchlight-${openstack_branch}.tar.gz')},
'senlin-base': {
'type': 'url',
'location': ('$tarballs_base/senlin/'
- 'senlin-master.tar.gz')},
+ 'senlin-${openstack_branch}.tar.gz')},
'solum-base': {
'type': 'url',
'location': ('$tarballs_base/solum/'
- 'solum-master.tar.gz')},
+ 'solum-${openstack_branch}.tar.gz')},
'swift-base': {
'type': 'url',
'location': ('$tarballs_base/swift/'
- 'swift-master.tar.gz')},
+ 'swift-${openstack_branch}.tar.gz')},
'tacker-base': {
'type': 'url',
'location': ('$tarballs_base/tacker/'
- 'tacker-master.tar.gz')},
+ 'tacker-${openstack_branch}.tar.gz')},
'tacker-base-plugin-networking-sfc': {
'type': 'url',
'location': ('$tarballs_base/networking-sfc/'
- 'networking-sfc-master.tar.gz')},
+ 'networking-sfc-${openstack_branch}.tar.gz')},
'tempest': {
'type': 'url',
'location': ('$tarballs_base/tempest/'
@@ -811,11 +819,11 @@ SOURCES = {
'trove-base': {
'type': 'url',
'location': ('$tarballs_base/trove/'
- 'trove-master.tar.gz')},
+ 'trove-${openstack_branch}.tar.gz')},
'vitrage-base': {
'type': 'url',
'location': ('$tarballs_base/vitrage/'
- 'vitrage-master.tar.gz')},
+ 'vitrage-${openstack_branch}.tar.gz')},
'vmtp': {
'type': 'url',
'location': ('$tarballs_base/vmtp/'
@@ -823,15 +831,15 @@ SOURCES = {
'watcher-base': {
'type': 'url',
'location': ('$tarballs_base/watcher/'
- 'watcher-master.tar.gz')},
+ 'watcher-${openstack_branch}.tar.gz')},
'zaqar-base': {
'type': 'url',
'location': ('$tarballs_base/zaqar/'
- 'zaqar-master.tar.gz')},
+ 'zaqar-${openstack_branch}.tar.gz')},
'zun-base': {
'type': 'url',
'location': ('$tarballs_base/zun/'
- 'zun-master.tar.gz')}
+ 'zun-${openstack_branch}.tar.gz')}
}
@@ -1235,6 +1243,10 @@ def parse(conf, args, usage=None, prog=None,
# NOTE(jeffrey4l): set the default base tag based on the
# base option
conf.set_default('base_tag', DEFAULT_BASE_TAGS.get(conf.base))
+ conf.set_default('openstack_release', OPENSTACK_RELEASE.get(conf.base))
+ prefix = '' if conf.openstack_release == 'master' else 'stable-'
+ openstack_branch = '{}{}'.format(prefix, conf.openstack_release)
+ conf.set_default('openstack_branch', openstack_branch)
if not conf.base_image:
conf.base_image = conf.base