Install contrail-nova-driver pkg on computes
Since Ocata this package is required by computes with contrail
networking. It provides implementation of 'vrouter' vif plugin for nova
os_vif.
Change-Id: Iee45af175d795c8a245569b5c34ff45cc9211eb9
diff --git a/nova/map.jinja b/nova/map.jinja
index d99b5a4..b8f51e7 100644
--- a/nova/map.jinja
+++ b/nova/map.jinja
@@ -38,50 +38,67 @@
},
}, merge=pillar.nova.get('client', {})) %}
-{% set compute = salt['grains.filter_by']({
- 'Debian': {
- 'pkgs': ['nova-common', 'nova-compute-kvm', 'python-novaclient', 'pm-utils', 'sysfsutils', 'sg3-utils', 'libvirt-bin', 'python-memcache', 'qemu-kvm','python-guestfs', 'gettext-base'],
- 'services': ['nova-compute'],
- 'libvirt_config': 'libvirtd.conf',
- 'libvirt_bin': '/etc/default/libvirt-bin',
- 'libvirt_service': 'libvirt-bin',
- 'bind': compute_bind_defaults,
- 'debug': false,
- 'libvirt': [],
- 'instances_path': '$state_path/instances',
- 'notification': false,
- 'availability_zone': None,
- 'aggregates': [],
- 'identity': {
- 'region': 'RegionOne'
- },
- 'network': {
- 'region': 'RegionOne'
- },
- 'heal_instance_info_cache_interval': '60',
- },
- 'RedHat': {
- 'pkgs': ['openstack-nova-compute', 'python-novaclient', 'python-nova', 'sysfsutils', 'sg3_utils'],
- 'services': ['messagebus', 'openstack-nova-compute', 'libvirtd'],
- 'libvirt_config': 'libvirt.conf',
- 'libvirt_bin': '/etc/sysconfig/libvirtd',
- 'libvirt_service': 'libvirtd',
- 'bind': compute_bind_defaults,
- 'debug': false,
- 'libvirt': [],
- 'notification': false,
- 'availability_zone': None,
- 'identity': {
- 'region': 'RegionOne'
- },
- 'network': {
- 'region': 'RegionOne'
- },
- 'heal_instance_info_cache_interval': '60',
- },
-}, merge=pillar.nova.get('compute', {})) %}
+{%- load_yaml as compute_defaults %}
+Debian:
+ pkgs:
+ - nova-common
+ - nova-compute-kvm
+ - python-novaclient
+ - pm-utils
+ - sysfsutils
+ - sg3-utils
+ - libvirt-bin
+ - python-memcache
+ - qemu-kvm
+ - python-guestfs
+ - gettext-base
+ {%- if pillar.nova.compute is defined and pillar.nova.compute.get('networking', 'default') == "contrail" and pillar.nova.compute.get('version', 'ocata') not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
+ - contrail-nova-driver
+ {%- endif %}
+ services:
+ - nova-compute
+ libvirt_config: libvirtd.conf
+ libvirt_bin: "/etc/default/libvirt-bin"
+ libvirt_service: libvirt-bin
+ bind: compute_bind_defaults
+ debug: false
+ libvirt: []
+ instances_path: "$state_path/instances"
+ notification: false
+ availability_zone:
+ aggregates: []
+ identity:
+ region: RegionOne
+ network:
+ region: RegionOne
+ heal_instance_info_cache_interval: '60'
+RedHat:
+ pkgs:
+ - openstack-nova-compute
+ - python-novaclient
+ - python-nova
+ - sysfsutils
+ - sg3_utils
+ services:
+ - messagebus
+ - openstack-nova-compute
+ - libvirtd
+ libvirt_config: libvirt.conf
+ libvirt_bin: "/etc/sysconfig/libvirtd"
+ libvirt_service: libvirtd
+ bind: compute_bind_defaults
+ debug: false
+ libvirt: []
+ notification: false
+ availability_zone:
+ identity:
+ region: RegionOne
+ network:
+ region: RegionOne
+ heal_instance_info_cache_interval: '60'
+{%- endload %}
-
+{% set compute = salt["grains.filter_by"](compute_defaults, merge=pillar.nova.get("compute", {})) %}
{% set monitoring = salt['grains.filter_by']({
'default': {