This change adds a new release notification service which periodically
queries the configured simplestream and checks the metadata for any
release notifications.
The notifications are created for all users and if a user dismisses the
notification it will be resurfaced every six weeks.
(cherry picked from commit 2a342196f366aea386f3bc341f71786c43c94e0d)
Bug:1883748. Handle PermissionError in atomic_write()
If for any reason the permissions of the original file cannot be cloned
and set in the temporary file the PermissionError will be raised, before
this patch the exception will be unhandled leaving the temporary file
behind, which for situations where the the region or rack controllers
will retry the generation of said file (e.g. maas-proxy.conf) will
produce hundreds of files in a few minutes.
(cherry picked from commit 3fed50d6daeb21f9f4c67b42739e8512eb7b62ab)
LP: #1881133 - Always include rack controller IPs for DNS servers.
MAAS was only including the configured URL for controllers which did not
always include all rack controllers the VLAN is configured to use. This
would also sometimes include the region controller's IP even when the
machine is unable to directly access the rack controller.
LP: #1889788 - Always communicate with IPMI BMC's at OPERATOR level.
While the ipmipower command defaults to using OPERATOR the
ipmi-chassis-config and ipmitool commands both default to ADMIN.
Specify that OPERATOR should be used for all IPMI commands.
LP: #1888021 - Read storage MODEL and MODEL_ENC from udev
Storage devices may have two model names. One is encoded to allow spaces
and other special characters, the other is not. lsblk in Xenial and Bionic
give the encoded model name while in Focal it gives the non-encode model
name. LXD gives the encoded model name in LXD 4.3+. Read and store both
from udev to ensure matching works.
(cherry picked from commit 7312172b4076d247daba4992fa84345de5d0291f)