Currently >2 keys in NoCloud datasource are not
supported. Previously 250280 attempted to correct
no keys being supported, however that fix was only
partial since more than one key breaks datasource
detection.
nocloud: parse_cmdline no longer detects nocloud-net datasource (#4204)
Commit 612b4de introduced parse_cmdline function which did not account for
hyphenated datasource names.
This negatively impacted the detection of hyphenated nocloud-net.
Fix parse_cmdline regex to align with ds-identify logic which matches all
characters until either a semi-colon or whitespace.
Extend integration tests to consume github flat files as the seed_from URL.
setup and consume user-data, meta-data from using github raw files as the seed
network-manager: Set higher autoconnect priority for nm keyfiles (#3671)
cloud init generated keyfiles by network manager renderer for network
interfaces can sometimes conflict with existing keyfiles that are left as an
artifact of an upgrade process or are old user generated keyfiles. When two
such keyfiles are present, the existing keyfile can take precedence over the
cloud init generated keyfile making the later ineffective. Removing the old
keyfile blindly by cloud init would also not be correct since there would be
no way to enforce a different interface configuration if one needs it.
This change adds an autoconnect-priority value for cloud init generated keyfile
so that the cloud init configuration takes precedence over the existing old
keyfile configuration in the default case. The priority values range from 0
to 999. We set a value of 120 so that it would be high enough in the default
case and result in cloud init keyfile to take precedence but not too high so
that if the user generated keyfile needs to take precedence, the user can do
so by using a higher value than the one used by cloud init key file, between
the values 121 and 999.
Rather than modifying the standard Alpine-managed locale file instead
create a new cloud-init specific locale file in the same directory.
This file will be read/processed by Alpine in sequence and take effect
- this avoids modifying the OS-packaged file.