~roadmr/isitdeployable/revision-disappeared-ohnoes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Is It Deployable is a tool used to determine which revisions of the projects it
tracks can be deployed. It's also meant to store deployment-related information
for those projects and be, in general, a one-stop deployability shop.

Historically, the project was developed almost entirely by James Westby, who
also managed a Canonistack-hosted deployment which was used in practice as the
production instance. Given the nature of the deployment, a simple Juju spec was
written by James and presumably used to control the running instance.

Once James transferred the project to the wider OLS group, Kelvin Li worked on
adapting both the project's source code and the charm to be deployable via a
Mojo spec (which Kelvin wrote).

Due to its former one-man-project nature, development is quite different from
that of other OLS projects; further, it's not really documented (even if it's
expressed in non-standard tools configuration like supervisord and puppet).

Some work is being done (July 2016) to bring the project up to "can be locally
developed for just like other OLS projects", meaning the standard
"create/provision container, make bootstrap, make start-db, make start" flow.
In the process, some of the existing files may be deprecated but they haven't
been removed since the charm may currently depend on them.

Interesting stuff we've found:

- A dev_config directory contains supervisor and puppet settings (and an
  "apply" script - don't use it!) which are meant to bring up development
  services. These are outdated and seem to want a Lucid host. Some of these
  development dependencies are now expressed in dependencies-*.txt and
  installed at container setup time.
- The virtualenv is hosted in virtualenv/ rather than env/.
- There's a "fabtasks" dir which suggests at some point Fabric was used, but it's not
  mentioned elsewhere and this seems to be non-functional.
- There was no "make test" target, the tarmac_verify script does nothing.