Merge lp:~dave-cheney/juju-core/169-add-juju-development-charm into lp:~go-bot/juju-core/trunk

Proposed by Dave Cheney
Status: Work in progress
Proposed branch: lp:~dave-cheney/juju-core/169-add-juju-development-charm
Merge into: lp:~go-bot/juju-core/trunk
Diff against target: 378 lines (+342/-0)
6 files modified
repostory/trusty/juju-development/README.md (+14/-0)
repostory/trusty/juju-development/config.yaml (+1/-0)
repostory/trusty/juju-development/hooks/install (+39/-0)
repostory/trusty/juju-development/icon.svg (+279/-0)
repostory/trusty/juju-development/metadata.yaml (+8/-0)
repostory/trusty/juju-development/revision (+1/-0)
To merge this branch: bzr merge lp:~dave-cheney/juju-core/169-add-juju-development-charm
Reviewer Review Type Date Requested Status
Juju Engineering Pending
Review via email: mp+217488@code.launchpad.net

Description of the change

add juju-development charm

It's a charm for Juju development.

Sit back, relax, and let the juju-development charm create a first class development environment to hack on Juju.

https://codereview.appspot.com/90860043/

To post a comment you must log in.
Revision history for this message
Dave Cheney (dave-cheney) wrote :

Reviewers: mp+217488_code.launchpad.net,

Message:
Please take a look.

Description:
add juju-development charm

It's a charm for Juju development.

Sit back, relax, and let the juju-development charm create a first class
development environment to hack on Juju.

https://code.launchpad.net/~dave-cheney/juju-core/169-add-juju-development-charm/+merge/217488

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/90860043/

Affected files (+343, -0 lines):
   A [revision details]
   A repostory/trusty/juju-development/README.md
   A repostory/trusty/juju-development/config.yaml
   A repostory/trusty/juju-development/hooks/install
   A repostory/trusty/juju-development/icon.svg
   A repostory/trusty/juju-development/metadata.yaml
   A repostory/trusty/juju-development/revision

2638. By Dave Cheney

sudo ALL THE THINGS

Revision history for this message
Dave Cheney (dave-cheney) wrote :
Revision history for this message
William Reade (fwereade) wrote :

I heartily endorse the general idea, but (1) we should update the docs
to suggest using it; and (2) really, we should put it in the charm
store. Any strong reason we're not doing so? Its existence assumes
network access regardless. And if there *is* a good reason to put it in
the source tree, we should spell "repository" correctly ;p.

https://codereview.appspot.com/90860043/diff/20001/repostory/trusty/juju-development/config.yaml
File repostory/trusty/juju-development/config.yaml (right):

https://codereview.appspot.com/90860043/diff/20001/repostory/trusty/juju-development/config.yaml#newcode1
repostory/trusty/juju-development/config.yaml:1: options:
can we just skip config.yaml for now?

https://codereview.appspot.com/90860043/diff/20001/repostory/trusty/juju-development/revision
File repostory/trusty/juju-development/revision (right):

https://codereview.appspot.com/90860043/diff/20001/repostory/trusty/juju-development/revision#newcode1
repostory/trusty/juju-development/revision:1: 3
I'd prefer to skip this too.
https://juju.ubuntu.com/docs/authors-charm-components.html states that
it is "deprecated", which is a useful lie [0], but it's still pretty
useless in a local charm, and is handled by the store for store charms.

[0] the original docs explained in some detail why you shouldn't use it,
iirc, but I think it was edited for the convenience of normal humans.

https://codereview.appspot.com/90860043/

Revision history for this message
Dave Cheney (dave-cheney) wrote :

Good point. I'll figure out how to put it in a personal branch of the
charm store.

On Tue, May 6, 2014 at 6:38 PM, <email address hidden> wrote:
> I heartily endorse the general idea, but (1) we should update the docs
> to suggest using it; and (2) really, we should put it in the charm
> store. Any strong reason we're not doing so? Its existence assumes
> network access regardless. And if there *is* a good reason to put it in
> the source tree, we should spell "repository" correctly ;p.
>
>
> https://codereview.appspot.com/90860043/diff/20001/repostory/trusty/juju-development/config.yaml
> File repostory/trusty/juju-development/config.yaml (right):
>
> https://codereview.appspot.com/90860043/diff/20001/repostory/trusty/juju-development/config.yaml#newcode1
> repostory/trusty/juju-development/config.yaml:1: options:
> can we just skip config.yaml for now?
>
> https://codereview.appspot.com/90860043/diff/20001/repostory/trusty/juju-development/revision
> File repostory/trusty/juju-development/revision (right):
>
> https://codereview.appspot.com/90860043/diff/20001/repostory/trusty/juju-development/revision#newcode1
> repostory/trusty/juju-development/revision:1: 3
> I'd prefer to skip this too.
> https://juju.ubuntu.com/docs/authors-charm-components.html states that
> it is "deprecated", which is a useful lie [0], but it's still pretty
> useless in a local charm, and is handled by the store for store charms.
>
> [0] the original docs explained in some detail why you shouldn't use it,
> iirc, but I think it was edited for the convenience of normal humans.
>
> https://codereview.appspot.com/90860043/

Revision history for this message
Nick Veitch (evilnick) wrote :

On May 6, 2014 9:48 AM, "Dave Cheney" <email address hidden> wrote:
>
> Good point. I'll figure out how to put it in a personal branch of the
> charm store.
>
https://juju.ubuntu.com/docs/authors-charm-store.html

Should cover it.

Revision history for this message
Andrew Wilkins (axwalk) wrote :

Handy, thanks. I'm using this to track down broken unit tests on precise
without involving The Cloud.

https://codereview.appspot.com/90860043/diff/20001/repostory/trusty/juju-development/hooks/install
File repostory/trusty/juju-development/hooks/install (right):

https://codereview.appspot.com/90860043/diff/20001/repostory/trusty/juju-development/hooks/install#newcode9
repostory/trusty/juju-development/hooks/install:9: apt-get install -y
build-essential bzr mercurial git-core golang-go vim-nox
golang-go installs go1 on precise, which isn't sufficient for juju-core

https://codereview.appspot.com/90860043/

Unmerged revisions

2638. By Dave Cheney

sudo ALL THE THINGS

2637. By Dave Cheney

Add juju-development charm

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added directory 'repostory'
=== added directory 'repostory/precise'
=== added symlink 'repostory/precise/juju-development'
=== target is u'../trusty/juju-development'
=== added directory 'repostory/trusty'
=== added directory 'repostory/trusty/juju-development'
=== added file 'repostory/trusty/juju-development/README.md'
--- repostory/trusty/juju-development/README.md 1970-01-01 00:00:00 +0000
+++ repostory/trusty/juju-development/README.md 2014-04-28 21:57:02 +0000
@@ -0,0 +1,14 @@
1Welcome
2-------
3
4Welcome to the fabulous world of Juju development.
5
6If you're like me, you're anxious to get going, so anxious in fact that you won't want to spend time reading needless Getting Started documentation.
7
8Instead, deploy this charm,
9
10 juju deploy --repository=$YOUR_JUJU_CHECKOUT/repository local:juju-development
11
12And in a few minutes you'll have a complete Juju environment ready to rock!
13
14 juju ssh juju-development/0
015
=== added file 'repostory/trusty/juju-development/config.yaml'
--- repostory/trusty/juju-development/config.yaml 1970-01-01 00:00:00 +0000
+++ repostory/trusty/juju-development/config.yaml 2014-04-28 21:57:02 +0000
@@ -0,0 +1,1 @@
1options:
02
=== added directory 'repostory/trusty/juju-development/hooks'
=== added file 'repostory/trusty/juju-development/hooks/install'
--- repostory/trusty/juju-development/hooks/install 1970-01-01 00:00:00 +0000
+++ repostory/trusty/juju-development/hooks/install 2014-04-28 21:57:02 +0000
@@ -0,0 +1,39 @@
1#!/bin/bash
2
3set -ex
4
5# step 0. remove stupid default editor decision.
6apt-get purge -y nano
7
8# step 1. install Go and basic deps.
9apt-get install -y build-essential bzr mercurial git-core golang-go vim-nox
10
11# from now on we're the ubuntu user
12export GOPATH=/home/ubuntu
13cd $GOPATH
14
15# step 2. fetch juju-core and other transitive deps (but don't compile because
16# we need to run godeps -u first).
17sudo -u ubuntu -E -s go get -v -u -d launchpad.net/juju-core/...
18
19# step 3. install godeps, lbox and cobzr
20sudo -u ubuntu -E -s go get -u -v launchpad.net/godeps
21sudo -u ubuntu -E -s go get -u -v launchpad.net/lbox
22sudo -u ubuntu -E -s go get -u -v launchpad.net/cobzr
23
24# step 4. install juju dependencies
25cd $GOPATH/src/launchpad.net/juju-core; sudo -u ubuntu -E -s make install-dependencies
26
27# step 5. switch to the correct revisions with godeps
28sudo -u ubuntu -E -s $GOPATH/bin/godeps -u dependencies.tsv
29
30# step 6. step environment variables and aliases
31echo 'GOPATH=$HOME' >> /home/ubuntu/.bashrc
32# install $GOPATH/bin _before_ $PATH to work around the manditory installation of
33# juju-core (which comes via juju-mongodb)
34echo 'PATH=$GOPATH/bin:$PATH' >> /home/ubuntu/.bashrc
35echo 'export PATH GOPATH' >> /home/ubuntu/.bashrc
36echo 'alias bzr="cobzr"' >> /home/ubuntu/.bashrc
37echo 'alias gb="go install -v"' >> /home/ubuntu/.bashrc
38echo 'alias gi="goimports -w ."' >> /home/ubuntu/.bashrc
39echo 'alias jc="cd $GOPATH/src/launchpad.net/juju-core/"' >> /home/ubuntu/.bashrc
040
=== added file 'repostory/trusty/juju-development/icon.svg'
--- repostory/trusty/juju-development/icon.svg 1970-01-01 00:00:00 +0000
+++ repostory/trusty/juju-development/icon.svg 2014-04-28 21:57:02 +0000
@@ -0,0 +1,279 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:xlink="http://www.w3.org/1999/xlink"
11 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13 width="96"
14 height="96"
15 id="svg6517"
16 version="1.1"
17 inkscape:version="0.48+devel r12274"
18 sodipodi:docname="Juju_charm_icon_template.svg">
19 <defs
20 id="defs6519">
21 <linearGradient
22 inkscape:collect="always"
23 xlink:href="#Background"
24 id="linearGradient6461"
25 gradientUnits="userSpaceOnUse"
26 x1="0"
27 y1="970.29498"
28 x2="144"
29 y2="970.29498"
30 gradientTransform="matrix(0,-0.66666669,0.6660448,0,-866.25992,731.29077)" />
31 <linearGradient
32 id="Background">
33 <stop
34 id="stop4178"
35 offset="0"
36 style="stop-color:#b8b8b8;stop-opacity:1" />
37 <stop
38 id="stop4180"
39 offset="1"
40 style="stop-color:#c9c9c9;stop-opacity:1" />
41 </linearGradient>
42 <filter
43 style="color-interpolation-filters:sRGB;"
44 inkscape:label="Inner Shadow"
45 id="filter1121">
46 <feFlood
47 flood-opacity="0.59999999999999998"
48 flood-color="rgb(0,0,0)"
49 result="flood"
50 id="feFlood1123" />
51 <feComposite
52 in="flood"
53 in2="SourceGraphic"
54 operator="out"
55 result="composite1"
56 id="feComposite1125" />
57 <feGaussianBlur
58 in="composite1"
59 stdDeviation="1"
60 result="blur"
61 id="feGaussianBlur1127" />
62 <feOffset
63 dx="0"
64 dy="2"
65 result="offset"
66 id="feOffset1129" />
67 <feComposite
68 in="offset"
69 in2="SourceGraphic"
70 operator="atop"
71 result="composite2"
72 id="feComposite1131" />
73 </filter>
74 <filter
75 style="color-interpolation-filters:sRGB;"
76 inkscape:label="Drop Shadow"
77 id="filter950">
78 <feFlood
79 flood-opacity="0.25"
80 flood-color="rgb(0,0,0)"
81 result="flood"
82 id="feFlood952" />
83 <feComposite
84 in="flood"
85 in2="SourceGraphic"
86 operator="in"
87 result="composite1"
88 id="feComposite954" />
89 <feGaussianBlur
90 in="composite1"
91 stdDeviation="1"
92 result="blur"
93 id="feGaussianBlur956" />
94 <feOffset
95 dx="0"
96 dy="1"
97 result="offset"
98 id="feOffset958" />
99 <feComposite
100 in="SourceGraphic"
101 in2="offset"
102 operator="over"
103 result="composite2"
104 id="feComposite960" />
105 </filter>
106 <clipPath
107 clipPathUnits="userSpaceOnUse"
108 id="clipPath873">
109 <g
110 transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)"
111 id="g875"
112 inkscape:label="Layer 1"
113 style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline">
114 <path
115 style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"
116 d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z"
117 id="path877"
118 inkscape:connector-curvature="0"
119 sodipodi:nodetypes="sssssssss" />
120 </g>
121 </clipPath>
122 <filter
123 inkscape:collect="always"
124 id="filter891"
125 inkscape:label="Badge Shadow">
126 <feGaussianBlur
127 inkscape:collect="always"
128 stdDeviation="0.71999962"
129 id="feGaussianBlur893" />
130 </filter>
131 </defs>
132 <sodipodi:namedview
133 id="base"
134 pagecolor="#ffffff"
135 bordercolor="#666666"
136 borderopacity="1.0"
137 inkscape:pageopacity="0.0"
138 inkscape:pageshadow="2"
139 inkscape:zoom="4.0745362"
140 inkscape:cx="18.514671"
141 inkscape:cy="49.018169"
142 inkscape:document-units="px"
143 inkscape:current-layer="layer1"
144 showgrid="true"
145 fit-margin-top="0"
146 fit-margin-left="0"
147 fit-margin-right="0"
148 fit-margin-bottom="0"
149 inkscape:window-width="1920"
150 inkscape:window-height="1029"
151 inkscape:window-x="0"
152 inkscape:window-y="24"
153 inkscape:window-maximized="1"
154 showborder="true"
155 showguides="true"
156 inkscape:guide-bbox="true"
157 inkscape:showpageshadow="false">
158 <inkscape:grid
159 type="xygrid"
160 id="grid821" />
161 <sodipodi:guide
162 orientation="1,0"
163 position="16,48"
164 id="guide823" />
165 <sodipodi:guide
166 orientation="0,1"
167 position="64,80"
168 id="guide825" />
169 <sodipodi:guide
170 orientation="1,0"
171 position="80,40"
172 id="guide827" />
173 <sodipodi:guide
174 orientation="0,1"
175 position="64,16"
176 id="guide829" />
177 </sodipodi:namedview>
178 <metadata
179 id="metadata6522">
180 <rdf:RDF>
181 <cc:Work
182 rdf:about="">
183 <dc:format>image/svg+xml</dc:format>
184 <dc:type
185 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
186 <dc:title></dc:title>
187 </cc:Work>
188 </rdf:RDF>
189 </metadata>
190 <g
191 inkscape:label="BACKGROUND"
192 inkscape:groupmode="layer"
193 id="layer1"
194 transform="translate(268,-635.29076)"
195 style="display:inline">
196 <path
197 style="fill:url(#linearGradient6461);fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)"
198 d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z"
199 id="path6455"
200 inkscape:connector-curvature="0"
201 sodipodi:nodetypes="sssssssss" />
202 </g>
203 <g
204 inkscape:groupmode="layer"
205 id="layer3"
206 inkscape:label="PLACE YOUR PICTOGRAM HERE"
207 style="display:inline" />
208 <g
209 inkscape:groupmode="layer"
210 id="layer2"
211 inkscape:label="BADGE"
212 style="display:none"
213 sodipodi:insensitive="true">
214 <g
215 style="display:inline"
216 transform="translate(-340.00001,-581)"
217 id="g4394"
218 clip-path="none">
219 <g
220 id="g855">
221 <g
222 inkscape:groupmode="maskhelper"
223 id="g870"
224 clip-path="url(#clipPath873)"
225 style="opacity:0.6;filter:url(#filter891)">
226 <path
227 transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)"
228 d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
229 sodipodi:ry="12"
230 sodipodi:rx="12"
231 sodipodi:cy="552.36218"
232 sodipodi:cx="252"
233 id="path844"
234 style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
235 sodipodi:type="arc" />
236 </g>
237 <g
238 id="g862">
239 <path
240 sodipodi:type="arc"
241 style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
242 id="path4398"
243 sodipodi:cx="252"
244 sodipodi:cy="552.36218"
245 sodipodi:rx="12"
246 sodipodi:ry="12"
247 d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
248 transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" />
249 <path
250 transform="matrix(1.25,0,0,1.25,33,-100.45273)"
251 d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
252 sodipodi:ry="12"
253 sodipodi:rx="12"
254 sodipodi:cy="552.36218"
255 sodipodi:cx="252"
256 id="path4400"
257 style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
258 sodipodi:type="arc" />
259 <path
260 sodipodi:type="star"
261 style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
262 id="path4459"
263 sodipodi:sides="5"
264 sodipodi:cx="666.19574"
265 sodipodi:cy="589.50385"
266 sodipodi:r1="7.2431178"
267 sodipodi:r2="4.3458705"
268 sodipodi:arg1="1.0471976"
269 sodipodi:arg2="1.6755161"
270 inkscape:flatsided="false"
271 inkscape:rounded="0.1"
272 inkscape:randomized="0"
273 d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 C 669.9821,591.68426 670.20862,595.55064 669.8173,595.77657 Z"
274 transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" />
275 </g>
276 </g>
277 </g>
278 </g>
279</svg>
0280
=== added file 'repostory/trusty/juju-development/metadata.yaml'
--- repostory/trusty/juju-development/metadata.yaml 1970-01-01 00:00:00 +0000
+++ repostory/trusty/juju-development/metadata.yaml 2014-04-28 21:57:02 +0000
@@ -0,0 +1,8 @@
1name: juju-development
2summary: A Juju development environment
3maintainer: David Cheney <david.cheney@canonical.com>
4description: |
5 juju-development deploys a complete development environment for Juju.
6categories:
7 - misc
8subordinate: false
09
=== added file 'repostory/trusty/juju-development/revision'
--- repostory/trusty/juju-development/revision 1970-01-01 00:00:00 +0000
+++ repostory/trusty/juju-development/revision 2014-04-28 21:57:02 +0000
@@ -0,0 +1,1 @@
13

Subscribers

People subscribed via source and target branches

to status/vote changes: