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