Skip to content

Instantly share code, notes, and snippets.

View CrackerJackMack's full-sized avatar

Kevin Landreth CrackerJackMack

View GitHub Profile
@CrackerJackMack
CrackerJackMack / object-storage-delete-container.py
Created May 29, 2012 12:42
SoftLayer object storage recursive container deletion
import object_storage
def get_objects(container):
f = container.objects()
objlist = list()
while True:
objlist = objlist + f
try:
f = container.objects(marker=f[-1].name)
@CrackerJackMack
CrackerJackMack / purge-cloudstack.sh
Created June 22, 2012 12:14
PEW PEW reset cloudstack as a fresh install
/etc/init.d/cloud-management stop
mysql -ppassword -e 'drop database cloud'
mysql -ppassword -e 'drop database cloud_usage'
cloud-setup-databases cloud:password@localhost --deploy-as=root:password
rm -rf /var/log/cloud/management/*
cloud-setup-management
/etc/init.d/cloud-management start
devel/haigha//examples/gevent_hello.py:13:11: E401 multiple imports on one line
devel/haigha//examples/gevent_hello.py:27:1: W293 blank line contains whitespace
devel/haigha//examples/gevent_hello.py:28:3: E111 indentation is not a multiple of four
devel/haigha//examples/gevent_hello.py:30:1: W293 blank line contains whitespace
devel/haigha//examples/gevent_hello.py:36:1: W293 blank line contains whitespace
devel/haigha//examples/gevent_hello.py:39:1: W293 blank line contains whitespace
devel/haigha//examples/gevent_hello.py:43:1: W293 blank line contains whitespace
devel/haigha//examples/gevent_hello.py:50:1: W293 blank line contains whitespace
devel/haigha//examples/gevent_hello.py:52:55: E231 missing whitespace after ':'
devel/haigha//examples/gevent_hello.py:56:1: W293 blank line contains whitespace
def read_regions(datafile):
regions = []
for line in datafile.readlines():
fields = line.strip().split(' ')
if not fields or not fields[0]:
continue
if fields[3] == '[mem':
start, end = fields[4].split('-')
[program:couchpotato]
command = /home/downloader/CouchPotatoServer/CouchPotato.py
directory = /home/downloader
user = downloader

Keybase proof

I hereby claim:

  • I am crackerjackmack on github.
  • I am crackerjackmack (https://keybase.io/crackerjackmack) on keybase.
  • I have a public key whose fingerprint is 7936 354B 268F 4339 FE89 862F F5A2 E83C 0909 79CC

To claim this, I am signing this object:

@CrackerJackMack
CrackerJackMack / gist:e89dc7459669e6264441
Created January 23, 2015 02:52
split json top level arrays into separate events
--- logstash-1.4.2/lib/logstash/codecs/json.rb 2014-06-24 08:08:27.000000000 -0500
+++ logstash-1.4.2/lib/logstash/codecs/json_split.rb 2015-01-17 23:17:59.073263327 -0600
@@ -7,8 +7,8 @@
# full JSON messages. If you are streaming JSON messages delimited
# by '\n' then see the `json_lines` codec.
# Encoding will result in a single JSON string.
-class LogStash::Codecs::JSON < LogStash::Codecs::Base
- config_name "json"
+class LogStash::Codecs::JSONSplit < LogStash::Codecs::Base
+ config_name "json_split"
!
router ospf
area 0
timers throttle spf 5000 10000 20000
distance external 125
distance inter 125
distance intra 125
!
router isis
net 10.10.10.10.10
@CrackerJackMack
CrackerJackMack / 00_README.md
Last active September 6, 2022 22:34
ansible fact caching redis password different port

Everything I've read is that redis fact caching in ansible doesn't support db/password/ports, but that is untrue. It's undocumented and it will most likely change in the future but here is how it works. it takes the fact_caching_connection and split's it on the colon and passes it as *args to redis.StrictRedis. Db is typically 0 if you weren't sure. If you aren't sure if the ansible version you are using supports this, just check the plugins/redis.py for how it passes the connection string to StrictRedis. Works with 2.2.0.0 at least.

# hostname:port:db:password
localhost:6379:0:secret
public_ip:293451:0:supersercretnobodycanguessthis
@CrackerJackMack
CrackerJackMack / 01_README.md
Created June 4, 2017 05:33
systemd # workaround

This is my take on a systemd#2741 work-around. The lack of native namespace joining makes it so you have to do a dance with systemd's version of private namespaces and iproute2's version. The portal_network.sh is my rendition of iproute2.
Credit to ian-kelling's code and comment in the systemd issue that inspired me to research this further. Looking at iproute2's source the bash script should be identical, including the private mount and bind mounts. This level of compatibility gives the administrator the ability to use ip -n portal ... for any subsequent commands.

Files are dash separated due to this being a gist (slashes aren't allowed). PLace the files in the correct locations then run the following:

  1. systemctl enable portal.target portal.network.service whatever.service
  2. systemctl restart systemd-networkd # if using the vlan files and such