diff --git a/hooks/charmhelpers/contrib/openstack/context.py b/hooks/charmhelpers/contrib/openstack/context.py index 92924e3..ccd5526 100644 --- a/hooks/charmhelpers/contrib/openstack/context.py +++ b/hooks/charmhelpers/contrib/openstack/context.py @@ -370,7 +370,7 @@ class NeutronContext(object): return None def _ensure_packages(self): - ensure_packages(self.packages) + [ensure_packages(pkgs) for pkgs in self.packages] def _save_flag_file(self): if self.network_manager == 'quantum': diff --git a/hooks/charmhelpers/contrib/openstack/neutron.py b/hooks/charmhelpers/contrib/openstack/neutron.py index 37b5a7b..d18d41e 100644 --- a/hooks/charmhelpers/contrib/openstack/neutron.py +++ b/hooks/charmhelpers/contrib/openstack/neutron.py @@ -23,15 +23,15 @@ def quantum_plugins(): database=config('neutron-database'), relation_prefix='neutron')], 'services': ['quantum-plugin-openvswitch-agent'], - 'packages': ['quantum-plugin-openvswitch-agent', - 'openvswitch-datapath-dkms'], + 'packages': [['openvswitch-datapath-dkms'], + ['quantum-plugin-openvswitch-agent']], }, 'nvp': { 'config': '/etc/quantum/plugins/nicira/nvp.ini', 'driver': 'quantum.plugins.nicira.nicira_nvp_plugin.' 'QuantumPlugin.NvpPluginV2', 'services': [], - 'packages': ['quantum-plugin-nicira'], + 'packages': [], } } @@ -49,15 +49,15 @@ def neutron_plugins(): database=config('neutron-database'), relation_prefix='neutron')], 'services': ['neutron-plugin-openvswitch-agent'], - 'packages': ['neutron-plugin-openvswitch-agent', - 'openvswitch-datapath-dkms'], + 'packages': [['openvswitch-datapath-dkms'], + ['quantum-plugin-openvswitch-agent']], }, 'nvp': { 'config': '/etc/neutron/plugins/nicira/nvp.ini', 'driver': 'neutron.plugins.nicira.nicira_nvp_plugin.' 'NeutronPlugin.NvpPluginV2', 'services': [], - 'packages': ['neutron-plugin-nicira'], + 'packages': [], } } diff --git a/hooks/charmhelpers/contrib/openstack/utils.py b/hooks/charmhelpers/contrib/openstack/utils.py index 39f627d..62d207f 100644 --- a/hooks/charmhelpers/contrib/openstack/utils.py +++ b/hooks/charmhelpers/contrib/openstack/utils.py @@ -45,16 +45,17 @@ OPENSTACK_CODENAMES = OrderedDict([ ]) # The ugly duckling -SWIFT_CODENAMES = { - '1.4.3': 'diablo', - '1.4.8': 'essex', - '1.7.4': 'folsom', - '1.7.6': 'grizzly', - '1.7.7': 'grizzly', - '1.8.0': 'grizzly', - '1.9.0': 'havana', - '1.9.1': 'havana', -} +SWIFT_CODENAMES = OrderedDict([ + ('1.4.3', 'diablo'), + ('1.4.8', 'essex'), + ('1.7.4', 'folsom'), + ('1.8.0', 'grizzly'), + ('1.7.7', 'grizzly'), + ('1.7.6', 'grizzly'), + ('1.10.0', 'havana'), + ('1.9.1', 'havana'), + ('1.9.0', 'havana'), +]) def error_out(msg): @@ -137,8 +138,11 @@ def get_os_codename_package(package, fatal=True): try: if 'swift' in pkg.name: - vers = vers[:5] - return SWIFT_CODENAMES[vers] + swift_vers = vers[:5] + if swift_vers not in SWIFT_CODENAMES: + # Deal with 1.10.0 upward + swift_vers = vers[:6] + return SWIFT_CODENAMES[swift_vers] else: vers = vers[:6] return OPENSTACK_CODENAMES[vers]