Ema has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/283459

Change subject: Workaround for mdadm boot-time race condition
......................................................................

Workaround for mdadm boot-time race condition

The boot-time race condition assembling raid devices reported in T131961
can be avoided by sleeping a few seconds in initramfs-tools' local-top
stage, after which the root device is expected to be present.

See FAQ 26. in /usr/share/doc/mdadm/FAQ.gz.

Bug: T131961
Change-Id: I12db18dee30c67f98f7dd567e7527d43c134c5a7
---
M modules/base/manifests/init.pp
A modules/base/manifests/initramfs.pp
A modules/base/templates/initramfs_sleep.erb
3 files changed, 27 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/59/283459/1

diff --git a/modules/base/manifests/init.pp b/modules/base/manifests/init.pp
index 5f2dc11..0d9e9f8 100644
--- a/modules/base/manifests/init.pp
+++ b/modules/base/manifests/init.pp
@@ -16,6 +16,7 @@
 
     include passwords::root
     include base::grub
+    include base::initramfs
     include base::resolving
     include ::rsyslog
     include base::remote_syslog
diff --git a/modules/base/manifests/initramfs.pp 
b/modules/base/manifests/initramfs.pp
new file mode 100644
index 0000000..995ad66
--- /dev/null
+++ b/modules/base/manifests/initramfs.pp
@@ -0,0 +1,15 @@
+class base::initramfs($localtop_sleep = '5s') {
+    file { '/etc/initramfs-tools/scripts/local-top/mdadm-sleep':
+        mode    => '0744',
+        owner   => 'root',
+        group   => 'root',
+        content => template('base/initramfs_sleep.erb'),
+        notify  => Exec['update-initramfs'],
+    }
+
+    exec { 'update-initramfs':
+        refreshonly => true,
+        command     => 'update-initramfs -u -k all',
+        path        => '/bin:/usr/bin:/sbin:/usr/sbin',
+    }
+}
diff --git a/modules/base/templates/initramfs_sleep.erb 
b/modules/base/templates/initramfs_sleep.erb
new file mode 100644
index 0000000..88c18dd
--- /dev/null
+++ b/modules/base/templates/initramfs_sleep.erb
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# Workaround for boot-time race condition assembling raid arrays:
+# https://phabricator.wikimedia.org/T131961
+#
+# This file is managed by Puppet.
+
+echo "Running 'sleep <%= @localtop_sleep -%>' (T131961)"
+sleep <%= @localtop_sleep -%>
+
+exit 0

-- 
To view, visit https://gerrit.wikimedia.org/r/283459
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I12db18dee30c67f98f7dd567e7527d43c134c5a7
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ema <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to