Skip to content

Instantly share code, notes, and snippets.

Avatar

Cosimo Streppone cosimo

View GitHub Profile
@cosimo
cosimo / elasticsearch_out_of_sync_shards.py
Last active Jun 2, 2022
Check if any elasticsearch index replica shards are out-of-sync compared to the relative primary (used to rectify some network partition-caused outdated shard problems)
View elasticsearch_out_of_sync_shards.py
#!/usr/bin/env python3
# encoding: utf-8
"""
Identify out-of-sync replica shards for an Elasticsearch index
--------------------------------------------------------------
This program will output a list of all shards for a given index, identifying
the ones that are out-of-sync with respect to the primary shard.
@cosimo
cosimo / es-dump.sh
Created Apr 26, 2022
Basic usage of elasticsearch-dump
View es-dump.sh
#!/bin/bash
ES_HOST=localhost
ES_PORT=9200
ES_USERNAME=elasticsearch
ES_PASSWORD=oohlala
ES_URL="https://$ES_USERNAME:$ES_PASSWORD@$ES_HOST:$ES_PORT"
dump_mapping() {
local index_name="$1"
@cosimo
cosimo / gcloud-snippets.sh
Created Jan 12, 2022
Random gcloud command line snippets
View gcloud-snippets.sh
#!/bin/bash
# =============================================================================
#
# Very random gcloud related snippets
#
# =============================================================================
set -e
set -o nounset
@cosimo
cosimo / delete-unreferenced-charts.py
Created Sep 14, 2021
Clean up older versions of charts from chartmuseum
View delete-unreferenced-charts.py
#!/usr/bin/env python3
import os
import yaml
import requests
CHARTMUSEUM_URL = 'https://your.chartmuseum.url'
@cosimo
cosimo / nvidia-kernel-crash.log
Last active Aug 9, 2021
nvidia modeset kernel crash + screen freeze
View nvidia-kernel-crash.log
Aug 9 11:26:21 cosimo-desktop kernel: [8778506.500704] nvidia-modeset/: page allocation failure: order:4, mode:0x40cc0(GFP_KERNEL|__GFP_COMP), nodemask=(null),cpuset=/,mems_allowed=0
Aug 9 11:26:21 cosimo-desktop kernel: [8778506.500709] CPU: 1 PID: 244 Comm: nvidia-modeset/ Tainted: P OE 5.4.0-72-generic #80~18.04.1-Ubuntu
Aug 9 11:26:21 cosimo-desktop kernel: [8778506.500709] Hardware name: MSI MS-7A71/Z270-A PRO (MS-7A71), BIOS 1.20 04/07/2017
Aug 9 11:26:21 cosimo-desktop kernel: [8778506.500710] Call Trace:
Aug 9 11:26:21 cosimo-desktop kernel: [8778506.500714] dump_stack+0x6d/0x8b
Aug 9 11:26:21 cosimo-desktop kernel: [8778506.500716] warn_alloc+0xfe/0x160
Aug 9 11:26:21 cosimo-desktop kernel: [8778506.500718] __alloc_pages_slowpath+0xe19/0xe50
Aug 9 11:26:21 cosimo-desktop kernel: [8778506.500900] ? _nv032044rm+0x1e/0x30 [nvidia]
Aug 9 11:26:21 cosimo-desktop kernel: [8778506.501066] ? os_release_spinlock+0x1a/0x20 [nvidia]
Aug 9 11:26:21 cosimo-desktop kernel: [8778506.501
@cosimo
cosimo / disable_cb_access_scanner.sh
Created Jun 24, 2021
Disable the Couchbase Bucket Access Scanner to avoid micro outages
View disable_cb_access_scanner.sh
#!/bin/bash
#
# Disables the Couchbase access scanner on a list of buckets
# Access scanner can cause short outages when buckets are very large.
#
set -e -x
USER='Administrator'
@cosimo
cosimo / inv.py
Last active Oct 1, 2021
Display ansible inventories with Python and the rich console library
View inv.py
"""
Display Ansible inventories as a tree of environments, groups and hosts as leaves.
A nice diversion/excuse to dive into the rich console library.
It will expand simple host ranges, allowing grep commands to find
group names for given hosts.
Usage:
./inv.py
./inv.py | grep -B10 some-hostname
@cosimo
cosimo / cloudpassage_zone_update.py
Last active Feb 25, 2021
Automatic update of a Cloudpassage FirewallZone (python script)
View cloudpassage_zone_update.py
#!/usr/bin/env python
# encoding: utf-8
"""
Update an existing Cloudpassage FirewallZone from an external list of IPs
Wanted to use this to block abusive IPs, then I made this work and
realized it only accepts max 6000 characters, which in practice translates
to ~400 IP addresses, so it's probably not worth using in any case.
Usage:
View websocket-client.pl
#!/usr/bin/env perl
use v5.014;
use warnings;
# Perl WebSocket test client
# Greg Kennedy 2019
# IO::Socket::SSL lets us open encrypted (wss) connections
use IO::Socket::SSL;
# IO::Select to "peek" IO::Sockets for activity
@cosimo
cosimo / debian-safe-upgrade.sh
Created Apr 30, 2020
Safe upgrade of a debian system
View debian-safe-upgrade.sh
#!/bin/sh
OLDDIST=lenny
NEWDIST=squeeze
BACKUP_DIR="/var/tmp/backup.$OLDDIST"
echo "+ Create backup directory"
mkdir -p "$BACKUP_DIR"