Skip to content

Instantly share code, notes, and snippets.

@dcarley
dcarley / input.pp
Created May 2, 2012 16:31
Replacing Puppet require() with chaining
class foo {
include ::bar
notify { $name: }
Class[$name] ~> Class["bar"]
}
class bar {
notify { $name: }
}
@dcarley
dcarley / with_dep.pp
Created May 22, 2012 10:43
Puppet require meta-param on define()
dan@dan-MacPro ~/projects/vagrant/labs/puppet $ puppet apply
define foo() {
notify { $name: }
}
foo { "baz":
require => Foo['bar'],
}
foo { "bar": }
^D
@dcarley
dcarley / play_artifactory_upload.py
Created August 21, 2012 10:37
Upload Play modules to Artifactory Ivy repo
import re
import os
import pycurl
URL="http://xxx:8080/artifactory/play-release-local/xxx"
AUTH="play:xxx"
for local_file in os.listdir("."):
module, version = re.sub('\.(zip|dependencies\.yml)$', '', local_file).split("-", 1)
remote_file = re.sub('\.dependencies\.yml$', '-dependencies.yml', local_file)
@dcarley
dcarley / gist:3792838
Created September 27, 2012 08:16
Unable to access original regex from Puppet HostClass
[1] pry(main)> require 'puppet'
=> true
[2] pry(main)> Puppet[:code] = "node /^foo\.\d{2}\.bar$/ {}"
=> "node /^foo.d{2}.bar$/ {}"
[3] pry(main)> node = Puppet::Node::Environment.new(Puppet[:environment]).known_resource_types.nodes.first
=> ["foo.d2.bar",
#<Puppet::Resource::Type:0x7f6fcc5f5fd0
@arguments={},
@doc="",
@line=1,
@dcarley
dcarley / Gemfile
Created September 27, 2012 10:26
Smoke testing Puppet nodes
source :rubygems
gem 'puppet', '~> 2.6.0'
gem 'facter'
gem 'randexp'
@dcarley
dcarley / gist:3811003
Created October 1, 2012 11:11 — forked from apsoto/gist:2869888
Diagram Showing EC2 Security Group Data Flows
#!/usr/bin/env ruby
require 'fog'
require 'graphviz'
ec2 = Fog::Compute.new(:provider => 'AWS')
graph = GraphViz::new("structs", "type" => "graph")
groups = ec2.security_groups
group_map = Hash[groups.collect { |g| [g.group_id, g.name] }]
@dcarley
dcarley / With VMware tools repo
Created October 10, 2012 13:40
vmware-tools-libraries poisoning depsolve
[dcarley@uskopcilog53t ~]$ sudo yum resolvedep -q "libcairo.so.2()(64bit)" "libpixman-1.so.0()(64bit)" "libfreetype.so.6()(64bit)" "libfontconfig.so.1()(64bit)" "libpng12.so.0(PNG12_0)(64bit)" "libXrender.so.1()(64bit)" "libXau.so.6()(64bit)"
0:vmware-tools-libraries-x-8.6.5-2.x86_64
0:vmware-tools-libraries-x-8.6.5-2.x86_64
0:vmware-tools-libraries-x-8.6.5-2.x86_64
0:vmware-tools-libraries-x-8.6.5-2.x86_64
0:vmware-tools-libraries-x-8.6.5-2.x86_64
0:vmware-tools-libraries-x-8.6.5-2.x86_64
0:vmware-tools-libraries-x-8.6.5-2.x86_64
@dcarley
dcarley / eval_test.pp
Created November 5, 2012 14:30
Puppet eager/lazy evaluation test
define test_define(
$param_one = 'one',
$param_two = $param_one
) {
if $param_one == $param_two {
notice('eagar evaluation')
} else {
notice('lazy evaluation')
}
}
@dcarley
dcarley / AUTHORITY
Created November 8, 2012 14:22
WorldNIC broken DNS
[dan@li268-173 ~]$ dig xxx.com @ns1.worldnic.com +norec +aaonly
;; Warning: Message parser reports malformed message packet.
;; Truncated, retrying in TCP mode.
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> xxx.com @ns1.worldnic.com +norec +aaonly
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29624
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 13
@dcarley
dcarley / gist:4077894
Created November 15, 2012 10:34
Antivirus on servers
$ ps -o user,pid,vsz,rss,args -C cma
USER PID VSZ RSS COMMAND
root 1819 196940 12964 /opt/McAfee/cma/bin/cma
root 1834 196940 12964 /opt/McAfee/cma/bin/cma
root 1836 196940 12964 /opt/McAfee/cma/bin/cma
root 1838 196940 12964 /opt/McAfee/cma/bin/cma
root 1895 196940 12964 /opt/McAfee/cma/bin/cma
root 1896 196940 12964 /opt/McAfee/cma/bin/cma
root 1897 196940 12964 /opt/McAfee/cma/bin/cma
root 1898 196940 12964 /opt/McAfee/cma/bin/cma