Skip to content

Instantly share code, notes, and snippets.

@domcleal
domcleal / gist:1703618
Created January 30, 2012 09:50
augtool output for quoting fixes (puppet #12199)
augtool> set /files/etc/puppet/puppet.conf/test/sq '
error: Failed to execute command
unmatched '
augtool> set /files/etc/puppet/puppet.conf/test/sq_sq '''
error: Failed to execute command
unmatched '
augtool> set /files/etc/puppet/puppet.conf/test/sq_dq "'"
augtool> set /files/etc/puppet/puppet.conf/test/sqsq ''
augtool> set /files/etc/puppet/puppet.conf/test/sqsq_sq ''''
augtool> set /files/etc/puppet/puppet.conf/test/sqsq_dq "''"
From 900a053a994a26129f3412e35ba39657cfab8c2c Mon Sep 17 00:00:00 2001
From: Dominic Cleal <dcleal@redhat.com>
Date: Thu, 1 Mar 2012 08:31:44 +0000
Subject: [PATCH] (#11988) Work around Augeas reload bug when changing save
modes
After saving a file in one save mode and switching to another, Augeas realise
to reload the file when Augeas#load is called again. Work around this by
explicitly reloading all files we saved while using the first save mode.
---
#!/bin/sh
[ -d etc/ssh ] || mkdir -p etc/ssh
echo "PermitRootLogin no" > etc/ssh/sshd_config
cat <<EOF | augtool -er .
set /augeas/save newfile
get /augeas/version
print /augeas/files/etc/ssh/sshd_config
set /files/etc/ssh/sshd_config/PermitRootLogin yes
save
#! /bin/bash
# Check that saving preserves mode and ownership; for this test to make
# much sense (if any) the user running it should have at least one
# supplementary group
run_augtool() {
savemode=$1
augtool --nostdinc -r $root -I $abs_top_srcdir/lenses <<EOF
set /augeas/save $savemode
@domcleal
domcleal / augeas_spec.rb
Created September 5, 2012 13:16
rspec examples for puppet PR #1067
it "should handle clearm commands" do
@resource[:changes] = ["set test[1]/Jar/Jar Foo","set test[2]/Jar/Jar Bar","clearm test Jar/Jar"]
@resource[:context] = "/foo/"
@augeas.expects(:respond_to?).with("clearm").returns(true)
@augeas.expects(:set).with("/foo/test[1]/Jar/Jar", "Foo").returns(true)
@augeas.expects(:set).with("/foo/test[2]/Jar/Jar", "Bar").returns(true)
@augeas.expects(:clearm).with("/foo/test", "Jar/Jar").returns(true)
@augeas.expects(:save).returns(true)
@augeas.expects(:close)
@provider.execute_changes.should == :executed
@domcleal
domcleal / ruby.rb
Created November 14, 2012 10:30 — forked from raphink/ruby.rb
if before or after
# Insert before or after given path
aug.insert(before or after, "path", before ? true : false)
entry_path = "#{fpath}/path[count(*)=0]"
end
@domcleal
domcleal / lib-puppet-feature-json.rb
Created November 21, 2012 11:50
feature/provider pluginsync + confine
Puppet.features.add(:json, :libs => ["json"])
@domcleal
domcleal / gist:4179351
Created November 30, 2012 23:08
#17877 reproducer
diff --git a/spec/unit/transaction/resource_harness_spec.rb b/spec/unit/transaction/resource_harness_spec.rb
index 7e9aac4..6334d77 100755
--- a/spec/unit/transaction/resource_harness_spec.rb
+++ b/spec/unit/transaction/resource_harness_spec.rb
@@ -111,17 +111,25 @@ describe Puppet::Transaction::ResourceHarness do
describe "when an error occurs" do
before :each do
stub_provider = make_stub_provider
- resource = stub_provider.new :name => 'name', :foo => 1, :bar => 2
- resource.expects(:err).never
class sodefaultserver {
include resolv_conf
resolv_conf{ 'resolv.conf' :
domainname=> 'abc.com',
searchpath=> 'abc.com',
nameservers => ['10.87.42.109', '10.87.42.110'],
options => ['timeout:2', 'attempts:3'],
}
commit 0e00d961d5e3fbd874eb542c9b346e7223b18d00
Author: Dominic Cleal <dcleal@redhat.com>
Date: Fri Feb 8 10:48:33 2013 +0000
Would have message gone
diff --git a/lib/puppet/transaction/event_manager.rb b/lib/puppet/transaction/event_manager.rb
index ac46376..e232f37 100644
--- a/lib/puppet/transaction/event_manager.rb
+++ b/lib/puppet/transaction/event_manager.rb