Instantly share code, notes, and snippets.

View IPv6.java
import com.googlecode.ipv6.IPv6Address;
/*
Replace the IPv6 address with anything you like, Link Local or Global, based on the 'ff:fe' in the address
this code will tell you if the address is EUI-64
Author: Wido den Hollander <wido@widodh.nl>
*/
public class IPv6 {
View haproxy.cfg
global
log 127.0.0.1 local1
log 127.0.0.1 local2 notice
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
View radosgw-gc-bucket-indexes.sh
#!/bin/bash
#
# Find orphaned bucket index objects in the RGW bucket index pool
# and clean them up if they do not belong to a bucket
#
# Author: Wido den Hollander <wido@42on.com>
#
INDEX_POOL=$1
View cloudstack-multicast.sh
#!/bin/bash
#
# Calculate the IPv4 Multicast Group that Apache CloudStack will use
# for a VNI
#
# Also see modifyvxlan.sh in CloudStack repository
#
# Author: Wido den Hollander <wido@widodh.nl>
#
View ceph-osd-ssd-set-backfills.sh
#!/bin/sh
ceph osd tree|grep osd|grep ssd|awk '{print $1}'|sort -n|xargs -I{} -n 1 ceph tell osd.{} config set osd_max_backfills 3
View remove-old-bucket-indexes.sh
#!/bin/bash
for bucket in $(radosgw-admin bucket list | jq -r .[]); do
bucket_id=$(radosgw-admin metadata get bucket:${bucket} | jq -r .data.bucket.bucket_id)
marker=$(radosgw-admin metadata get bucket:${bucket} | jq -r .data.bucket.marker)
for instance in $(radosgw-admin metadata list bucket.instance | jq -r .[] | grep "^${bucket}:" | grep -v ${bucket_id} | grep -v ${marker}| cut -f2 -d':'); do
echo "${bucket}: ${instance}"
radosgw-admin bi purge --bucket=${bucket} --bucket-id=${instance}
radosgw-admin metadata rm bucket.instance:${bucket}:${instance}
done
View iptables-proxy.sh
#!/bin/bash
#
# Author: Wido den Hollander <wido@widodh.nl>
#
# Proxy all TCP and UDP IPv4 traffic from 192.168.100.230 to 10.0.100.50
#
# This can be used as a (temporary) proxy when you want to renumber a machine and want
# to make sure it's still available on it's old address
#
View ceph-build.sh
#!/bin/bash
#
# Build DEB packages for Ubuntu 16.04 tested with Ceph Luminous
#
apt install -y dpkg-dev debhelper
apt install -y bc btrfs-tools cmake cpio cryptsetup cython cython3 default-jdk dh-exec dh-python dh-systemd gdisk git gperf javahelper jq junit4 libaio-dev libbabeltrace-ctf-dev libbabeltrace-dev libblkid-dev libcurl4-openssl-dev libexpat1-dev libfuse-dev libgoogle-perftools-dev libibverbs-dev libkeyutils-dev libldap2-dev libleveldb-dev liblttng-ust-dev libnss3-dev libsnappy-dev libssl-dev libtool libudev-dev libxml2-dev lsb-release parted pkg-config python python-all-dev python-coverage python-cherrypy3 python-nose python-pecan python-prettytable python-setuptools python-six python-sphinx python-werkzeug python3-all-dev python3-setuptools socat uuid-runtime valgrind python-virtualenv xfslibs-dev xfsprogs xmlstarlet yasm zlib1g-dev
cd /src/ceph
dpkg-buildpackage -j8 -us -us -b
View qemu-ga.json
{ "execute": "guest-exec", "arguments": { "path": "/usr/bin/wget", "arg": ["-O", "/root/.ssh/authorized_keys", "http://zooi.widodh.nl/ssh/pubkey"]}}
View fio-rbd-benchmark.sh
fio --ioengine=rbd --clientname=admin --invalidate=0 --rw=randwrite --pool=rbd --rbdname=fio --bs=4k --iodepth=1 --runtime=60 --name=rbd_w_4k