Upgrading v3 -> v4; vcl check fails @ req.backend . What have I missed?
grantksupport at operamail.com
grantksupport at operamail.com
Sun May 4 18:27:50 CEST 2014
Hi Dridi,
Thanks! Knowing what to look for, I found the relevant commit at
http://www.gossamer-threads.com/lists/varnish/commits/29579
Useful to add to docs, too!
Once that's fixed (no more error), I get the NEXT error, Maybe related?
According to
"req.backend.healthy replaced by std.healthy(req.backend)"
I changed in my vcl
...
- if (req.backend.healthy) {
223 + if (std.healthy(req.backend)) {
set req.grace = 30s;
} else {
set req.grace = 1h;
}
...
but config check reports
Message from VCC-compiler:
Symbol not found: 'std.healthy' (expected type BOOL):
('input' Line 223 Pos 13)
if (std.healthy(req.backend)) {
------------###########----------------
Running VCC-compiler failed, exit 1
VCL compilation failed
Looking in the examples, too ...
Grant
On Sun, May 4, 2014, at 09:22 AM, Dridi Boukelmoune wrote:
> On Sun, May 4, 2014 at 6:04 PM, <grantksupport at operamail.com> wrote:
> > Hi,
> >
> > I've upgraded from Varnish 3 -> 4, and am working on converting my VCL,
> > following
> >
> > "Upgrading to Varnish 4"
> > https://www.varnish-cache.org/docs/trunk/whats-new/upgrading.html
> >
> > After making changes as I've understood them, I thing I've gotten most
> > right, but on config file check, I still get a fail,
> >
> > varnishd -C -f vcl.SITE.conf
> > Message from VCC-compiler:
> > Unknown variable 'req.backend'
> > At: ('input' Line 94 Pos 81)
> > if (req.url ~
> > "\.(css|css?.*|woff|eot|svg|ttf|otf)$") { set
> > req.backend = css_SITE1; }
> > --------------------------------------------------------------------------------###########-------------------------
> >
> > Running VCC-compiler failed, exit 1
> >
> > VCL compilation failed
> >
> >
> > I've likely missed/misunderstood a required change :-/
> >
> > Here's the relevant snip from my config
> >
> > ...
> >
> > backend def_SITE1 { .port = "10100"; include
> > "/usr/local/etc/varnish/backend_common.vcl"; }
> > backend css_SITE1 { .port = "10101"; include
> > "/usr/local/etc/varnish/backend_common.vcl"; }
> > backend js_SITE1 { .port = "10102"; include
> > "/usr/local/etc/varnish/backend_common.vcl"; }
> > backend img_SITE1 { .port = "10103"; include
> > "/usr/local/etc/varnish/backend_common.vcl"; }
> >
> > backend def_FALLBACK { .port = "9999"; include
> > "/usr/local/etc/varnish/backend_common.vcl"; }
> >
> > sub hostname_normalize {
> > if (req.http.host == "www.mydomain.net" ) {
> > set req.http.host = "mydomain.net"; }
> >
> > sub backend_assign {
> > if (req.http.host == "mydomain.net" ) {
> > 94 if (req.url ~
> > "\.(css|css?.*|woff|eot|svg|ttf|otf)$") { set req.backend = css_SITE1; }
> > elseif (req.url ~ "\.(js|js?.*)$"
> > ) { set req.backend = js_SITE1; }
> > elseif (req.url ~ "\.(jp(e?)g|gif|png|ti(f?)f)$"
> > ) { set req.backend = img_SITE1; }
> > else
> > { set req.backend = def_SITE1; }
> > }
> >
> > ...
> >
> > What's "req.backend" need to be changed to?
>
> Hi,
>
> You need to change it to backend_hint.
>
> It is not clearly documented in the "upgrading" page but you can see
> it on the directors examples.
>
> Cheers,
> Dridi
>
> > Grant
> >
> > _______________________________________________
> > varnish-misc mailing list
> > varnish-misc at varnish-cache.org
> > https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
More information about the varnish-misc
mailing list