Eli Mesika has uploaded a new change for review. Change subject: core[DB]: Adding external status to DB ......................................................................
core[DB]: Adding external status to DB This patch set adds external status for the storage domain entity The Health Status field will be returned as part of the retrieved entity when a call to display the entity is done using the REST API. The main use-case for this new status is to provide plugins / external systems the ability to trigger issues, and allow the administrator to clearly see there is an issue through the UI For more information please see the feature page wiki http://www.ovirt.org/Features/EntityHealthStatus Change-Id: Ifdfc25b91eacfa73be783b3b84827e0d5788b91d Signed-off-by: emesika <[email protected]> --- M packaging/dbscripts/create_views.sql M packaging/dbscripts/storages_san_sp.sql A packaging/dbscripts/upgrade/03_06_1520_add_sd_external_status.sql 3 files changed, 25 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/32/42132/1 diff --git a/packaging/dbscripts/create_views.sql b/packaging/dbscripts/create_views.sql index 7a651de..a0a8d12 100644 --- a/packaging/dbscripts/create_views.sql +++ b/packaging/dbscripts/create_views.sql @@ -137,6 +137,7 @@ storage_domain_static.storage_domain_type AS storage_domain_type, storage_pool_iso_map.storage_pool_id AS storage_pool_id, storage_pool_iso_map.status AS storage_domain_status, + storage_pool_iso_map.external_status AS external_status, repo_file_meta_data.repo_image_id AS repo_image_id, repo_file_meta_data.size AS SIZE, repo_file_meta_data.date_created AS date_created, @@ -464,6 +465,7 @@ fn_get_disk_commited_value_by_storage ( storage_domain_static.id ) AS commited_disk_size, fn_get_actual_images_size_by_storage ( storage_domain_static.id ) AS actual_images_size, storage_pool_iso_map.status AS status, + storage_pool_iso_map.external_status AS external_status, storage_pool.name AS storage_pool_name, storage_domain_static.storage_type AS storage_type, storage_domain_static.storage_domain_type AS storage_domain_type, @@ -510,6 +512,7 @@ fn_get_disk_commited_value_by_storage ( storage_domain_static.id ) AS commited_disk_size, fn_get_actual_images_size_by_storage ( storage_domain_static.id ) AS actual_images_size, NULL AS status, + storage_pool_iso_map.external_status AS external_status, fn_get_storage_domain_shared_status_by_domain_id ( storage_domain_static.id, storage_pool_iso_map.status, storage_domain_static.storage_domain_type ) AS storage_domain_shared_status, @@ -558,10 +561,14 @@ storage_domain_static.recoverable AS recoverable, unregistered_entities.storage_domain_id IS NOT NULL AS contains_unregistered_entities, storage_domain_static.warning_low_space_indicator as warning_low_space_indicator, - storage_domain_static.critical_space_action_blocker as critical_space_action_blocker + storage_domain_static.critical_space_action_blocker as critical_space_action_blocker, + storage_pool_iso_map.external_status as external_status FROM storage_domain_static INNER JOIN storage_domain_dynamic ON storage_domain_static.id = storage_domain_dynamic.id +INNER JOIN storage_pool_iso_map ON storage_domain_static.id = storage_pool_iso_map.storage_id +INNER JOIN storage_pool ON storage_pool_iso_map.storage_pool_id = storage_pool.id + LEFT OUTER JOIN ( SELECT @@ -581,7 +588,7 @@ storage_pool_iso_map JOIN storage_pool ON storage_pool_iso_map.storage_pool_id = storage_pool.id GROUP BY - storage_id ) AS status_table ON storage_domain_static.id = status_table.storage_id + storage_id) AS status_table ON storage_domain_static.id = status_table.storage_id LEFT OUTER JOIN ( SELECT @@ -2059,6 +2066,7 @@ fn_get_storage_domain_shared_status_by_domain_id ( storage_domain_static.id, storage_pool_iso_map.status, storage_domain_static.storage_domain_type ) AS storage_domain_shared_status, + storage_pool_iso_map.external_status AS external_status, vds_groups.vds_group_id, vds_static.vds_id, storage_pool_iso_map.storage_pool_id, diff --git a/packaging/dbscripts/storages_san_sp.sql b/packaging/dbscripts/storages_san_sp.sql index f6534ec..e410504 100644 --- a/packaging/dbscripts/storages_san_sp.sql +++ b/packaging/dbscripts/storages_san_sp.sql @@ -227,9 +227,21 @@ END; $procedure$ LANGUAGE plpgsql; +Create or replace FUNCTION UpdateStorageDomainExternalStatus( + v_storage_id UUID, + v_storage_pool_id UUID, + v_external_status INTEGER) +RETURNS VOID - - + AS $procedure$ +BEGIN + UPDATE storage_pool_iso_map + SET + external_status = v_external_status + WHERE storage_id = v_storage_id and + storage_pool_id = v_storage_pool_id; +END; $procedure$ +LANGUAGE plpgsql; Create or replace FUNCTION Deletestorage_pool_iso_map(v_storage_id UUID, v_storage_pool_id UUID) diff --git a/packaging/dbscripts/upgrade/03_06_1520_add_sd_external_status.sql b/packaging/dbscripts/upgrade/03_06_1520_add_sd_external_status.sql new file mode 100644 index 0000000..c1c9047 --- /dev/null +++ b/packaging/dbscripts/upgrade/03_06_1520_add_sd_external_status.sql @@ -0,0 +1 @@ +select fn_db_add_column('storage_pool_iso_map', 'external_status', 'integer not null default 0'); -- To view, visit https://gerrit.ovirt.org/42132 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifdfc25b91eacfa73be783b3b84827e0d5788b91d Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Eli Mesika <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
