Volans has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/335670 )

Change subject: Puppet compiler: sync newest facts only
......................................................................


Puppet compiler: sync newest facts only

Ensure to sync only the newest files, avoiding to get a stale file from
the other puppetmaster.

Bug: T157052
Change-Id: If6ffc5aa1e2b45fa88535b4ec2f06784471e053b
---
M modules/puppet_compiler/files/compiler-update-facts
M modules/puppetmaster/files/puppet-facts-export
2 files changed, 19 insertions(+), 16 deletions(-)

Approvals:
  Giuseppe Lavagetto: Looks good to me, but someone else must approve
  jenkins-bot: Verified
  Volans: Looks good to me, approved



diff --git a/modules/puppet_compiler/files/compiler-update-facts 
b/modules/puppet_compiler/files/compiler-update-facts
index df6b25b..90ed77e 100755
--- a/modules/puppet_compiler/files/compiler-update-facts
+++ b/modules/puppet_compiler/files/compiler-update-facts
@@ -13,9 +13,9 @@
 ssh $master cat /tmp/puppet-facts-export.tar.xz | \
     ssh $compiler 'cat > puppet-facts-export.tar.xz'
 ssh $master 'sudo rm /tmp/puppet-facts-export.tar.xz'
+ssh $compiler 'sudo rm -rf /tmp/catalogs; sudo mkdir -p /tmp/catalogs'
 ssh $compiler 'sudo tar Jxf puppet-facts-export.tar.xz \
-    --directory /var/lib/catalog-differ/puppet \
-    && rm puppet-facts-export.tar.xz'
-ssh $compiler 'sudo chown -R jenkins-deploy:wikidev 
/var/lib/catalog-differ/puppet/yaml'
-ssh $compiler "cd /var/lib/catalog-differ/puppet/yaml/facts && sudo sed -i'' 
'/trusted:/d' *.yaml"
-ssh $compiler "cd /var/lib/catalog-differ/puppet/yaml/node && sudo sed -i'' 
'/trusted:/d' *.yaml"
+    --directory /tmp/catalogs && rm puppet-facts-export.tar.xz'
+ssh $compiler 'sudo chown -R jenkins-deploy:wikidev /tmp/catalogs/yaml'
+ssh $compiler "sudo sed -i'' '/trusted:/d' 
/tmp/catalogs/yaml/{facts,node}/*.yaml"
+ssh $compiler 'sudo rsync -au /tmp/catalogs/yaml/ 
/var/lib/catalog-differ/puppet/yaml/ && sudo rm -rf /tmp/catalogs'
diff --git a/modules/puppetmaster/files/puppet-facts-export 
b/modules/puppetmaster/files/puppet-facts-export
index 91efe6d..d29c201 100755
--- a/modules/puppetmaster/files/puppet-facts-export
+++ b/modules/puppetmaster/files/puppet-facts-export
@@ -11,21 +11,24 @@
 outfile=/tmp/puppet-facts-export.tar.xz
 
 function cleanup() {
-  rm -rf $tmpdir
+  rm -rf "$tmpdir"
 }
 
 trap cleanup EXIT
 
-sudo rsync -a /var/lib/puppet/yaml $tmpdir
-sudo chown -R ${USER} $tmpdir/yaml
-find $tmpdir/yaml -type f -name "*.yaml" | \
-  xargs sed -i \
-    -e 's@uniqueid:.*@uniqueid: "43434343"@' \
-    -e 's@boardserialnumber:.*@boardserialnumber: "4242"@' \
-    -e 's@boardproductname:.*@boardproductname: "424242"@' \
-    -e 's@serialnumber:.*@serialnumber: "42424242"@' \
-    -e '/^ *trusted\:/ d'
+sudo rsync -a /var/lib/puppet/yaml "$tmpdir"
+sudo chown -R "${USER}" "$tmpdir/yaml"
 
-tar cJvf $outfile --directory $tmpdir yaml
+for FILE in "${tmpdir}"/yaml/**/*.yaml; do
+    TIME=$(stat -c "%y" "${FILE}")
+    sed -i -e 's@uniqueid:.*@uniqueid: "43434343"@' \
+        -e 's@boardserialnumber:.*@boardserialnumber: "4242"@' \
+        -e 's@boardproductname:.*@boardproductname: "424242"@' \
+        -e 's@serialnumber:.*@serialnumber: "42424242"@' \
+        -e '/^ *trusted\:/ d' "${FILE}"
+    touch -d "${TIME}" "${FILE}"
+done
+
+tar cJvf $outfile --directory "$tmpdir" yaml
 
 echo "puppet facts sanitized and exported at $outfile"

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

Gerrit-MessageType: merged
Gerrit-Change-Id: If6ffc5aa1e2b45fa88535b4ec2f06784471e053b
Gerrit-PatchSet: 5
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Volans <[email protected]>
Gerrit-Reviewer: Alexandros Kosiaris <[email protected]>
Gerrit-Reviewer: Elukey <[email protected]>
Gerrit-Reviewer: Faidon Liambotis <[email protected]>
Gerrit-Reviewer: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: Volans <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to