Upgrading to Varnish 7.1¶
varnishd¶
Varnish now has an infrastructure in place to rename parameters or VCL variables while keeping a deprecated alias for compatibility.
Parameters¶
There are plans to rename certain arguments. When this happens, aliases will
not be listed by param.show [-j|-l]
commands, but they will be displayed
by param.show [-j] <param>
. Systems operating on top of varnishadm
or
the Varnish CLI can be updated to anticipate this change with the help of the
deprecated_dummy
parameter added for testing purposes.
The deprecated vsm_space
parameter was removed. It was ignored and having
no effect since Varnish 6.0.0 and should have disappeared with the 7.0.0
release. The sub-argument of the -l
command line option that was used as
a shorthand for vsm_space
is also no longer accepted.
Command line options¶
A common pattern when a CLI script is used during startup is to
combine the -I
and -f ''
options to prevent an automatic
startup of the cache process. In this case a start command is usually
present in the CLI script, most likely as the last command. This
enables loading VCLs and potentially VCL labels which require a
specific order if the active VCL is supposed to switch execution to
labels.
To support this pattern, a VCL loaded through the CLI script is no
longer implicitly used if there is no active VCL yet. If no VCL was
loaded through the -b
or -f
options it means that an explicit
vcl.use
command is needed before the start
command.
In the scenario described above, that would already be the case since the
desired active VCL would likely need to be loaded last, not eligible for an
implicit vcl.use
since dependencies were loaded first. This change should
not affect existing -I
scripts, but if it does, simply add the missing
vcl.use
command.
Other changes in varnishd¶
The ESI parser now recognizes the onerror="continue"
attribute of
the <esi:include/>
XML tag.
The +esi_include_onerror
feature flag controls if the attribute is
honored: If enabled, failure of an include stops ESI processing unless
the onerror="continue"
attribute was set for it.
The feature flag is off by default, preserving the existing behavior to continue ESI processing despite include failures.
Users of persistent storage engines be advised that objects created
before the introduction of this change can not carry the
onerror="continue"
attribute and, consequently, will be handled as
if it was not present if the +esi_include_onerror
feature flag is
enabled.
Also, as this change is not backwards compatible, downgrades with persisted storage are not supported across this release.
varnishtest¶
The deprecated err_shell
command was removed, use shell -err
instead.
Platform Support¶
systemd¶
To make the selection of the main process deterministic for the kill mode, a
PID file is now expected by default in the varnish service. In a setup where
the service command for ExecStart
is overridden, a -P
option matching
the PIDFile
setting is needed.
eof