Merge "Fix typo in README.rst"
diff --git a/nova/files/liberty/nova-compute.conf.Debian b/nova/files/liberty/nova-compute.conf.Debian
index 9ed941e..acb4679 100644
--- a/nova/files/liberty/nova-compute.conf.Debian
+++ b/nova/files/liberty/nova-compute.conf.Debian
@@ -87,13 +87,18 @@
service_down_time = 90
{% if pillar.ceilometer is defined %}
-
instance_usage_audit = True
instance_usage_audit_period = hour
-notify_on_state_change = vm_and_task_state
-
{% endif %}
+{%- if compute.get('notification', {}).notify_on is defined %}
+{%- for key, value in compute.notification.notify_on.iteritems() %}
+notify_on_{{ key }} = {{ value }}
+{%- endfor %}
+{%- elif pillar.ceilometer is defined %}
+notify_on_state_change = vm_and_task_state
+{%- endif %}
+
{%- if compute.notification is defined %}
notification_driver = {{ compute.notification.driver }}
diff --git a/nova/files/liberty/nova-controller.conf.Debian b/nova/files/liberty/nova-controller.conf.Debian
index 864a778..d979217 100644
--- a/nova/files/liberty/nova-controller.conf.Debian
+++ b/nova/files/liberty/nova-controller.conf.Debian
@@ -116,6 +116,16 @@
lock_path = /var/lib/nova/tmp
+[oslo_messaging_notifications]
+{%- if controller.notification is mapping %}
+driver = {{ controller.notification.get('driver', 'messagingv2') }}
+{%- if controller.notification.topics is defined %}
+topics = {{ controller.notification.topics }}
+{%- endif %}
+{%- elif controller.notification %}
+driver=messagingv2
+{%- endif %}
+
[oslo_messaging_rabbit]
{%- if controller.message_queue.members is defined %}
rabbit_hosts = {% for member in controller.message_queue.members -%}
diff --git a/nova/files/mitaka/nova-compute.conf.Debian b/nova/files/mitaka/nova-compute.conf.Debian
index 4721236..3cd526e 100644
--- a/nova/files/mitaka/nova-compute.conf.Debian
+++ b/nova/files/mitaka/nova-compute.conf.Debian
@@ -52,19 +52,28 @@
service_down_time = 90
{% if pillar.ceilometer is defined %}
-
instance_usage_audit = True
instance_usage_audit_period = hour
+{%- endif %}
+
+{%- if compute.get('notification', {}).notify_on is defined %}
+{%- for key, value in compute.notification.notify_on.iteritems() %}
+notify_on_{{ key }} = {{ value }}
+{%- endfor %}
+{%- elif pillar.ceilometer is defined %}
notify_on_state_change = vm_and_task_state
-notification_topics=notifications
-instance_usage_audit_period=hour
-{% endif %}
+{%- endif %}
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[oslo_messaging_notifications]
-{%- if compute.notification is defined %}
+{%- if compute.notification is mapping %}
+driver = {{ compute.notification.get('driver', 'messagingv2') }}
+{%- if compute.notification.topics is defined %}
+topics = {{ compute.notification.topics }}
+{%- endif %}
+{%- elif compute.notification %}
driver = messagingv2
{%- endif %}
diff --git a/nova/files/mitaka/nova-controller.conf.Debian b/nova/files/mitaka/nova-controller.conf.Debian
index a01be60..5d533b6 100644
--- a/nova/files/mitaka/nova-controller.conf.Debian
+++ b/nova/files/mitaka/nova-controller.conf.Debian
@@ -92,6 +92,16 @@
lock_path = /var/lib/nova/tmp
+[oslo_messaging_notifications]
+{%- if controller.notification is mapping %}
+driver = {{ controller.notification.get('driver', 'messagingv2') }}
+{%- if controller.notification.topics is defined %}
+topics = {{ controller.notification.topics }}
+{%- endif %}
+{%- elif controller.notification %}
+driver=messagingv2
+{%- endif %}
+
[oslo_messaging_rabbit]
{%- if controller.message_queue.members is defined %}
rabbit_hosts = {% for member in controller.message_queue.members -%}
diff --git a/nova/map.jinja b/nova/map.jinja
index 718f255..2c2d16f 100644
--- a/nova/map.jinja
+++ b/nova/map.jinja
@@ -10,6 +10,7 @@
'pkgs': ['nova-consoleproxy', 'novnc', 'nova-api', 'nova-cert', 'nova-conductor', 'nova-consoleauth', 'nova-doc', 'nova-scheduler', 'python-novaclient', 'python-memcache', 'gettext-base', 'python-pycadf'],
'services': ['nova-api', 'nova-cert', 'nova-consoleauth', 'nova-scheduler', 'nova-conductor', 'nova-novncproxy'],
'debug': false,
+ 'notification': false,
'audit': {
'enabled': false
},
@@ -18,6 +19,7 @@
'pkgs': ['openstack-nova-novncproxy', 'python-nova', 'openstack-nova-api', 'openstack-nova-console', 'openstack-nova-scheduler', 'python-novaclient', 'openstack-nova-common', 'openstack-nova-conductor', 'openstack-nova-cert', 'python-pycadf'],
'services': ['openstack-nova-api', 'openstack-nova-cert', 'openstack-nova-consoleauth', 'openstack-nova-scheduler', 'openstack-nova-conductor', 'openstack-nova-novncproxy'],
'debug': false,
+ 'notification': false,
'audit': {
'enabled': false
},
@@ -32,6 +34,7 @@
'libvirt_service': 'libvirtd',
'bind': compute_bind_defaults,
'debug': false,
+ 'notification': false,
'identity': {
'region': 'RegionOne'
},
@@ -48,6 +51,7 @@
'libvirt_service': 'libvirtd',
'bind': compute_bind_defaults,
'debug': false,
+ 'notification': false,
'identity': {
'region': 'RegionOne'
},
diff --git a/nova/meta/heka.yml b/nova/meta/heka.yml
index c6cd75c..2535ecf 100644
--- a/nova/meta/heka.yml
+++ b/nova/meta/heka.yml
@@ -157,12 +157,12 @@
window: 60
periods: 0
function: last
- - metric: openstack_nova_services
+ - metric: openstack_nova_services_percent
field:
service: {{ nova_service }}
- state: '== down || == disabled'
- relational_operator: '>'
- threshold: 0
+ state: up
+ relational_operator: '<'
+ threshold: 100
window: 60
periods: 0
function: last