Merge lp:~aisrael/charms/precise/nfs/local-caveats-charm-proof into lp:charms/nfs

Proposed by Adam Israel
Status: Merged
Merged at revision: 17
Proposed branch: lp:~aisrael/charms/precise/nfs/local-caveats-charm-proof
Merge into: lp:charms/nfs
Diff against target: 360 lines (+316/-8)
2 files modified
README.md (+24/-8)
icon.svg (+292/-0)
To merge this branch: bzr merge lp:~aisrael/charms/precise/nfs/local-caveats-charm-proof
Reviewer Review Type Date Requested Status
Charles Butler (community) Approve
Review Queue (community) automated testing Needs Fixing
Review via email: mp+235178@code.launchpad.net

Description of the change

I found that there are some caveats to deploying the NFS charm under the local environment, due to the LXC containers sharing a kernel with the LXC host. I added some documentation to address that scenario, with instructions on working around the limitation.

I also added a generic icon and cleaned up some boilerplate text in the README, so that charm proof passes cleanly.

To post a comment you must log in.
18. By Adam Israel

Add nfsd to allowed mount fstypes

Revision history for this message
Review Queue (review-queue) wrote :

This items has failed automated testing! Results available here http://reports.vapour.ws/charm-tests/charm-bundle-test-1050-results

review: Needs Fixing (automated testing)
Revision history for this message
Charles Butler (lazypower) wrote :

+1 LGTM

Thanks for the updated docs adam!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'README.md'
2--- README.md 2014-02-06 22:09:13 +0000
3+++ README.md 2014-09-19 22:32:31 +0000
4@@ -1,14 +1,11 @@
5 # Overview
6
7-This charm provides NFSv4 (http://nfs.sourceforge.net/). Installs and configures an NFSv4 daemon with the standard accompanying services, portmapd and idmapd.
8-
9+This charm provides NFSv4 (http://nfs.sourceforge.net/). Installs and configures an NFSv4 daemon with the standard accompanying services, portmapd and idmapd.
10
11 # Usage
12
13 ### Owncloud
14
15-Step by step instructions on using the charm:
16-
17 juju deploy nfs
18 juju deploy mysql
19 juju deploy owncloud
20@@ -19,20 +16,39 @@
21
22 ### Wordpress
23
24-Step by step instructions on using the charm:
25-
26 juju deploy nfs
27 juju deploy mysql
28 juju deploy wordpress
29 juju add-relation mysql:db wordpress:db
30 juju add-relation nfs:nfs wordpress:nfs
31
32-
33 ## Known Limitations and Issues
34
35-
36 At present the charms consuming an NFS relationship only account for a single host. Most charms assume the first incoming NFS mount-point is the sole replacement, and subsequent NFS relationship-join requests are ignored.
37
38+If you are attempting to deploy NFS to an LXC container, such as the juju local provider, there are additional steps that need to be taken prior to deploying the NFS charm.
39+
40+On the LXC host:
41+
42+ apt-get install nfs-common
43+ modprobe nfsd
44+ mount -t nfsd nfsd /proc/fs/nfsd
45+
46+Edit /etc/apparmor.d/lxc/lxc-default and add the following three lines to it:
47+
48+ mount fstype=nfs,
49+ mount fstype=nfs4,
50+ mount fstype=nfsd,
51+ mount fstype=rpc_pipefs,
52+
53+after which:
54+
55+ sudo /etc/init.d/apparmor restart
56+
57+Finally:
58+
59+ juju deploy nfs
60+
61 # Configuration
62
63 - initial_daemon_count: The number of nfs daemons to run on startup
64
65=== added file 'icon.svg'
66--- icon.svg 1970-01-01 00:00:00 +0000
67+++ icon.svg 2014-09-19 22:32:31 +0000
68@@ -0,0 +1,292 @@
69+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
70+<!-- Created with Inkscape (http://www.inkscape.org/) -->
71+
72+<svg
73+ xmlns:dc="http://purl.org/dc/elements/1.1/"
74+ xmlns:cc="http://creativecommons.org/ns#"
75+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
76+ xmlns:svg="http://www.w3.org/2000/svg"
77+ xmlns="http://www.w3.org/2000/svg"
78+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
79+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
80+ width="96"
81+ height="96"
82+ id="svg6517"
83+ version="1.1"
84+ inkscape:version="0.48.4 r9939"
85+ sodipodi:docname="juju-icon-placeholder-n.svg">
86+ <defs
87+ id="defs6519">
88+ <linearGradient
89+ id="Background">
90+ <stop
91+ id="stop4178"
92+ offset="0"
93+ style="stop-color:#b8b8b8;stop-opacity:1" />
94+ <stop
95+ id="stop4180"
96+ offset="1"
97+ style="stop-color:#c9c9c9;stop-opacity:1" />
98+ </linearGradient>
99+ <filter
100+ style="color-interpolation-filters:sRGB;"
101+ inkscape:label="Inner Shadow"
102+ id="filter1121">
103+ <feFlood
104+ flood-opacity="0.59999999999999998"
105+ flood-color="rgb(0,0,0)"
106+ result="flood"
107+ id="feFlood1123" />
108+ <feComposite
109+ in="flood"
110+ in2="SourceGraphic"
111+ operator="out"
112+ result="composite1"
113+ id="feComposite1125" />
114+ <feGaussianBlur
115+ in="composite1"
116+ stdDeviation="1"
117+ result="blur"
118+ id="feGaussianBlur1127" />
119+ <feOffset
120+ dx="0"
121+ dy="2"
122+ result="offset"
123+ id="feOffset1129" />
124+ <feComposite
125+ in="offset"
126+ in2="SourceGraphic"
127+ operator="atop"
128+ result="composite2"
129+ id="feComposite1131" />
130+ </filter>
131+ <filter
132+ style="color-interpolation-filters:sRGB;"
133+ inkscape:label="Drop Shadow"
134+ id="filter950">
135+ <feFlood
136+ flood-opacity="0.25"
137+ flood-color="rgb(0,0,0)"
138+ result="flood"
139+ id="feFlood952" />
140+ <feComposite
141+ in="flood"
142+ in2="SourceGraphic"
143+ operator="in"
144+ result="composite1"
145+ id="feComposite954" />
146+ <feGaussianBlur
147+ in="composite1"
148+ stdDeviation="1"
149+ result="blur"
150+ id="feGaussianBlur956" />
151+ <feOffset
152+ dx="0"
153+ dy="1"
154+ result="offset"
155+ id="feOffset958" />
156+ <feComposite
157+ in="SourceGraphic"
158+ in2="offset"
159+ operator="over"
160+ result="composite2"
161+ id="feComposite960" />
162+ <feBlend
163+ blend="normal"
164+ id="feBlend3895"
165+ in2="composite2" />
166+ </filter>
167+ <clipPath
168+ clipPathUnits="userSpaceOnUse"
169+ id="clipPath873">
170+ <g
171+ transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)"
172+ id="g875"
173+ inkscape:label="Layer 1"
174+ style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline">
175+ <path
176+ style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"
177+ 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"
178+ id="path877"
179+ inkscape:connector-curvature="0"
180+ sodipodi:nodetypes="sssssssss" />
181+ </g>
182+ </clipPath>
183+ <filter
184+ inkscape:collect="always"
185+ id="filter891"
186+ inkscape:label="Badge Shadow">
187+ <feGaussianBlur
188+ inkscape:collect="always"
189+ stdDeviation="0.71999962"
190+ id="feGaussianBlur893" />
191+ </filter>
192+ </defs>
193+ <sodipodi:namedview
194+ id="base"
195+ pagecolor="#ffffff"
196+ bordercolor="#666666"
197+ borderopacity="1.0"
198+ inkscape:pageopacity="0.0"
199+ inkscape:pageshadow="2"
200+ inkscape:zoom="8.1490724"
201+ inkscape:cx="16.128677"
202+ inkscape:cy="46.975739"
203+ inkscape:document-units="px"
204+ inkscape:current-layer="layer3"
205+ showgrid="true"
206+ fit-margin-top="0"
207+ fit-margin-left="0"
208+ fit-margin-right="0"
209+ fit-margin-bottom="0"
210+ inkscape:window-width="1849"
211+ inkscape:window-height="1218"
212+ inkscape:window-x="123"
213+ inkscape:window-y="68"
214+ inkscape:window-maximized="0"
215+ showborder="true"
216+ showguides="true"
217+ inkscape:guide-bbox="true"
218+ inkscape:showpageshadow="false">
219+ <inkscape:grid
220+ type="xygrid"
221+ id="grid821" />
222+ <sodipodi:guide
223+ orientation="1,0"
224+ position="16,48"
225+ id="guide823" />
226+ <sodipodi:guide
227+ orientation="0,1"
228+ position="64,80"
229+ id="guide825" />
230+ <sodipodi:guide
231+ orientation="1,0"
232+ position="80,40"
233+ id="guide827" />
234+ <sodipodi:guide
235+ orientation="0,1"
236+ position="64,16"
237+ id="guide829" />
238+ </sodipodi:namedview>
239+ <metadata
240+ id="metadata6522">
241+ <rdf:RDF>
242+ <cc:Work
243+ rdf:about="">
244+ <dc:format>image/svg+xml</dc:format>
245+ <dc:type
246+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
247+ <dc:title />
248+ </cc:Work>
249+ </rdf:RDF>
250+ </metadata>
251+ <g
252+ inkscape:label="BACKGROUND"
253+ inkscape:groupmode="layer"
254+ id="layer1"
255+ transform="translate(268,-635.29076)"
256+ style="display:inline">
257+ <path
258+ style="fill:#333333;fill-opacity:0.93333334000000001;stroke:none;display:inline;filter:url(#filter1121);opacity:0.7"
259+ 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"
260+ id="path6455"
261+ inkscape:connector-curvature="0"
262+ sodipodi:nodetypes="sssssssss" />
263+ </g>
264+ <g
265+ inkscape:groupmode="layer"
266+ id="layer3"
267+ inkscape:label="PLACEHOLDER LETTER"
268+ style="display:inline">
269+ <text
270+ xml:space="preserve"
271+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter950);font-family:Sans"
272+ x="31.452"
273+ y="62.952"
274+ id="text3891"
275+ sodipodi:linespacing="125%"><tspan
276+ sodipodi:role="line"
277+ id="tspan3893"
278+ x="31.452"
279+ y="62.952"
280+ style="font-size:56px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;fill:#ffffff;fill-opacity:1;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Medium">n</tspan></text>
281+ <rect
282+ style="opacity:0.69999999999999996;fill:none;stroke:none"
283+ id="rect3021"
284+ width="64"
285+ height="64"
286+ x="16"
287+ y="16" />
288+ </g>
289+ <g
290+ inkscape:groupmode="layer"
291+ id="layer2"
292+ inkscape:label="BADGE"
293+ style="display:none"
294+ sodipodi:insensitive="true">
295+ <g
296+ style="display:inline"
297+ transform="translate(-340.00001,-581)"
298+ id="g4394"
299+ clip-path="none">
300+ <g
301+ id="g855">
302+ <g
303+ inkscape:groupmode="maskhelper"
304+ id="g870"
305+ clip-path="url(#clipPath873)"
306+ style="opacity:0.6;filter:url(#filter891)">
307+ <path
308+ transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)"
309+ d="m 264,552.36218 c 0,6.62742 -5.37258,12 -12,12 -6.62742,0 -12,-5.37258 -12,-12 0,-6.62741 5.37258,-12 12,-12 6.62742,0 12,5.37259 12,12 z"
310+ sodipodi:ry="12"
311+ sodipodi:rx="12"
312+ sodipodi:cy="552.36218"
313+ sodipodi:cx="252"
314+ id="path844"
315+ 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"
316+ sodipodi:type="arc" />
317+ </g>
318+ <g
319+ id="g862">
320+ <path
321+ sodipodi:type="arc"
322+ 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"
323+ id="path4398"
324+ sodipodi:cx="252"
325+ sodipodi:cy="552.36218"
326+ sodipodi:rx="12"
327+ sodipodi:ry="12"
328+ d="m 264,552.36218 c 0,6.62742 -5.37258,12 -12,12 -6.62742,0 -12,-5.37258 -12,-12 0,-6.62741 5.37258,-12 12,-12 6.62742,0 12,5.37259 12,12 z"
329+ transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" />
330+ <path
331+ transform="matrix(1.25,0,0,1.25,33,-100.45273)"
332+ d="m 264,552.36218 c 0,6.62742 -5.37258,12 -12,12 -6.62742,0 -12,-5.37258 -12,-12 0,-6.62741 5.37258,-12 12,-12 6.62742,0 12,5.37259 12,12 z"
333+ sodipodi:ry="12"
334+ sodipodi:rx="12"
335+ sodipodi:cy="552.36218"
336+ sodipodi:cx="252"
337+ id="path4400"
338+ 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"
339+ sodipodi:type="arc" />
340+ <path
341+ sodipodi:type="star"
342+ 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"
343+ id="path4459"
344+ sodipodi:sides="5"
345+ sodipodi:cx="666.19574"
346+ sodipodi:cy="589.50385"
347+ sodipodi:r1="7.2431178"
348+ sodipodi:r2="4.3458705"
349+ sodipodi:arg1="1.0471976"
350+ sodipodi:arg2="1.6755161"
351+ inkscape:flatsided="false"
352+ inkscape:rounded="0.1"
353+ inkscape:randomized="0"
354+ 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 -0.18379,0.41279 0.0427,4.27917 -0.34859,4.5051 z"
355+ transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" />
356+ </g>
357+ </g>
358+ </g>
359+ </g>
360+</svg>

Subscribers

People subscribed via source and target branches