Skip to content
Python API Blueprint Other
Find file
Latest commit 9d0f730 @meker12 meker12 Merge pull request #1841 from meker12/master
Change user guide create scaling link refid
Failed to load latest commit information.
abacus-config Add a JSON config for abacus.
api-docs/rst/dev-guide Change user guide create scaling link refid
autoscale_cloudcafe rename cloudcafe package to avoid conflict
autoscale_cloudroast rename cloudcafe package to avoid conflict
doc Remove all reference to build_config in our docstrings, etc. and stop…
docbook update to rackspace-docs-parent-1.0.1-SNAPSHOT
otter not getting heat endpoint
schema updated migration script also - thanks @radix
scripts Merge pull request #1818 from rackerlabs/worker-tenants-script
twisted/plugins adding twisted plugin for metrics
.gitignore Removing the _build directory and adding to .gitignore.
.travis.yml Sneak in one more change so that travis will also build our master br…
CONTRIBUTING.md Add a bit about assignment == current reviewer
LICENSE Bump license year
Makefile Add integration lib tests to Makefile
README.md Add coveralls badge
apiary.apib Remove all reference to build_config in our docstrings, etc. and stop…
cafe_requirements.txt Scale down wait and interval times for mimic - drops failure time in …
config.example.json example throttling config
dev_requirements.txt update subunit version
requirements.txt updating testtools and pyrsistent
setup.cfg Move max-complexity to config file
setup.py install trigger_convergence.py when installing otter

README.md

Coverage Status

Rackspace Autoscale

There Otter be an Otter scaling system.

Otter Cups

This codebase is not able to be deployed independently. The code is open source as a reference, but requires dependencies not available within this repository.

Talk with us! Join us in:

irc.freenode.net #stretch-dev

Otter Dev Hall of Fame (alphabetical):

  • cyli
  • lvh
  • manisht
  • radix
  • wirehead

Honorary Otters:

  • glyph

Emeritus otters:

  • dreid
  • fsargent
  • oubiwann
  • rockstar

make targets

Development

  • make hooks to set up pre-commit hooks for the project (PLEASE RUN THIS IF DEVELOPING ON THE PROJECT)

Build an environment:

  • make env-precheck makes sure you have enough pre-existing infrastructure to be able to run make env to begin with.
  • make env creates and switches into the Python virtualenv environment. It'll also pip-install development requirements.

Run tests, check code quality:

  • make test runs both unit and integration tests.
  • make unit runs unit tests.
  • make integration runs integration tests.
  • make coverage performs coverage analysis.
  • make lint performs a lint (PEP8, et. al.) check on the source code.
  • make listoutdated returns the packages that are currently installed that have new versions available on PyPI. This is normally run as a part of make lint.
  • make flake8diff looks at the diff introduced by your current branch and lints it. This is normally run as a part of make lint.
  • make flake8full is like flake8diff, except on the entire repository.

Build the documentation:

  • make docs builds all other documentation targets (listed below).
  • make sphinxdocs builds all Sphinx documentation.
  • make docbook builds all user-facing Docbook documentation.

Deployment

  • make bundle builds a "bundle" appropriate for deployment (Ubuntu only). For Jenkins and Chef use only.
  • make run starts up an instance of the Otter API.

Cleaning up

  • make cleandocs removes all documentation artifacts without removing other artifacts.
  • make clean removes all build-time artifacts, leaving the repository in a distributable state.

Build and migrate Cassandra schemata

Some tools for building Cassandra schemata as CQL files:

  • make schema-setup generates the setup CQL files.
  • make schema-teardown generates the teardown CQL files.
  • make schema generates the CQL files corresponding to setting up and tearing down Otter's Cassandra schema. Equivalent to running make schema-setup schema-teardown manually.

Some tools for applying Cassandra schemata (by default, these are pointed at localhost, because they're typically only used within the development VM):

  • make load-dev-schema will attempt to load the development schema into Cassandra.
  • make migrate-dev-schema will attempt to update the development schema on an existing Cassandra instance.
  • make teardown-dev-schema will attempt to remove a development schema from an existing Cassandra instance.
  • make clear-dev-schema first removes any existing development schema, then re-installs a fresh schema.
Something went wrong with that request. Please try again.