Skip to content

Instantly share code, notes, and snippets.

View dtantsur's full-sized avatar
🦉
Today I'm an owl

Dmitry Tantsur dtantsur

🦉
Today I'm an owl
View GitHub Profile
@dtantsur
dtantsur / Dockerfile
Created May 17, 2022 17:53
Demonstration of broken libvirt-python on yoga
FROM quay.io/centos/centos:stream9
RUN dnf install -y 'dnf-command(config-manager)' && \
dnf config-manager --set-enabled crb && \
dnf install -y gcc git-core python3-devel libvirt-devel pkg-config
RUN git clone https://opendev.org/openstack/requirements /tmp/reqs -b stable/yoga && \
python3 -m venv /tmp/venv && \
/tmp/venv/bin/pip install libvirt-python -c /tmp/reqs/upper-constraints.txt
@dtantsur
dtantsur / compare-yamls.py
Created March 23, 2022 09:55
Compare two YAMLs recursively
import sys
import yaml
def compare(r1, r2, prefix=''):
if isinstance(r1, dict):
for (k1, v1), (k2, v2) in zip(r1.items(), r2.items()):
if k1 != k2:
print(prefix, 'key mismatch:', k1, '!=', k2)
else:
@dtantsur
dtantsur / infra.yaml
Created March 10, 2022 17:10
InfraEnv for testing
apiVersion: hive.openshift.io/v1
kind: ClusterImageSet
metadata:
name: openshift-v4.9.0
spec:
releaseImage: quay.io/openshift-release-dev/ocp-release:4.9.9-x86_64
---
apiVersion: extensions.hive.openshift.io/v1beta1
kind: AgentClusterInstall
metadata:
@dtantsur
dtantsur / config.sh
Last active March 11, 2022 16:36
Patch to be able to install AI on 4.11 dev-scripts
export IRONIC_AGENT_LOCAL_IMAGE=https://github.com/flaper87/ironic-agent-image
export IMAGE_CUSTOMIZATION_CONTROLLER_LOCAL_IMAGE=https://github.com/dtantsur/image-customization-controller
export CLUSTER_BAREMETAL_OPERATOR_LOCAL_IMAGE=https://github.com/dtantsur/cluster-baremetal-operator
export ASSISTED_SERVICE_IMAGE=quay.io/flaper87/assisted-service:no-force-inspection-1
export DRIVER=redfish-virtualmedia
export VM_EXTRADISKS=true
export VM_EXTRADISKS_LIST="vda vdb"
export VM_EXTRADISKS_SIZE="10G"
@dtantsur
dtantsur / ramdisk-deploy.py
Last active January 18, 2021 12:27
Ramdisk deployment with a configdrive
# https://gist.github.com/dtantsur/7e614963d48cd929ef39fa60c0b34a3d
import os
import sys
import openstack
try:
node_id = sys.argv[1]
ip = sys.argv[2]
@dtantsur
dtantsur / erase-command.py
Created October 26, 2020 13:06
Find a suitable command to securely erase an NVMe device
#!/usr/bin/env python3
import json
import subprocess
import sys
try:
dev = sys.argv[1]
except IndexError:
sys.exit('Device required')
FROM python
RUN apt update && apt install -y tox
@dtantsur
dtantsur / browse-mdns.py
Created July 15, 2019 15:13
Browse OpenStack mDNS records
#!/usr/bin/env python
from __future__ import print_function
import socket
import sys
import netifaces
import zeroconf
Host *
IdentitiesOnly yes
Host virthost
Hostname lab
IdentityFile /home/dtantsur/.quickstart/id_rsa_virt_host
User stack
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
@dtantsur
dtantsur / rules1.json
Last active May 9, 2017 11:12
Introspection rules for auto-discovery demo
[
{
"description": "Set default IPMI credentials",
"conditions": [
{"op": "eq", "field": "data://auto_discovered", "value": true}
],
"actions": [
{"action": "set-attribute", "path": "driver_info/ipmi_username",
"value": "admin"},
{"action": "set-attribute", "path": "driver_info/ipmi_password",