From 60aedd9748ce0ce315ede80f71fc88081f4d7b08 Mon Sep 17 00:00:00 2001
From: Larry Rensing <lr699s@att.com>
Date: Thu, 18 May 2017 17:28:39 +0000
Subject: [PATCH] Adding pod disruption budget for nova

This PS adds a default pod disruption budget for nova-api-osapi
and nova-api-metadata to ensure at least one replica of each pod
is running.

Change-Id: I5ab626f24b899ed34240731bfe075be1df7228c5
---
 nova/templates/pdb-metadata.yaml | 9 +++++++++
 nova/templates/pdb-osapi.yaml    | 9 +++++++++
 nova/values.yaml                 | 6 ++++++
 3 files changed, 24 insertions(+)
 create mode 100644 nova/templates/pdb-metadata.yaml
 create mode 100644 nova/templates/pdb-osapi.yaml

diff --git a/nova/templates/pdb-metadata.yaml b/nova/templates/pdb-metadata.yaml
new file mode 100644
index 0000000000..7dc22ea9ab
--- /dev/null
+++ b/nova/templates/pdb-metadata.yaml
@@ -0,0 +1,9 @@
+apiVersion: policy/v1beta1
+kind: PodDisruptionBudget
+metadata:
+  name: nova-api-metadata
+spec:
+  minAvailable: {{ .Values.pod_disruption_budget.metadata.min_available }}
+  selector:
+    matchLabels:
+      app: nova-api-metadata
\ No newline at end of file
diff --git a/nova/templates/pdb-osapi.yaml b/nova/templates/pdb-osapi.yaml
new file mode 100644
index 0000000000..77f9ca3559
--- /dev/null
+++ b/nova/templates/pdb-osapi.yaml
@@ -0,0 +1,9 @@
+apiVersion: policy/v1beta1
+kind: PodDisruptionBudget
+metadata:
+  name: nova-api-osapi
+spec:
+  minAvailable: {{ .Values.pod_disruption_budget.osapi.min_available }}
+  selector:
+    matchLabels:
+      app: nova-api-osapi
\ No newline at end of file
diff --git a/nova/values.yaml b/nova/values.yaml
index b8a9ec700b..f315997b15 100644
--- a/nova/values.yaml
+++ b/nova/values.yaml
@@ -75,6 +75,12 @@ upgrades:
     max_unavailable: 1
     max_surge: 3
 
+pod_disruption_budget:
+  metadata:
+    min_available: 1
+  osapi:
+    min_available: 1
+
 bootstrap:
   enabled: true
   flavors: