storyboard.conf added to .gitignore
api section remove from config.
To configure API host and port use bind_host and bind_port in default
section.
Change-Id: I2e2686faa063e1182e37f2bf869d0cd7d54ef352
This is initial commit adding pecan/wsme framework.
Example operations are:
* GET /v1/project_groups
* GET /v1/project_groups/<group_name>
* GET /v1/projects
* GET /v1/projects/<project_name>
* GET /v1/teams
* GET /v1/teams/<team_name>
* POST /v1/teams
* POST /v1/teams/add_user
* GET /v1/users
* GET /v1/users/<username>
* POST /v1/users
* PUT /v1/users/<username>
* GET /v1/stories
* GET /v1/stories/<story_id>
* POST /v1/stories
* PUT /v1/stories
* POST /v1/stories/add_task
* POST /v1/stories/add_comment
* GET /v1/tasks
* GET /v1/tasks/<task_id>
* PUT /v1/tasks
More detailed documentation will be added later to a wiki page.
Tests will be added in a separate CR.
Auth stuff will be added in a separate CR after it is dicussed.
Change-Id: Ibace8cf7dd5bb933b0d2484b1d57b79bb8441a28
This is the next step towards CI/CD:
This code enables testing of DB migrations against real databases -
MySQL and Postgres. Unit testing on in-memory sqlite doesn't work with this
patch (there seems to be a problem with Alembic/in-memory-sqlite combination).
In case if MySQL and PostgreSQL with specifc user/password and database
are present, opportunistic tests will be started automatically. See
storyboard/tests/db/sqlalchemy/test_migrations.py for instructions.
OpenStack CI infrastructure provides these, so we get tests against
MySQL and Postgres with this commit.
Note(1): this patch doesn't modify database model. The main goal of this
patch is to enable continuous testing of DB migrations.
Note(2): most of the code is based on Nova. Which is good because
eventually it'll be extracted to Oslo library and we'll be able
to use Oslo instead of custom code.
Change-Id: Ia763124bea9ac8e39c6604f04fd99fa83645d5ba
The table should be stories - not storyboard.
Yes. I know - technically this should be a new migration - but we haven't
started running yet.
Change-Id: Ifc39545b32850a87c3ebfdb8788e68c6afdb80f6
Fixed doc build by aligning Sphinx version with global OS requirements.
Also added an entry for doc build to tox.ini.
Change-Id: Icf411219a73d4f50640e404d6db5019f5483e7f9
As a first-code-commit excercise I'm walking through the whole project
setup process. Given that I like using IntelliJ as my IDE, adding a few things
to the .gitignore seems innocuous enough.
Change-Id: I2d08c966448d8ebc8dec72ceb88cb834dab40b78
As a step towards continuous deployment and having a pecan/WSME REST
interface, split the database out into SQLalchemy-based model using
Alembic for migrations. To support that, also pull in oslo.db and use
oslo.config for config files.
Change-Id: I33a1e72700be14e28255aaa52faed70c4686a3ec
User may order tasks by any columns.
Order criteria are stored in session, so that they
are not lost after leaving the page.
This change add jquery.cookie plugin
Change-Id: I4b7e76814a0aa69f1b88eabe93ed12dc9d6403ee
Project groups are convenient ways to display tasks that matter to you.
All views support listing per-project or per-projectgroup, so you can
create a "Nova program" group that will include nova and
python-novaclient, so that the Nova team can do all its bug triaging
in a single view.
Change-Id: Iaa32ab2c528033bcd4917fc5df5ab30839c5d3d7
I have created a project named 'MediaWiki core' and django complained it
could not find any URL to match '/project/MediaWiki%20core'. The
patterns were explicitly preventing spaces (\S), turn that to any
character (.).
Change-Id: Ief240112c8a1c0fe6aedf5ecf8f70d0b1e5714a0
When installing the project I ended up with the following eggs in my
working copy:
d2to1-0.2.10-py2.7.egg/
pbr-0.5.18-py2.7.egg
setuptools_git-1.0-py2.7.egg
Change-Id: Ie7a1be8631d22ab73d12ad4739355888db01d19a
The install instruction ask people to copy the local settings sample
file and then fill in their information. When your name is entered using
some unicode, django will fail to run because python can not interpret
the content encoding.
* mark sample file as using UTF-8 encoding
* prefix strings with 'u'
Change-Id: Ie3f46168d555994b26c6821751c6c8aa5e7b3c6c
Features are a specific story type. The main difference with bugs is
that all tasks in a feature are affecting the master branch (i.e. are
set to a milestone linked to the master branch). The task title is also
given more prominence.
Change-Id: I9c40242acbb0c3d40e9c8b389e920e4dec66fc85
Make tasks related to milestones, and associate milestones to the
actual *branches*. That's an elegant way to solve our need to track
"backport to milestone-proposed" tasks, solving an old issue we had
in Launchpad (and for which we were abusing "Fixreleased").
Each milestone is associated to a branch. There are three types of
branches: master (the future), release (the milestone-proposed branch,
when it's around), and stable/*. Milestones are mandatory, there is a
default 'undefined' milestone for when we don't really know when that
work will hit in the master branch.
In normal times we'd have the following unreleased milestones:
master branch -> undefined, havana-1, havana-2, havana-3
stable/grizzly branch -> 2013.1.3
When the milestone-proposed branch is created just before havana-1, we
move the havana-1 milestone from master to release branch:
master branch -> undefined, havana-2, havana-3
release branch -> havana-1
stable/grizzly branch -> 2013.1.3
That lets us track release-backporting tasks (targeted to
release/havana-1) separately from normal work (targeted to master/*).
At the final release, the release branch is just renamed to stable/* and
a new release branch is created for the new cycle.
Change-Id: Ia212ae9c40549fe484362cbd5b3f323a467edb76
It seems that the test counter needs at least 4 tests minimum to pass.
The file had one. Three more have been added in an attempt to satisfy
the gate.
Change-Id: Ica47622351814d5f317328bca6993c7a4195ec6e
Added a pbr-based build system and a tox file and some requirements
files. Also moved the apps to all be under storyboard so that a
publication to PyPI won't do evil things from an install perspective.