lp://staging/~johnsca/charmworld/fix-reviewer-tips-link

Created by Cory Johns and last modified
Get this branch:
bzr branch lp://staging/~johnsca/charmworld/fix-reviewer-tips-link
Only Cory Johns can upload to this branch. If you are Cory Johns please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Cory Johns
Project:
charmworld
Status:
Development

Recent revisions

505. By Cory Johns

Updated Reviewer Tips link in Review Queue to point to correct section of online docs

504. By Brad Crittenden

Fix 026 exodus.

A basket, the thing ingested from Launchpad, contains one or more bundles. If
there are multiple bundles they may establish an inheritance relationship
between the bundles in that basket. The inheritance is done before the basket
is split into individual bundles and stored -- flattened in other words.

The 'inherits' line is not removed, however.

When the exodus happens, the re-use of 'store_bundles' attempts to flatten
again, but the relationship to the other bundle is invalid as the 'basket' now
just contains the one pre-processed bundle.

The fix for this exodus is to simply manually delete the 'inherits' key from
the bundle_data before proceeding.

The exodus has been tested against a full ingest of all charms and bundles.
The unit test has been modified to include an 'inherits' key in the data,
which is then ignored.

https://codereview.appspot.com/90300043/

R=jcsackett.

Approved by Juju Gui Bot.

503. By Brad Crittenden

Exodus to remove comma-sep constraints.

Comma-separated constraints in bundles are deprecated. Currently newly
processed bundles are converted to space-separated on ingestion but there are
a number of old bundles in the db that need fixing.

As this is an exodus, and only one can be present at a time, the 025 exodus is
deleted.

https://codereview.appspot.com/89770044/

R=jcsackett.

Approved by Juju Gui Bot.

502. By Brad Crittenden

Fix spurious error.

All fixes are:

Fix spurious test failure when version==0.

Print bundle revid in debug message.

Handle HTTPErrors from get_branch_tips and ValueErrors from parse_branch.

Move implicit parse_branch test from test_lp to an explicit one in
test_utils.

Add Cache-Control to Launchpad API call when getting branch tips. Also use
correct distribution name rather than alias.

https://codereview.appspot.com/88980043/

R=sinzui.

Approved by Juju Gui Bot.

501. By Brad Crittenden

Do not index charm annotations in bundles.

Charms in bundles have "annotations" which include information relating to the
widget layout when placed in the GUI ('gui-x' and 'gui-y'). This information
is ancilliary to the actual bundle and should not be searchable.

The presence of such data has also caused operational problems. In
production, some bundles are not being indexed due to parsing errors of the x
and y coordinates.

An example failure is shown here:
2014-04-11 19:12:30,096 DEBUG [pyelasticsearch][MainThread] got response {u'items': [{u'index': {u'_type': u'bundle', u'_id': u'~charmers/muletrain/wiki', u'error': u'MapperParsingException[failed to parse [data.data.services.mediawiki.annotations.gui-y]]; nested: NumberFormatException[For input string: "-117.5"]; ', u'_index': u'charms-78512'}}], u'took': 4}

Unfortunately, this ingestion failure cannot be reproduced on staging or
locally. Further, it appears pyelasticsearch is not returning an error in
this situation but is instead silently failing to index the bundle.

To QA the branch, in one window run 'make run'. In another, ingest some
bundles:

% bin/ingest-queued --prefix="~charmers/charms/bundles"

Afterwards, go to 'localhost:2464' in your browser. Search for 'bundles' and
see the ones that got ingested. Next search for 'gui-x' and see no results.

https://codereview.appspot.com/87710043/

R=jcsackett.

Approved by Juju Gui Bot.

500. By Brad Crittenden

Bundle proof errors if juju-gui included.

Updated error message from review but failed to land in previous commit.

https://codereview.appspot.com/83270048/

R=hatch, juju-gui-bot.

Approved by Juju Gui Bot.

499. By Brad Crittenden

Bundle proof errors if juju-gui included.

The juju-gui should not be a part of a bundle, though the juju-gui export
mechanism has historically included it when doing the export. Because it has
been in the exports, and most bundles start out as an export that then gets
tuned, a lot of existing bundles have juju-gui in them.

https://codereview.appspot.com/83270048/

R=hatch.

Approved by Juju Gui Bot.

498. By Brad Crittenden

Add a 'maintainer's field.

It was decided on the mailing list that the 'maintainer' field should be
renamed to 'maintainers' to make it clear that there can be more than one.
Note the old 'maintainer' field was capable of being a single entity or a list
just fine.

So for backward compatability, 'maintainer' is preserved, 'maintainers' is
added and the actual value used is the union of the two, with duplicates
removed.

On the charm page the heading has been changed to 'Maintainer(s)" and an
unordered list is used to present the names.

https://codereview.appspot.com/83620043/

R=rharding.

Approved by Juju Gui Bot.

497. By Brad Crittenden

Don't display 'Feature' for unpromulgated bundles.

https://codereview.appspot.com/78940044/

R=hatch.

Approved by Juju Gui Bot.

496. By Brad Crittenden

Add to GUI the ability to delete charms & bundles.

On the charm detail page, a 'Delete' link is added if the user has edit
permission.

On the bundle detail page, a new 'Actions' section is added that has 'Feature'
and 'Delete' links.

We talked about removing the charmworld/scripts/remove_charm.py file but that
isn't done in this branch.

QA: ingest some charms and bundles. While not logged in, visit the charm and
bundle pages and notice you don't see the 'Delete' links.

Log in.

Now see the links. Click 'Delete' then cancel or submit without checking the
box. Note the charm isn't deleted. Now delete it for real. Note that it is
gone.

Repeat for bundles.

Try featuring a bundle.

Late breaking thought: deleting a charm that a bundle depends upon may cause
it to be undeployable. Refuse to delete a charm if a bundle depends on it or
just leave it be? Note this is no worse than the remove_charm.py script,
though it is easier to do.

https://codereview.appspot.com/78220043/

R=benji, makyo, rharding.

Approved by Juju Gui Bot.

Branch metadata

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

Subscribers