Skip to content

Instantly share code, notes, and snippets.

View niedbalski's full-sized avatar
👋
Be humble. Stay focused.

Jorge Niedbalski niedbalski

👋
Be humble. Stay focused.
View GitHub Profile
@niedbalski
niedbalski / monitor-mongorestore.sh
Created December 6, 2019 14:25
monitor-mongorestore.sh
#!/bin/bash
dbpass=$(grep statepassword /var/lib/juju/agents/machine-*/agent.conf | cut -d' ' -f2)
while true; do mongo 127.0.0.1:37017/juju -u "machine-0" -p "$dbpass" --sslAllowInvalidCertificates --ssl --authenticationDatabase admin --eval "printjson(db.stats())" | grep -Ei '(datasize|storage|objects)' && sleep 1;done
@niedbalski
niedbalski / sockstats-report.sh
Last active December 3, 2019 17:41
sockstats-report.sh
#!/bin/bash
# gather metrics about sockstat and buffer size.
currdate=$(date +"%m-%d-%Y")
timeout=${1:-600}
every=${2:-1}
basepath=${3:-./sockstat-report-${currdate}/}
function watch_it() {
timeout $1 watch -t -n $2 "cat $3 | tee -a ${basepath}$(basename ${3})_${currdate}.log" &>/dev/null &
@niedbalski
niedbalski / check-sockstats.sh
Created December 3, 2019 17:26
check-sockstats.sh
#!/bin/bash
#
# gather metrics about sockstat and buffer size.
#
timeout=${1:-600}
every=${2:-1}
function watch_it() {
timeout $1 watch -t -n $2 "cat $3 | tee -a $(basename ${3})_$(date +"%m-%d-%Y").log" &>/dev/null &
@niedbalski
niedbalski / search-refs.sh
Created October 16, 2019 18:09
search-refs.sh
for f in $(ldd /usr/sbin/named|cut -d" " -f1 | cut -d "." -f1); do sudo apt-cache search $f | grep dbgsym | grep $f | cut -d " " -f1| xargs apt -yyq install;done
@niedbalski
niedbalski / update-hosts-juju.py
Created August 20, 2019 15:53
update-hosts-juju.py
#!/usr/bin/env python
import subprocess
import yaml
import sys
def juju_status(juju_env=None):
cmd = ['juju', 'status', '--format=yaml']
status_raw = subprocess.check_output(cmd)
return yaml.safe_load(status_raw)
@niedbalski
niedbalski / charmhead.sh
Created June 10, 2019 18:48
charmhead.sh
function charmhead() {
if [ ! ${#@} -ge 2 ]; then
echo "usage ./$0 charm revision" && return;
fi
q=$(curl -s https://api.jujucharms.com/charmstore/v5/$1-$2/archive/repo-info | python -c "import sys, re; q=map(lambda x: re.search('.*commit-short\: (.*)', x), sys.stdin.readlines()); print(q[1].group(1))")
if [ -n "$q" ]; then
echo "$q";
else
echo "Not found revision for charm: $1"
fi
@niedbalski
niedbalski / gist:c6bc61ec836a1ec55bbfd9336c4f228e
Created June 3, 2019 22:25
check that memcached is reacheable from ncc
#!/bin/bash
# ./{0} nova-cloud-controller
units=$(juju status $1 | grep -E '[a-z\-]+\/[0-9]+' | awk '{print $1}' | sed s'/.$//')
for unit in ${units}; do
relations=$(juju run --unit ${unit} 'relation-ids memcache')
for relation in ${relations}; do
unit_list=$(juju run --unit ${unit} "relation-list -r ${relation}")
for related in ${unit_list}; do
addr=$(juju run --unit ${unit} "relation-get -r ${relation} private-address ${related}")
@niedbalski
niedbalski / juju-pass.go
Created May 2, 2019 12:43
juju-pass.go
package main
import (
"fmt"
"os"
"github.com/juju/utils"
)
const MIN_LEN = 30
from jinja2 import Environment
import yaml
import sys
RULE_TPL = """
ALERT {{ alert }}
IF {{ expr }}
FOR {{ for }}
LABELS {
severity="page"
@niedbalski
niedbalski / build-tag-push.py
Created November 20, 2018 18:30 — forked from peatiscoding/build-tag-push.py
a script to convert your docker-compose.yml (version 2) with build node to image node; this script required DOCKERHUB_USER environment available.
#!/usr/bin/python
import os
import subprocess
import time
import yaml
import re
user_name = os.environ.get("DOCKERHUB_USER")