Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import LXD changes from stable-5.0 #988

Merged
merged 79 commits into from
Jul 13, 2024
Merged

Import LXD changes from stable-5.0 #988

merged 79 commits into from
Jul 13, 2024

Conversation

stgraber
Copy link
Member

The LXD 5.0 branch is still fully released under Apache 2.0 so we can freely pick fixes from it.

This is an initial batch of some easy fixes that were available in there.
Our backporting tool shows another 500 or so which are left for us to consider for inclusion.

simondeziel and others added 24 commits July 12, 2024 15:42
This was risky because if another snap (like mdl) moved to a core20 base, we'd
be removing core20 just to download it again.

Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
(cherry picked from commit 3491b6e2e11d8fde67c58878a3a23fe75944da9f)
This is to reclaim some space.

Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
(cherry picked from commit 875480ca306b421442bb7ebbce45ff2634b2cea8)
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
(cherry picked from commit b7656135800b9e3d3d27b209700f52e6d2dd2ebf)
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
(cherry picked from commit 117e76b35d1f2f560299e6836797cf1fa3d395b5)
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
(cherry picked from commit d5c5c7d7799c23553bc5eed1db1effd0f90ed5d9)
…ptor when probing for Direct I/O support

Fixes #12808

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
(cherry picked from commit d0b991dca948d400b31f724a5d4ea6b274bf6763)
ovn-controller.log no longer reports the protocol on the `severity`
field, instead including it with the `direction` field.

Previously, the log line would include:
  severity=info: tcp

Whereas now, it simply reports the log level:
  severity=info

The protocol is now reported as with the direction:
  direction=to-lport: icmp

Signed-off-by: Max Asnaashari <max.asnaashari@canonical.com>
(cherry picked from commit f4d093fc0e00d7f68483eccdeea84c0534eeb223)
Fixes #12874

Signed-off-by: Wesley Hershberger <wesley.hershberger@canonical.com>
(cherry picked from commit f0d0128ed636065080607170969244033b2d4616)
…874)

Signed-off-by: Wesley Hershberger <wesley.hershberger@canonical.com>
(cherry picked from commit 14da90f72592a7c3cf32dae85d0cfa245cc92d46)
Resolves #13038

Signed-off-by: Wesley Hershberger <wesley.hershberger@canonical.com>
(cherry picked from commit f76c8bcf52ade8a18aa47c9ddf5ea9cc072d4376)
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
…hat blocksize is in bytes

Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
…or clarity

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
Signed-off-by: ggouzi <gaetan.gouzi@canonical.com>
Signed-off-by: Din Music <din.music@canonical.com>
…d signals

Allow dnsmasq to be restarted / killed and remove the peer restriction on the
signal rule for the archive profile to ensure it can be sent by a lxd which is
confined under a profile with the unconfined flag.

Signed-off-by: Alex Murray <alex.murray@canonical.com>
Starting with rsync 3.1.3 using a negative window will take nanoseconds into account.

Signed-off-by: Julian Pelizäus <julian.pelizaeus@canonical.com>
…resh

Signed-off-by: Julian Pelizäus <julian.pelizaeus@canonical.com>
…efreshes based on nanoseconds

Signed-off-by: Julian Pelizäus <julian.pelizaeus@canonical.com>
Signed-off-by: ggouzi <gaetan.gouzi@canonical.com>
Pyspelling has a new option to run jobs in parallel.
This should make the spelling check considerably faster.

Signed-off-by: Ruth Fuchss <ruth.fuchss@canonical.com>
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
… on block volumes

Signed-off-by: Julian Pelizäus <julian.pelizaeus@canonical.com>
…on block volumes

Signed-off-by: Julian Pelizäus <julian.pelizaeus@canonical.com>
@github-actions github-actions bot added Documentation Documentation needs updating API Changes to the REST API labels Jul 12, 2024
roosterfish and others added 4 commits July 12, 2024 18:25
Signed-off-by: Julian Pelizäus <julian.pelizaeus@canonical.com>
…ocstring

Signed-off-by: Julian Pelizäus <julian.pelizaeus@canonical.com>
The previous error message didn't exist anymore. A good example of why
not to use hard-coded error messages :)

Signed-off-by: Max Asnaashari <max.asnaashari@canonical.com>
…field.

Signed-off-by: Mark Laing <mark.laing@canonical.com>
tomponline and others added 26 commits July 12, 2024 18:25
…migrationSourceWs.DoStorage

This fixes https://github.com/lxc/incus/security/code-scanning/147

Although wasn't an actual security problem because the DB check would fail the request if
the volume specified didn't exist rather than passing unverified input to the storage layer.

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
… int64 to int in inRoutingTable

Fixes https://github.com/lxc/incus/security/code-scanning/32 by using arch dependent int size in ParseInt() so its compatible with net.CIDRMask.

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
…t.Sprintf by passing base to ParseInt

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
SyncResponse's `success` field can hint that SyncResponse can
potentially handle errors. However, when an error is passed in like so:
```
err = ceph.ServicePlacementHandler(interfaces.CephState{State: s}, payload)
    if err != nil {
        return response.SyncResponse(false, err)
    }
```

But the syncResponse does not set the `error` field of the response, so
the result has no metadata or error:
```
{
    "type": "sync",
    "status": "Failure",
    "status_code": 400,
    "operation": "",
    "error_code": 0,
    "error": "",
    "metadata": {}
}
```

It seems `SyncResponse(false, ...)` is never used in the Incus
codebase for any reason, so I think it's safe to just handle this
type of response like an error. So I've changed `Render` to just
fallback to a SmartError, which will also try to maintain the http
information from the underlying error.

Signed-off-by: Max Asnaashari <max.asnaashari@canonical.com>
…g in CreateVolumeFromCopy

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
…ive channels together in CreateVolumeFromCopy

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
…eceiver fails in CreateVolumeFromCopy

As sender has by definition already ended.

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
…e errors in CreateVolumeFromCopy

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
…btrfs receive fails in RefreshVolume

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
…ine errors in RefreshVolume

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
…lume with BTRFS driver

For consistency.

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
…eaders

Signed-off-by: Max Asnaashari <max.asnaashari@canonical.com>
…t in BackupCustomVolume

Fixes https://github.com/lxc/incus/security/code-scanning/142

Although not an actual security issue because the VolumeDBGet was already validating
the input was a valid volume name.

Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
… discovery times out

Signed-off-by: Julian Pelizäus <julian.pelizaeus@canonical.com>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Signed-off-by: Mark Laing <mark.laing@canonical.com>
…kSizeBytes

Need to be able to check the block size associatd with a volume for zfs
(see next commit)

Signed-off-by: Wesley Hershberger <wesley.hershberger@canonical.com>
Fixes #13420

Signed-off-by: Wesley Hershberger <wesley.hershberger@canonical.com>
Signed-off-by: Wesley Hershberger <wesley.hershberger@canonical.com>
This test will be added to lxd-ci in https://github.com/lxc/incus-ci/pull/175

It doesn't fit well anywhere in this suite as it requires a VM image.

Signed-off-by: Wesley Hershberger <wesley.hershberger@canonical.com>
Signed-off-by: Wesley Hershberger <wesley.hershberger@canonical.com>
…activating a volume

Instead of giving a udev rules half a second to be applied, wait for the device
up to 30 seconds to appear. This fixes the issue where zvol device cannot be located
if the rules are not applied in time.

Signed-off-by: Din Music <din.music@canonical.com>
Signed-off-by: Din Music <din.music@canonical.com>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
@hallyn hallyn merged commit 716ad48 into lxc:main Jul 13, 2024
30 checks passed
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Aug 10, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [lxc/incus](https://github.com/lxc/incus) | minor | `v6.3.0` -> `v6.4.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>lxc/incus (lxc/incus)</summary>

### [`v6.4.0`](https://github.com/lxc/incus/releases/tag/v6.4.0): Incus 6.4

[Compare Source](lxc/incus@v6.3.0...v6.4.0)

### Announcement

https://discuss.linuxcontainers.org/t/incus-6-4-has-been-released/21323

#### What's Changed

-   incus-simplestreams: Fix split images by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#987
-   incusd/instance/edk2: Support OVMF filenames on arm64 by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#991
-   Import LXD changes from stable-5.0 by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#988
-   incusd/instance/drivers/qemu: Limit CPU flag calculation to x86\_64 by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#992
-   doc: Add OCI mentions by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#990
-   incusd/instance/qemu: Fix architecture check being backward by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1000
-   incus/s3: Fix mcli minio client executable name check by [@&#8203;apophys](https://github.com/apophys) in lxc/incus#998
-   OCI container fixes by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1001
-   incus-simplestreams: Handle removal of combined images by [@&#8203;melato](https://github.com/melato) in lxc/incus#995
-   Change RunDir file mode to 0711 by [@&#8203;bketelsen](https://github.com/bketelsen) in lxc/incus#1004
-   incusd/apparmor/qemu: Relax apparmor rules a bit by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1007
-   incusd/instance/lxc: Handle OCI containers using real PID1 by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1005
-   incusd/apparmor/qemu: Fix typo in rule by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1009
-   incusd/apparmor/dnsmasq: Relax rules a bit by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1011
-   incusd/storage: Use writeback mode for qemu-img convert by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1015
-   Relax cluster upgrade requirements around API extensions by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1012
-   incusd/cgroup: Handle unknown devices in io.stat by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1016
-   incusd/instance_post: Always set the target project by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1019
-   Fix LVM locking issues by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1021
-   Make run-parts running compatible with different versions by [@&#8203;nanjj](https://github.com/nanjj) in lxc/incus#1018
-   Properly handle request retries on OIDC by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1024
-   Fix storage clustering handling by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1022
-   CLI tweaks/improvements by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1029
-   Use qemu-img convert output to update progress by [@&#8203;nanjj](https://github.com/nanjj) in lxc/incus#1025
-   Tweak EDK2 paths by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1033
-   Introduce cluster group configuration by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1034
-   Improve resource API CPU sorting by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1036
-   Fix some clustering issues by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1039
-   Add support for per-instance LXCFS by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1041
-   Fix automatic re-send of unseekable POST queries by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1042
-   VM related improvements by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1043
-   Translations update from Hosted Weblate by [@&#8203;weblate](https://github.com/weblate) in lxc/incus#1045
-   Varied cluster fixes by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1044
-   incus/top: Properly filter disk usage by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1047
-   More clustering fixes by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1049
-   OCI related fixes by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1052
-   Various bugfixes by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1054
-   incusd/storage/zfs: Always call tryGetVolumeDiskPathFromDataset by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1060
-   doc: add colima instructions by [@&#8203;abiosoft](https://github.com/abiosoft) in lxc/incus#1058
-   doc: Update incus_alias.md by [@&#8203;simos](https://github.com/simos) in lxc/incus#1061
-   incusd/network/ovn: Require functional uplink by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1063
-   OVN related fixes by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1068
-   doc/instances: Cover incus agent installation by [@&#8203;simos](https://github.com/simos) in lxc/incus#1067
-   Various bugfixes by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1071
-   doc/storage_volume: Fix snapshot command by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1072
-   Improve lifecycle events on evacuation by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1073
-   More lifecycle fixes by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1074
-   doc/clustering: Better document healing by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1075
-   incus-migrate: Properly handle projects by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1077
-   incusd/apparmor: Allow mounting zfs when delegation is supported by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1078
-   doc/clustering: Add howto on cluster access by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1079
-   Fix handling of long running connections by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1080
-   Handle Ceph config in unusual location by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1081
-   Translations update from Hosted Weblate by [@&#8203;weblate](https://github.com/weblate) in lxc/incus#1082
-   incusd/instance/lxc: Respect LXCFS_OPTS by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1083
-   Allow per cluster group CPU definitions by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1088
-   Make connecting to OVN more reliable by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1089
-   incus: Add support for environment file (.env) by [@&#8203;bketelsen](https://github.com/bketelsen) in lxc/incus#1085
-   Translations update from Hosted Weblate by [@&#8203;weblate](https://github.com/weblate) in lxc/incus#1091
-   Fix some LVM activation bugs by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1090
-   incusd/device/disk: Allow relative paths within custom volumes by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1092
-   Add image cache for CLI client by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1094
-   incus/image/alias: Add column flag by [@&#8203;HassanAlsamahi](https://github.com/HassanAlsamahi) in lxc/incus#1095
-   incusd/main_forknet: Make it so our DHCP client never fails by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1100
-   Add per storage pool project limits by [@&#8203;stgraber](https://github.com/stgraber) in lxc/incus#1098
-   Translations update from Hosted Weblate by [@&#8203;weblate](https://github.com/weblate) in lxc/incus#1099
-   Allow creating isolated OVN networks (no uplink) by [@&#8203;SpiffyEight77](https://github.com/SpiffyEight77) in lxc/incus#1070

#### New Contributors

-   [@&#8203;apophys](https://github.com/apophys) made their first contribution in lxc/incus#998
-   [@&#8203;abiosoft](https://github.com/abiosoft) made their first contribution in lxc/incus#1058
-   [@&#8203;HassanAlsamahi](https://github.com/HassanAlsamahi) made their first contribution in lxc/incus#1095

**Full Changelog**: lxc/incus@v6.3.0...v6.4.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API Changes to the REST API Documentation Documentation needs updating
Development

Successfully merging this pull request may close these issues.