Comment 0 for bug 1273865

Revision history for this message
Gary Poster (gary) wrote : [needs-packaging] juju-quickstart

URL: https://launchpad.net/juju-quickstart
License: GNU Affero GPL v3
Description: Help both new and experienced users quickly start Juju from Ubuntu. Juju Quickstart is an opinionated command-line tool that quickly starts Juju and the GUI, whether you've never installed Juju or you have an existing Juju environment running.

The following is a draft for the MIP that I started. It might have useful information for this process as well.

= Availability =

Violation: "The package must already be in the Ubuntu universe." It is in PPA only at this time (but in the official Juju stable PPA). See https://launchpad.net/~juju/+archive/stable . The recipe is https://code.launchpad.net/~juju-gui-charmers/+recipe/juju-quickstart-daily and the associated packaging is found in https://code.launchpad.net/~juju-gui/juju-quickstart/packaging .

= Rationale =

It makes installing a key part of Ubuntu's cloud tools, Juju, much easier. It also is useful to anyone who uses Juju with its GUI regularly.

The following features, as described in https://launchpad.net/juju-quickstart, support the above two assertions.

* New users are guided, as needed, to install Juju, set up SSH keys, and configure it for first use.
* Juju environments can be created and managed from a command line interactive session.
* The Juju GUI is automatically installed, adding no additional machines (installing on an existing state server when possible).
* Bundles can be deployed, from local files, HTTP(S) URLs or the charm store, so that a complete topology of services can be set up in one simple command.
* Quickstart ends by opening the browser and automatically logging the user into the GUI, to observe and manage the environment visually.
* Users with a running Juju environment can run the quickstart command again to simply re-open the GUI without having to find the proper URL and password.

= Security =

Since we are not in Universe, our history is weak at best. However, I do not believe we fail any of the security checks, though we do ask for sudo in some cases (specifically to install juju's stable PPA and juju itself).

= Quality Assurance =

We have a very thorough test suite with 100% coverage by line measurements.

Bugs are tracked in https://bugs.launchpad.net/juju-quickstart .

Violation: "If the package ships a test suite, and there is no obvious reason why it cannot work during build (e. g. it needs root privileges or network access), it should be run during package build, and a failing test suite should fail the build." We can work to incorporate it into the build process.

Violation: "The package uses a debian/watch file whenever possible. In cases where this is not possible (e. g. native packages), the package should either provide a debian/README.source file or a debian/watch file (with comments only) providing clear instructions on how to generate the source tar file." We don't know what this means yet, but we do not have a debian/watch file in our PPA packaging.

= UI standards =

"End-user applications must be internationalized (translatable), using the standard intltool/gettext build and runtime system and produce a proper PO template during build." Not yet done.

= Dependencies =

The following need to be in main. They are currently included in our own build.

http://packages.ubuntu.com/trusty/python-jujuclient
http://packages.ubuntu.com/trusty/python-urwid

This dependency, and Python itself, is in main.

http://packages.ubuntu.com/trusty/python-yaml

= Standards compliance =

Our current packaging is certainly simple. I hope that it complies to standards but am not familiar with them beyond the most cursory read.

= Maintenance =

The Juju GUI team are the current maintainers (https://launchpad.net/~juju-gui).