Merge "Change some default values for Rabbit driver"
diff --git a/_modules/novang.py b/_modules/novang.py
index 791e185..dbfc297 100644
--- a/_modules/novang.py
+++ b/_modules/novang.py
@@ -561,8 +561,13 @@
kstone = __salt__['keystoneng.auth'](profile, **kwargs)
self.session = kstone.session
self.version = str(kwargs.get('version', 2))
- self.compute_conn = client.Client(version=self.version, session=self.session)
- self.volume_conn = client.Client(version=self.version, session=self.session)
+ self.endpoint_type = str(kwargs.get('connection_endpoint_type', 'internal'))
+ self.compute_conn = client.Client(version=self.version,
+ session=self.session,
+ endpoint_type=self.endpoint_type)
+ self.volume_conn = client.Client(version=self.version,
+ session=self.session,
+ endpoint_type=self.endpoint_type)
def expand_extensions(self):
for connection in (self.compute_conn, self.volume_conn):
diff --git a/_states/novav21.py b/_states/novav21.py
index 0d8d76d..be424b7 100644
--- a/_states/novav21.py
+++ b/_states/novav21.py
@@ -197,7 +197,7 @@
name, availability_zone_name, cloud_name=cloud_name)
if metadata:
_call_nova_salt_module('aggregate_set_metadata', name)(
- cloud_name=cloud_name, **metadata)
+ name, cloud_name=cloud_name, **metadata)
aggregate['metadata'] = metadata
for host in hosts or []:
_call_nova_salt_module('aggregate_add_host', name)(
@@ -209,7 +209,7 @@
changes = {}
existing_meta = set(aggregate['metadata'].items())
requested_meta = set(metadata.items())
- if hosts and (existing_meta - requested_meta or requested_meta - existing_meta):
+ if existing_meta - requested_meta or requested_meta - existing_meta:
_call_nova_salt_module('aggregate_set_metadata', name)(
name, cloud_name=cloud_name, **metadata)
changes['metadata'] = metadata
diff --git a/nova/controller.sls b/nova/controller.sls
index cf342ae..dfd33ff 100644
--- a/nova/controller.sls
+++ b/nova/controller.sls
@@ -2,6 +2,11 @@
{%- if controller.get('enabled') %}
+{%- set nova_manage_cell_v2_discover_hosts_args = ["--verbose"] %}
+{%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton", "ocata"] %}
+{%- do nova_manage_cell_v2_discover_hosts_args.append("--by-service") %}
+{%- endif %}
+
include:
{%- if controller.version not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
- apache
@@ -458,7 +463,7 @@
nova_controller_discover_hosts:
cmd.run:
- - name: nova-manage cell_v2 discover_hosts --verbose --by-service
+ - name: nova-manage cell_v2 discover_hosts {{ nova_manage_cell_v2_discover_hosts_args | join(' ') }}
{%- if grains.get('noservices') %}
- onlyif: /bin/false
{%- endif %}
diff --git a/nova/files/grafana_dashboards/nova_overview_prometheus.json b/nova/files/grafana_dashboards/nova_overview_prometheus.json
index fbde0bd..f6bb024 100644
--- a/nova/files/grafana_dashboards/nova_overview_prometheus.json
+++ b/nova/files/grafana_dashboards/nova_overview_prometheus.json
@@ -102,14 +102,14 @@
"tableColumn": "",
"targets": [
{
- "expr": "min(openstack_api_check_status{name=\"nova\"})",
+ "expr": "openstack_api_check_status{interface=\"public\",service_name=\"nova\"}",
"format": "time_series",
"intervalFactor": 2,
"refId": "A"
}
],
"thresholds": "0.5,0.5",
- "title": "VIP API availability",
+ "title": "Public VIP API Availability",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
diff --git a/nova/files/grafana_dashboards/nova_prometheus.json b/nova/files/grafana_dashboards/nova_prometheus.json
index 8ec0841..5764563 100644
--- a/nova/files/grafana_dashboards/nova_prometheus.json
+++ b/nova/files/grafana_dashboards/nova_prometheus.json
@@ -72,16 +72,15 @@
"tableColumn": "",
"targets": [
{
- "expr": "min(openstack_api_check_status{service=\"nova\"})",
+ "expr": "openstack_api_check_status{interface=\"public\",service_name=\"nova\"}",
"format": "time_series",
"intervalFactor": 2,
- "legendFormat": "{{ service }}",
"refId": "A",
"step": 60
}
],
"thresholds": "0.5,1.5",
- "title": "API Availability",
+ "title": "Public VIP API Availability",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
diff --git a/nova/files/grafana_dashboards/nova_prometheus_fluentd.json b/nova/files/grafana_dashboards/nova_prometheus_fluentd.json
index 978f951..1fd3a3a 100644
--- a/nova/files/grafana_dashboards/nova_prometheus_fluentd.json
+++ b/nova/files/grafana_dashboards/nova_prometheus_fluentd.json
@@ -72,16 +72,15 @@
"tableColumn": "",
"targets": [
{
- "expr": "min(openstack_api_check_status{service=\"nova\"})",
+ "expr": "openstack_api_check_status{interface=\"public\",service_name=\"nova\"}",
"format": "time_series",
"intervalFactor": 2,
- "legendFormat": "{{ service }}",
"refId": "A",
"step": 60
}
],
"thresholds": "0.5,1.5",
- "title": "API Availability",
+ "title": "Public VIP API Availability",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
diff --git a/nova/meta/grafana.yml b/nova/meta/grafana.yml
index 4561b11..0ed0b1a 100644
--- a/nova/meta/grafana.yml
+++ b/nova/meta/grafana.yml
@@ -159,4 +159,4 @@
type: dashboard
target:
cluster_status:
- expr: avg(openstack_api_check_status{service="nova"})
+ expr: openstack_api_check_status{interface="public",service_name="nova"}
diff --git a/nova/meta/prometheus.yml b/nova/meta/prometheus.yml
index 04d3384..7b03f29 100644
--- a/nova/meta/prometheus.yml
+++ b/nova/meta/prometheus.yml
@@ -274,26 +274,6 @@
alert:
{%- if is_controller %}
{% raw %}
- NovaApiOutage:
- if: >-
- max(openstack_api_check_status{name=~"nova.*|placement"}) == 0
- labels:
- severity: critical
- service: nova
- annotations:
- summary: "Nova API outage"
- description: >-
- Nova API is not accessible for all available Nova endpoints in the OpenStack service catalog.
- NovaApiDown:
- if: >-
- openstack_api_check_status{name=~"nova.*|placement"} == 0
- labels:
- severity: major
- service: nova
- annotations:
- summary: "{{ $labels.name }} endpoint is not accessible"
- description: >-
- Nova API is not accessible for the {{ $labels.name }} endpoint.
NovaApiEndpointDown:
if: >-
http_response_status{name=~"nova-api"} == 0