From 0958f3cc0a3014f6cf7c20ed3cf900341c416d93 Mon Sep 17 00:00:00 2001 From: John Baublitz Date: Thu, 18 Jul 2024 14:32:30 -0400 Subject: [PATCH] Bump revision to r8 --- .github/workflows/main.yml | 2 +- Cargo.lock | 2 +- Cargo.toml | 2 +- .../api/{manager_3_7 => manager_3_8}/api.rs | 2 +- .../{manager_3_7 => manager_3_8}/methods.rs | 0 .../api/{manager_3_7 => manager_3_8}/mod.rs | 0 .../api/{manager_3_7 => manager_3_8}/props.rs | 0 src/dbus_api/api/mod.rs | 24 +++- src/dbus_api/blockdev/mod.rs | 25 +++++ src/dbus_api/consts.rs | 8 ++ src/dbus_api/filesystem/mod.rs | 26 +++++ src/dbus_api/pool/mod.rs | 48 ++++++++ src/dbus_api/tree.rs | 105 ++++++++++++++++++ stratisd.conf | 10 ++ .../src/stratisd_client_dbus/_constants.py | 2 +- .../src/stratisd_client_dbus/_introspect.py | 20 ++-- 16 files changed, 258 insertions(+), 18 deletions(-) rename src/dbus_api/api/{manager_3_7 => manager_3_8}/api.rs (95%) rename src/dbus_api/api/{manager_3_7 => manager_3_8}/methods.rs (100%) rename src/dbus_api/api/{manager_3_7 => manager_3_8}/mod.rs (100%) rename src/dbus_api/api/{manager_3_7 => manager_3_8}/props.rs (100%) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7dd8e95a9c..6dd731f708 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -244,7 +244,7 @@ jobs: matrix: include: - rev: HEAD - options: --post-test-check=verify-filesystem-symlinks --post-test-check=verify-pool-metadata --highest-revision-number=7 + options: --post-test-check=verify-filesystem-symlinks --post-test-check=verify-pool-metadata --highest-revision-number=8 - rev: v3.6.2 options: --highest-revision-number=6 runs-on: ubuntu-22.04 diff --git a/Cargo.lock b/Cargo.lock index 4bb75dd866..75d36ef2a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1295,7 +1295,7 @@ dependencies = [ [[package]] name = "stratisd" -version = "3.7.0" +version = "3.8.0" dependencies = [ "assert_cmd", "assert_matches", diff --git a/Cargo.toml b/Cargo.toml index 14531d1d48..9eae046da8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "stratisd" -version = "3.7.0" +version = "3.8.0" authors.workspace = true edition.workspace = true rust-version.workspace = true diff --git a/src/dbus_api/api/manager_3_7/api.rs b/src/dbus_api/api/manager_3_8/api.rs similarity index 95% rename from src/dbus_api/api/manager_3_7/api.rs rename to src/dbus_api/api/manager_3_8/api.rs index 7dc0cc6cce..627d7fd955 100644 --- a/src/dbus_api/api/manager_3_7/api.rs +++ b/src/dbus_api/api/manager_3_8/api.rs @@ -6,7 +6,7 @@ use dbus_tree::{Access, EmitsChangedSignal, Factory, MTSync, Method, Property}; use crate::dbus_api::{ api::{ - manager_3_7::{methods::start_pool, props::get_stopped_pools}, + manager_3_8::{methods::start_pool, props::get_stopped_pools}, prop_conv::StoppedOrLockedPools, }, consts, diff --git a/src/dbus_api/api/manager_3_7/methods.rs b/src/dbus_api/api/manager_3_8/methods.rs similarity index 100% rename from src/dbus_api/api/manager_3_7/methods.rs rename to src/dbus_api/api/manager_3_8/methods.rs diff --git a/src/dbus_api/api/manager_3_7/mod.rs b/src/dbus_api/api/manager_3_8/mod.rs similarity index 100% rename from src/dbus_api/api/manager_3_7/mod.rs rename to src/dbus_api/api/manager_3_8/mod.rs diff --git a/src/dbus_api/api/manager_3_7/props.rs b/src/dbus_api/api/manager_3_8/props.rs similarity index 100% rename from src/dbus_api/api/manager_3_7/props.rs rename to src/dbus_api/api/manager_3_8/props.rs diff --git a/src/dbus_api/api/mod.rs b/src/dbus_api/api/mod.rs index 8a92d980f6..84533c63bf 100644 --- a/src/dbus_api/api/mod.rs +++ b/src/dbus_api/api/mod.rs @@ -14,7 +14,7 @@ mod manager_3_2; mod manager_3_4; mod manager_3_5; mod manager_3_6; -mod manager_3_7; +mod manager_3_8; pub mod prop_conv; mod report_3_0; mod shared; @@ -144,11 +144,25 @@ pub fn get_base_tree<'a>( .add_m(manager_3_0::list_keys_method(&f)) .add_m(manager_3_0::destroy_pool_method(&f)) .add_m(manager_3_0::engine_state_report_method(&f)) - .add_m(manager_3_7::start_pool_method(&f)) + .add_m(manager_3_4::start_pool_method(&f)) + .add_m(manager_3_6::stop_pool_method(&f)) + .add_m(manager_3_2::refresh_state_method(&f)) + .add_p(manager_3_0::version_property(&f)) + .add_p(manager_3_2::stopped_pools_property(&f)), + ) + .add( + f.interface(consts::MANAGER_INTERFACE_NAME_3_8, ()) + .add_m(manager_3_5::create_pool_method(&f)) + .add_m(manager_3_0::set_key_method(&f)) + .add_m(manager_3_0::unset_key_method(&f)) + .add_m(manager_3_0::list_keys_method(&f)) + .add_m(manager_3_0::destroy_pool_method(&f)) + .add_m(manager_3_0::engine_state_report_method(&f)) + .add_m(manager_3_8::start_pool_method(&f)) .add_m(manager_3_6::stop_pool_method(&f)) .add_m(manager_3_2::refresh_state_method(&f)) .add_p(manager_3_0::version_property(&f)) - .add_p(manager_3_7::stopped_pools_property(&f)), + .add_p(manager_3_8::stopped_pools_property(&f)), ) .add( f.interface(consts::REPORT_INTERFACE_NAME_3_0, ()) @@ -181,6 +195,10 @@ pub fn get_base_tree<'a>( .add( f.interface(consts::REPORT_INTERFACE_NAME_3_7, ()) .add_m(report_3_0::get_report_method(&f)), + ) + .add( + f.interface(consts::REPORT_INTERFACE_NAME_3_8, ()) + .add_m(report_3_0::get_report_method(&f)), ); let path = obj_path.get_name().to_owned(); diff --git a/src/dbus_api/blockdev/mod.rs b/src/dbus_api/blockdev/mod.rs index cd5ebadf74..55be64eb33 100644 --- a/src/dbus_api/blockdev/mod.rs +++ b/src/dbus_api/blockdev/mod.rs @@ -138,6 +138,19 @@ pub fn create_dbus_blockdev<'a>( .add_p(blockdev_3_0::physical_path_property(&f)) .add_p(blockdev_3_0::size_property(&f)) .add_p(blockdev_3_3::new_size_property(&f)), + ) + .add( + f.interface(consts::BLOCKDEV_INTERFACE_NAME_3_8, ()) + .add_p(blockdev_3_0::devnode_property(&f)) + .add_p(blockdev_3_0::hardware_info_property(&f)) + .add_p(blockdev_3_0::initialization_time_property(&f)) + .add_p(blockdev_3_0::pool_property(&f)) + .add_p(blockdev_3_0::tier_property(&f)) + .add_p(blockdev_3_3::user_info_property(&f)) + .add_p(blockdev_3_0::uuid_property(&f)) + .add_p(blockdev_3_0::physical_path_property(&f)) + .add_p(blockdev_3_0::size_property(&f)) + .add_p(blockdev_3_3::new_size_property(&f)), ); let path = object_path.get_name().to_owned(); @@ -236,6 +249,18 @@ pub fn get_blockdev_properties( consts::BLOCKDEV_NEW_SIZE_PROP => shared::blockdev_new_size_prop(dev) }, consts::BLOCKDEV_INTERFACE_NAME_3_7 => { + consts::BLOCKDEV_DEVNODE_PROP => shared::blockdev_devnode_prop(dev), + consts::BLOCKDEV_HARDWARE_INFO_PROP => shared::blockdev_hardware_info_prop(dev), + consts::BLOCKDEV_USER_INFO_PROP => shared::blockdev_user_info_prop(dev), + consts::BLOCKDEV_INIT_TIME_PROP => shared::blockdev_init_time_prop(dev), + consts::BLOCKDEV_POOL_PROP => parent.clone(), + consts::BLOCKDEV_UUID_PROP => uuid_to_string!(dev_uuid), + consts::BLOCKDEV_TIER_PROP => shared::blockdev_tier_prop(tier), + consts::BLOCKDEV_PHYSICAL_PATH_PROP => shared::blockdev_physical_path_prop(dev), + consts::BLOCKDEV_TOTAL_SIZE_PROP => shared::blockdev_size_prop(dev), + consts::BLOCKDEV_NEW_SIZE_PROP => shared::blockdev_new_size_prop(dev) + }, + consts::BLOCKDEV_INTERFACE_NAME_3_8 => { consts::BLOCKDEV_DEVNODE_PROP => shared::blockdev_devnode_prop(dev), consts::BLOCKDEV_HARDWARE_INFO_PROP => shared::blockdev_hardware_info_prop(dev), consts::BLOCKDEV_USER_INFO_PROP => shared::blockdev_user_info_prop(dev), diff --git a/src/dbus_api/consts.rs b/src/dbus_api/consts.rs index 333470b12c..ada3d96bac 100644 --- a/src/dbus_api/consts.rs +++ b/src/dbus_api/consts.rs @@ -15,6 +15,7 @@ pub const MANAGER_INTERFACE_NAME_3_4: &str = "org.storage.stratis3.Manager.r4"; pub const MANAGER_INTERFACE_NAME_3_5: &str = "org.storage.stratis3.Manager.r5"; pub const MANAGER_INTERFACE_NAME_3_6: &str = "org.storage.stratis3.Manager.r6"; pub const MANAGER_INTERFACE_NAME_3_7: &str = "org.storage.stratis3.Manager.r7"; +pub const MANAGER_INTERFACE_NAME_3_8: &str = "org.storage.stratis3.Manager.r8"; pub const REPORT_INTERFACE_NAME_3_0: &str = "org.storage.stratis3.Report.r0"; pub const REPORT_INTERFACE_NAME_3_1: &str = "org.storage.stratis3.Report.r1"; pub const REPORT_INTERFACE_NAME_3_2: &str = "org.storage.stratis3.Report.r2"; @@ -23,6 +24,7 @@ pub const REPORT_INTERFACE_NAME_3_4: &str = "org.storage.stratis3.Report.r4"; pub const REPORT_INTERFACE_NAME_3_5: &str = "org.storage.stratis3.Report.r5"; pub const REPORT_INTERFACE_NAME_3_6: &str = "org.storage.stratis3.Report.r6"; pub const REPORT_INTERFACE_NAME_3_7: &str = "org.storage.stratis3.Report.r7"; +pub const REPORT_INTERFACE_NAME_3_8: &str = "org.storage.stratis3.Report.r8"; pub const LOCKED_POOLS_PROP: &str = "LockedPools"; pub const STOPPED_POOLS_PROP: &str = "StoppedPools"; @@ -35,6 +37,7 @@ pub const POOL_INTERFACE_NAME_3_4: &str = "org.storage.stratis3.pool.r4"; pub const POOL_INTERFACE_NAME_3_5: &str = "org.storage.stratis3.pool.r5"; pub const POOL_INTERFACE_NAME_3_6: &str = "org.storage.stratis3.pool.r6"; pub const POOL_INTERFACE_NAME_3_7: &str = "org.storage.stratis3.pool.r7"; +pub const POOL_INTERFACE_NAME_3_8: &str = "org.storage.stratis3.pool.r8"; pub const POOL_NAME_PROP: &str = "Name"; pub const POOL_UUID_PROP: &str = "Uuid"; pub const POOL_HAS_CACHE_PROP: &str = "HasCache"; @@ -58,6 +61,7 @@ pub const FILESYSTEM_INTERFACE_NAME_3_4: &str = "org.storage.stratis3.filesystem pub const FILESYSTEM_INTERFACE_NAME_3_5: &str = "org.storage.stratis3.filesystem.r5"; pub const FILESYSTEM_INTERFACE_NAME_3_6: &str = "org.storage.stratis3.filesystem.r6"; pub const FILESYSTEM_INTERFACE_NAME_3_7: &str = "org.storage.stratis3.filesystem.r7"; +pub const FILESYSTEM_INTERFACE_NAME_3_8: &str = "org.storage.stratis3.filesystem.r8"; pub const FILESYSTEM_NAME_PROP: &str = "Name"; pub const FILESYSTEM_UUID_PROP: &str = "Uuid"; pub const FILESYSTEM_USED_PROP: &str = "Used"; @@ -77,6 +81,7 @@ pub const BLOCKDEV_INTERFACE_NAME_3_4: &str = "org.storage.stratis3.blockdev.r4" pub const BLOCKDEV_INTERFACE_NAME_3_5: &str = "org.storage.stratis3.blockdev.r5"; pub const BLOCKDEV_INTERFACE_NAME_3_6: &str = "org.storage.stratis3.blockdev.r6"; pub const BLOCKDEV_INTERFACE_NAME_3_7: &str = "org.storage.stratis3.blockdev.r7"; +pub const BLOCKDEV_INTERFACE_NAME_3_8: &str = "org.storage.stratis3.blockdev.r8"; pub const BLOCKDEV_DEVNODE_PROP: &str = "Devnode"; pub const BLOCKDEV_HARDWARE_INFO_PROP: &str = "HardwareInfo"; pub const BLOCKDEV_USER_INFO_PROP: &str = "UserInfo"; @@ -99,6 +104,7 @@ pub fn standard_pool_interfaces() -> Vec { POOL_INTERFACE_NAME_3_5, POOL_INTERFACE_NAME_3_6, POOL_INTERFACE_NAME_3_7, + POOL_INTERFACE_NAME_3_8, ] .iter() .map(|s| (*s).to_string()) @@ -116,6 +122,7 @@ pub fn standard_filesystem_interfaces() -> Vec { FILESYSTEM_INTERFACE_NAME_3_5, FILESYSTEM_INTERFACE_NAME_3_6, FILESYSTEM_INTERFACE_NAME_3_7, + FILESYSTEM_INTERFACE_NAME_3_8, ] .iter() .map(|s| (*s).to_string()) @@ -133,6 +140,7 @@ pub fn standard_blockdev_interfaces() -> Vec { BLOCKDEV_INTERFACE_NAME_3_5, BLOCKDEV_INTERFACE_NAME_3_6, BLOCKDEV_INTERFACE_NAME_3_7, + BLOCKDEV_INTERFACE_NAME_3_8, ] .iter() .map(|s| (*s).to_string()) diff --git a/src/dbus_api/filesystem/mod.rs b/src/dbus_api/filesystem/mod.rs index bbf0c7e109..85002ea441 100644 --- a/src/dbus_api/filesystem/mod.rs +++ b/src/dbus_api/filesystem/mod.rs @@ -128,6 +128,20 @@ pub fn create_dbus_filesystem<'a>( .add_p(filesystem_3_6::size_limit_property(&f)) .add_p(filesystem_3_7::origin_property(&f)) .add_p(filesystem_3_7::merge_scheduled_property(&f)), + ) + .add( + f.interface(consts::FILESYSTEM_INTERFACE_NAME_3_8, ()) + .add_m(filesystem_3_0::rename_method(&f)) + .add_p(filesystem_3_0::devnode_property(&f)) + .add_p(filesystem_3_0::name_property(&f)) + .add_p(filesystem_3_0::pool_property(&f)) + .add_p(filesystem_3_0::uuid_property(&f)) + .add_p(filesystem_3_0::created_property(&f)) + .add_p(filesystem_3_0::size_property(&f)) + .add_p(filesystem_3_0::used_property(&f)) + .add_p(filesystem_3_6::size_limit_property(&f)) + .add_p(filesystem_3_7::origin_property(&f)) + .add_p(filesystem_3_7::merge_scheduled_property(&f)), ); let path = object_path.get_name().to_owned(); @@ -210,6 +224,18 @@ pub fn get_fs_properties( consts::FILESYSTEM_SIZE_LIMIT_PROP => shared::fs_size_limit_prop(fs) }, consts::FILESYSTEM_INTERFACE_NAME_3_7 => { + consts::FILESYSTEM_NAME_PROP => shared::fs_name_prop(fs_name), + consts::FILESYSTEM_UUID_PROP => uuid_to_string!(fs_uuid), + consts::FILESYSTEM_DEVNODE_PROP => shared::fs_devnode_prop(fs, pool_name, fs_name), + consts::FILESYSTEM_POOL_PROP => parent.clone(), + consts::FILESYSTEM_CREATED_PROP => shared::fs_created_prop(fs), + consts::FILESYSTEM_SIZE_PROP => shared::fs_size_prop(fs), + consts::FILESYSTEM_USED_PROP => shared::fs_used_prop(fs), + consts::FILESYSTEM_SIZE_LIMIT_PROP => shared::fs_size_limit_prop(fs), + consts::FILESYSTEM_ORIGIN_PROP => shared::fs_origin_prop(fs), + consts::FILESYSTEM_MERGE_SCHEDULED_PROP => shared::fs_merge_scheduled_prop(fs) + }, + consts::FILESYSTEM_INTERFACE_NAME_3_8 => { consts::FILESYSTEM_NAME_PROP => shared::fs_name_prop(fs_name), consts::FILESYSTEM_UUID_PROP => uuid_to_string!(fs_uuid), consts::FILESYSTEM_DEVNODE_PROP => shared::fs_devnode_prop(fs, pool_name, fs_name), diff --git a/src/dbus_api/pool/mod.rs b/src/dbus_api/pool/mod.rs index 1667b58f63..97348c7854 100644 --- a/src/dbus_api/pool/mod.rs +++ b/src/dbus_api/pool/mod.rs @@ -245,6 +245,38 @@ pub fn create_dbus_pool<'a>( ) .add( f.interface(consts::POOL_INTERFACE_NAME_3_7, ()) + .add_m(pool_3_6::create_filesystems_method(&f)) + .add_m(pool_3_7::destroy_filesystems_method(&f)) + .add_m(pool_3_0::snapshot_filesystem_method(&f)) + .add_m(pool_3_0::add_blockdevs_method(&f)) + .add_m(pool_3_0::bind_clevis_method(&f)) + .add_m(pool_3_0::unbind_clevis_method(&f)) + .add_m(pool_3_5::init_cache_method(&f)) + .add_m(pool_3_0::add_cachedevs_method(&f)) + .add_m(pool_3_0::bind_keyring_method(&f)) + .add_m(pool_3_0::unbind_keyring_method(&f)) + .add_m(pool_3_0::rebind_keyring_method(&f)) + .add_m(pool_3_0::rebind_clevis_method(&f)) + .add_m(pool_3_0::rename_method(&f)) + .add_m(pool_3_3::grow_physical_device_method(&f)) + .add_m(pool_3_7::get_metadata_method(&f)) + .add_m(pool_3_7::get_fs_metadata_method(&f)) + .add_p(pool_3_0::name_property(&f)) + .add_p(pool_3_0::uuid_property(&f)) + .add_p(pool_3_0::encrypted_property(&f)) + .add_p(pool_3_0::avail_actions_property(&f)) + .add_p(pool_3_0::key_desc_property(&f)) + .add_p(pool_3_0::clevis_info_property(&f)) + .add_p(pool_3_0::has_cache_property(&f)) + .add_p(pool_3_0::alloc_size_property(&f)) + .add_p(pool_3_0::used_size_property(&f)) + .add_p(pool_3_0::total_size_property(&f)) + .add_p(pool_3_1::fs_limit_property(&f)) + .add_p(pool_3_1::enable_overprov_property(&f)) + .add_p(pool_3_1::no_alloc_space_property(&f)), + ) + .add( + f.interface(consts::POOL_INTERFACE_NAME_3_8, ()) .add_m(pool_3_6::create_filesystems_method(&f)) .add_m(pool_3_7::destroy_filesystems_method(&f)) .add_m(pool_3_0::snapshot_filesystem_method(&f)) @@ -407,6 +439,22 @@ pub fn get_pool_properties( consts::POOL_OVERPROV_PROP => shared::pool_overprov_enabled(pool), consts::POOL_NO_ALLOCABLE_SPACE_PROP => shared::pool_no_alloc_space(pool), consts::POOL_METADATA_VERSION_PROP => shared::pool_metadata_version(pool) + }, + consts::POOL_INTERFACE_NAME_3_8 => { + consts::POOL_NAME_PROP => shared::pool_name_prop(pool_name), + consts::POOL_UUID_PROP => uuid_to_string!(pool_uuid), + consts::POOL_ENCRYPTED_PROP => shared::pool_enc_prop(pool), + consts::POOL_AVAIL_ACTIONS_PROP => shared::pool_avail_actions_prop(pool), + consts::POOL_KEY_DESC_PROP => shared::pool_key_desc_prop(pool), + consts::POOL_CLEVIS_INFO_PROP => shared::pool_clevis_info_prop(pool), + consts::POOL_HAS_CACHE_PROP => shared::pool_has_cache_prop(pool), + consts::POOL_ALLOC_SIZE_PROP => shared::pool_allocated_size(pool), + consts::POOL_TOTAL_USED_PROP => shared::pool_used_size(pool), + consts::POOL_TOTAL_SIZE_PROP => shared::pool_total_size(pool), + consts::POOL_FS_LIMIT_PROP => shared::pool_fs_limit(pool), + consts::POOL_OVERPROV_PROP => shared::pool_overprov_enabled(pool), + consts::POOL_NO_ALLOCABLE_SPACE_PROP => shared::pool_no_alloc_space(pool), + consts::POOL_METADATA_VERSION_PROP => shared::pool_metadata_version(pool) } } } diff --git a/src/dbus_api/tree.rs b/src/dbus_api/tree.rs index 9709968eeb..5808f2aa13 100644 --- a/src/dbus_api/tree.rs +++ b/src/dbus_api/tree.rs @@ -194,6 +194,11 @@ impl DbusTreeHandler { vec![consts::FILESYSTEM_DEVNODE_PROP.into()], consts::FILESYSTEM_NAME_PROP.to_string() => Variant(new_name.box_clone()) + }, + consts::FILESYSTEM_INTERFACE_NAME_3_8 => { + vec![consts::FILESYSTEM_DEVNODE_PROP.into()], + consts::FILESYSTEM_NAME_PROP.to_string() => + Variant(new_name.box_clone()) } }, ) @@ -212,6 +217,11 @@ impl DbusTreeHandler { vec![], consts::FILESYSTEM_ORIGIN_PROP.to_string() => box_variant!(fs_origin_to_prop(new_origin)) + }, + consts::FILESYSTEM_INTERFACE_NAME_3_8 => { + vec![], + consts::FILESYSTEM_ORIGIN_PROP.to_string() => + box_variant!(fs_origin_to_prop(new_origin)) } }, ) @@ -271,6 +281,11 @@ impl DbusTreeHandler { Vec::new(), consts::POOL_NAME_PROP.to_string() => Variant(new_name.box_clone()) + }, + consts::POOL_INTERFACE_NAME_3_8 => { + Vec::new(), + consts::POOL_NAME_PROP.to_string() => + Variant(new_name.box_clone()) } }, ) @@ -318,6 +333,9 @@ impl DbusTreeHandler { }, consts::FILESYSTEM_INTERFACE_NAME_3_7 => { vec![consts::FILESYSTEM_DEVNODE_PROP.into()] + }, + consts::FILESYSTEM_INTERFACE_NAME_3_8 => { + vec![consts::FILESYSTEM_DEVNODE_PROP.into()] } }, ) @@ -376,6 +394,11 @@ impl DbusTreeHandler { box_variant!(avail_prop.clone()) }, consts::POOL_INTERFACE_NAME_3_7 => { + Vec::new(), + consts::POOL_AVAIL_ACTIONS_PROP.to_string() => + box_variant!(avail_prop.clone()) + }, + consts::POOL_INTERFACE_NAME_3_8 => { Vec::new(), consts::POOL_AVAIL_ACTIONS_PROP.to_string() => box_variant!(avail_prop) @@ -431,6 +454,11 @@ impl DbusTreeHandler { box_variant!(kd_prop.clone()) }, consts::POOL_INTERFACE_NAME_3_7 => { + Vec::new(), + consts::POOL_KEY_DESC_PROP.to_string() => + box_variant!(kd_prop.clone()) + }, + consts::POOL_INTERFACE_NAME_3_8 => { Vec::new(), consts::POOL_KEY_DESC_PROP.to_string() => box_variant!(kd_prop) @@ -486,6 +514,11 @@ impl DbusTreeHandler { box_variant!(ci_prop.clone()) }, consts::POOL_INTERFACE_NAME_3_7 => { + Vec::new(), + consts::POOL_CLEVIS_INFO_PROP.to_string() => + box_variant!(ci_prop.clone()) + }, + consts::POOL_INTERFACE_NAME_3_8 => { Vec::new(), consts::POOL_CLEVIS_INFO_PROP.to_string() => box_variant!(ci_prop) @@ -535,6 +568,10 @@ impl DbusTreeHandler { consts::POOL_INTERFACE_NAME_3_7 => { Vec::new(), consts::POOL_HAS_CACHE_PROP.to_string() => box_variant!(b) + }, + consts::POOL_INTERFACE_NAME_3_8 => { + Vec::new(), + consts::POOL_HAS_CACHE_PROP.to_string() => box_variant!(b) } }, ) @@ -603,6 +640,11 @@ impl DbusTreeHandler { Vec::new(), consts::STOPPED_POOLS_PROP.to_string() => box_variant!(stopped_pools_to_prop(&stopped_pools, true)) + }, + consts::MANAGER_INTERFACE_NAME_3_8 => { + Vec::new(), + consts::STOPPED_POOLS_PROP.to_string() => + box_variant!(stopped_pools_to_prop(&stopped_pools, true)) } }, ) @@ -690,6 +732,14 @@ impl DbusTreeHandler { consts::FILESYSTEM_SIZE_PROP.to_string(), fs_size_to_prop, new_size + }, + consts::FILESYSTEM_INTERFACE_NAME_3_8 => { + consts::FILESYSTEM_USED_PROP.to_string(), + fs_used_to_prop, + new_used, + consts::FILESYSTEM_SIZE_PROP.to_string(), + fs_size_to_prop, + new_size } ); } @@ -794,6 +844,17 @@ impl DbusTreeHandler { consts::POOL_NO_ALLOCABLE_SPACE_PROP.to_string(), |x| x, new_no_space + }, + consts::POOL_INTERFACE_NAME_3_8 => { + consts::POOL_TOTAL_USED_PROP.to_string(), + pool_used_to_prop, + new_used, + consts::POOL_ALLOC_SIZE_PROP.to_string(), + pool_alloc_to_prop, + new_alloc, + consts::POOL_NO_ALLOCABLE_SPACE_PROP.to_string(), + |x| x, + new_no_space } ); } @@ -837,6 +898,11 @@ impl DbusTreeHandler { Vec::new(), consts::POOL_FS_LIMIT_PROP.to_string() => box_variant!(new_fs_limit) + }, + consts::POOL_INTERFACE_NAME_3_8 => { + Vec::new(), + consts::POOL_FS_LIMIT_PROP.to_string() => + box_variant!(new_fs_limit) } ), ) { @@ -859,6 +925,11 @@ impl DbusTreeHandler { box_variant!(size_limit.clone()) }, consts::FILESYSTEM_INTERFACE_NAME_3_7 => { + Vec::new(), + consts::FILESYSTEM_SIZE_LIMIT_PROP.to_string() => + box_variant!(size_limit.clone()) + }, + consts::FILESYSTEM_INTERFACE_NAME_3_8 => { Vec::new(), consts::FILESYSTEM_SIZE_LIMIT_PROP.to_string() => box_variant!(size_limit) @@ -918,6 +989,11 @@ impl DbusTreeHandler { box_variant!(user_info_prop.clone()) }, consts::BLOCKDEV_INTERFACE_NAME_3_7 => { + Vec::new(), + consts::BLOCKDEV_USER_INFO_PROP.to_string() => + box_variant!(user_info_prop.clone()) + }, + consts::BLOCKDEV_INTERFACE_NAME_3_8 => { Vec::new(), consts::BLOCKDEV_USER_INFO_PROP.to_string() => box_variant!(user_info_prop) @@ -979,6 +1055,11 @@ impl DbusTreeHandler { box_variant!(total_physical_size_prop.clone()) }, consts::BLOCKDEV_INTERFACE_NAME_3_7 => { + Vec::new(), + consts::BLOCKDEV_TOTAL_SIZE_PROP.to_string() => + box_variant!(total_physical_size_prop.clone()) + }, + consts::BLOCKDEV_INTERFACE_NAME_3_8 => { Vec::new(), consts::BLOCKDEV_TOTAL_SIZE_PROP.to_string() => box_variant!(total_physical_size_prop) @@ -1031,6 +1112,11 @@ impl DbusTreeHandler { Vec::new(), consts::POOL_OVERPROV_PROP.to_string() => box_variant!(new_mode) + }, + consts::POOL_INTERFACE_NAME_3_8 => { + Vec::new(), + consts::POOL_OVERPROV_PROP.to_string() => + box_variant!(new_mode) } ), ) { @@ -1162,6 +1248,20 @@ impl DbusTreeHandler { consts::POOL_NO_ALLOCABLE_SPACE_PROP.to_string(), |x| x, new_no_space + }, + consts::POOL_INTERFACE_NAME_3_8 => { + consts::POOL_TOTAL_USED_PROP.to_string(), + pool_used_to_prop, + new_used, + consts::POOL_ALLOC_SIZE_PROP.to_string(), + pool_alloc_to_prop, + new_alloc, + consts::POOL_TOTAL_SIZE_PROP.to_string(), + pool_size_to_prop, + new_size, + consts::POOL_NO_ALLOCABLE_SPACE_PROP.to_string(), + |x| x, + new_no_space } ); } @@ -1202,6 +1302,11 @@ impl DbusTreeHandler { consts::BLOCKDEV_NEW_SIZE_PROP.to_string(), blockdev_new_size_to_prop, new_size + }, + consts::BLOCKDEV_INTERFACE_NAME_3_8 => { + consts::BLOCKDEV_NEW_SIZE_PROP.to_string(), + blockdev_new_size_to_prop, + new_size } ) } diff --git a/stratisd.conf b/stratisd.conf index c74414508f..6597138d20 100644 --- a/stratisd.conf +++ b/stratisd.conf @@ -40,6 +40,9 @@ + + @@ -80,6 +83,10 @@ send_interface="org.storage.stratis3.Manager.r7" send_member="EngineStateReport"/> + + @@ -112,6 +119,9 @@ send_interface="org.storage.stratis3.Manager.r7" send_member="ListKeys"/> + diff --git a/tests/client-dbus/src/stratisd_client_dbus/_constants.py b/tests/client-dbus/src/stratisd_client_dbus/_constants.py index 7834e1ac42..246ba8821c 100644 --- a/tests/client-dbus/src/stratisd_client_dbus/_constants.py +++ b/tests/client-dbus/src/stratisd_client_dbus/_constants.py @@ -18,7 +18,7 @@ SERVICE = "org.storage.stratis3" TOP_OBJECT = "/org/storage/stratis3" -REVISION_NUMBER = 7 +REVISION_NUMBER = 8 REVISION = f"r{REVISION_NUMBER}" diff --git a/tests/client-dbus/src/stratisd_client_dbus/_introspect.py b/tests/client-dbus/src/stratisd_client_dbus/_introspect.py index f518c26857..0f520d465e 100644 --- a/tests/client-dbus/src/stratisd_client_dbus/_introspect.py +++ b/tests/client-dbus/src/stratisd_client_dbus/_introspect.py @@ -6,8 +6,8 @@ """, - "org.storage.stratis3.Manager.r7": """ - + "org.storage.stratis3.Manager.r8": """ + @@ -72,8 +72,8 @@ """, - "org.storage.stratis3.Report.r7": """ - + "org.storage.stratis3.Report.r8": """ + @@ -82,8 +82,8 @@ """, - "org.storage.stratis3.blockdev.r7": """ - + "org.storage.stratis3.blockdev.r8": """ + @@ -110,8 +110,8 @@ """, - "org.storage.stratis3.filesystem.r7": """ - + "org.storage.stratis3.filesystem.r8": """ + @@ -138,8 +138,8 @@ """, - "org.storage.stratis3.pool.r7": """ - + "org.storage.stratis3.pool.r8": """ +