Ruoqing He
5a70d7ec69
build: Centralize rust-vmm crates to workspace
...
Modify `Cargo.toml` in each member crate to follow the dependencies
specified in root `Cargo.toml` file.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2024-09-27 15:58:21 +00:00
Alyssa Ross
4ad44caa52
api_client: show response body in ServerResponse
...
Otherwise, you just see output like "Error running command: Server
responded with an error: InternalServerError", which isn't very
helpful. The response body used to be include with the message, but
was removed when the Error enum was converted to thiserror.
Fixes: 5d0d56f5 ("api_client: Use thiserror for errors")
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2024-09-13 08:29:37 +00:00
dependabot[bot]
8803e4a2e7
build: Bump thiserror from 1.0.61 to 1.0.62
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.61 to 1.0.62.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.61...1.0.62 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-17 08:00:35 +00:00
SamrutGadde
c3d69a9bac
api_client: Updated error message for sending fds
...
Updated error message for the SocketSendFds error to be more
descriptive.
Signed-off-by: SamrutGadde <samrut.gadde@gmail.com >
2024-05-23 20:54:36 +00:00
SamrutGadde
5d0d56f50b
api_client: Use thiserror for errors
...
Added thiserror crate for Error enums to the api_client package
Signed-off-by: SamrutGadde <samrut.gadde@gmail.com >
2024-05-23 20:54:36 +00:00
Rob Bradford
3f8cd52ffd
build: Format Cargo.toml files using taplo
...
Run the taplo formatter with the newly added configuration file
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2024-05-08 21:46:13 +00:00
Bo Chen
3ce0fef7fd
build: Bump vmm-sys-util crate and its consumers
...
This patch bumps the following crates, including `kvm-bindings@0.7.0`*,
`kvm-ioctls@0.16 .0`**, `linux-loader@0.11 .0`, `versionize@0.2.0`,
`versionize_derive@0.1.6`***, `vhost@0.10 .0`,
`vhost-user-backend@0.13 .1`, `virtio-queue@0.11 .0`, `vm-memory@0.14 .0`,
`vmm-sys-util@0.12 .1`, and the latest of `vfio-bindings`, `vfio-ioctls`,
`mshv-bindings`,`mshv-ioctls`, and `vfio-user`.
* A fork of the `kvm-bindings` crate is being used to support
serialization of various structs for migration [1]. Also, code changes
are made to accommodate the updated `struct xsave` from the Linux
kernel. Note: these changes related to `struct xsave` break
live-upgrade.
** The new `kvm-ioctls` crate introduced breaking changes for
the `get/set_one_reg` API on `aarch64` [2], so code changes are made to
the new APIs.
*** A fork of the `versionize_derive` crate is being used to support
versionize on packed structs [3].
[1] https://github.com/cloud-hypervisor/kvm-bindings/tree/ch-v0.7.0
[2] https://github.com/rust-vmm/kvm-ioctls/pull/223
[3] https://github.com/cloud-hypervisor/versionize_derive/tree/ch-0.1.6
Fixes : #6072
Signed-off-by: Bo Chen <chen.bo@intel.com >
2024-01-25 10:14:54 +00:00
Rob Bradford
5e52729453
misc: Automatically fix cargo clippy issues added in 1.65 (stable)
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com >
2022-12-14 14:27:19 +00:00
Rob Bradford
6f8bd27cf7
build: Bulk update dependencies
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com >
2022-11-28 16:57:49 +00:00
James O. D. Hunt
cd0208fe0a
api-client: Allow response to be captured
...
Previously, the API response was always written to stdout, but that may
not be appropriate for all clients.
The client can now control this behaviour as the client API returns the
response in the `Result`.
Fixes : #4703 .
Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com >
2022-09-28 15:23:03 +01:00
James O. D. Hunt
eea9bcea38
api-client: Refactor to removed hard-coded prefix
...
The existing API client only allows access to "VM" operations, so added
a new `simple_api_full_command_with_fds()` that allows access to "VMM"
operations too.
Also added a `simple_api_full_command()` to avoid having to specify the
file descriptors, in a similar manner to `simple_api_command()`.
Fixes : #4701 .
Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com >
2022-09-28 12:30:02 +01:00
Maximilian Nitsch
87c0791d53
api-client: Handle body_offset is None
...
Handle the case `body_offset` is `None` instead of calling `unwrap()`
which leads to a panic.
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com >
2022-07-26 15:39:31 +02:00
Maximilian Nitsch
686e6d5082
api-client: Break the receive loop if the VMM shuts down the socket
...
Breaks the receive loop of the API client when the VMM shuts down the
socket connection. A shutdown is indicated by the return value 0 of the
`recv()` system call.[^1][^2] This case was not handled before, so the
API client tried infinitely to receive more bytes and did not return.
[^1]: https://linux.die.net/man/2/recv
[^2]: https://doc.rust-lang.org/std/io/trait.Read.html#tymethod.read
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com >
2022-07-25 13:19:37 +01:00
dependabot[bot]
b440cb7d23
build: bump vmm-sys-util from 0.9.0 to 0.10.0
...
This patch requires the vhost-user-backend crate to be bumped from 0.5.0
to 0.5.1.
Bumps [vmm-sys-util](https://github.com/rust-vmm/vmm-sys-util ) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/rust-vmm/vmm-sys-util/releases )
- [Changelog](https://github.com/rust-vmm/vmm-sys-util/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-vmm/vmm-sys-util/compare/v0.9.0...v0.10.0 )
---
updated-dependencies:
- dependency-name: vmm-sys-util
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com >
2022-07-20 09:40:28 +00:00
Wei Liu
7d7bfb2034
build: migrate to Rust 2021 edition
...
Rust 2021 edition has a few improvements over the 2018 edition. Migrate
the project to 2021 edition by following recommended migration steps.
Luckily, the code itself doesn't require fixing.
Bump MSRV to 1.56 as it is required by the 2021 edition. Also fix the
clap build dependency to make Cloud Hypervisor build again.
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2022-04-11 09:51:12 +01:00
dependabot[bot]
f67b3f79ea
build: bump vmm-sys-util from 0.8.0 to 0.9.0
...
Bumps [vmm-sys-util](https://github.com/rust-vmm/vmm-sys-util ) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/rust-vmm/vmm-sys-util/releases )
- [Changelog](https://github.com/rust-vmm/vmm-sys-util/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-vmm/vmm-sys-util/compare/v0.8.0...v0.9.0 )
---
updated-dependencies:
- dependency-name: vmm-sys-util
dependency-type: direct:production
update-type: version-update:semver-minor
...
This needed a bunch of manual updates as well, including vfio-ioctls and
vhost crates. The vhost crate is being patched with the latest version
from rust-vmm because the version 0.1.0 on crates.io doesn't include the
patches we need yet.
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com >
2021-09-16 14:01:19 +01:00
Rob Bradford
f7f2f25a57
build: Use fixed versions in Cargo.toml files
...
This doesn't really affect the build as we ship a Cargo.lock with fixed
versions in. However for clarity it makes sense to use fixed versions
throughout and let dependabot update them.
Signed-off-by: Rob Bradford <robert.bradford@intel.com >
2021-08-06 12:11:39 +02:00
Sebastien Boeuf
9af2968a7d
api_client: Add ability to send file descriptors
...
Allow the user to send a list of file descriptors along with the HTTP
request.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com >
2021-07-21 15:34:22 +02:00
Gaelan Steele
7a18e247f4
api_client: use Option::map in get_header
...
It's more idiomatic Rust, and satisfies nightly clippy.
Signed-off-by: Gaelan Steele <gbs@canishe.com >
2021-03-29 09:55:29 +02:00
Rob Bradford
030d6046b2
api_client: Address Rust 1.51.0 clippy issue (upper_case_acroynms)
...
--> api_client/src/lib.rs:40:5
|
40 | OK,
| ^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Ok`
|
= note: `-D clippy::upper-case-acronyms` implied by `-D warnings`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms
Signed-off-by: Rob Bradford <robert.bradford@intel.com >
2021-03-26 11:32:09 +00:00
Rob Bradford
8de3bd728c
ch-remote, api_client: Split HTTP/API client code into new crate
...
Split out the HTTP request handling code from ch-remote into a new
crate which can be used in other places where talking to the API server
by HTTP is necessary.
Signed-off-by: Rob Bradford <robert.bradford@intel.com >
2020-10-23 14:50:36 +02:00