Skip to content

Instantly share code, notes, and snippets.

@goneri
goneri / ansible-venv.fish
Created Mar 18, 2021
Quickly prepare your ansible venv for your collections.
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
@goneri
goneri / start_kind_in_vm.sh
Created Dec 9, 2020
Start kind in a VM (Virt-Lightning)
View start_kind_in_vm.sh
#!/bin/bash
set -eux
vl start fedora-33 --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
View gist:ad252e30d48cfea99aaeb2e18736303e
- hosts: localhost
gather_facts: false
tasks:
- k8s_info:
kind: Pod
with_sequence: count=100
View gist:6afd05397390cf5a0976f3611814949a
- 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 }}"
View upload-nodepool-image.sh
#!/bin/bash
set -eux
aws --version |grep aws-cli || pip install awscli
bucket_name="nodepool-images-test"
if ! aws s3 ls s3://${bucket_name}; then
aws s3 mb s3://${bucket_name} --region us-east-2
fi
for image_local_path in $(find /opt/nodepool/images -maxdepth 1 -name 'centos-8-0000002059.raw'); do
@goneri
goneri / deploy-windmill.sh
Created Apr 30, 2020
deploy a all-in-one Zuul with Windmill
View deploy-windmill.sh
#!/bin/bash
set -eux
# https://virt-lightning.org/
vl fetch ubuntu-18.04
vl start --memory 2048 ubuntu-18.04
target=$(vl status| awk '/ubuntu-1804/ {print$4}')
ssh $target sudo chsh -s /bin/bash goneri
ssh $target sudo apt update
# My stuff
ssh $target sudo apt install -y silversearcher-ag
View connect-windows-vm.sh
# No compression/unsecure
xfreerdp /u:goneri /w:1880 /h:1000 /v:localhost:3389 /sound:sys:pulse -compression -encryption +home-drive
# Compression/Secure
xfreerdp /u:goneri /w:1880 /h:1000 /v:localhost:3389 /sound:sys:pulse +home-drive
@goneri
goneri / vcenter_curl_rest_api.sh
Created Apr 24, 2020
Example of interaction with a vCenter with curl and the REST API.
View vcenter_curl_rest_api.sh
#!/bin/bash
server='https://vcenter.test'
password='z!Zq4Y&`/!E(o<br?:L>'
session_id=$(curl -q -X POST -k -u "administrator@vsphere.local:${password}" ${server}/rest/com/vmware/cis/session|jq -r .value)
for i in $(seq 10); do
curl -ik -H 'Accept:application/json' -H "vmware-api-session-id:${session_id}" -X GET ${server}/rest/vcenter/cluster
done
View personal_notes.md

Connection

Connection are reused if the task has a loop.

lib/ansible/executor/task_executor.py -> self._connection = self._get_connection(variables=variables, templar=templar)

@goneri
goneri / push-patch
Created Apr 2, 2020
Push a given commit on Github
View push-patch
#!/bin/bash
set -eux
commits=$*
current_dir=$(pwd)
temp_dir=$(mktemp -du)
github_user=$(git config --get github.user)
origin_url=$(git config --get remote.origin.url)
project=$(git config --get remote.origin.url|sed 's,/$,,'|sed 's,.*/,,')