Skip to content

Instantly share code, notes, and snippets.

Avatar
🇺🇦

Gonéri Le Bouder goneri

🇺🇦
View GitHub Profile
View cloudtrail-trace-vm-creation.py
#!/usr/bin/env python3
import boto3
from datetime import datetime
client = boto3.client("cloudtrail")
import json
instances = {}
View vcenter-find-required-permissions.py
#!/usr/bin/env python3
# Identify the minimal subset of permission required for a given Ansible playbook
# License: GPLv3+
# Copyright: Gonéri Le Bouder <goneri@lebouder.net>
from pyVmomi import vim
from pyVim.connect import SmartConnect, SmartConnectNoSSL, Disconnect
import os
import subprocess
View gist:73e1452f8d28e24ee88c4e7e8323713c
sudo qemu-img convert -c -p -f qcow2 -O vmdk -o subformat=streamOptimized,compat6 ubuntu-2004.qcow2 ~/tmp/ubuntu-2004.vmdk-4
scp ~/tmp/ubuntu-2004.vmdk-4 root@datastore.test:/srv/share/vms/test_vm1
ssh root@esxi1.test vmkfstools -i /vmfs/volumes/rw_datastore/test_vm1/ubuntu-2004.vmdk-4 /vmfs/volumes/rw_datastore/test_vm1/ubuntu-2004.vmdk -d thin
ssh root@dataastore.test curl -o /srv/share/vms/fedora-35.vmdk-4 https://s3.us-east-2.amazonaws.com/ansible-team-cloud-images/fedora-35.vmdk-4
ssh root@esxi.test mkdir -p /vmfs/volumes/rw_datastore/test_vm1
ssh root@esxi1.test vmkfstools -i /vmfs/volumes/local/fedora-35.vmdk-4 /vmfs/volumes/rw_datastore/test_vm1/fedora-35.vmdk -d thin
View gist:92433ccf05d1e02773d47e7c1b5bc681
#!/bin/bash
job_id=$(uuidgen)
ansible_core_ci=$(cat ~/.ansible-core-ci.key)
curl -X PUT -H "Content-Type: application/json" --data '{"config": {"platform": "azure"}, "auth": {"remote": {"key": "'${ansible_core_ci}'", "nonce": null}}, "threshold": 1}' https://ansible-core-ci.testing.ansible.com/dev/azure/${job_id}| python -c 'import yaml, sys; print(yaml.dump(yaml.safe_load(sys.stdin), default_flow_style=False))' |tee session.yaml
View gist:831994b3dbbd6500dc06079e097ebe43
root@dragonflybsd-600-hammer2:/home/goneri # panic: no volume for offset 0x0000000040010000
cpuid = 0
Trace beginning at frame 0xfffff800677a7260
hammer2_get_volume() at hammer2_get_volume+0x4b 0xffffffff8098334b
hammer2_get_volume() at hammer2_get_volume+0x4b 0xffffffff8098334b
_hammer2_io_getblk() at _hammer2_io_getblk+0x182 0xffffffff8095fcf2
hammer2_io_new() at hammer2_io_new+0x17 0xffffffff809605f7
hammer2_chain_modify() at hammer2_chain_modify+0x342 0xffffffff8096e302
hammer2_chain_create() at hammer2_chain_create+0xe31 0xffffffff8096fe01
Debugger("panic")
View gist:fff68863f2a215a8ab362302f4e76354
Mounting root from hammer2:vbd0s3
hammer2_mount: root devstr="vbd0s3"
hammer2_mount: dev="vbd0s3" label="DATA" rdonly=1
hammer2_ondisk: "/dev/vbd0s3" zone=3 id=0 offset=0x0000000000000000 size=0x0000000322800000
hammer2_ondisk: total size 0x0000000057000000 does not equal sum of volumes 0x0000000322800000
Root mount failed: 22
Manual root filesystem specification:
<fstype>:<device> Specify root (e.g. ufs:da0s1a)
? List valid disk boot devices
View gist:7c7dd1dacb2d6e14cead0608fda92de3
root@dragonflybsd-600-hammer2:~ # fsck_hammer2 /dev/vbd0s3
volume header
zone.0 0000000000000010 (best)
zone.1 exceeds volume size
freemap
zone.0 0000000000000010 (best)
1 blockref (0 node, 1 leaf), 32.00KB
zone.1 exceeds volume size
@goneri
goneri / vcenter_curl_rest_api.sh
Last active Mar 16, 2022
vcenter_curl_rest_api.sh
View vcenter_curl_rest_api.sh
#!/bin/bash
set -x
server='https://vcenter.test'
password=$(crudini --get /tmp/inventory-vmware_rest 'vmware_rest:vars' 'vcenter_password')
session_id=$(curl -q --http1.1 -X POST -k -u "administrator@vsphere.local:${password}" ${server}/rest/com/vmware/cis/session|jq -r .value)
function get() {
path=$1
curl -ik -H vmware-api-session-id:${session_id} -X GET ${server}$path
echo ""
View ansible-venv.fish
#!/usr/bin/env fish
# License: GPLv3+
# Usage:
# To start a venv with the default python3 and Ansible devel:
# . ~/bin/ansible-venv.fish
#
# To start a venv with a specific version:
# . ~/bin/ansible-venv.fish 3.4 stable-2.9
# See: https://goneri.lebouder.net/2021/06/02/ansible-collections-and-venv/
@goneri
goneri / start_kind_in_vm.sh
Last active Jul 29, 2021
Start kind in a VM (Virt-Lightning)
View start_kind_in_vm.sh
!/bin/bash
set -eux
vl start fedora-34 --memory 2000 --name kind-vm
target=$(vl status|awk '/kind-vm/ {print $4}')
public_ip=$(vl status|awk '/kind-vm/ {print $4}'|sed 's,.\+@,,')
rc_file=/tmp/k8s_rc
ssh $target '
curl -L -o /tmp/kubectl "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x /tmp/kubectl