Skip to content

Instantly share code, notes, and snippets.

View fatmcgav's full-sized avatar

Gavin Williams fatmcgav

View GitHub Profile
@fatmcgav
fatmcgav / output
Last active August 29, 2015 13:55
Yum Versionlock debugging...
puppet]$ sudo bundle exec puppet resource package bash ensure=held
#<Puppet::ResourceError: Parameter ensure failed on Package[bash]: Provider must have features 'holdable' to set 'ensure' to 'held' Provider must have features 'holdable' to set 'ensure' to 'held'>
/home/vagrant/puppet/lib/puppet/util/errors.rb:104:in `fail'
/home/vagrant/puppet/lib/puppet/parameter.rb:467:in `validate'
/home/vagrant/puppet/lib/puppet/property.rb:563:in `should='
/home/vagrant/puppet/lib/puppet/property.rb:563:in `each'
/home/vagrant/puppet/lib/puppet/property.rb:563:in `should='
/home/vagrant/puppet/lib/puppet/property.rb:615:in `value='
/home/vagrant/puppet/lib/puppet/type.rb:653:in `[]='
/home/vagrant/puppet/lib/puppet/type.rb:2242:in `set_parameters'
@fatmcgav
fatmcgav / yum log
Created January 30, 2014 15:11
Foreman-1.4.0 Upgrade error
[gavinw@puppet-dev ~]$ sudo yum repolist
[sudo] password for gavinw:
Loaded plugins: fastestmirror, presto, priorities
Loading mirror speeds from cached hostfile
* epel: mirrors.coreix.net
8 packages excluded due to repository priority protections
repo id repo name status
SCL CentOS-6 - SCL 504
act ACT RPMs - CentOS 6 x86_64 23
base
@fatmcgav
fatmcgav / autorequire.rb
Last active August 29, 2015 13:56
Autorequire resource inspection
# Autorequire the domain resource
autorequire(:domain) do
self.catalog.resources.select { |res|
# pseudo-code: resource is of desired type
# # and has desired properties/parameters
debug ("Res = #{res}. Type = #{res.type}, Type.class = #{res.type.class}")
next unless res.type == :domain
debug ("Got a domain res: #{res}")
debug ("Postbase = #{res[:portbase]}")
res if res[:portbase] == self[:portbase]
@fatmcgav
fatmcgav / network-iface-get.yaml
Created March 27, 2014 16:01
network-iface-get output
--- !ruby/object:NaElement
attrkeys:
- status
attrvals:
- passed
children:
- !ruby/object:NaElement
attrkeys: []
attrvals: []
@fatmcgav
fatmcgav / Puppet-apply
Created May 7, 2014 14:00
Vagrant Hiera
puppet]$ pwd
/vagrant/puppet
puppet]$ sudo puppet apply --hiera_config hieradata/hiera.yaml --modulepath modules/ manifests/site.pp
@fatmcgav
fatmcgav / cmode.rb
Created June 2, 2014 21:37
Confine for Network device
require 'puppet/provider/netapp'
Puppet::Type.type(:netapp_volume).provide(:cmode, :parent => Puppet::Provider::Netapp) do
@doc = "Manage Netapp Volume creation, modification and deletion."
confine :feature => :posix
defaultfor :feature => :posix
# Only run in cMode
confine :clustered => :true
@fatmcgav
fatmcgav / Gemfile
Created June 7, 2014 21:02
Simplecov files
#!/usr/bin/env ruby
source "https://rubygems.org"
if ENV.key?('PUPPET_VERSION')
puppetversion = ENV['PUPPET_VERSION']
else
puppetversion = ['>= 2.7']
end
@fatmcgav
fatmcgav / netapp.rb
Last active August 29, 2015 14:02
Described_class.defaultprovider example
require 'puppet/provider'
require 'puppet/util/network_device/netapp/device'
class Puppet::Provider::Netapp < Puppet::Provider
attr_accessor :device
def self.transport
if Facter.value(:url) then
Puppet.debug "Puppet::Util::NetworkDevice::Netapp: connecting via facter url."
@fatmcgav
fatmcgav / netapp_export.rb
Last active August 29, 2015 14:02
Undefined method stack
1 require 'puppet/provider/netapp'
2
3 Puppet::Type.type(:netapp_export).provide(:netapp_export, :parent => Puppet::Provider::Netapp) do
4 @doc = "Manage Netapp export creation, modification and deletion."
5
6 confine :feature => :posix
7 #defaultfor :feature => :posix
8
9 # Restrict to 7Mode
10 confine :false => begin
@fatmcgav
fatmcgav / Vagrantfile
Last active August 29, 2015 14:02
etcd cluster dev env
# -*- mode: ruby -*-
# vi: set ft=ruby :
#Get hostname
hostname = Socket.gethostname.downcase!
Vagrant.configure("2") do |config|
# Server hash
etcd_servers = { "etcd-node1.#{hostname}.local" => '192.168.250.20',