Skip to content

Instantly share code, notes, and snippets.

View goneri's full-sized avatar
🇺🇦

Gonéri Le Bouder goneri

🇺🇦
View GitHub Profile
#!/bin/bash
function test_venv() {
cmd=$1
venv_dir=$(mktemp -d)
tmp_dir=$(mktemp -d)
if ! $cmd ${venv_dir} > /dev/null 2>&1; then
return
@goneri
goneri / vcenter_curl_rest_api.sh
Last active March 16, 2022 23:09
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 ""
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
@goneri
goneri / gist:92433ccf05d1e02773d47e7c1b5bc681
Last active September 23, 2021 17:03
azure-session.sh
#!/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
- name: Collect the list of the existing VM
vcenter_vm_info:
register: existing_vms
until: existing_vms is not failed
- name: Turn off the VM
vcenter_vm_power:
state: stop
vm: '{{ item.vm }}'
with_items: "{{ existing_vms.value }}"
@goneri
goneri / start_kind_in_vm.sh
Last active July 29, 2021 13:55
Start kind in a VM (Virt-Lightning)
!/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
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")
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
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 / gist:ad252e30d48cfea99aaeb2e18736303e
Last active November 26, 2020 19:33
run k8s_info 100x in a row
- hosts: localhost
gather_facts: false
tasks:
- k8s_info:
kind: Pod
with_sequence: count=100