--- /dev/null
+From 132fc324c633ee95ca9ac8d00fb27fe5c4df6a3a Mon Sep 17 00:00:00 2001
+From: Daniel Badea <daniel.badea@windriver.com>
+Date: Tue, 30 May 2017 21:52:52 +0000
+Subject: [PATCH] US-96914 reuse existing drbd-cinder resource
+
+Trying to initialize and enable DRBD resource fails in "drbdadm
+create-md" when the disk already contains meta data. In this case
+"drbdadm adjust" should be called.
+---
+ manifests/resource/up.pp | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/manifests/resource/up.pp b/manifests/resource/up.pp
+index f9de8ab..160c8c2 100644
+--- a/manifests/resource/up.pp
++++ b/manifests/resource/up.pp
+@@ -14,7 +14,7 @@ define drbd::resource::up (
+ exec { "initialize DRBD metadata for ${name}":
+ command => "yes yes | drbdadm create-md ${name}",
+ onlyif => "test -e ${disk}",
+- unless => "drbdadm dump-md ${name} || (drbdadm cstate ${name} | egrep -q '^(Sync|Connected|WFConnection|StandAlone|Verify)')",
++ unless => "drbdadm dump-md ${name} || (drbdadm cstate ${name} | egrep -q '^(Sync|Connected|WFConnection|StandAlone|Verify)') || (drbdadm show-gi ${name} | grep 'meta-data: need apply-al')",
+ before => Service['drbd'],
+ require => [
+ Exec['modprobe drbd'],
+@@ -26,6 +26,7 @@ define drbd::resource::up (
+ exec { "enable DRBD resource ${name}":
+ command => "drbdadm up ${name}",
+ onlyif => "drbdadm dstate ${name} | egrep -q '^(Diskless/|Unconfigured|Consistent)'",
++ unless => "drbdadm show-gi ${name} | grep 'meta-data: need apply-al'",
+ before => Service['drbd'],
+ require => [
+ Exec["initialize DRBD metadata for ${name}"],
+@@ -34,6 +35,16 @@ define drbd::resource::up (
+ notify => Service['drbd'],
+ }
+
++ exec { "reuse existing DRBD resoure ${name}":
++ command => "drbdadm adjust ${name}",
++ onlyif => "test -e ${disk} && (drbdadm show-gi ${name} | grep 'meta-data: need apply-al')",
++ before => Service['drbd'],
++ require => [
++ Exec['modprobe drbd'],
++ Concat["/etc/drbd.d/${name}.res"],
++ ],
++ notify => Service['drbd'],
++ }
+
+ # these resources should only be applied if we are configuring the
+ # primary node in our HA setup
+--
+1.8.3.1
+