~frankban/juju-quickstart/interactive-errors

« back to all changes in this revision

Viewing changes to HACKING.rst

  • Committer: Brad Crittenden
  • Date: 2014-06-10 17:58:09 UTC
  • mfrom: (73.2.4 qa-procedure)
  • Revision ID: bac@canonical.com-20140610175809-b0b42zew1qyp4gz3
Tags: 1.3.4
Add QA procedures to HACKING.rst

New QA steps added.  Also updated PPA build procedure given we have bifurcated
the pre-trusty and trusty-and-beyond steps.

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

Show diffs side-by-side

added added

removed removed

Lines of Context:
73
73
 
74
74
    $ .venv/bin/python juju-quickstart --help
75
75
 
 
76
Pre-release QA
 
77
~~~~~~~~~~~~~~
 
78
 
 
79
The general steps for manual QA (until we get a continuous integration set up
 
80
with functional tests) should be run on trusty and saucy. 
 
81
 
 
82
* Ensure juju-quickstart is installed from the juju-gui/quickstart-beta PPA.::
 
83
 
 
84
    sudo add-apt-repository ppa:juju-gui/quickstart-beta
 
85
    sudo apt update
 
86
    sudo apt install juju-quickstart
 
87
 
 
88
* Remove juju from the system.::
 
89
 
 
90
    sudo apt-get remove --purge juju-core
 
91
 
 
92
* Verify LXC environments can boot from scratch, using a local bundle::
 
93
 
 
94
    mkdir $HOME/bundles
 
95
    bzr branch lp:~charmers/charms/bundles/mediawiki/bundle $HOME/bundles/mediawiki
 
96
    juju-quickstart -e local -n single $HOME/bundles/mediawiki
 
97
    juju destroy-environment local -y
 
98
 
 
99
* Verify an environment that has already been bootstrapped is recogized and
 
100
  the GUI is deployed::
 
101
 
 
102
    juju bootstrap -e local
 
103
    juju quickstart -e local bundle:mediawiki/single
 
104
    juju destroy-environment local -y
 
105
 
 
106
Repeat above on ec2.
 
107
 
76
108
Creating PPA releases
77
109
~~~~~~~~~~~~~~~~~~~~~
78
110
 
 
111
Due to an inconsistency of package names for the websocket package introduced
 
112
with trusty, the juju-quickstart packaging must be handled separately for
 
113
series before trusty and trusty and later.  Consequently, there are two
 
114
packaging branches and two build recipes.  The two packaging branches are:
 
115
 
 
116
* lp:~juju-gui/juju-quickstart/packaging-trunk, and
 
117
* lp:~juju-gui/juju-quickstart/packaging-pre-trusty
 
118
 
 
119
For the following instructions we'll use the -trunk version but the procedure
 
120
is the same for the -pre-trusty branch.
 
121
 
79
122
The packaging repository (including the ``debian`` directory) can be checked
80
 
out from lp:~juju-gui/juju-quickstart/packaging/, e.g.::
 
123
out from lp:~juju-gui/juju-quickstart/packaging-trunk, e.g.::
81
124
 
82
 
    $ bzr branch lp:~juju-gui/juju-quickstart/packaging/ packaging
83
 
    $ cd packaging
 
125
    $ bzr branch lp:~juju-gui/juju-quickstart/packaging-trunk/ packaging-trunk
 
126
    $ cd packaging-trunk
84
127
 
85
128
Check that the packaging version reflects the latest Quickstart version. The
86
129
packaging version can be found in the ``debian/changelog`` file present in the
99
142
to the packaging branch trunk, and follow the instructions below.
100
143
 
101
144
The recipe for creating packages is in
102
 
<https://code.launchpad.net/~juju-gui-charmers/+recipe/juju-quickstart-daily>.
 
145
<https://code.launchpad.net/~juju-gui-charmers/+recipe/juju-quickstart-trunk-daily>.
103
146
We currently publish beta releases on the Juju Quickstart Beta PPA: see
104
147
<https://launchpad.net/~juju-gui/+archive/quickstart-beta/+packages>.
105
148
When a beta release is ready to be published, we move over the packages from
107
150
<https://launchpad.net/~juju/+archive/stable>.
108
151
 
109
152
Packages depend on `python-jujuclient` and `python-websocket-client` to be
110
 
available. They are available in saucy, and they are also stored in our PPA in
111
 
order to support previous Ubuntu releases.
 
153
available. They are available in trusty and later, and they are also stored in
 
154
our PPA in order to support previous Ubuntu releases.  Note we depend on
 
155
version 0.12.0 of python-websocket and that version is in the PPAs.
112
156
 
113
157
Creating PyPI releases
114
158
~~~~~~~~~~~~~~~~~~~~~~
116
160
Juju Quickstart is present on PyPI: see
117
161
<https://pypi.python.org/pypi/juju-quickstart>.
118
162
It is possible to register and upload a new release on PyPI by just running
119
 
``make release`` and providing your PyPI credentials.
 
163
``make release`` and providing your PyPI credentials.  Note there are no
 
164
series-specific changes required for publishing to PyPI.
120
165
 
121
166
Updating application and test dependencies
122
167
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
168
213
 
169
214
Sometimes, while debugging, it is convenient to restart the builtin server
170
215
(which also empties the bundle deployments queue). To do that, run the
171
 
following in the Juju GUI machine:
 
216
following in the Juju GUI machine::
172
217
 
173
 
    service guiserver restart
 
218
    $ service guiserver restart