Merge lp:~newz/charms/precise/varnish/fix-lxc-deployment into lp:charms/varnish

Proposed by Matthew Nuzum on 2012-06-22
Status: Merged
Merged at revision: 9
Proposed branch: lp:~newz/charms/precise/varnish/fix-lxc-deployment
Merge into: lp:charms/varnish
Diff against target: 34 lines (+6/-4)
2 files modified
hooks/reverseproxy-relation-changed (+5/-3)
revision (+1/-1)
To merge this branch: bzr merge lp:~newz/charms/precise/varnish/fix-lxc-deployment
Reviewer Review Type Date Requested Status
Clint Byrum (community) 2012-06-22 Approve on 2012-06-28
Review via email: mp+111648@code.launchpad.net

Commit Message

Correcting a problem where invalid service names are being used in varnish config files causing varnish to not start.

Description of the Change

This change fixes a problem where Varnish reverseproxy-relation-changed caused a problem. It was not using a valid service name for varnish config and therefore producing an invalid varnish config which prevents the server from starting. Varnish seems to expect service names to be letters and numbers only, but it mustn't start with a number. Therefore the service name, in the form of wordpress/0 is used with the / removed.

To post a comment you must log in.
Clint Byrum (clint-fewbar) wrote :

Nicely done. Merged, thanks Matthew!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'hooks/reverseproxy-relation-changed'
2--- hooks/reverseproxy-relation-changed 2012-05-24 06:17:55 +0000
3+++ hooks/reverseproxy-relation-changed 2012-06-22 17:12:17 +0000
4@@ -22,8 +22,10 @@
5 for member in $members; do
6 unit_port=`relation-get port $member`
7 unit_addr=`relation-get hostname $member`
8+# replace / in the member name to produce a valid varnish service name
9+ unit_name=${member//\//}
10 cat >> /etc/varnish/default.vcl << EOF
11-backend $unit_addr {
12+backend $unit_name {
13 .host = "${unit_addr}";
14 .port ="${unit_port}";
15 .probe = {
16@@ -42,9 +44,9 @@
17 echo 'director balance round-robin {' >> /etc/varnish/default.vcl
18
19 for member in $members; do
20- unit_addr=`relation-get hostname $member`
21+ unit_name=${member//\//}
22 cat >> /etc/varnish/default.vcl << EOF
23- { .backend = $unit_addr; }
24+ { .backend = $unit_name; }
25 EOF
26 done
27
28
29=== modified file 'revision'
30--- revision 2012-05-24 08:13:35 +0000
31+++ revision 2012-06-22 17:12:17 +0000
32@@ -1,1 +1,1 @@
33-1
34+3

Subscribers

People subscribed via source and target branches

to all changes: