Commit Graph

6171 Commits

Author SHA1 Message Date
Olivier Gayot 34242846db shutdown: make sure we capture the output of journalctl -b
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2023-08-03 12:03:16 +02:00
Olivier Gayot 6a4537277d runner: make runner.start() forward kwargs to astart_command()
In a recent patch, we switched the mechanism used for running some
shutdown related commands. We used to lean on run_command() and we now
lean on runner.run().

runner.run() works a bit differently because it runs the command through
systemd-run - and by default does not capture the output (it goes into
the journal).

Another difference is that runner.run() would not forward the keyword
arguments (like stdout, stderr) to subprocess. Well, it would forward
those arguments to runner.start() which would raise an exception:

  File "subiquity/server/controllers/shutdown.py", line 118, in copy_logs_to_target
    await self.app.command_runner.run(
  File "subiquity/server/runner.py", line 98, in run
    proc = await self.start(cmd, **opts)
                 ^^^^^^^^^^^^^^^^^^^^^^^
TypeError: DryRunCommandRunner.start() got an unexpected keyword argument 'stdout'

We now ensure that those keyword arguments are properly forwarded to
subprocess (through astart_command).

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2023-08-03 11:55:53 +02:00
Olivier Gayot 03e9a401b9
Merge pull request #1754 from ogayot/kvm-test-tpm
kvm-test: support emulating a TPM 2.0
2023-08-03 09:36:29 +02:00
Michael Hudson-Doyle c34e30f648
Merge pull request #1752 from mwhudson/dd-image
add support for 'dd' image sources
2023-08-03 13:17:09 +12:00
Dan Bungert 918714480f
Merge pull request #1753 from dbungert/s390x-shutdown
shutdown: use direct run_command
2023-08-02 16:22:28 -06:00
Michael Hudson-Doyle 24a4d76e42 skip inappropriate checks in integration tests 2023-08-03 10:02:36 +12:00
Michael Hudson-Doyle 0395b6e9b0 add support for 'dd' image sources
I think only a core dd image source will work for now. Probably.
2023-08-03 09:07:06 +12:00
Michael Hudson-Doyle d77ac16dd0
Merge pull request #1749 from mwhudson/no-logs-for-core
do not copy logs to target when installing core
2023-08-03 07:45:35 +12:00
Michael Hudson-Doyle ff0a98f476
Merge pull request #1750 from mwhudson/move-setupcon
call setupcon directly in keyboard controller
2023-08-03 07:45:18 +12:00
Olivier Gayot 5244890c5a kvm-test: support emulating a TPM 2.0
When invoking kvm-test.py, one can pass the --with-tpm2 option so that
we emulate a TPM and make it available in the guest.

This requires the swtpm package which is available in jammy and more
recent versions of Ubuntu.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2023-08-02 16:58:25 +02:00
Dan Bungert 405932045d shutdown: use direct run_command 2023-08-02 07:38:50 -06:00
Michael Hudson-Doyle abec832232 do not copy logs to target when installing core 2023-08-02 22:22:23 +12:00
Michael Hudson-Doyle 08f978b277 call setupcon directly in keyboard controller
This has been possible since we changed to invoke curtin multiple times
but doing it this way means we can not do it when installing core.
2023-08-02 22:12:18 +12:00
Dan Bungert f088fa26f1
Merge pull request #1747 from dbungert/snap-curtin-cmd
snapcraft: fix probert, add curtin runners
2023-08-01 21:52:36 -06:00
Dan Bungert 7d8499e36a snapcraft: fix probert, add curtin runners
Make it so that probert and curtin can be run from the snap.  Invoked as
subiquity.probert and subiquity.curtin respectively.
2023-08-01 21:25:48 -06:00
Dan Bungert cb37d581b5
Merge pull request #1748 from dbungert/mantic-ci-regression
network: fix NETPLAN_CONFIG_ROOT_READ_ONLY tests
2023-08-01 21:25:12 -06:00
Dan Bungert e7d7090dc7 network: fix NETPLAN_CONFIG_ROOT_READ_ONLY tests 2023-08-01 21:02:28 -06:00
Dan Bungert 201fbfdfc6
Merge pull request #1746 from dbungert/workflow-no-kinetic
workflow: -kinetic
2023-07-27 13:47:49 -06:00
Dan Bungert 57ca6b0af4 workflow: -kinetic 2023-07-27 12:31:40 -06:00
Dan Bungert 0969abc0e5
Merge pull request #1744 from dbungert/tox-but-faster
tox: use skip_install to speed up black/isort
2023-07-25 20:03:03 -06:00
Dan Bungert ee01e38846 tox: use skip_install to speed up black/isort 2023-07-25 18:29:22 -06:00
Dan Bungert 5dc6eebf73
Merge pull request #1743 from dbungert/cloud-init-combined-log
cloudinit: tweak logs on combined json error cases
2023-07-25 17:36:24 -06:00
Dan Bungert 2907f87411 cloudinit: tweak logs on combined json error cases 2023-07-25 17:28:47 -06:00
Dan Bungert 191304529e
Merge pull request #1742 from dbungert/zfs_swappart
zfs guided: create a swap partition
2023-07-25 16:50:47 -06:00
Dan Bungert 694223e97e filesystem: drop print in unittests 2023-07-25 16:36:11 -06:00
Dan Bungert a216dff4d0 filesystem: swap partition creation for zfs guided 2023-07-25 16:36:11 -06:00
Dan Bungert 3b72241a4d snapcraft: update curtin for swap size avail 2023-07-25 16:35:58 -06:00
Dan Bungert ec2574009a
Merge pull request #1735 from dbungert/consume-combined-cloud-config
Obtain autoinstall from combined-cloud-config
2023-07-25 16:33:08 -06:00
Michael Hudson-Doyle 7b90b67a97
Merge pull request #1737 from mwhudson/leave-rp-mounted
mount rp at predictable path and leave it mounted
2023-07-26 10:23:55 +12:00
Dan Bungert c1d91d6b99 cloudinit: log access to combined-cloud-config
Co-authored-by: Chad Smith <chad.smith@canonical.com>
2023-07-25 16:21:22 -06:00
Dan Bungert 751119866e server: load ai from combined-cloud-config.json
Attempt to load autoinstall from
/run/cloud-init/combined-cloud-config.json first, if present.
Fallback to existing methods, which requires that cloud-init in the snap
is able to unpickle the data created by cloud-init outside the snap.
See also LP: #2022102.
2023-07-25 16:17:43 -06:00
Michael Hudson-Doyle 3e2c8be86b mount rp at predictable path and leave it mounted
I have a use case for wanting to manipulate the rp contents in a late-command.
2023-07-26 10:00:52 +12:00
Dan Bungert 2a8f1cf191
Merge pull request #1738 from dbungert/code-format-enforce
enforce code format with black + isort
2023-07-25 15:51:30 -06:00
Dan Bungert 88a584e040 add .pre-commit-config.yaml 2023-07-25 15:28:44 -06:00
Dan Bungert b71662e726 workflow: add black and isort format checks 2023-07-25 15:28:44 -06:00
Dan Bungert 8e65fead3f add .git-blame-ignore-revs 2023-07-25 15:28:44 -06:00
Dan Bungert c08fdab2f8 one-off format of long lines with black 2023-07-25 15:27:49 -06:00
Dan Bungert 34d40643ad format with black + isort 2023-07-25 15:27:42 -06:00
Dan Bungert 93a34a64fa CONTRIBUTING: update for format requirements 2023-07-25 15:25:55 -06:00
Dan Bungert f5de7dd030 models/tests: fix lint
black will reformat this in a manner that trips flake8.
2023-07-25 15:25:55 -06:00
Dan Bungert ff8d890f2a system_setup: fix lint
black will reformat this in a manner that trips flake8.
2023-07-25 15:25:55 -06:00
Dan Bungert 5c6a488060 models: fix lint
black will reformat this in a manner that trips flake8.
2023-07-25 15:25:55 -06:00
Dan Bungert 97d380175f flake8: compat with black 2023-07-25 15:25:55 -06:00
Dan Bungert 97fab001d6 make: add targets format,black,isort 2023-07-25 15:25:55 -06:00
Dan Bungert bd94ec314b make: cleanup flake8
We've been using the distro flake8 for some time.  Also tox -e flake8 is
broken.  Just remove this note.  Also drop unneded trailing slashes.
2023-07-25 15:25:55 -06:00
Dan Bungert da4df7a725 tox: remove unused environments, add black,isort
All the existing environments were unused and broken. Remove them.
Add black and isort environments to help run a consistent version.
2023-07-25 15:25:55 -06:00
Dan Bungert 6b37ba4c55 pyproject: create
start a pyproject.toml file, as black will only read config from it.
2023-07-25 15:25:55 -06:00
Dan Bungert fa37fd708a setup: fix bdist_wheel 2023-07-25 15:25:55 -06:00
Dan Bungert c76ef49577
Merge pull request #1741 from dbungert/dry-run-shutdown
shutdown: move to command runner
2023-07-24 16:38:36 -06:00
Michael Hudson-Doyle 307f3b5c0a
Merge pull request #1740 from mwhudson/no-identity-reset-only
do not require identity data when reset_partition_only
2023-07-25 10:36:03 +12:00