integ/config/puppet-modules/puppet-drbd-0.5.2/debian/patches/0004-US-96914-reuse-existing-drbd-cinder-resource.patch
Dan Voiculeasa 9311089520 Add debian package for puppet-drbd
This package is 3rdparty. Get latest release which is 0.5.2.
Not much difference between 0.3.1 release used on CentOS and 0.5.2.

Did build puppet-drbd-0.5.2 + starlingx patches (adapted from
CentOS7). Adapted all patches.
Adapt patch 0001. Keep 0002->0010.
Did build an iso.

Story: 2009101
Task: 43379
Signed-off-by: Dan Voiculeasa <dan.voiculeasa@windriver.com>
Change-Id: Ifa748c2ba7ca0cddb7d829c88e852247929f549e
2021-09-28 12:42:32 +03:00

54 lines
2.1 KiB
Diff

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