Proto commits in canonical/multipass

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:020f92e
Author:Ricardo Abreu
Committer:Ricardo Abreu

[proto] Tweak type name for consistency

Commit:9c7b53a
Author:Jim Porter
Committer:Jim Porter

[az] Show subnet in `multipass zones`

Commit:2f23160
Author:Ricardo Abreu

[proto] Tweak type name for consistency

Commit:f81691e
Author:Ricardo Abreu

[hackathon] `multipass config`

Commit:9d9a648
Author:Mustafa Kemal Gilor

feat(rpc): Add PassthroughDevice, permission_to_bind_vfio, and info field to protobuf Extend LaunchRequest with passthrough_devices list and permission_to_bind_vfio; add devices_need_binding to LaunchReply for interactive host-binding prompts; expose passthrough_devices in DetailedInfoItem for info display. Also add DEVICE_BINDING_REQUIRED error code. Commit 2/9 of GPU passthrough support for Linux/QEMU backend.

Commit:20917ed
Author:Jim Porter

Merge branch 'main' into availability-zones

Commit:71d99af
Author:Ricardo Abreu
Committer:Ricardo Abreu

[protobuf] Reserve field number and id for IPv6 Addresses review request.

Commit:266cdc0
Author:Ricardo Abreu
Committer:Ricardo Abreu

[ip] Remove ipv6 It has been in the project since 2017 but it was never used, apart from tests. Remove it to have one less spaghetti strand to tie knots with. Let's add it when we need it.

Commit:31b18e3
Author:Scott Harder
Committer:Scott Harder

[daemon] Populate new protobuf with OS info

Commit:a17223c
Author:Scott Harder

[daemon] Populate new protobuf field with OS info

Commit:7ab7b65
Author:Ricardo Abreu
Committer:Ricardo Abreu

[ip] Remove ipv6 It has been in the project since 2017 but it was never used, apart from tests. Remove it to have one less spaghetti strand to tie knots with. Let's add it when we need it.

Commit:bfff3eb
Author:Ricardo Abreu
Committer:Ricardo Abreu

[ip] Remove ipv6 It has been in the project since 2017 but it was never used, apart from tests. Remove it to have one less spaghetti strand to tie knots with. Let's add it when we need it.

Commit:e28e2cd
Author:Ricardo Abreu
Committer:Ricardo Abreu

[ip] Remove ipv6 It has been in the project since 2017 but it was never used, apart from tests. Remove it to have one less spaghetti strand to tie knots with. Let's add it when we need it.

Commit:c1ab8c4
Author:Ricardo Abreu

[ip] Remove ipv6 It has been in the project since 2017 but it was never used, apart from tests. Remove it to have one less spaghetti strand to tie knots with.

Commit:5ec148f
Author:Trevor Shoe
Committer:trevor-shoe

[az] Implement set_available

Commit:11654bd
Author:Lev Kropp
Committer:trevor-shoe

Add enable-zones and disable-zones commands

Commit:975a694
Author:Andrei Toterman
Committer:trevor-shoe

add daemon gRPC boilerplate for AZs # Conflicts: # src/daemon/daemon.h # src/daemon/daemon.cpp # src/daemon/daemon_rpc.cpp # src/daemon/daemon_rpc.h # src/rpc/multipass.proto # tests/mock_client_rpc.h

Commit:39d9260
Author:Lev Kropp
Committer:trevor-shoe

Add enable-zones and disable-zones commands

Commit:78ed23e
Author:Andrei Toterman
Committer:trevor-shoe

add daemon gRPC boilerplate for AZs # Conflicts: # src/daemon/daemon.h # src/daemon/daemon.cpp # src/daemon/daemon_rpc.cpp # src/daemon/daemon_rpc.h # src/rpc/multipass.proto # tests/mock_client_rpc.h

Commit:7fc4c1d
Author:Scott Harder
Committer:Scott Harder

[grpc] Optimize remote_name in FindReply

The documentation is generated from this commit.

Commit:f64cf1c
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove reserved statemets from gRPC API

Commit:87f454d
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Readjust multipass.proto Since blueprints will be removed, having a show_images boolean is not necessary anymore. Furthermore, the protocol numbers are reserved and commented to avoid future conflicts.

Commit:0cacb1b
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove BP from the gRPC protocol

Commit:c77aacd
Author:Scott Harder
Committer:Scott Harder

[grpc] Optimize remote_name in FindReply

Commit:c904bf7
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove reserved statemets from gRPC API

Commit:a2242a1
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Readjust multipass.proto Since blueprints will be removed, having a show_images boolean is not necessary anymore. Furthermore, the protocol numbers are reserved and commented to avoid future conflicts.

Commit:f6f53af
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove BP from the gRPC protocol

Commit:2ec0bbc
Author:Scott Harder
Committer:Scott Harder

[grpc] Optimize remote_name in FindReply

Commit:cb630f3
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove reserved statemets from gRPC API

Commit:b06ed90
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Readjust multipass.proto Since blueprints will be removed, having a show_images boolean is not necessary anymore. Furthermore, the protocol numbers are reserved and commented to avoid future conflicts.

Commit:6bfbeee
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove BP from the gRPC protocol

Commit:806aab7
Author:Scott Harder
Committer:Scott Harder

[grpc] Optimize remote_name in FindReply

Commit:b8a5bcb
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove reserved statemets from gRPC API

Commit:037370d
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Readjust multipass.proto Since blueprints will be removed, having a show_images boolean is not necessary anymore. Furthermore, the protocol numbers are reserved and commented to avoid future conflicts.

Commit:031ba30
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove BP from the gRPC protocol

Commit:3ce6513
Author:Trevor Shoe
Committer:trevor-shoe

[az] Implement set_available

Commit:1649218
Author:Lev Kropp
Committer:trevor-shoe

Add enable-zones and disable-zones commands

Commit:80f1f42
Author:Andrei Toterman
Committer:trevor-shoe

add daemon gRPC boilerplate for AZs # Conflicts: # src/daemon/daemon.h # src/daemon/daemon.cpp # src/daemon/daemon_rpc.cpp # src/daemon/daemon_rpc.h # src/rpc/multipass.proto # tests/mock_client_rpc.h

Commit:670fcd6
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove reserved statemets from gRPC API

Commit:2e6b0e1
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Readjust multipass.proto Since blueprints will be removed, having a show_images boolean is not necessary anymore. Furthermore, the protocol numbers are reserved and commented to avoid future conflicts.

Commit:fea9396
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove BP from the gRPC protocol

Commit:f12bf8d
Author:Lev Kropp
Committer:Lev Kropp

[rust] Add block module, create, delete, list cmds

Commit:191c6c5
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Readjust multipass.proto Since blueprints will be removed, having a show_images boolean is not necessary anymore. Furthermore, the protocol numbers are reserved and commented to avoid future conflicts.

Commit:df40549
Author:Antoni Bertolin Monferrer
Committer:Antoni Bertolin Monferrer

[proto] Remove BP from the gRPC protocol

Commit:129051c
Author:Antoni Bertolin Monferrer

[proto] Readjust multipass.proto Since blueprints will be removed, having a show_images boolean is not necessary anymore. Furthermore, the protocol numbers are reserved and commented to avoid future conflicts.

Commit:cd52bfd
Author:Antoni Bertolin Monferrer

[proto] Remove BP from the gRPC protocol

Commit:992f6fb
Author:Trevor Shoe
Committer:trevor-shoe

[az] Implement set_available

Commit:09a953a
Author:Lev Kropp
Committer:trevor-shoe

Add enable-zones and disable-zones commands

Commit:df4c786
Author:Andrei Toterman
Committer:trevor-shoe

add daemon gRPC boilerplate for AZs # Conflicts: # src/daemon/daemon.h # src/daemon/daemon.cpp # src/daemon/daemon_rpc.cpp # src/daemon/daemon_rpc.h # src/rpc/multipass.proto # tests/mock_client_rpc.h

Commit:c691662
Author:Lev Kropp
Committer:Lev Kropp

[rust] Add block module, create, delete, list cmds

Commit:d638e96
Author:Trevor Shoe
Committer:trevor-shoe

[az] Implement set_available

Commit:be185fa
Author:Lev Kropp
Committer:trevor-shoe

Add enable-zones and disable-zones commands

Commit:0e2ba98
Author:Andrei Toterman
Committer:trevor-shoe

add daemon gRPC boilerplate for AZs # Conflicts: # src/daemon/daemon.h # src/daemon/daemon.cpp # src/daemon/daemon_rpc.cpp # src/daemon/daemon_rpc.h # src/rpc/multipass.proto # tests/mock_client_rpc.h

Commit:7b74bad
Author:Scott Harder
Committer:Scott Harder

[grpc] Optimize remote_name in FindReply

Commit:81d1ca6
Author:Scott Harder
Committer:Scott Harder

[grpc] Optimize remote_name in FindReply

Commit:c58035b
Author:Trevor Shoe
Committer:Trevor Shoe

[az] Implement set_available

Commit:1d8468c
Author:Scott Harder
Committer:Scott Harder

[grpc] Optimize remote_name in FindReply

Commit:925bbe2
Author:Trevor Shoe
Committer:Trevor Shoe

[az] Implement set_available

Commit:6fbd592
Author:Lev Kropp
Committer:Trevor Shoe

Add enable-zones and disable-zones commands

Commit:9379ce5
Author:Andrei Toterman
Committer:Trevor Shoe

add daemon gRPC boilerplate for AZs # Conflicts: # src/daemon/daemon.h # src/daemon/daemon.cpp # src/daemon/daemon_rpc.cpp # src/daemon/daemon_rpc.h # src/rpc/multipass.proto # tests/mock_client_rpc.h

Commit:b5d52df
Author:Ryan Luna
Committer:geoffreynyaga

[feat] Add wait-ready command to check Multipass daemon readiness This commit introduces the `multipass wait-ready` command. This new command allows clients to block until the Multipass daemon is fully initialized and ready to accept requests. The command first polls the daemon until its gRPC socket is available. Once the daemon is reachable and receives the `WaitReady` request, it verifies its readiness by attempting to update image manifests, which implicitly checks connectivity to image servers. Users can specify a `--timeout` (in seconds), after which the command will terminate with an error if the daemon is not yet ready. If no timeout is specified, the command will wait indefinitely until the daemon is ready or some other error occurs. Implementation Details: - Client-side (`wait_ready.cpp`, `wait_ready.h`): - Created the `WaitReady` command logic and its header file. - Implemented a retry loop to poll for daemon socket availability. - Utilized the existing `mp::cmd::parse_timeout()` function from `common_cli.h` to handle the `--timeout` option. - Integrated `AnimatedSpinner` for visual feedback during the waiting period. - Added error handling for various failure conditions (e.g., timeout, daemon connection errors). - Protocol (`multipass.proto`): - Defined the `WaitReadyRequest` and `WaitReadyReply` messages and the `WaitReady` RPC method within the `Multipass` service. - Daemon-side: - Added the `wait_ready` gRPC service handler function in `daemon_rpc.cpp` to process incoming requests. - Implemented the core `wait_ready` logic in `daemon.cpp`, which leverages the existing `wait_update_manifests_all_and_optionally_applied_force()` function to check image server connectivity. - Testing (`tests/mock_client_rpc.h`): - Added mock methods for `wait_readyRaw`, `Asyncwait_readyRaw`, and `PrepareAsyncwait_readyRaw` to `MockRpcStub` to support testing of the new RPC endpoint.

Commit:f7e9292
Author:Lev Kropp
Committer:levkropp

refactor cleanup methods

Commit:77cfd6e
Author:Lev Kropp
Committer:levkropp

extra disks 1 * implement multipass add-disk command with support for file paths * implement multipass launch --disk 10G --disk 5G multiple disks support

Commit:a1a0e2c
Author:Lev Kropp
Committer:levkropp

[block] working qemu implementation of create, delete, list commands

Commit:0959175
Author:Lev Kropp
Committer:levkropp

[block] create block storage cli commands & pbf defs

Commit:7fef80a
Author:Lev Kropp
Committer:levkropp

refactor cleanup methods

Commit:f7dbe5a
Author:Lev Kropp
Committer:levkropp

extra disks 1 * implement multipass add-disk command with support for file paths * implement multipass launch --disk 10G --disk 5G multiple disks support

Commit:90da039
Author:Lev Kropp
Committer:levkropp

[block] working qemu implementation of create, delete, list commands

Commit:e9d8290
Author:Lev Kropp
Committer:levkropp

[block] create block storage cli commands & pbf defs

Commit:5574551
Author:Trevor Shoe
Committer:Trevor Shoe

[az] Implement set_available

Commit:da59985
Author:Lev Kropp
Committer:Trevor Shoe

Add enable-zones and disable-zones commands

Commit:d6efb4a
Author:Andrei Toterman
Committer:Trevor Shoe

add daemon gRPC boilerplate for AZs # Conflicts: # src/daemon/daemon.h # src/daemon/daemon_rpc.h

Commit:e7bdce9
Author:Scott Harder
Committer:Scott Harder

[grpc] Optimize sending of `remote_name` in `FindReply`

Commit:df8da29
Author:Ryan Luna
Committer:Ryan Luna

[feat] Add wait-ready command to check Multipass daemon readiness This commit introduces the `multipass wait-ready` command. This new command allows clients to block until the Multipass daemon is fully initialized and ready to accept requests. The command first polls the daemon until its gRPC socket is available. Once the daemon is reachable and receives the `WaitReady` request, it verifies its readiness by attempting to update image manifests, which implicitly checks connectivity to image servers. Users can specify a `--timeout` (in seconds), after which the command will terminate with an error if the daemon is not yet ready. If no timeout is specified, the command will wait indefinitely until the daemon is ready or some other error occurs. Implementation Details: - Client-side (`wait_ready.cpp`, `wait_ready.h`): - Created the `WaitReady` command logic and its header file. - Implemented a retry loop to poll for daemon socket availability. - Utilized the existing `mp::cmd::parse_timeout()` function from `common_cli.h` to handle the `--timeout` option. - Integrated `AnimatedSpinner` for visual feedback during the waiting period. - Added error handling for various failure conditions (e.g., timeout, daemon connection errors). - Protocol (`multipass.proto`): - Defined the `WaitReadyRequest` and `WaitReadyReply` messages and the `WaitReady` RPC method within the `Multipass` service. - Daemon-side: - Added the `wait_ready` gRPC service handler function in `daemon_rpc.cpp` to process incoming requests. - Implemented the core `wait_ready` logic in `daemon.cpp`, which leverages the existing `wait_update_manifests_all_and_optionally_applied_force()` function to check image server connectivity. - Testing (`tests/mock_client_rpc.h`): - Added mock methods for `wait_readyRaw`, `Asyncwait_readyRaw`, and `PrepareAsyncwait_readyRaw` to `MockRpcStub` to support testing of the new RPC endpoint.

Commit:d51a2f1
Author:Scott Harder
Committer:Scott Harder

[grpc] Optimize sending of `remote_name` in `FindReply`

Commit:f8e96a2
Author:Scott Harder
Committer:Scott Harder

[grpc] Optimize sending of `remote_name` in `FindReply`

Commit:9f8e830
Author:Ryan Luna
Committer:Ryan Luna

[feat] Add wait-ready command to check Multipass daemon readiness This commit introduces the `multipass wait-ready` command. This new command allows clients to block until the Multipass daemon is fully initialized and ready to accept requests. The command first polls the daemon until its gRPC socket is available. Once the daemon is reachable and receives the `WaitReady` request, it verifies its readiness by attempting to update image manifests, which implicitly checks connectivity to image servers. Users can specify a `--timeout` (in seconds), after which the command will terminate with an error if the daemon is not yet ready. If no timeout is specified, the command will wait indefinitely until the daemon is ready or some other error occurs. Implementation Details: - Client-side (`wait_ready.cpp`, `wait_ready.h`): - Created the `WaitReady` command logic and its header file. - Implemented a retry loop to poll for daemon socket availability. - Utilized the existing `mp::cmd::parse_timeout()` function from `common_cli.h` to handle the `--timeout` option. - Integrated `AnimatedSpinner` for visual feedback during the waiting period. - Added error handling for various failure conditions (e.g., timeout, daemon connection errors). - Protocol (`multipass.proto`): - Defined the `WaitReadyRequest` and `WaitReadyReply` messages and the `WaitReady` RPC method within the `Multipass` service. - Daemon-side: - Added the `wait_ready` gRPC service handler function in `daemon_rpc.cpp` to process incoming requests. - Implemented the core `wait_ready` logic in `daemon.cpp`, which leverages the existing `wait_update_manifests_all_and_optionally_applied_force()` function to check image server connectivity. - Testing (`tests/mock_client_rpc.h`): - Added mock methods for `wait_readyRaw`, `Asyncwait_readyRaw`, and `PrepareAsyncwait_readyRaw` to `MockRpcStub` to support testing of the new RPC endpoint.

Commit:5d33d43
Author:Lev Kropp
Committer:Lev Kropp

refactor cleanup methods

Commit:4979fc5
Author:Lev Kropp
Committer:Lev Kropp

[lint] apply clang-format

Commit:08bc703
Author:Lev Kropp
Committer:Lev Kropp

extra disks 1 * implement multipass add-disk command with support for file paths * implement multipass launch --disk 10G --disk 5G multiple disks support

Commit:97fdd2f
Author:Lev Kropp
Committer:Lev Kropp

[block] working qemu implementation of create, delete, list commands

Commit:996d114
Author:Lev Kropp
Committer:Lev Kropp

[block] create block storage cli commands & pbf defs

Commit:9da0a58
Author:Lev Kropp

refactor cleanup methods

Commit:adf197b
Author:Lev Kropp
Committer:Lev Kropp

[lint] apply clang-format

Commit:d21be24
Author:Lev Kropp
Committer:Lev Kropp

extra disks 1 * implement multipass add-disk command with support for file paths * implement multipass launch --disk 10G --disk 5G multiple disks support

Commit:3af0476
Author:Lev Kropp
Committer:Lev Kropp

[block] working qemu implementation of create, delete, list commands

Commit:d726654
Author:Lev Kropp
Committer:Lev Kropp

[block] create block storage cli commands & pbf defs

Commit:f0ad5a3
Author:Lev Kropp
Committer:levkropp

[block] working qemu implementation of create, delete, list commands

Commit:eff4ffe
Author:Lev Kropp
Committer:levkropp

[block] create block storage cli commands & pbf defs

Commit:8893afe
Author:Lev Kropp

[block] working qemu implementation of create, delete, list commands

Commit:72c12b0
Author:Lev Kropp

[block] create block storage cli commands & pbf defs

Commit:e8fd002
Author:Trevor Shoe
Committer:Sploder12

[az] Implement set_available

Commit:d3c57b4
Author:Lev Kropp

Add enable-zones and disable-zones commands

Commit:7c80787
Author:Trevor Shoe
Committer:Sploder12

[az] Implement set_available

Commit:b3902a9
Author:Trevor Shoe
Committer:Trevor Shoe

[az] Implement set_available

Commit:ad44f94
Author:Andrei Toterman
Committer:Trevor Shoe

add daemon gRPC boilerplate for AZs

Commit:4972003
Author:Trevor Shoe
Committer:Trevor Shoe

[az] Implement set_available

Commit:ecbd3ea
Author:Trevor Shoe

[az] Implement set_available

Commit:0c53936
Author:Trevor Shoe

[AZs] Implement unavailable state

Commit:5c7a9b6
Author:levkropp
Committer:levkropp

[cli] Add --zone argument to launch command