How to upgrade to Landscape Server 26.04 LTS

You must be running Ubuntu 26.04 LTS Resolute Raccoon, 24.04 Noble Numbat, or 22.04 Jammy Jellyfish to upgrade to Landscape 26.04 LTS.

Note that Quickstart installations and upgrades to Landscape 26.04 LTS are not supported on Ubuntu 26.04. You must use Ubuntu 24.04 LTS or 22.04 LTS for Quickstart installations.

If you use repository management

If you use repository management in your Landscape deployment, you must migrate your repository mirrors to the new landscape-debarchive snap as part of your upgrade to 26.04 LTS. See the dedicated guide for instructions on how to do this.

Begin your upgrade

To upgrade your self-hosted Landscape server to 26.04 LTS, you should first follow the basic upgrade instructions. See How to upgrade your Landscape server.

Additional upgrade steps

After you’ve completed the basic upgrade instructions, you need to make some additional manual changes to finish your upgrade.

Install the task handler snap

On the database server, create the task handler’s own database and grant the landscape user access to it.

sudo -u postgres createdb landscape-standalone-task-handler
sudo -u postgres psql landscape-standalone-task-handler -c \
  "GRANT CONNECT ON DATABASE \"landscape-standalone-task-handler\" TO landscape;"
sudo -u postgres psql landscape-standalone-task-handler -c \
  "GRANT CREATE ON SCHEMA public TO landscape;"

On the application server, install the snap.

sudo snap install landscape-task-handler

Configure the snap with the connection details for the task handler database.

sudo snap set landscape-task-handler \
  landscape.database.task-handler.host=<DB-HOST> \
  landscape.database.task-handler.port=<DB-PORT> \
  landscape.database.task-handler.user=landscape \
  landscape.database.task-handler.password=<DB-PASSWORD> \
  landscape.database.task-handler.name=landscape-standalone-task-handler \
  landscape.database.task-handler.ssl=disable \
  landscape.task-handler.server.grpc-port=50053 \
  landscape.task-handler.server.host=localhost

Replace <DB-HOST>, <DB-PORT>, and <DB-PASSWORD> with the hostname, port, and password for the landscape database user. The Landscape server databases are read automatically from /etc/landscape/service.conf.

See also

This example uses ssl=disable for simplicity. If your PostgreSQL connection requires SSL, see Configuring SSL/TLS for PostgreSQL connections.

Important

If you change landscape.task-handler.server.host or landscape.task-handler.server.grpc-port from the defaults shown above, you must also update the outbox’s landscape.task-handler.grpc-address snap key to match. Otherwise the outbox’s services will still report as active, but hard deletion requests will fail at runtime. See Task handler client settings for details.

Confirm that the snap services are running.

sudo snap services landscape-task-handler

The output should show the landscape-task-handler.server and landscape-task-handler.worker services as active:

Service                        Startup  Current  Notes
landscape-task-handler.server  enabled  active   -
landscape-task-handler.worker  enabled  active   -

Other services (cert-renewer, cleanup) run on their own timers and normally show as inactive/timer-activated between runs; this is expected.

To view task handler logs, run:

sudo snap logs landscape-task-handler -n 50

Install the outbox snap

Install the landscape-outbox snap on the same machine as your Landscape Server installation.

sudo snap install landscape-outbox
sudo snap connect landscape-outbox:grpc-client-certs landscape-task-handler:grpc-client-certs

landscape-outbox is configured to work automatically with an existing Landscape Server by default. Confirm that the snap service is running.

sudo snap services landscape-outbox

The output should show the outbox service as active:

Service                  Startup  Current  Notes
landscape-outbox.outbox  enabled  active   -

To view outbox logs, run:

sudo snap logs landscape-outbox -n 50

Install the Debarchive snap

The landscape-debarchive snap is required for repository management from Landscape 26.04 LTS onwards. Follow the instructions in the dedicated guide.

(WSL only) Enable hostagent services

These steps are only needed for WSL users. The hostagent services (landscape-hostagent-consumer and landscape-hostagent-messenger) are required to manage WSL instances via Ubuntu Pro for WSL. See the configuration docs for the hostagent consumer and hostagent messenger to set up these services.

If you don’t configure the hostagent services, you won’t be able to use WSL with Landscape. Other activities unrelated to WSL will still function properly.

Airgapped environments

If your deployment does not have internet access, you must carry the snaps into your airgapped environment as part of the 26.04 upgrade process.

First, in an environment with internet access, download the snaps.

snap download landscape-task-handler
snap download landscape-outbox
snap download landscape-debarchive --beta

For each snap, a .snap file and a .assert file will be produced.

After transferring the files to the airgapped environment, install the snaps.

sudo snap ack landscape-task-handler_*.assert
sudo snap install landscape-task-handler_*.snap
sudo snap ack landscape-outbox_*.assert
sudo snap install landscape-outbox_*.snap
sudo snap ack landscape-debarchive_*.assert
sudo snap install landscape-debarchive_*.snap