Sometimes it is necessary to upgrade the database of a manually
deployed StoryBoard instance, for example when updating a test
server being used for development.
This commit adds some documentation on how the `storyboard-db-manage`
command-line tool can be used to upgrade and downgrade the
database.
Change-Id: I0ac21ddc3bacac7105efda7258e7ae52818f8f69
This commit consolidates the migrations between 001 and 048 (inclusive)
into a single database migration, to speed up the process of creating a
new database.
Change-Id: I2718165fc246ad499e6c3b164f557e9ab1580c03
Currently, when populating the items of an automatic worklist,
the permissions set on private stories is not taken into account.
This commit fixes this issue by filtering out stories and tasks
that the user shouldn't be able to see when finding the list
of stories and tasks which match the worklist's filters.
Change-Id: If37be62890db913b428af4e6a94ee21754c6ac56
This commit pins the os-testr version to 0.8.2, as more recent changes
to the backend mean that some storyboard modules are not found. In the
future, we should adjust storyboard to work with the more recent
os-testr version, either by changing paths to those modules or
by explicitly pointing to them.
Change-Id: Iad68613d294179548d4ca73d75df699b05e7d0d7
When migrating bugs from launchpad to StoryBoard, there is only
logic in place for master branches. If a bug exists on a branch
other than master, its added to master anyway. This patch gets the
branch info from the bug, checks that the branch exists in the project
and if it doesn't advises on creating the branch and exits. Otherwise
the bug is created.
This patch also cleans up other pep8 errors related to print
statements.
Change-Id: I0c1c8d3ebef80fd0937eaa343fdb26f7aadec67c
When populating automatic worklists we currently throw away
queries representing the list of story and task objects to
appear in the worklist, and then later on reacquire this data
using one query per story or task.
This commit makes use of the ability to resolve stories and
tasks from a pre-loaded cache to reuse the queries constructed
when first populating the list to get the story data with no
additional database interaction.
This commit also makes the population of the task or story's
due dates optional, as this doesn't make sense for automatic
worklists (wherein due dates cannot be applied).
Change-Id: I76f29e9b9100693691187cffa64b3e6a02120ccb
This commit modifies the code which resolves the contents of cards
in boards and worklists such that instead of making a database
query per-card, two queries are made to obtain all tasks and stories
that there are cards for in the board/worklist.
The result of these queries is passed into the resolution function
in order to allow fast lookup of the underlying story/task for a card.
This will lead to much faster loading times for boards containing
large numbers of cards.
Change-Id: I189a1d9823a7d251af641cf24de52faac24584df
This patch adds information about preparing to
migrate, the migration process, and things to do
after migrating.
Change-Id: Ia4b31172e28255575504804c3b451139938e6a97
It seems like pika may raise AttributeError when the connection is closed,
as describe here: https://github.com/pika/pika/issues/638, resulting
in this error displayed on the webclient:
500: POST /storyboard_api/tasks: 'NoneType' object has no attribute 'send'
This change adds AttributeError to the ConnectionClosed except.
Change-Id: Iffa1ef1998379097b32d699a360b5de9277c01ed
This patch fixes Storyboard returning a body along with
a DELETE response 204 No Content for some endpoints.
Change-Id: I3d21e98d5cd737b652f001c403c827e9d2a0c197
Co-Authored-By: Matthieu Huin <mhuin@redhat.com>
This will allow the fixing of an issue where changes created
by things using the API directly, such as the Gerrit plugin,
cause broken URLs in notification emails.
Change-Id: Ibad10fa35b7acaaa59cbb28b0960571480f80552
Currently this is only supported for the internal database API surface,
with the intention of using it to reduce the amount of work done by the
boards and worklists APIs.
This patch also names some aliases we create to make debugging less
painful.
It also modifies the join to the StorySummary query such that the
column name is no longer hardcoded. This handles the case when we
have filtered out private worklists from the result (when joining
to worklists), which results in an anonymous column name we cannot
hardcode.
Change-Id: I3aaa874ae623a44edd668471794f8146c6dabda7
This patch changes the MIN length limitation. The validation check
changes from 5 to 3 min characters.
Change-Id: Ib207d68e9f28e0fe8ef4a0a50897a69eed6f3118
This fixes a bug where two users from Launchpad could
end up with the same temporary email address in StoryBoard,
if they both have the same name. This would cause the
migration of projects to fail since we require email
addresses to be unique.
Change-Id: I7f8a75b9702d81f336cfcd6881ac2d6614ee992c
Add simple script to setup mysql and postgresql databases,
this script can be run by users during testing and will be
run by CI systems for specific setup before running unit tests.
This allows us to change in project-config the python-db jobs to
python-jobs since python-jobs will call this script initially.
Update documentation for this.
See also http://lists.openstack.org/pipermail/openstack-dev/2016-November/107784.html
Needed-By: I4566705d6e8ff17b2d400111919f6e1a0d0db3eb
Change-Id: I56fbce9fe0d0c90734f28457886b7a27bf8479f4
When using mysql+pymysql in the connection uri, the server_version_info
tupple is (5, 5, 5, 10, 1, 18, u'MariaDB'), which makes the version check
incorrectly prevent using FULLTEXT index.
Using the last four elements from the tupple seems good enough to
mitigate this inconsistency.
Change-Id: I5db3b611535e197699ea5d331f7bd073a39a31c4
We want a quickstart-for-operators guide, but the existing one is full
of placeholder content and is more confusing than helpful, as it
directs readers to a link which is a dead-end. Remove it.
Change-Id: Icd1068008511f2d9c00a3eec7b3969dc5024ee25
This commit expands the webclient install instructions
to include details of how to install the dependencies.
It also clarifies the relation between the API server
and the documented webclient,
and fixes misc capitalization ('storyboard'-'StoryBoard';
'NPM' - 'npm').
Change-Id: I8e0dbdc10e9904601bc975557636d0d08bf50796
This commit amends the lines about the MySQL password prompt so that
they do not suggest the user input the password in the body of the
command(s) to modify the StoryBoard database.
MySQL prompts the user for a password *after* the user enters
a command, so this makes our instructions more accurate and easier
to follow.
Change-Id: Ifc38ee869c8232e61f542b7a4753f0411c71e237
The method assertEquals has been deprecated since python 2.7.
http://docs.python.org/2/library/unittest.html#deprecated-aliases
Also in Python 3, a deprecated warning is raised when using assertEquals
therefore we should use assertEqual instead.
This is part of blueprint assertequal
Change-Id: Iea9b437d5a7a4aaa3d541d353447a18184b62d85
The notification engine is raising internal server error when trying
to process invalid requests such as unauthorized call. This change
avoid processing request with status code >= 400.
Change-Id: Id7b9f4b342eebcc6258ecc6786e7c0b81c77def4
This commit fixes the validation to be less overzealous. Previously
it was impossible to remove the last team from a story in the same
PUT request as adding users when the permissions previously had no
users, and vice versa.
Change-Id: I16a7451e8c24da352357abb0590d0ace5b4e77f4