Skip to content

Instantly share code, notes, and snippets.

View justindossey's full-sized avatar

Justin Dossey justindossey

  • Laudable Labs
  • San Francisco, CA
View GitHub Profile

Keybase proof

I hereby claim:

  • I am justindossey on github.
  • I am jbd (https://keybase.io/jbd) on keybase.
  • I have a public key ASAoh5-1psnhAkvJuhXxjUToBfwnloUfF9-Xn3SGy7eJhgo

To claim this, I am signing this object:

@justindossey
justindossey / serial.pp
Created January 4, 2017 19:52
custom fact with defined type
# Configure a serial port for IPMI (which provides virtual ones).
# Depends on the "serial_ports" custom fact, included in this module
define ipmi::serial {
include stdlib
include ipmi::serial_prerequisites
$port_exists = member($::serial_ports, "/dev/${title}")
if $port_exists {
service { $title:
@justindossey
justindossey / test_fd_subscribe_memleak.rb
Created November 15, 2013 20:33
Non-leaking version of bunny logger memory leak test
require 'bunny'
require 'logger'
class TestLoggerSubscribeMemleak
def initialize(msg_count=10_000)
@messages_to_write = msg_count
@message_count = msg_count
@connection = Bunny.new(:user=>"jbd_dev_reader", :pass=>"123456", :host=>"localhost", :vhost=>"jbd", :port=>5672)
@connection.start
@channel = @connection.create_channel
@justindossey
justindossey / gist:7490942
Last active December 28, 2015 11:08
ruby 187 memory leak with logger in Bunny::Queue#subscribe
require 'bunny'
require 'logger'
class TestLoggerSubscribeMemleak
def initialize(msg_count=10_000)
@message_count = msg_count
@messages_to_write = msg_count
@connection = Bunny.new(:user=>"test_user", :pass=>"123456", :host=>"localhost", :vhost => "test", :port => 5672)
@connection.start
@channel = @connection.create_channel
@justindossey
justindossey / gist:2255384
Created March 30, 2012 21:40
Flip read_secondary via MongoMapper
trap('USR2') do
# reconnect to MongoDB with read_secondary reversed
result=MongoMapper.connection.instance_eval('@read_secondary = !@read_secondary')
logger.notice("#{Time.now}: now reading from #{result ? 'secondary' : 'primary'}")
end
@justindossey
justindossey / gist:2063267
Created March 17, 2012 17:38
MongoMapper-- check that replicas are within a minute of primary
def all_replicas_in_sync?(verbose=false)
in_sync = true
# connect to the primary
mongo = Mongo::Connection.new(*MongoMapper.connection.primary)
db = mongo.db('local')
last_op=db.collection('oplog.rs').find.sort([['$natural',-1]]).limit(1).to_a[0]
db.collection('slaves').find().to_a.each do |slave|
opdiff = last_op['ts'].increment - slave['syncedTo'].increment
diff = (last_op['ts'].seconds - slave['syncedTo'].seconds)/1000.0
in_sync = false if diff > 60
@justindossey
justindossey / foo.pp
Created May 28, 2015 22:05
params and conditionals
class foo ($external_volume = true) {
if $external_volume {
notice("True!")
} else {
notice("False!")
}
}
class { 'foo':
external_volume => false,
@justindossey
justindossey / fizzbuzz.rb
Last active August 29, 2015 14:20
fizzbuzz ruby like puppet
matches = {
[true, true] => 'fizzbuzz',
[true, false] => 'fizz',
[false, true] => 'buzz'
}
(1..100).each do |num|
results = [num % 3 == 0, num % 5 == 0]
puts matches[results] || num
end
@justindossey
justindossey / foo.pp
Last active August 29, 2015 14:19
test puppet manifest
$alias_interface = ['primary:2']
if $alias_interface =~ /^primary\:(\d+)/ {
notice("Match!")
} else {
notice("No Match :(")
}
<%=
require 'yaml'
ldap_info = {
'main' => {
'label' => @label,
'host' => @host,
'port' => @port,
'uid' => @uid,
'method' => @method,
'bind_dn' => @bind_dn,