Skip to content

Instantly share code, notes, and snippets.

View moio's full-sized avatar

Silvio Moioli moio

View GitHub Profile
@moio
moio / sample_outdegree
Created September 23, 2014 07:10
Ruby gem dependency graph outdegree sampler
#!/usr/bin/env ruby
require 'rubygems'
require 'open-uri'
sample_size = 1000
specs = Marshal.load(Gem.gunzip(File.read("latest_specs.4.8.gz")))
sample = specs.sample(sample_size)
@moio
moio / taskocheck.py
Created May 31, 2016 05:30
Script to check if Taskomatic is up and running
#!/usr/bin/python
import xmlrpclib, sys, socket
TASKO_URL = "http://localhost:2829/RPC2"
try:
client = xmlrpclib.Server(TASKO_URL)
result = client.tasko.one(0)
if result == 1:
@moio
moio / main.tf
Created October 13, 2016 06:51
terraform-provider-libvirt main.tf to create a NAT network
provider "libvirt" {
uri = "qemu:///system"
}
resource "libvirt_network" "network" {
name = "mynetwork"
mode = "nat"
domain = "whatever.local"
addresses = ["192.168.127.0/24"]
}
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import subprocess
import sys
import zmq
SERVER_ADDRESS = "tcp://suma3pg.tf.local:4505"
print "libzmq-%s" % zmq.zmq_version()
@moio
moio / getdetails.py
Created December 15, 2017 11:17
Sample SUSE Manager XMLRPC script to get details about a system
#!/usr/bin/python
import sys
import xmlrpclib
if len(sys.argv) != 5:
print("Usage: getdetails.py <SUSE MANAGER HOSTNAME> <USERNAME> <PASSWORD> <SYSTEM ID>")
sys.exit(1)
manager_url = "http://" + sys.argv[1] + "/rpc/api"
client = xmlrpclib.Server(manager_url, verbose=0)
#!/usr/bin/python
import sys
import xmlrpclib
if len(sys.argv) != 5:
print("Usage: get_package_list.py <SUSE MANAGER HOSTNAME> <USERNAME> <PASSWORD> <SYSTEM NAME>")
sys.exit(1)
_, hostname, username, password, system_name = sys.argv
#!/usr/bin/python
import sys
import xmlrpclib
if len(sys.argv) != 5:
print("Usage: change_channels.py <SUSE MANAGER HOSTNAME> <USERNAME> <PASSWORD> <NEW BASE CHANNEL>")
sys.exit(1)
_, hostname, username, password, channel = sys.argv
@moio
moio / debug.log
Created April 17, 2018 13:27
Terraform issue debug log
2018/04/17 07:23:52 [INFO] Terraform version: 0.11.7 41e50bd32a8825a84535e353c3674af8ce799161
2018/04/17 07:23:52 [INFO] Go runtime version: go1.10.1
2018/04/17 07:23:52 [INFO] CLI args: []string{"/root/opt/terraform", "plan", "-out", "plan.out"}
2018/04/17 07:23:52 [DEBUG] Attempting to open CLI config file: /root/.terraformrc
2018/04/17 07:23:52 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
2018/04/17 07:23:52 [INFO] CLI command args: []string{"plan", "-out", "plan.out"}
2018/04/17 07:23:52 [INFO] command: empty terraform config, returning nil
2018/04/17 07:23:52 [DEBUG] command: no data state file found for backend config
2018/04/17 07:23:52 [DEBUG] New state was assigned lineage "1260e09e-f160-7f89-c9d9-0e37451b1c16"
2018/04/17 07:23:52 [INFO] command: backend initialized: <nil>
@moio
moio / lookup_evr_hammer.rb
Created April 19, 2018 08:47
Script to reproduce a race condition in spacewalk's lookup_evr() function
#!/usr/bin/env ruby
# encoding: UTF-8
require 'time'
require 'pg'
def random_string(rng)
"%02x" % rng.rand(2 ** 64)
end
@moio
moio / lookup_evr.sql
Created April 19, 2018 08:52
Proposed change to spacewalk's lookup_evr function
-- oracle equivalent source sha1 231a317e7ec144399cc913861269e968d41b8840
--
-- Copyright (c) 2008--2012 Red Hat, Inc.
--
-- This software is licensed to you under the GNU General Public License,
-- version 2 (GPLv2). There is NO WARRANTY for this software, express or
-- implied, including the implied warranties of MERCHANTABILITY or FITNESS
-- FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
-- along with this software; if not, see
-- http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.