Skip to content

Instantly share code, notes, and snippets.

View noonedeadpunk's full-sized avatar

Dmitriy Rabotyagov noonedeadpunk

View GitHub Profile
@noonedeadpunk
noonedeadpunk / gist:c606cfc33ec7c76750b6c25d0feb8796
Created November 13, 2019 16:47
Fix ceph Legacy BlueStore stats
for osd in `systemctl | grep ceph-osd@ | cut -d "@" -f 2 | cut -d "." -f 1`; do systemctl stop ceph-osd@$osd; sleep 5; ceph-bluestore-tool repair --path /var/lib/ceph/osd/ceph-$osd; sleep 2; systemctl start ceph-osd@$osd; sleep 10; done
@noonedeadpunk
noonedeadpunk / gist:d01ba61fa2b914b4963e916caed440aa
Created November 13, 2019 17:08
Get ceph filestore osds in csv: osdid,node,data path,journal path
for osd in `ceph osd tree | grep osd | awk '{ print $4 }' | cut -d '.' -f 2`; do ceph osd metadata $osd -f json | python -c "exec(\"import json\nimport sys\ndata = json.loads([ line for line in sys.stdin if line.strip()][0])\nif data['osd_objectstore'] == 'filestore':\n print(','.join([str(data['id']), data['hostname'], data['backend_filestore_partition_path'], data['backend_filestore_journal_partition_path'] if 'backend_filestore_journal_partition_path' in data else '']))\")"; done
@noonedeadpunk
noonedeadpunk / compare_conf.py
Last active December 12, 2019 15:06
Compare config files with configparser
#!/usr/bin/env python
import configparser
import itertools
import sys
from pprint import pprint
def compare_confs(src, dst):
src_conf = configparser.RawConfigParser()
@noonedeadpunk
noonedeadpunk / gist:9a260f23ec78676576f4b19d79a4b679
Created December 13, 2019 16:15
Check OSA local roles changes
ROLES_DIR="/etc/ansible/roles/"; pushd $ROLES_DIR; ROLES=`ls -1`; popd; for role in $ROLES; do pushd $ROLES_DIR/$role; git diff; popd; done
@noonedeadpunk
noonedeadpunk / gist:4a22b2dcc3b22fcc295445ed18c66247
Last active December 27, 2019 16:19
Drop rabbitmq queues without consumers
### Classis FOR ###
vhost="/"; for queue in `rabbitmqctl list_queues name consumers -p $vhost --formatter csv`; do name=`echo $queue | cut -d "," -f 1 | tr -d '"'`; consumers=`echo $queue | cut -d "," -f 2 | tr -d '"'`; if [[ "$consumers" == "0" ]]; then rabbitmqctl delete_queue $name -p $vhost ; fi; done
### Faster XARGS ###
vhost="/"; rabbitmqctl list_queues name consumers -p $vhost --formatter csv | xargs -P 20 -I {} env vhost=$vhost bash -c 'name=$(echo {} | cut -d "," -f 1); consumers=$(echo {} | cut -d "," -f 2); if [[ "$consumers" != "0" ]]; then rabbitmqctl delete_queue $name -p $vhost ; fi'
---
- name: Create users
hosts: all
vars:
group: mygroup
user: myuser
keys_path: ./ssh_keys
tasks:
- name: Create group
group:
---
- name: Sync clock with chrony
hosts: all
tasks:
- name: disable ntp
service:
name: ntp
state: stopped
enabled: false
failed_when: false
@noonedeadpunk
noonedeadpunk / ipa-client-install.yml
Last active May 5, 2020 11:07
Add hosts to ipa server
---
- name: Install and configure ipa-client
hosts: "{{ hosts }}"
tasks:
- name: Install ipa-client package
package:
name: "{{ (ansible_os_family == 'Debian') | ternary('freeipa-client', 'ipa-client') }}"
state: installed
register: ipa_install
- name: Run configuration command
@noonedeadpunk
noonedeadpunk / add_1password_server.yml
Created May 21, 2020 19:10
1Password add server and ipmi playbook
- name: Reset password
hosts: "{{ host }}"
vars:
ipmi_password: "{{ lookup('password', '/tmp/' ~ inventory_hostname ~ '_ipmipassword chars=ascii_letters,digits length=16') }}"
system_password: "{{ lookup('password', '/tmp/' ~ inventory_hostname ~ '_rootpassword chars=ascii_letters,digits,-,_,! length=20') }}"
tasks:
- name: install ipmitool
package:
name: ipmitool
state: present
@noonedeadpunk
noonedeadpunk / diff
Created June 24, 2020 15:58
SPICE console ctrl+alt+del button
/usr/share/spice-html5/spice_auto.html:
<div id="login">
<span class="logo">SPICE</span>
+ <div class="spice-send-ctrl-alt-del">
+ <button type="button" onclick="sendCtrlAltDel()">
+ Send Ctrl-Alt-Delete
+ </button>
+ </div>
</div>