Skip to content

Instantly share code, notes, and snippets.

@bcarpio
bcarpio / fabfile.py
Created May 14, 2012 18:46
Fab Task For Creating an EC2 Instance
from fabric.api import *
from fabric.operations import local,put
import subprocess
import os
@task
def deploy_small_ec2_instance():
local('/usr/bin/ec2-run-instances ami-6dacf728 --instance-type m1.small --region us-west-1 --key ${EC2_KEYPAIR} --user-data-file user-data.sh --group ${SGROUP}')
@task
@bcarpio
bcarpio / setup_fs_mongodb_aws.py
Created June 27, 2012 18:16
setup_fs_mongodb_aws
@task
def setup_fs_mongodb_aws():
env.warn_only = True
sudo('puppetd --test')
env.warn_only = False
sudo("for i in `cat /proc/mdstat | grep md | awk '{print $1}'`; do mdadm --stop /dev/$i; done")
sudo('mdadm --create --force --assume-clean -R /dev/md0 -l10 --chunk=256 --raid-devices=4 /dev/xvdf /dev/xvdg /dev/xvdh /dev/xvdi')
sudo('echo "`mdadm --detail --scan`" | tee -a /etc/mdadm.conf')
sudo('blockdev --setra 128 /dev/md0')
sudo('blockdev --setra 128 /dev/xvdf')
@bcarpio
bcarpio / mongo-perf.py
Created June 27, 2012 22:37
mongo-perf
@task
def mongo_perf():
sudo('apt-get install -y tcsh git-core scons g++ libpcre++-dev libboost-dev libreadline-dev libboost-program-options-dev libboost-thread-dev libboost-filesystem-dev libboost-date-time-dev python-pip build-essential python-dev')
with cd('/var/tmp'):
sudo('wget http://downloads.mongodb.org/cxx-driver/mongodb-linux-x86_64-v2.0-latest.tgz')
sudo('tar zxvf mongodb-linux-x86_64-v2.0-latest.tgz')
with cd('/var/tmp/mongo-cxx-driver-v2.0'):
sudo('scons')
sudo('scons install')
sudo('git clone https://github.com/mongodb/mongo-perf.git')
@bcarpio
bcarpio / lvsnapshot.sh
Created August 8, 2012 21:14
lvsnapshot.sh
#!/bin/bash
DATE=`date +"%a"`
DVOLNAME=datalv
LVOLNAME=journallv
VOLGR=datavg
DVOLPATH=/dev/$VOLGR/$DVOLNAME
LVOLPATH=/dev/$VOLGR/$LVOLNAME
DSNAME=`echo ${DVOLNAME}_ss_${DATE} | tr '[A-Z]' '[a-z]'`
LSNAME=`echo ${LVOLNAME}_ss_${DATE} | tr '[A-Z]' '[a-z]'`
{
"use1a-pri-puppet-01": "\u001b[0;32mInfo\u001b[0m: Retrieving plugin\r\n\u001b[0;32mInfo\u001b[0m: Loading facts in /etc/puppet/modules/varnish/lib/facter/varnish_version.rb\r\n\u001b[0;32mInfo\u001b[0m: Loading facts in /etc/puppet/modules/stdlib/lib/facter/puppet_vardir.rb\r\n\u001b[0;32mInfo\u001b[0m: Loading facts in /etc/puppet/modules/stdlib/lib/facter/root_home.rb\r\n\u001b[0;32mInfo\u001b[0m: Loading facts in /etc/puppet/modules/stdlib/lib/facter/facter_dot_d.rb\r\n\u001b[0;32mInfo\u001b[0m: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb\r\n\u001b[0;32mInfo\u001b[0m: Loading facts in /var/lib/puppet/lib/facter/root_home.rb\r\n\u001b[0;32mInfo\u001b[0m: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb\r\n\u001b[0;32mInfo\u001b[0m: Loading facts in /var/lib/puppet/lib/facter/varnish_version.rb\r\n\u001b[0;32mInfo\u001b[0m: Caching catalog for use1a-pri-puppet-01.social.local\r\n\u001b[0;32mInfo\u001b[0m: Applying configuration version '1352413667'\r\n/Stage[main]/Base/Ser
@bcarpio
bcarpio / gist:4187244
Created December 2, 2012 06:25
MegaMillions Winning Numbers Scraper
#!/usr/bin/python
# vim: set expandtab:
import urllib2
from BeautifulSoup import BeautifulSoup
win_dict = {}
page_num = 1
total_pages = 63
@bcarpio
bcarpio / gist:4187385
Created December 2, 2012 06:45
MegaMillions Into Mongodb
#!/usr/bin/python
# vim: set expandtab:
import urllib2
from BeautifulSoup import BeautifulSoup
from pymongo import Connection
host = 'localhost'
database = 'lotto'
collection = 'mega_millions'
#!/usr/bin/python
# vim: set expandtab:
import config
import requests
import json
import os
import requests
def deploy_multi_region_elasticsearch(env):
url = config.urls()
#!/usr/bin/python
# vim: set expandtab:
from flask import Flask, flash, abort, redirect, url_for, request, render_template, make_response, json, Response
import os, sys
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><META http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body>
Twentys: {{twentys}}<BR>
Tens: {{tens}}
</body></html>