Skip to content

Instantly share code, notes, and snippets.

vStone / calculate_memory_use.rb
Created February 9, 2018 07:37
Puppet function to calculate memory usage.
View calculate_memory_use.rb
# frozen_string_literal: true
# File goes into lib/puppet/functions/ of some module
# You can use this function to dynamically calculate memory use for a certain process.
# The java JVM for example.
# Its possible to calculate memory based upon fixed numbers (would like 512M but with a minimum of 256M) or
# with percentages (give me half but with a minimum of 256M).
vStone /
Created December 4, 2017 15:12
Gentoo kernel upgrade (must enable config support in kernel cfr /proc/config.gz)
#!/bin/bash -e
errr() {
echo "$@" 1>&2
exit 1;
cd linux/
vStone /
Created September 14, 2017 16:53
Telenet Telemeter Script
# requirements:
# - curl
# - nokogiri
# usage: fill in username and password here, execute, and it spits out json array with your usage
username=<< Fill your username in here >>
password=<< Fill your password in here >>
View execute.log
$ puppet apply --modulepath=. -e 'include test'
Warning: ModuleLoader: module 'test' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules
(file & line not available)
Error: Evaluation Error: Error while evaluating a Function Call, can't modify frozen String at /home/jan/tmp/test/manifests/init.pp:4:16 on node
View calculate_memory_use.rb
module Puppet::Parser::Functions
newfunction(:calculate_memory_use, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
calculate_memory_use(use, reserved, minimum=0)
[*use*] How much memory should I use (of the non-reserved space left)
* Floating numbers smaller than 1 are interpreted as percentage.
* Anything else is used as size.
vStone / external_facter_helper.rb
Created August 22, 2016 08:38
Use external facter for unit testing facts: spec/helpers/external_facter_helper.rb
View external_facter_helper.rb
require 'yaml'
module RSpecHelper
module SystemFacter
def self.resolve_fact (fact, stubs = {}, facter_path = (ENV['FACTER_PATH'] || '/usr/bin/facter'))
env_values = {}
command = [ facter_path, '--yaml']
facts_path = File.expand_path(File.dirname(__FILE__) + '/../../lib/facter')
vStone /
Created August 11, 2016 06:10
Keybase proof

Keybase proof

I hereby claim:

  • I am vstone on github.
  • I am vstone ( on keybase.
  • I have a public key ASCF9MBdc4aceHSGtMwqgiPx42QaaXu9Ge0GQZDfJgTLZQo

To claim this, I am signing this object:

vStone / list-git-tags.groovy
Created April 14, 2015 08:58
Jenkins groovy script which lists remote tags.
View list-git-tags.groovy
"name": "List GIT TAGS",
"comment": "You can use this to fill up a dynamic list parameter with tags. Optionally, you can filter the tags to show. You can include a fallback branch as ALWAYS_INCLUDE like 'develop'",
"parameters": [ 'FILTER', 'REMOTE', 'ALWAYS_INCLUDE' ],
"core": "1.580",
"authors": [
{ name : "Jan Vansteenkiste" }
vStone / list-git-branches.groovy
Created April 14, 2015 08:56
Jenkins groovy script which lists remote branches.
View list-git-branches.groovy
"name": "List GIT Branches",
"comment": "You can use this to fill up a dynamic list parameter with branches. Optionally, you can filter the branches to show.",
"parameters": [ 'FILTER', 'REMOTE' ],
"core": "1.580",
"authors": [
{ name : "Jan Vansteenkiste" }
View lxc-status
( echo 'VM|Status|IP|Memory|OS';
for node in `lxc-ls -1`; do
tmpfile=`mktemp -t lxc-info-$node-XXXXXXX`;
lxc-info -n $node | sed 's@[ ]*:[ ]*@:@' > $tmpfile
status=$( cat $tmpfile | grep 'State:' | awk -F: '{print $2}' );
ip=""; mem=""; os=""; osver="";
if [ "$status" == "RUNNING" ]; then