Upgrade
Upgrade HAProxy Enterprise on BSD
You can upgrade HAProxy Enterprise to version 3.1r1 on the following operating systems:
HAProxy Enterprise version | Release date | End of life | Supported OS (architecture) |
---|---|---|---|
3.1r1 | Feb 2025 | Feb 2026 |
|
Upgrade to HAProxy Enterprise 3.1r1 Jump to heading
The following upgrade procedure installs a new major version of HAProxy Enterprise.
-
Issues with the HAProxy Enterprise configuration can cause the load balancer to fail after an upgrade. Even if the service is performing as desired before the upgrade, the upgrade could introduce changes that cause a failure afterward.
Validate the HAProxy Enterprise configuration file before proceeding with the upgrade. Example: validate the configuration for version 2.9:
nixsudo /opt/hapee-2.9/sbin/hapee-lb -c -f /etc/hapee-2.9/hapee-lb.cfg -Vnixsudo /opt/hapee-2.9/sbin/hapee-lb -c -f /etc/hapee-2.9/hapee-lb.cfg -Vnixsudo docker exec hapee /opt/hapee-2.9/sbin/hapee-lb -c -f /etc/hapee-2.9/hapee-lb.cfg -Vnixsudo docker exec hapee /opt/hapee-2.9/sbin/hapee-lb -c -f /etc/hapee-2.9/hapee-lb.cfg -VAbout the configuration validation command
- In version 2.8 and earlier, the command indicates a valid configuration by printing
Configuration file is valid
in addition to setting the zero return status. - In version 2.9 and later, the command sets the zero return status for a valid configuration but does not display a message. To display the message, include the
-V
option on the command line.
Multiple configuration files
If you have multiple configuration files in your application, be sure to check them all in the correct order.
Alerts and warnings that appear in the console output explain the errors encountered. An alert is a fatal condition and prohibits the service from starting. A warning indicates a condition that is not fatal now but may become fatal in the target release. Address all the errors until you receive the successful output:
Configuration file is valid
. - In version 2.8 and earlier, the command indicates a valid configuration by printing
-
If the HAProxy Enterprise server is part of a high-availability cluster, take it out of the cluster:
- If using Active/Active clustering, update your network to stop sending traffic to the load balancer. For example, if using DNS roundrobin, remove the load balancer from DNS.
- If using Active/Standby clustering, then on the active load balancer edit
/etc/hapee-extras/hapee-vrrp.cfg
. Lower thepriority
value to less than the standby load balancer’spriority
. This will put the active load balancer into the standby state and simultaneously activate the standby load balancer. Then restart thehapee-extras-vrrp
service.
-
Install HAProxy Enterprise 3.1r1 by running the following command and replacing
<HAProxy Enterprise Key>
with your HAProxy Enterprise license key:nixwget https://www.haproxy.com/static/install_haproxy_enterprise.shsudo bash ./install_haproxy_enterprise.sh \--version 3.1r1 \--key <HAProxy Enterprise key>nixwget https://www.haproxy.com/static/install_haproxy_enterprise.shsudo bash ./install_haproxy_enterprise.sh \--version 3.1r1 \--key <HAProxy Enterprise key> -
Update additional modules. You may be running additional modules with HAProxy Enterprise, which you must also reinstall when you upgrade to a new release. Install a package using its name, for example, upgrade the
lb-update
package:nixsudo pkg install hapee-3.1r1-lb-updatenixsudo pkg install hapee-3.1r1-lb-update -
Copy
/etc/hapee-<PREVIOUS VERSION>/hapee-lb.cfg
over to/etc/hapee-3.1/hapee-lb.cfg
and any associated files (maps, certificates, etc). -
Optionally, you might want to validate your configuration against the new load balancer before disabling the old load balancer. Use the
-c
option to check the configuration.nixsudo /opt/hapee-3.1/sbin/hapee-lb -c -f /etc/hapee-3.1/hapee-lb.cfg -Vnixsudo /opt/hapee-3.1/sbin/hapee-lb -c -f /etc/hapee-3.1/hapee-lb.cfg -VAbout the configuration validation command
- In version 2.8 and earlier, the command indicates a valid configuration by printing
Configuration file is valid
in addition to setting the zero return status. - In version 2.9 and later, the command sets the zero return status for a valid configuration but does not display a message. To display the message, include the
-V
option on the command line.
Multiple configuration files
If you have multiple configuration files in your application, be sure to check them all in the correct order.
Alerts and warnings that appear in the console output explain the errors encountered. Address all the errors until you receive the successful output:
Configuration file is valid
. - In version 2.8 and earlier, the command indicates a valid configuration by printing
-
Stop the old HAProxy Enterprise daemon and start the new daemon:
nixsudo service hapee_<PREVIOUS VERSION>_lb onestopsudo service hapee_31_lb onestartnixsudo service hapee_<PREVIOUS VERSION>_lb onestopsudo service hapee_31_lb onestart -
Run
tail -f /var/log/messages
(or distribution equivalent) to check for warnings or errors. -
Run
curl localhost
to ensure that HAProxy Enterprise is responding. Adjust address/port as needed, and use a local address that is currently active on the box and not a VRRP IP. -
Put the upgraded server back into the cluster.
-
Repeat this procedure on secondary servers.
Post-upgrade Jump to heading
After you upgrade, see the section on enterprise modules on how to enable and configure each one.
After the new HAProxy Enterprise version has been running for a while, you can uninstall the old HAProxy Enterprise version. To uninstall a package:
nix
sudo pkg delete hapee-<PREVIOUS VERSION>-lb
nix
sudo pkg delete hapee-<PREVIOUS VERSION>-lb
Update HAProxy Enterprise Jump to heading
The update procedure installs the latest build for your current HAProxy Enterprise version in order to benefit from the latest bug fixes.
nix
sudo pkg updatesudo pkg upgrade
nix
sudo pkg updatesudo pkg upgrade
Do you have any suggestions on how we can improve the content of this page?