lp:~bac/charmworld/bug-1240576

Created by Brad Crittenden and last modified
Get this branch:
bzr branch lp:~bac/charmworld/bug-1240576
Only Brad Crittenden can upload to this branch. If you are Brad Crittenden please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Brad Crittenden
Project:
charmworld
Status:
Merged

Recent revisions

427. By Brad Crittenden

Add new test, clean up comments.

426. By Brad Crittenden

fix lint

425. By Brad Crittenden

Parse charms with hyphens properly.

424. By Richard Harding

Add charm config proofing and update api response

- Move proof logic into a new lib/proof.py module
- Update the proof api call to look through the bundles and proof them
- Change errors to be catchable exceptions, the exception contains both a msg
and debug_info we expose via the api call
- Update the api call to provide a summary error_messages (for Marco's needs)
but keep the details in the actual list of errors with the messages and the
debug info we have that went into those errors.

Sample proof api call and response:
http://paste.mitechie.com/show/1049/

Note: this is only adding the new proof checks of validating the
config/options from the charm found in the database to the options defined in
the bundle.

- Validate the option exists in the charm we found in the db
- Validate that the type is of the correct type.
- Validate that the charm we found has options at all.

QA
---
You have to ingest the charms so that we can validate them. You can then toss
the yaml file (as a single string) to the proof api endpoint as a POST'd key
deployer_file. Right now it only handles yaml.

R=
CC=
https://codereview.appspot.com/14789043

423. By Brad Crittenden

Make queue and ingest handle prior charm revs.

In order to support multiple charm revisions, the queueing and ingest
processes must support older revisions of charms.

Up to 10 old revisions of a charm are queued up for ingesting. A charm that
is not the latest revision is not updated in the database if it already
exists. A current revision of the charm is updated even if it exists. This
updating may not be required as a charm cannot change without updating the
revision.

Approved by Juju Gui Bot, Richard Harding.

422. By j.c.sackett

Better latency calculation for tasks.

Approved by Juju Gui Bot, Aaron Bentley.

421. By Abel Deuring

Fix string type handling of the config.yaml linter: Use charmtools 1.1.0-253-cw.

Approved by Juju Gui Bot, Brad Crittenden.

420. By Brad Crittenden

Make cw code tests tz agnostic.

In the past there have been some incredibly hard to debug test failures
caused by using .now() vs .utcnow(). During a routine inspection I saw
various instances of .now() being used and have replaced them.

Added a .lbox to use -cr on propose by default and set the project
to lp:charmworld.

Fixed the testdebug target to stop on failures in addition to errors.

https://codereview.appspot.com/14486046/

R=rharding.

Approved by Juju Gui Bot.

419. By Richard Harding

Add /bundle/proof api endpoint and verify charms in services section can be found.

Approved by Juju Gui Bot, Richard Harding.

418. By Brad Crittenden

Make bundle series a top-level property and allow it to be optional. Fixes: https://bugs.launchpad.net/bugs/1234780.

Approved by Juju Gui Bot, Benji York.

Branch metadata

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

Subscribers