ua: enable ua services in legacy
Metadata
Current evaluation
Merged baseline implementation backporting UA services support from core22 to legacy snapcraft. Introduces ua-services project key and --enable-experimental-ua-services flag. Approved by maintainer, passed CI, and integrated into main.
Suggested action: —
No scores available.
Issue body
Backport UA services support from core22 to legacy snapcraft. Services
are defined in the project yaml under the `ua-services` key. Parameter
`--enable-experimental-ua-services` is required if you define UA services.
**Note:** This is a baseline implementation that may require improvements
in service management, such as keeping track of services that are already
enabled to avoid re-enabling them. This will be done in future PRs.
Example output:
```
$ snapcraft --ua-token=$MYTOKEN --use-lxd --enable-experimental-ua-services
Launching a container.
Waiting for container to be ready
Waiting for network to be ready...
Attaching specified UA token...
Enabling default service esm-infra
Updating package lists
UA Infra: ESM enabled
Unable to determine current instance-id
This machine is now attached to 'claudio.matsuoka@canonical.com' SERVICE ENTITLED STATUS DESCRIPTION
cc-eal yes n/a Common Criteria EAL2 Provisioning Packages
esm-infra yes enabled UA Infra: Extended Security Maintenance (ESM)
fips yes disabled NIST-certified core packages
fips-updates yes disabled NIST-certified core packages with priority security updates
livepatch yes n/a Canonical Livepatch service
usg yes disabled Security compliance and audit tools
NOTICES Operation in progress: ua attach
Enable services with: ua enable <service>
Account: claudio.matsuoka@canonical.com
Subscription: claudio.matsuoka@canonical.com
Enabling specified UA services...
One moment, checking your subscription first
Updating package lists
Installing FIPS packages
FIPS enabled
Please run `apt upgrade` to ensure all FIPS packages are updated to the correct
version. Skipping pull figlet (already ran)
Skipping build figlet (already ran)
Skipping stage figlet (already ran)
Skipping prime figlet (already ran)
The requested action has already been taken. Consider
specifying parts, or clean the steps you want to run again.
Snapping |
Snapped mytest_0.2_amd64.snap
Detaching specified UA token...Detach will disable the following services:
fips
esm-infra
Updating package lists
Updating package lists
This machine is now detached.
```
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `make lint`?
- [ ] Have you successfully run `pytest tests/unit`?
-----
CRAFT-1301
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged baseline implementation backporting UA services support from core22 to legacy snapcraft. Introduces ua-services project key and --enable-experimental-ua-services flag. Approved by maintainer, passed CI, and integrated into main. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged backport of UA services support to legacy snapcraft. Enables YAML-defined services via the enable-experimental-ua-services flag. Provides a baseline implementation for future service management improvements. No coverage impact. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged backport of UA services support to legacy snapcraft. Enables service management via the --enable-experimental-ua-services flag. Serves as a baseline implementation. Merged to main with no coverage impact. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3886 ua: specify and enable ua services | snapcraft | merged | Merged. Enables UA service specification and activation via the ua-services key in project YAML for core22. Legacy support is deferred to a separate PR. Approved and passed CI checks. | |
| #3961 ua: do not re-enable enabled services for snapcraft_legacy | snapcraft | merged | Merged a fix for snapcraft_legacy preventing re-enablement of already-active UA services to avoid errors. Approved, retargeted to the hotfix branch, and merged after an unrelated test failure was resolved separately. | |
| #6337 feat: error on ua-services for core24+ | snapcraft | merged | Merged. Implements error handling for --ua-services and --enable-experimental-ua-services, plus a warning for SNAPCRAFT_UA_TOKEN in Core24+ snaps. Approved and merged despite unrelated CI failures. | |
| #3883 ua: add support to ua token management | snapcraft | merged | Merged. Adds Ubuntu Advantage token management to snapcraft, enabling build environment attachment via --ua-token or SNAPCRAFT_UA_TOKEN. Approved by one reviewer, passed CI, and merged with 406 additions and 7 deletions. |