Skip to content

Commit

Permalink
various improvements across the board
Browse files Browse the repository at this point in the history
  • Loading branch information
Gigi committed May 11, 2014
1 parent a13be67 commit 004e500
Show file tree
Hide file tree
Showing 20 changed files with 128 additions and 7 deletions.
1 change: 0 additions & 1 deletion acme_api/tests/test_api.py
Expand Up @@ -2,7 +2,6 @@
import os
import sys
from acme_db import db, models
from acme_service.service import AlienAbductionManager

from unittest import TestCase
from datetime import datetime, timedelta
Expand Down
18 changes: 18 additions & 0 deletions acme_integration_tests/test_integration_load.py
@@ -0,0 +1,18 @@
from unittest import TestCase


class LoadTest(TestCase):
def setUp(self):
"""
"""

def test_load(self):
"""
"""
# Launch the system

# Generate artificial load

# Wait for system to process load

# Verify load was handled properly
19 changes: 19 additions & 0 deletions acme_integration_tests/test_integration_workflow.py
@@ -0,0 +1,19 @@
from unittest import TestCase


class LoadTest(TestCase):
def setUp(self):
"""
"""

def test_load(self):
"""
"""

# Mock dependencies as necessary

# Launch the system

# Generate diverse input

# Verify input was processed properly
6 changes: 1 addition & 5 deletions acme_sdk/acme_sdk/sdk.py
Expand Up @@ -2,11 +2,7 @@
from acme_db import models


def get_aliens_paged(first_id=None):
pass


def get_alien(alien_name):
def get_aliens_paged(first_id=0):
pass


Expand Down
26 changes: 26 additions & 0 deletions acme_system_tests/simulator.py
@@ -0,0 +1,26 @@
"""Generate alien abduction and probe requests"""
from datetime import datetime, timedelta


class Simulator(object):
def __init__(self, duration, delay, acme_url):
assert isinstance(duration, timedelta)
assert isinstance(delay, timedelta)

self.duration = duration
self.delay = delay
self.acme_url = acme_url

def run(self):
start = datetime.now()
end = start + self.duration

while datetime.now() < end:
request = self._generate_request()
self._send_request()

def _send_request(self):
raise NotImplementedError

def _generate_request(self):
raise NotImplementedError
Empty file.
3 changes: 2 additions & 1 deletion ansible/inventory/local
Expand Up @@ -6,6 +6,7 @@

[service]
192.168.44.11
192.168.44.12

[api]
192.168.44.12

11 changes: 11 additions & 0 deletions ansible/playbooks/acme_api.yml
@@ -0,0 +1,11 @@
---
- hosts: service
roles:
- base_server
- provision_service
- deploy_service

vars:
user: acme
app_name: acme_api

1 change: 1 addition & 0 deletions ansible/playbooks/acme_db.yml
Expand Up @@ -5,4 +5,5 @@
- hosts: db
sudo: yes
roles:
- base_server
- mysql
1 change: 1 addition & 0 deletions ansible/playbooks/acme_service.yml
@@ -1,5 +1,6 @@
---
- hosts: service
roles:
- base_server
- provision_service
- deploy_service
15 changes: 15 additions & 0 deletions ansible/roles/base_server/tasks/main.yml
@@ -0,0 +1,15 @@
---
- name: Install base sytem packages that every server needs
apt: name={{ item }} state=installed update_cache=true
with_items: base_apt_packages

# http://stackoverflow.com/questions/5585875/what-is-the-official-preferred-way-to-install-pip-and-virtualenv-systemwide
- name: Install pip and virtualenv
shell: >
curl --silent --show-error --retry 5
https://raw.github.com/pypa/pip/master/contrib/get-pip.py |
sudo python2.7
- name: pip install base Python packages
pip: name={{ item }} state=present
with_items: base_pip_packages
9 changes: 9 additions & 0 deletions ansible/roles/base_server/vars/main.yml
@@ -0,0 +1,9 @@
---
base_apt_packages:
- build-essential
- git
- python-software-properties
- python-dev

base_pip_packages:
- virtualenvwrapper
15 changes: 15 additions & 0 deletions ansible/roles/deploy_api/tasks/main.yml
@@ -0,0 +1,15 @@
---
- name: symlink nginx.conf
file: path=/var/www state=directory owner={{ user }}

- name: Install web app conf file
template: >
src={{ app_name }}.conf.j2
dest=/etc/nginx/sites-available/{{ app_name }}.conf
- name: Enable csvserver via symlink
file: >
src=/etc/nginx/sites-available/csv_server.conf
dest=/etc/nginx/sites-enabled/csv_server.conf
owner={{ user }} group={{ user }} state=link
1 change: 1 addition & 0 deletions ansible/roles/deploy_api/vars/main.yml
@@ -0,0 +1 @@
---
1 change: 1 addition & 0 deletions ansible/roles/deploy_service/tasks/main.yml
@@ -0,0 +1 @@
---
1 change: 1 addition & 0 deletions ansible/roles/deploy_service/vars/main.yml
@@ -0,0 +1 @@
---
4 changes: 4 additions & 0 deletions ansible/roles/provision_api/tasks/main.yml
@@ -0,0 +1,4 @@
---
- name: Install nginx
action: apt pkg=nginx-extras state=latest install_recommends=yes

1 change: 1 addition & 0 deletions ansible/roles/provision_api/vars/main.yml
@@ -0,0 +1 @@
---
1 change: 1 addition & 0 deletions ansible/roles/provision_service/tasks/main.yml
@@ -0,0 +1 @@
---
1 change: 1 addition & 0 deletions ansible/roles/provision_service/vars/main.yml
@@ -0,0 +1 @@
---

0 comments on commit 004e500

Please sign in to comment.