Varnish 6: Expression has type STRING, expected STEVEDORE
This might be a really simple error to solve, but I couldn't find anything in the documentation about how to use a STEVEDORE instead - in fact some of the documentation examples or ServerFault provided by Varnish (eg. [1] [2]) used strings instead of stevedores, so I'm not sure if this has changed at some point.
Upgrading from Varnish 3 to VCL 4.0+ you'll get the following:
varnishd[108440]: Expression has type STRING, expected STEVEDORE
varnishd[108440]: set beresp.storage = "cachestorage";
varnishd[108440]: -------------------------------------#############-
It needs to be specified as follows:
set beresp.storage = storage.cache_storage;
If you're going from 4.0 to 4.1 and getting:
varnishd[108411]: Unknown variable: 'beresp.storage_hint' (Only available when VCL syntax <= 4.0)
Just change storage_hint
to storage
.