- Your favorite text editor
- Python 3 (3.5 is the latest)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import json | |
import os | |
import subprocess | |
import sys | |
PYTHON = '/home/dstanek/.py-venvs/simple2/bin/python' | |
INVENTORY = '/home/dstanek/bin/openstack_inventory.py' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
An Ansible playbook for taking a Ubuntu 16.04 node and turning it into a testshib | |
service provider for testing keystone/horizon federation. | |
Roles can be found here: | |
* https://galaxy.ansible.com/dstanek/devstack/ | |
* https://galaxy.ansible.com/dstanek/keystone-sp/ | |
Steps: | |
1. Create a new VM (Rackspace, Virtualbox, whatever) | |
2. Run 'ansible-playbook -i "[ip address]," playbook.yml' where [ip address] is your VM's IP. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" pull gist cvimrc.vim every hour and at Chrome startup | |
set autoupdategist | |
" don't allow web pages to auto focus on input boxes when they load | |
set noautofocus | |
" smooth scrolling | |
set smoothscroll | |
let barposition = "bottom" | |
let blacklists = ["https://inbox.google.com/*"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
import collections | |
import datetime | |
import json | |
MIN_INC = 5 | |
EVENT_CONTINUED = object() | |
EMPTY = object() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"rules": [ | |
{ | |
"local": { | |
"user": { | |
"name": "@@UserName@@" | |
} | |
}, | |
"remote": [ | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"rules": [ | |
{ | |
"local": { | |
"user": "name" | |
}, | |
"remote": [ | |
{ | |
"type": "UserName" | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
host=$1 | |
pub_key=$2 | |
function help { | |
echo 'usage: ./bootstrap-devstack.sh host public_key' | |
echo ' example: ./bootstrap-devstack.sh 1.1.1.1 ~/.ssh/id_dsa.pub' | |
exit 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from myapp.forms import MyForm | |
def my_view(request): | |
form = MyForm(request.POST or None) | |
if form.is_valid(): | |
name = form.cleaned_data['name'] | |
email = form.cleaned_data['email'] | |
# do something great with that data | |
This is a crazy rought draft. More like a semi-organized brainstorm.
To provide a stable API for building drivers. This gives third-party driver writers time (a full cycle) to update their drivers to fulfill new API expectations.
In Keystone we deliver our drivers in the same package as the managers. This makes it much easier for us to deal with changing APIs than for third-party developers.