Skip to content

Instantly share code, notes, and snippets.

View devynspencer's full-sized avatar
:octocat:

Devyn Spencer devynspencer

:octocat:
View GitHub Profile
@devynspencer
devynspencer / iptables_yum.md
Last active June 15, 2016 21:40
Finding blocked packages repositories from iptables logs, then creating a manageable list for to distribute to other hosts.
[dspencer@poseidon ~]$ cat /tmp/iptables_yum.txt | awk '{ print $10}' |\
  sed 's/DST=//' | xargs -n1 host | awk '{ print $5 }' | grep -v NXDOMAIN | sort -u

ajax.vcu.edu.
archive.linux.duke.edu.
boa.wallawalla.edu.
cork.umd.edu.
deepthought.gtlib.gatech.edu.
dl01.fedoraproject.org.
@devynspencer
devynspencer / ansible-github.yml
Last active September 23, 2023 08:37
Example playbook for cloning a private git repository with Ansible.
---
hosts: all
tasks:
- name: add github ssh key
copy: >
src=files/id_rsa.github
dest=/root/.ssh/id_rsa.github
owner=root
group=root
#!/bin/bash
yum install 'perl(LWP)' 'perl(XML::Twig)'
provision.pl requisition add AwesomeTeam
provision.pl node add AwesomeTeam sql02.demo.ny03.opennms.com sql02.demo.ny03.opennms.com
provision.pl node add AwesomeTeam mon01.demo.ny03.opennms.com mon01.demo.ny03.opennms.com
provision.pl interface add AwesomeTeam
provision.pl interface add AwesomeTeam mon01.demo.ny03.opennms.com 159.203.70.83
provision.pl requisition import AwesomeTeam
fnc_spawnEvacVehicle = {
_evacFaction = side player;
_evacOrigin = [getPos player, floor random [50, 60, 70], floor random 360] call BIS_fnc_relPos;
_evacTarget = [getPos player, 10, floor random 360] call BIS_fnc_relPos;
_evacDestination = getMarkerPos "marker_extractionDestination";
_evacTargetGroup = group player;
_evacVehicleClass = ["B_Heli_Transport_01_F"] call BIS_fnc_selectRandom;
_evacSpawn = [_evacOrigin, _evacOrigin getDir _evacTarget, _evacVehicleClass, _evacFaction] call BIS_fnc_spawnVehicle;
_evacSpawnGroup = _evacSpawn select 2;
fnc_spawnDropTeam = {
_dropFaction = EAST;
_dropOrigin = [getPos player, floor random [50, 60, 70], floor random 360] call BIS_fnc_relPos;
_dropTarget = [getPos player, 10, floor random 360] call BIS_fnc_relPos;
_dropVehicleClass = ["O_Heli_Transport_04_bench_F"] call BIS_fnc_selectRandom;
_dropVehicleSpawn = [_dropOrigin, _dropOrigin getDir _dropTarget, _dropVehicleClass, _dropFaction] call BIS_fnc_spawnVehicle;
_dropVehicleSpawnGroup = _dropVehicleSpawn select 2;
_dropVehicleSpawnUnit = _dropVehicleSpawn select 0;
_dropGroupSize = 6;
_dropGroup = [_dropOrigin, _dropFaction, _dropGroupSize] call BIS_fnc_spawnGroup;
@devynspencer
devynspencer / .travis.yml
Created March 9, 2016 00:18
TravisCI configuration for testing Ansible via docker images
---
sudo: required
env:
- distribution: centos
version: 6
init: /sbin/init
run_opts: ""
- distribution: centos
version: 7
FIELDS = ['cmd', 'command', 'start', 'end', 'delta', 'msg', 'stdout', 'stderr']
def human_log(res):
if type(res) == type(dict()):
for field in FIELDS:
if field in res.keys():
encoded_field = res[field].encode('utf-8')
print '\n{0}:\n{1}'.format(field, encoded_field)
#!/usr/bin/env python
"""
ovirt external inventory script
=================================
Generates inventory that Ansible can understand by making API requests to
oVirt via the ovirt-engine-sdk-python library.
When run against a specific host, this script returns the following variables
based on the data obtained from the ovirt_sdk Node object:
- ovirt_uuid
@devynspencer
devynspencer / freeipa.py
Last active April 23, 2024 20:53
Use FreeIPA hostgroups as a dynamic inventory source for Ansible. Badass.
#!/usr/bin/env python
import argparse
import json
from ipalib import api
def initialize():
'''
This function initializes the FreeIPA/IPA API. This function requires
@devynspencer
devynspencer / freeipa.md
Created March 5, 2016 06:41
FreeIPA api notes
[devyn@ipa ~]$ ipa help commands
automember-add                         Add an automember rule.
automember-add-condition               Add conditions to an automember rule.
automember-default-group-remove        Remove default (fallback) group for all unmatched entries.
automember-default-group-set           Set default (fallback) group for all unmatched entries.
automember-default-group-show          Display information about the default (fallback) automember groups.
automember-del                         Delete an automember rule.
automember-find                        Search for automember rules.
automember-mod                         Modify an automember rule.