View print_imports.py
# Courtesy of https://github.com/wimglenn
import sys
try:
import builtins
except ImportError:
# py2
import __builtin__ as builtins
View aurora.spec
%define install_directory %{_datadir}/aurora
Name: aurora
Version: 0.9.0
Release: 1%{?dist}.rc0
Summary: A framework for scheduling long-running services against Apache Mesos
License: ASL 2.0
URL: http://%{name}.apache.org/
Source0: apache-%{name}-%{version}.tar.gz
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n)
View AuroraStuff.md

The mustache gotcha

When using “bound” objects in an .aurora file it is an absolute that you do not have spaces in the “mustaches”.

Examples:

  • Bad: {{ profile.my_var }}
  • Good: {{profile.my_var}}

Mesos Slave Constraints

When scheduling a task on aurora with Production=True, the 0.7-incubating scheduler will set a default constraint preventing more than one instance of the task on the same rack.

View hello_world.aurora
version = 1
# copy hello_world.py into the local sandbox
install = Process(
name = 'fetch_package',
cmdline = 'curl http://chit-jsl1/static/hello_world.py > hello_world.py && echo {version} && chmod +x hello_world.py'.format(version=version),
)
# run the script
hello_world = Process(
View aurora-scheduler.service
# /etc/systemd/system/aurora-scheduler.service
[Unit]
Description=The Aurora mesos job scheduler
After=default.target
ConditionPathExists=/etc/sysconfig/aurora-scheduler
[Service]
EnvironmentFile=/etc/sysconfig/aurora-scheduler
ExecStart=/usr/bin/aurora-scheduler \
View demonstrate_py26_bug.py
#!/usr/bin/env python
from __future__ import print_function
class Context(object):
def __enter__(self):
yield
def __exit__(self, type, value, tracebck):
print("type: {0}".format(str(type(value))))
print("repr: {0}".format(repr(value)))
print("istuple: {0}, isioerror: {1}".format(isinstance(value, tuple), isinstance(value, IOError)))
View hashlib_test.py
############################################################################################
>>> sys.version
'2.7.3 (default, Aug 9 2012, 17:23:57) \n[GCC 4.7.1 20120720 (Red Hat 4.7.1-5)]'
>>> for algo in hashlib.algorithms:
... print '{algo} has hexdigest()'.format(instance=getattr(hashlib, algo)(), algo=algo)
...
md5 has hexdigest()
sha1 has hexdigest()
sha224 has hexdigest()
View init.sls
{% from "services/httpd/map.jinja" import httpd with context %}
{% set ltsv_conf = httpd.modconfdir + "/00-ltsv-log-format.conf" %}
httpd:
pkg:
- installed
- name: {{ httpd.pkg }}
service:
- running
- name: {{ httpd.service }}
View .pylintrc
[MASTER]
profile=no
persistent=yes
ignore=migrations
cache-size=500
[BASIC]
# Regular expression which should only match correct module names
module-rgx=([a-z][a-z0-9_]*)$