Commit Graph

5221 Commits

Author SHA1 Message Date
Olivier Gayot a9b206dedd
Merge pull request #1340 from ogayot/ubuntu-pro-subscription-information
ubuntu-pro: add subscription info in response to /ubuntu_pro/check_token
2022-07-01 16:42:14 +02:00
Dan Bungert 0e796c9956
Merge pull request #1337 from dbungert/min-size-calc
sizes: calculations for install_min and resize
2022-06-30 11:29:54 -06:00
Dan Bungert 58c1ee834e sizes: calculations for install_min and resize
Add calculations for a suggested minimum install size that contains
padding for swap, updates, boot.
Add calculations for helping resize, to examine the space available and
make suggestions about what the existing partition might be resized to.
2022-06-30 11:14:25 -06:00
Olivier Gayot 7ebef6d609 ubuntu-pro: add subscription info in response to /ubuntu_pro/check_token
The response to /ubuntu_pro/check_token now includes information about
the subscription: the name of the contract and the "name" of the account.

Instead of returning the list of services as an optional field, we now
include the list of services in the subscription object. The
subscription object is itself marked optional. This is a backward
incompatible change.

  {
    "status": "VALID_TOKEN",
    "services": [
      {
        "name": "esm-infra",
        "description": "UA Infra: Extended Security Maintenance (ESM)",
        "auto_enabled": true
      }
    ]
  }

  =>

  {
    "status": "VALID_TOKEN",
    "subscription": {
        "account_name": "user@domain.com",
        "contract_name": "UA Apps - Essential (Virtual)",
        "services": [
          {
            "name": "esm-infra",
            "description": "UA Infra: Extended Security Maintenance (ESM)",
            "auto_enabled": true
          }
        ]
     }
  }

If the token is not valid, the subscription object will be null:

  {
    "status": "EXPIRED_TOKEN",
    "subscription": null
  }

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-06-30 16:31:56 +02:00
Dan Bungert 971ba36704
Merge pull request #1339 from dbungert/bundle-ntfs3g
snapcraft: +ntfs-3g
2022-06-29 15:44:41 -06:00
Dan Bungert 8a668edf4e snapcraft: +ntfs-3g 2022-06-29 12:38:35 -06:00
Dan Bungert b786b4d876
Merge pull request #1335 from dbungert/use-async-test-case
tests: s/run_coro/IsolatedAsyncioTestCase/
2022-06-27 07:13:58 -06:00
Olivier Gayot add252a42f
Merge pull request #1334 from ogayot/leading-capital-error-message
identity: add leading capital letter to error messages
2022-06-24 10:08:11 +02:00
Dan Bungert dffb155203 tests: s/run_coro/IsolatedAsyncioTestCase/
Tests that use run_coro are at risk of being broken by the introduction
of another test using IsolatedAsyncioTestCase.  Switch over to only use
IsolatedAsyncioTestCase.
2022-06-23 17:43:14 -06:00
Dan Bungert 924e527b7b
Merge pull request #1327 from dbungert/basic-part-numbering
filesystem: non-overlapping partition numbering
2022-06-23 12:45:03 -06:00
Dan Bungert 40a6ff71d9 filesystem: number partition on creation 2022-06-23 12:07:56 -06:00
Olivier Gayot bb49114b04 filesystem: use "passphrases" instead of "passwords" in error messages
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-06-23 13:11:53 +02:00
Olivier Gayot 0d2432ecc1 identity: add leading capital letter to error messages
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-06-23 12:59:51 +02:00
Olivier Gayot 2bbe16206c
Merge pull request #1330 from ogayot/async-timeout
test/api: replace use of deprecated "with timeout()"
2022-06-23 11:37:50 +02:00
Dan Bungert 2ee738f93f
Merge pull request #1332 from dbungert/guided-logs
logging: storage_version, guided name/mode/disk
2022-06-22 17:25:52 -06:00
Dan Bungert 1e75a8ae32 logging: storage_version, guided name/mode/disk 2022-06-22 12:18:12 -06:00
Dan Bungert 5aa3bd3560 filesystem: better partition numbering
With a mix of preserved and non-preserved partitions, we must not
allocate a partition number already in use.
2022-06-22 12:13:10 -06:00
Dan Bungert 855e5f2667
Merge pull request #1329 from dbungert/it-will-totally-work-this-time
autoinstall: fix where ai file is copied
2022-06-22 12:09:17 -06:00
Olivier Gayot e5ac3e32e5
Merge pull request #1315 from ogayot/no-remove-overlay
ubuntu-pro: don't assume an overlay is present in show_* functions
2022-06-22 16:51:55 +02:00
Dan Bungert 1bf5ddcf0a
Merge pull request #1326 from dbungert/boot-plan-no-pgs
boot: handle small disk case
2022-06-22 07:58:54 -06:00
Dan Bungert 7335bbbc58
Merge pull request #1328 from dbungert/tests-guided
filesystem: guided lvm unit tests
2022-06-22 07:58:05 -06:00
Olivier Gayot 50315b991b test/api: replace use of deprecated "with timeout()"
Running the API tests in Ubuntu 22.04 or newer versions result in the
following warning:

 DeprecationWarning: with timeout() is deprecated, use async with
 timeout() instead

The deprecation message was introduced as part of async-timeout 4.0.0

The ability to use async_timeout.timeout as an async context manager
was introduced in version 1.3.0 in 2017 so there is no problem using it.

The version of python3-async-timeout present in the archives at the time
of writing is:

 * 4.0.1 in jammy
 * 3.0.1 in focal
 * 2.0.0 in bionic

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-06-22 10:25:46 +02:00
Olivier Gayot c4af1a09cf
Merge pull request #1325 from ogayot/jammy-lts
ubuntu-pro: remove hardcoded test for jammy
2022-06-22 09:27:17 +02:00
Dan Bungert 05b1b65c51 autoinstall: fix where ai file is copied
The documentation specifies that we shall copy the autoinstall file to
/autoinstall.yaml, regardless of how we obtained the info.

This appears redundant with the reload location, so phase that out.
2022-06-21 17:34:19 -06:00
Dan Bungert cfc793a3d4 filesystem: guided lvm unit tests 2022-06-21 15:18:03 -06:00
Dan Bungert e61a504810 boot: handle small disk case
The BIOS boot plan check assumes that there is at least one result in
the list from gaps.parts_and_gaps(), but that isn't the case if the disk
is small.

Showed up in VM testing using cloud-localds to seed the autoinstall
file.
2022-06-21 10:31:36 -06:00
Olivier Gayot c84db47247 ubuntu-pro: remove hardcoded test for jammy
During the development cycle of 22.04, jammy was not yet marked an LTS
version. To have Ubuntu Pro screen fire up on that version, we had to
explicitly make an exception for Jammy.

Since Jammy is official LTS now, we can drop this explicit check.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-06-21 14:40:00 +02:00
Olivier Gayot 01db706867
Merge pull request #1314 from ogayot/something-failed-label
ui: add ability to change button label in SomethingFailed message box
2022-06-20 09:30:30 +02:00
Dan Bungert ca4fa03419
Merge pull request #1323 from dbungert/autoinstall-use-gap
filesystem: autoinstall support use_gap mode
2022-06-17 17:11:14 -06:00
Dan Bungert 8e529ca1ad filesystem: check use_gap devices can be boot 2022-06-17 09:44:12 -06:00
Dan Bungert d622c383f6 filesystem: offer autoinstall use_gap
Accept a new 'mode' parameter when using autoinstall guided storage.
The default mode is 'reformat_disk', which acts as today.
A new mode of 'use_gap' is available, which does not reformat the disk.
2022-06-17 09:40:43 -06:00
Dan Bungert b2d5fffcc0 filesystem: guided_method refactoring
Update the guided_methods, particularly guided_direct.  It now does a
direct call to create_partition, bypassing the increasingly complicated
partition_disk_handler, making it more similar to guided_lvm, and making
way for guided partitioning into a gap.
2022-06-16 17:27:37 -06:00
Dan Bungert ddecd59dba
Merge pull request #1316 from dbungert/fs-sizing-tweaks
filesystem: several size related tweaks
2022-06-16 14:51:13 -06:00
Michael Hudson-Doyle a97d05bedf
Merge pull request #1320 from dbungert/fix-group-list-test
unittests: fix group check
2022-06-17 08:46:39 +12:00
Carlos Nihelton b6bb0cca5e
Merge pull request #1321 from CarlosNihelton/tcp-no-timeout
[system_setup] Avoid integration test failure due server exited
2022-06-16 17:39:39 -03:00
Carlos Nihelton c82fa43964
Merge pull request #1322 from CarlosNihelton/system-setup-help
Better help message for system setup
2022-06-16 17:36:28 -03:00
Carlos Nihelton d7697c0d0f
Without the timeout another kill is necessary
otherwise the process could stay running if the first `exit 1` after its
start was taken.
2022-06-16 17:29:44 -03:00
Carlos Nihelton 97f0f82910
Avoid integration to fail due TCP server timeout
timeout 60 might be too short for someone with lots of network
interfaces.
Since we grab the PID and run the server in the background, the timeout
is not critically necessary.
2022-06-16 16:43:44 -03:00
Carlos Nihelton 347e6e640e
Better help message for system setup 2022-06-16 16:15:16 -03:00
Dan Bungert 7f233bc09b unittests: fix group check
The recently changed group list check is a bit fragile to the exact
groups available on the system.  Mock out the list of actually existing
groups.
2022-06-16 11:00:39 -06:00
Dan Bungert 44affdf0f2
Merge pull request #1319 from blackboxsw/drop-deprecated-groups-cloud-config-schema
cloud-config: schema drop deprecated dict user.groups value type
2022-06-16 08:18:38 -06:00
Dan Bungert d616f1f345
Merge pull request #1317 from blackboxsw/fix-dev-apt-deps
deps: fix missing developer dep python3-mock for apt-deps make target
2022-06-16 08:17:39 -06:00
Chad Smith 62ad68bd76 cloud-config: schema drop deprecated dict user.groups value type
Align with latest cloud-init schema avoid using depracated
value types for users. groups definitions in cloud-config.

Also fix get_users_and_groups to return a list instead of
dict as all call sites expected it to return a list.
2022-06-15 21:48:35 -06:00
Chad Smith 36fe76a963 tests: use mock from stdlib unittest to avoid additional test dependency 2022-06-15 19:43:30 -06:00
Dan Bungert 6dffc15748 filesystem: bootfs size func takes an input size
Previously it operated on a disk, but we may want to scale based on only
part of a disk.
2022-06-15 16:34:07 -06:00
Dan Bungert 19631f04ff filesystem: create_partition size from gap
Previously it used the size from the spec
2022-06-15 16:34:07 -06:00
Dan Bungert 8a16a74d34 filesystem: send minimal gaps to create_partition
Before calling create_partition, pre-split gaps to the desired size of
the partition.
2022-06-15 16:34:07 -06:00
Olivier Gayot 2f06d30172 ubuntu-pro: don't assume an overlay is present in show_* functions
show_* functions from the UbuntuProView object always assumed that the
loading overlay was present. When called, they would therefore attempt
to close the overlay. This results in a crash if no overlay is present.

With the current design, it is fine because we never call the show_*
functions without an overlay being present.

However, with new design of Ubuntu Pro, sometimes the show_* functions
will be called without an overlay.

We now delegate the responsibility of removing the overlay by using a
callback system.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-06-15 14:55:12 +02:00
Olivier Gayot 2ee5550c9e ui: add ability to change button label in SomethingFailed message box
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-06-15 11:54:32 +02:00
Dan Bungert df1a5adf0b
Merge pull request #1313 from dbungert/largest-gap-multidisk
gaps: allow largest_gap to accept a list
2022-06-14 18:16:30 -06:00