This PR addresses a few problems detected while provisioning a device with UC24-subiquity and Desktop 24.04 OEM.
About UC24:
being a non-dangerous grade image, the installed user will be given by ubuntu_sso_email. This PR forwards the ubuntu_sso_email argument to the zapper.provision() API and assert that test_username matches the local part of the SSO email. The DUT pulls TF SSH key from the account, so it's accessible and reservation works fine.
About 24.04 OEM:
user_data_base was intended as a plain string, making it difficult to include in a TF job yaml. Taking inspiration from the MAAS connector I made it a base64 encoded field. Added tests and assertions.
being a common case, instead of asking the user to pass the user_data_base argument, I added a dedicated autoinstall_oem boolean flag. It will be handled on the Zapper side as described in the autoinstall docs. See https://github.com/canonical/zapper/pull/311 for reference on what it actually does on the Zapper side.
Description
This PR addresses a few problems detected while provisioning a device with UC24-subiquity and Desktop 24.04 OEM.
About UC24:
ubuntu_sso_email
. This PR forwards theubuntu_sso_email
argument to the zapper.provision() API and assert thattest_username
matches the local part of the SSO email. The DUT pulls TF SSH key from the account, so it's accessible and reservation works fine.About 24.04 OEM:
user_data_base
was intended as a plain string, making it difficult to include in a TF job yaml. Taking inspiration from the MAAS connector I made it a base64 encoded field. Added tests and assertions.user_data_base
argument, I added a dedicatedautoinstall_oem
boolean flag. It will be handled on the Zapper side as described in the autoinstall docs. See https://github.com/canonical/zapper/pull/311 for reference on what it actually does on the Zapper side.Resolved issues
Resolves ZAP-873 Part of ZAP-776
Documentation
Updated README and
docs/
.Web service API changes
N/A
Tests
About UC24: couldn't really test it e2e but, once manually provisioned via Zapper API, the device is accessible as usual by TF with:
About 24.04 OEM: tested on the Zapper side as part of https://github.com/canonical/zapper/pull/311 passing
oem=True
.