Skip to content

Instantly share code, notes, and snippets.

View daniel-garcia's full-sized avatar

Daniel García daniel-garcia

View GitHub Profile
@daniel-garcia
daniel-garcia / umount_orphaned_containers.sh
Created June 14, 2014 14:47
umount orphaned docker mounts
service docker stop # wait for all lxc-start processes to stop
lsblk # look for dm devices that are mounted)
umount -l /var/lib/docker/devicemapper/mnt/*
lsblk # (look for dm devices still registered with the kernel)
for x in /dev/mapper/docker-*; do dmsetup remove $x; done
lsblk # (should be down to just the physical devices on the host)
service docker start
@daniel-garcia
daniel-garcia / loadavg.sh
Last active August 29, 2015 14:01
example load average poster to internal consumer URL
#!/bin/bash
interval=1
echo "posting loadavg at $interval second(s) interval"
while :
do
now=`date +%s`
value=`cat /proc/loadavg | cut -d ' ' -f 1`
data="{\"control\":{\"type\":null,\"value\":null},\"metrics\":[{\"metric\":\"loadavg\",\"timestamp\":$now,\"value\":$value,\"tags\":{\"name\":\"value\"}}]}"
@daniel-garcia
daniel-garcia / bindErr.sh
Created May 6, 2014 15:26
recreate issue when commiting running container that has a file based bind mount
#!/usr/bin/env bash
set -e
docker pull ubuntu:latest
touch somefile.txt
WD=`pwd`
echo "about to run docker image in the background"
@daniel-garcia
daniel-garcia / dockerrash.go
Created March 6, 2014 03:06
An attempt at reproducing device busy errors
package main
import (
"log"
"os"
"os/exec"
"sync"
)
@daniel-garcia
daniel-garcia / printDefaultIp.go
Created January 31, 2014 06:02
get default outgoing IP address
package main
import (
"net"
"strings"
)
func main() {
addr, err := net.ResolveUDPAddr("udp4", "8.8.8.8:53")
@daniel-garcia
daniel-garcia / gist:8567777
Last active January 4, 2016 04:19
external dependencies for a golang project
go list -f '{{join .Deps "\n"}}' | xargs go list -f '{{if not .Standard}}{{.ImportPath}}{{end}}'
@daniel-garcia
daniel-garcia / main.go
Created January 15, 2014 21:19
nonblocking read from subprocess
package main
import (
"log"
"os"
"os/exec"
"syscall"
"time"
)
$ go run client.go
2012/03/28 22:30:21 client: connected to: 127.0.0.1:8000
Client: Server public key is:
[48 129 159 48 13 6 9 42 134 72 134 247 13 1 1 1 5 0 3 129 141 0 48 129 137 2 129 129 0 188 73 207 11 137 150 106 118 45 27 12 18 76 183 252 31 22 193 109 43 118 130 188 244 197 136 26 55 239 51 225 67 171 20 87 35 107 190 16 158 181 84 225 159 112 70 131 173 136 181 130 151 156 4 142 141 218 100 116 219 228 211 136 155 179 220 50 21 181 134 211 72 22 38 226 51 170 165 39 65 231 3 15 26 54 193 142 242 28 66 96 88 138 237 217 65 144 89 231 177 179 200 116 30 45 148 174 56 57 244 29 17 8 22 86 54 215 14 207 55 223 164 216 184 21 46 29 233 2 3 1 0 1] <nil>
2012/03/28 22:30:21 client: handshake: true
2012/03/28 22:30:21 client: mutual: true
2012/03/28 22:30:21 client: wrote "Hello\n" (6 bytes)
2012/03/28 22:30:21 client: read "Hello\n" (6 bytes)
2012/03/28 22:30:21 client: exiting
$
@daniel-garcia
daniel-garcia / Dockerfile
Created August 13, 2013 21:09
docker file for zenoss development
# Zenoss 4.x development environment
FROM centos
MAINTAINER Daniel Garcia <dgarcia@zenoss.com>
RUN yum install -y which
RUN echo "10.175.210.69 cmyum.zenoss.loc" >> /etc/hosts
RUN yum install -y http://cmyum.zenoss.loc/yum/zenossdeps-private-4.2.x-1.el6.noarch.rpm
RUN for i in /etc/yum.repos.d/CentOS-*.repo; do sed -i 's/mirrorlist/#mirrorlist/g' $i; done
@daniel-garcia
daniel-garcia / pf.go
Created July 16, 2013 14:54
simple port forwarder
package main
import (
"io"
"log"
"net"
"os"
)
func main() {