This change fixes a version mismatch of FLATCAR_BUILD_ID when performing
a dev build of an existing release tag. The build ID is part of the
version string of dev builds, separated by a "+" from the main version.
If common.sh detects a dev build (COREOS_OFFICIAL != 1) and
FLATCAR_BUILD_ID is empty, common.sh will generate a new ID based on a
timestamp.
For official releases, FLATCAR_BUILD_ID is not set in version.txt. A dev
build of a release tag would make common.sh generate a new ID each time
it is sourced by different processes. build_image sources common.sh
first, and writes the resulting version string the OS image's
os-release file. build_sysext runs later and also sources common.sh,
leading its version check to fail as its own VERSION now differs from
the version of the OS image it's supposed to generate sysexts for.
This change reads BUILD_ID from the OS image rootfs in
sysext_prod_builder and exports FLATCAR_BUILD_ID accordingly before
calling build_sysext. Hence FLATCAR_BUILD_ID is not empty, so common.sh
in build_sysext will not re-generate it.
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
The if-up-down to trigger the DHCP request causes problems. It's better
to directly ask systemd-networkd to issue the request. It seems that
one needs to use "reconfigure" instead of "forcerenew", so I went with
only that instead of somehow trying to see if "forcerenew" has an
effect.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
This reverts commit 9556c7f94b932ded3658738d616c2f666a364ba8
because waagent looks for internal hostname changes and wants to
propagate them to the Azure VM properties by issuing a new DHCP request.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
This is a new package that is being developed to handle providing
symlinks for nvme disks (os,data,temporary) on newer Azure instances.
It needs to be part of the OS, and not oem-azure, because it carries
udev rules.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
Flatcar prepares /etc/hostname from the initrd through afterburn. After
switching root, systemd-networkd fetches a dhcp lease with the correct
hostname already. This publishes the hostname to the vnet DNS server as
well. When WALinuxAgent starts, it tries to do the same steps: configure
the hostname, bounce the link to force dhcp lease renewal. This has
caused issues in the past with multi-nic configurations but also with
networked services that are trying to use the network (etcd/flanneld).
The link bouncing by WALinuxAgent is not necessary because of Flatcars
boot design, so return without bouncing the link. Tested that DNS from
other VMs in the same vnet works.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
When CoreosCommonUtil was factored out, we missed updating the class
name in a call to super(). This results in an error when executing
`/usr/sbin/waagent -force -deprovision+user`. Fix the class name.
Create a compatibility symlink at the old config file location
(/usr/share/oem/waagent.conf) to handle the case of enabling
auto-updates on the agent. The upstream version of the agent does not
have our downstream patch so doesn't know about the updated config file
location. We should upstream our changes.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
This reverts the commit that removes the section where Flatcar has the
dm-verity hash for /usr stored.
In the future we might store it in the initrd or at the end of the
bzImage.