lp:~doanac/+junk/pyramid

Created by Andy Doan and last modified
Get this branch:
bzr branch lp:~doanac/+junk/pyramid
Only Andy Doan can upload to this branch. If you are Andy Doan please log in for upload directions.

Related bugs

Related blueprints

Branch information

Owner:
Andy Doan
Status:
Development

Recent revisions

573. By Andy Doan

add example of a pyramid based nf-data-collector

= getting started

== Setting up Juju LXC

You'll need a .juju/environments.yaml file with a "local" entry like:

  local:
    type: local
    default-series: precise
    lxc-clone: true
    lxc-clone-aufs: true
    admin-secret: secret

You'll also need your swift credentials set up. I have a .hpcloud-rc file like:

 export JUJU_ENV=local
 export <email address hidden>"
 export OS_TENANT_NAME="andy_project"
 export OS_PASSWORD=<something special>
 export OS_AUTH_URL="https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0"
 export OS_REGION_NAME=region-a.geo-1
 export OS_REQUIRES_TUNNEL=0
 export <email address hidden>"

 # FOR OAUTH TOKENS (you can just put fake values for your needs now)
 export CI_LAUNCHPAD_PPA_OWNER=doanac
 export CI_LAUNCHPAD_USER=doanac
 export CI_OAUTH_CONSUMER_KEY="ci airline testing"
 export CI_OAUTH_TOKEN=<just put a fake value for now>
 export CI_OAUTH_TOKEN_SECRET=<another fake value for now>

 export HP_TENANT_ID=11630049285977
 export HP_ACCESS_KEY_ID=<i think this can be fake data for your needs>
 export HP_SECRET_KEY=<and this can be fake data as well>

You'll now have the settings in-place. In order to iterate rapidly, I
like to ensure juju's template image has all my dependencies pre-installed
so you don't wait for that every time you re-deploy. I do that with a
simple manual hack:

 juju bootstrap
 juju deploy cs:trusty/apache
 # now sit and wait for juju status to show it deployed
 juju destroy-environment --force -y local
 # you'll now have an lxc container named juju-trusty-template. modify
 # it with these commands:
 sudo lxc-start -d --name juju-trusty-template
 sudo lxc-attach --name juju-trusty-template -- add-apt-repository -y ppa:canonical-ci-engineering/ci-airline-phase-0
 sudo lxc-attach --name juju-trusty-template -- apt-get update
 sudo lxc-attach --name juju-trusty-template -- apt-get install -y rabbitmq-server python-amqplib python-pip python-jinja2 mercurial git-core subversion bzr gettext python-django-south python-lazr.enum python-tastypie python-amqplib python-swiftclient postgresql-9.1 postgresql-contrib-9.1 python-psutil dput python-dput lazr.enum python-txstatsd python-tz python-gnupg qemu-utils python-glanceclient python-amqplib python-requests python-novaclient python-psycopg2 pwgen postgresql-client gunicorn python-support pgtune postgresql-9.1-debversion postgresql-plpython-9.1 python-dnspython

 sudo lxc-stop --name juju-trusty-template

= Working with the code

Since you are on trusty and our base is still precise, you'll need a one time
hack in your tree to allow the restish charm to work on trusty:

 ln -s charms/precise charms/trusty

I then use a fairly simple workflow:

 1) <do changes>
 2) juju destroy-environment --force -y local; juju bootstrap
 3) rm -rf tmp/* ; mkdir tmp
 4) ./juju-deployer/deploy.py --build-only --working-dir ./tmp nf-data-collector
 5) cd tmp/charms
 6) ../../branches/juju-deployer/juju-deployer -c ../nf-data-collector.yaml ci-airline-experimental

 7) <check changes>, and go back to step 1 if you need to re-deploy

The actual juju-deployer line (6) which does the real juju work takes
about 2.5 minutes for me with juju-lxc running properly

572. By Andy Doan

restish charm: allow deploying the python-pyramid framework

571. By Andy Doan

restish charm: support pgsql relations

This allows the restish charm to pair up with a postgres server. It
stores the DB settings as a json file like:

 {
   "database": "ci-airline-gatekeeper-restish",
   "schema_user": "db_2_ci_airline_gatekeeper_restish_schema",
   "schema_password": "mGHMMdLp5hWwb9nqW7whwCttHhCWfLP3Cm9Y62b3",
   "host": "10.0.3.169",
   "user": "db_2_ci_airline_gatekeeper_restish",
   "password": "mLL8s7dsZ82sPdzyV5dyYwSrwCRcrcPffdbfNSmfXg",
   "port": "5432"
 }

570. By Ursula Junque

[r=PS Jenkins bot, Celso Providelo] Switching lander to call publisher worker and run ppa_sync.copy directly, instead of running the ppa_sync script. from Ursula Junque

569. By Ursula Junque

[r=PS Jenkins bot, Celso Providelo] Switching lander to call publisher worker and run ppa_sync.copy directly, instead of running the ppa_sync script. from Ursula Junque

568. By Celso Providelo

[r=Andy Doan, PS Jenkins bot, Vincent Ladeuil] Silencing the virtualenv installation in the integration tests. from Celso Providelo

567. By Celso Providelo

[r=Andy Doan, PS Jenkins bot] Refactoring 'get_image' CLI action to download images using tempurls provided by Gatekeeper. from Celso Providelo

566. By Chris Johnston

[r=PS Jenkins bot, Celso Providelo] Update rabbitmq-server revision number to fix apt-get install problem 1328864 from Chris Johnston

565. By Chris Johnston

[r=Francis Ginther] Update apache charm revno to include apt-get update fix from Chris Johnston

564. By Andy Doan

[r=Vincent Ladeuil, PS Jenkins bot] feature probing: support juju-lxc

This allows our feature probing to account for juju-lxc deployments from Andy Doan

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers