diff --git a/src/storage/netapp/ontap/restapi/mode/volumes.pm b/src/storage/netapp/ontap/restapi/mode/volumes.pm index ef4fc882c..17619811f 100644 --- a/src/storage/netapp/ontap/restapi/mode/volumes.pm +++ b/src/storage/netapp/ontap/restapi/mode/volumes.pm @@ -36,16 +36,28 @@ sub custom_usage_output { my ($self, %options) = @_; my ($total_size_value, $total_size_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{total_space}); + my ($provisioned_size_value, $provisioned_size_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{total_provisioned_space}); my ($total_used_value, $total_used_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{used_space}); my ($total_free_value, $total_free_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{free_space}); return sprintf( - 'space usage total: %s used: %s (%.2f%%) free: %s (%.2f%%)', + 'space usage total: %s provisioned: %s used: %s (%.2f%%) free: %s (%.2f%%)', $total_size_value . " " . $total_size_unit, + $provisioned_size_value . " " . $provisioned_size_unit, $total_used_value . " " . $total_used_unit, $self->{result_values}->{prct_used_space}, $total_free_value . " " . $total_free_unit, $self->{result_values}->{prct_free_space} ); } +sub custom_virtual_usage_output { + my ($self, %options) = @_; + + my ($total_used_value, $total_used_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{virtual_used_space}); + return sprintf( + 'virtual space usage used: %s (%.2f%%)', + $total_used_value . " " . $total_used_unit, $self->{result_values}->{virtual_prct_used_space}, + ); +} + sub custom_logical_usage_output { my ($self, %options) = @_; @@ -60,17 +72,53 @@ sub custom_logical_usage_output { ); } +sub custom_snapshot_usage_output { + my ($self, %options) = @_; + + my ($total_size_value, $total_size_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{total_snapshot_space}); + my ($total_used_value, $total_used_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{snapshot_used_space}); + my ($total_free_value, $total_free_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{snapshot_free_space}); + return sprintf( + 'snapshot reserved size: %s used: %s (%.2f%%) reserve available: %s (%.2f%%)', + $total_size_value . " " . $total_size_unit, + $total_used_value . " " . $total_used_unit, $self->{result_values}->{snapshot_prct_used_space}, + $total_free_value . " " . $total_free_unit, $self->{result_values}->{snapshot_prct_free_space} + ); +} + sub prefix_volume_output { my ($self, %options) = @_; return "Volume '" . $options{instance_value}->{display} . "' "; } +sub skip_logical { + my ($self, %options) = @_; + + return (defined($self->{add_logical}) ? 0 : 1); +} + +sub skip_snapshot { + my ($self, %options) = @_; + + return (defined($self->{add_snapshot}) ? 0 : 1); +} + +sub skip_virtual { + my ($self, %options) = @_; + + return (defined($self->{add_virtual}) ? 0 : 1); +} + sub set_counters { my ($self, %options) = @_; $self->{maps_counters_type} = [ - { name => 'volumes', type => 1, cb_prefix_output => 'prefix_volume_output', message_multiple => 'All volumes are ok' } + { name => 'volumes', type => 1, cb_prefix_output => 'prefix_volume_output', message_multiple => 'All volumes are ok' }, + { name => 'logical', type => 1, cb_prefix_output => 'prefix_volume_output', cb_init => 'skip_logical' }, + { name => 'snapshots', type => 1, cb_prefix_output => 'prefix_volume_output', cb_init => 'skip_snapshot' }, + { name => 'virtual', type => 1, cb_prefix_output => 'prefix_volume_output', cb_init => 'skip_virtual' } + ]; $self->{maps_counters}->{volumes} = [ @@ -82,7 +130,9 @@ sub set_counters { } }, { label => 'usage', nlabel => 'volume.space.usage.bytes', set => { - key_values => [ { name => 'used_space' }, { name => 'free_space' }, { name => 'prct_used_space' }, { name => 'prct_free_space' }, { name => 'total_space' }, { name => 'display' }, ], + key_values => [ { name => 'used_space' }, { name => 'free_space' }, { name => 'prct_used_space' }, { name => 'prct_free_space' }, + { name => 'total_space' }, { name => 'total_provisioned_space' }, { name => 'display' } + ], closure_custom_output => $self->can('custom_usage_output'), perfdatas => [ { template => '%d', min => 0, max => 'total_space', @@ -91,7 +141,9 @@ sub set_counters { } }, { label => 'usage-free', nlabel => 'volume.space.free.bytes', display_ok => 0, set => { - key_values => [ { name => 'free_space' }, { name => 'used_space' }, { name => 'prct_used_space' }, { name => 'prct_free_space' }, { name => 'total_space' }, { name => 'display' }, ], + key_values => [ { name => 'free_space' }, { name => 'used_space' }, { name => 'prct_used_space' }, { name => 'prct_free_space' }, + { name => 'total_provisioned_space' }, { name => 'total_space' }, { name => 'display' } + ], closure_custom_output => $self->can('custom_usage_output'), perfdatas => [ { template => '%d', min => 0, max => 'total_space', @@ -100,7 +152,9 @@ sub set_counters { } }, { label => 'usage-prct', nlabel => 'volume.space.usage.percentage', display_ok => 0, set => { - key_values => [ { name => 'prct_used_space' }, { name => 'used_space' }, { name => 'free_space' }, { name => 'prct_free_space' }, { name => 'total_space' }, { name => 'display' }, ], + key_values => [ { name => 'prct_used_space' }, { name => 'used_space' }, { name => 'free_space' }, { name => 'prct_free_space' }, + { name => 'total_space' }, { name => 'total_provisioned_space' },{ name => 'display' } + ], closure_custom_output => $self->can('custom_usage_output'), perfdatas => [ { template => '%.2f', min => 0, max => 100, @@ -108,33 +162,6 @@ sub set_counters { ] } }, - { label => 'logical-usage', nlabel => 'volume.logicalspace.usage.bytes', set => { - key_values => [ { name => 'logical_used_space' }, { name => 'logical_free_space' }, { name => 'logical_prct_used_space' }, { name => 'logical_prct_free_space' }, { name => 'total_logical_space' }, { name => 'display' }, ], - closure_custom_output => $self->can('custom_logical_usage_output'), - perfdatas => [ - { template => '%d', min => 0, max => 'total_logical_space', - unit => 'B', cast_int => 1, label_extra_instance => 1 } - ] - } - }, - { label => 'logical-usage-free', nlabel => 'volume.logicalspace.free.bytes', display_ok => 0, set => { - key_values => [ { name => 'logical_free_space' }, { name => 'logical_used_space' }, { name => 'logical_prct_used_space' }, { name => 'logical_prct_free_space' }, { name => 'total_logical_space' }, { name => 'display' }, ], - closure_custom_output => $self->can('custom_logical_usage_output'), - perfdatas => [ - { template => '%d', min => 0, max => 'total_logical_space', - unit => 'B', cast_int => 1, label_extra_instance => 1 } - ] - } - }, - { label => 'logical-usage-prct', nlabel => 'volume.logicalspace.usage.percentage', display_ok => 0, set => { - key_values => [ { name => 'logical_prct_used_space' }, { name => 'logical_used_space' }, { name => 'logical_free_space' }, { name => 'logical_prct_free_space' }, { name => 'total_logical_space' }, { name => 'display' }, ], - closure_custom_output => $self->can('custom_logical_usage_output'), - perfdatas => [ - { template => '%.2f', min => 0, max => 100, - unit => '%', label_extra_instance => 1 } - ] - } - }, { label => 'read', nlabel => 'volume.io.read.usage.bytespersecond', display_ok => 0, set => { key_values => [ { name => 'read' } ], output_template => 'read: %s %s/s', @@ -236,6 +263,87 @@ sub set_counters { } } ]; + + $self->{maps_counters}->{virtual} = [ + { label => 'virtual-usage', nlabel => 'volume.virtualspace.usage.bytes', set => { + key_values => [ { name => 'virtual_used_space' }, { name => 'virtual_prct_used_space' }, { name => 'display' }, ], + closure_custom_output => $self->can('custom_virtual_usage_output'), + perfdatas => [ + { template => '%d', min => 0, max => 'total_space', + unit => 'B', cast_int => 1, label_extra_instance => 1 } + ] + } + }, + { label => 'virtual-usage-prct', nlabel => 'volume.virtualspace.usage.percentage', display_ok => 0, set => { + key_values => [ { name => 'virtual_prct_used_space' }, { name => 'virtual_used_space' }, { name => 'display' }, ], + closure_custom_output => $self->can('custom_virtual_usage_output'), + perfdatas => [ + { template => '%.2f', min => 0, max => 100, + unit => '%', label_extra_instance => 1 } + ] + } + } + ]; + + $self->{maps_counters}->{logical} = [ + { label => 'logical-usage', nlabel => 'volume.logicalspace.usage.bytes', set => { + key_values => [ { name => 'logical_used_space' }, { name => 'logical_free_space' }, { name => 'logical_prct_used_space' }, { name => 'logical_prct_free_space' }, { name => 'total_logical_space' }, { name => 'display' }, ], + closure_custom_output => $self->can('custom_logical_usage_output'), + perfdatas => [ + { template => '%d', min => 0, max => 'total_logical_space', + unit => 'B', cast_int => 1, label_extra_instance => 1 } + ] + } + }, + { label => 'logical-usage-free', nlabel => 'volume.logicalspace.free.bytes', set => { + key_values => [ { name => 'logical_free_space' }, { name => 'logical_used_space' }, { name => 'logical_prct_used_space' }, { name => 'logical_prct_free_space' }, { name => 'total_logical_space' }, { name => 'display' }, ], + closure_custom_output => $self->can('custom_logical_usage_output'), + perfdatas => [ + { template => '%d', min => 0, max => 'total_logical_space', + unit => 'B', cast_int => 1, label_extra_instance => 1 } + ] + } + }, + { label => 'logical-usage-prct', nlabel => 'volume.logicalspace.usage.percentage', set => { + key_values => [ { name => 'logical_prct_used_space' }, { name => 'logical_used_space' }, { name => 'logical_free_space' }, { name => 'logical_prct_free_space' }, { name => 'total_logical_space' }, { name => 'display' }, ], + closure_custom_output => $self->can('custom_logical_usage_output'), + perfdatas => [ + { template => '%.2f', min => 0, max => 100, + unit => '%', label_extra_instance => 1 } + ] + } + } + ]; + + $self->{maps_counters}->{snapshots} = [ + { label => 'snapshot-usage', nlabel => 'volume.space.snapshot.usage.bytes', set => { + key_values => [ { name => 'snapshot_used_space' }, { name => 'snapshot_free_space' }, { name => 'snapshot_prct_used_space' }, { name => 'snapshot_prct_free_space' }, { name => 'total_snapshot_space' }, { name => 'display' }, ], + closure_custom_output => $self->can('custom_snapshot_usage_output'), + perfdatas => [ + { template => '%d', min => 0, max => 'total_snapshot_space', + unit => 'B', cast_int => 1, label_extra_instance => 1 } + ] + } + }, + { label => 'snapshot-usage-free', nlabel => 'volume.space.snapshot.free.bytes', display_ok => 0, set => { + key_values => [ { name => 'snapshot_free_space' }, { name => 'snapshot_used_space' }, { name => 'snapshot_prct_used_space' }, { name => 'snapshot_prct_free_space' }, { name => 'total_snapshot_space' }, { name => 'display' }, ], + closure_custom_output => $self->can('custom_snapshot_usage_output'), + perfdatas => [ + { template => '%d', min => 0, max => 'total_snapshot_space', + unit => 'B', cast_int => 1, label_extra_instance => 1 } + ] + } + }, + { label => 'snapshot-usage-prct', nlabel => 'volume.space.snapshot.usage.percentage', display_ok => 0, set => { + key_values => [ { name => 'snapshot_prct_used_space' }, { name => 'snapshot_used_space' }, { name => 'snapshot_free_space' }, { name => 'snapshot_prct_free_space' }, { name => 'total_snapshot_space' }, { name => 'display' }, ], + closure_custom_output => $self->can('custom_snapshot_usage_output'), + perfdatas => [ + { template => '%.2f', min => 0, max => 100, + unit => '%', label_extra_instance => 1 } + ] + } + } + ]; } sub new { @@ -246,24 +354,46 @@ sub new { $options{options}->add_options(arguments => { 'filter-volume-name:s' => { name => 'filter_volume_name' }, 'filter-name:s' => { name => 'filter_name' }, - 'filter-vserver-name:s' => { name => 'filter_vserver_name' } + 'filter-vserver-name:s' => { name => 'filter_vserver_name' }, + 'add-snapshot' => { name => 'add_snapshot' }, + 'add-virtual' => { name => 'add_virtual' }, }); - + return $self; } +sub check_options { + my ($self, %options) = @_; + $self->SUPER::check_options(%options); + + if (defined($self->{option_results}->{filter_volume_name}) && $self->{option_results}->{filter_volume_name} ne '') { + $self->{add_logical} = 1; + } + + if (defined($self->{option_results}->{add_snapshot})) { + $self->{add_snapshot} = 1; + } + + if (defined($self->{option_results}->{add_virtual})) { + $self->{add_virtual} = 1; + } +} + sub manage_selection { my ($self, %options) = @_; my $endpoint = '/api/storage/volumes?fields=svm,name,space,metric'; if (defined($self->{option_results}->{filter_volume_name}) && $self->{option_results}->{filter_volume_name} ne '' ) { - $endpoint .= '&name=' . $self->{option_results}->{filter_volume_name} + $endpoint .= '&name=' . $self->{option_results}->{filter_volume_name}; } - + my $volumes = $options{custom}->request_api(endpoint => $endpoint); $self->{volumes} = {}; + $self->{snapshot} = {}; + $self->{logical} = {}; + $self->{virtual} = {}; foreach (@{$volumes->{records}}) { my $name = defined($_->{svm}) && $_->{svm}->{name} ne '' ? $_->{svm}->{name} . ':' . $_->{name} : @@ -283,11 +413,12 @@ sub manage_selection { display => $name, state => $_->{state}, - total_space => $_->{space}->{size}, - used_space => $_->{space}->{used}, - free_space => $_->{space}->{available}, - prct_used_space => (defined($_->{space}->{size}) && $_->{space}->{size} > 0) ? (($_->{space}->{size} - $_->{space}->{available}) * 100 / $_->{space}->{size}) : undef, - prct_free_space => (defined($_->{space}->{size}) && $_->{space}->{size} > 0) ? $_->{space}->{available} * 100 / $_->{space}->{size} : undef, + total_space => $_->{space}->{afs_total}, + total_provisioned_space => $_->{space}->{size}, + used_space => $_->{space}->{used_by_afs}, + free_space => $_->{space}->{available}, + prct_used_space => (defined($_->{space}->{afs_total}) && $_->{space}->{afs_total} > 0) ? (($_->{space}->{afs_total} - $_->{space}->{available}) * 100 / $_->{space}->{afs_total}) : undef, + prct_free_space => $_->{space}->{available_percent}, read => $_->{metric}->{throughput}->{read}, write => $_->{metric}->{throughput}->{write}, @@ -303,15 +434,35 @@ sub manage_selection { total_latency => (defined($_->{metric}->{latency}->{total})) ? ($_->{metric}->{latency}->{total} / 1000) : undef, }; - if (defined($_->{space}->{logical_space})) { - $self->{volumes}->{$name}->{total_logical_space} = $_->{space}->{logical_space}->{used} + $_->{space}->{logical_space}->{available}; - $self->{volumes}->{$name}->{logical_used_space} = $_->{space}->{logical_space}->{used}; - $self->{volumes}->{$name}->{logical_free_space} = $_->{space}->{logical_space}->{available}; - $self->{volumes}->{$name}->{logical_prct_used_space} = $_->{space}->{logical_space}->{used_percent}; - $self->{volumes}->{$name}->{logical_prct_free_space} = 100 - $_->{space}->{logical_space}->{used_percent}; + if (defined($self->{add_virtual})) { + $self->{virtual}->{$name} = { + display => $name, + virtual_used_space => $_->{space}->{used}, + virtual_prct_used_space => $_->{space}->{percent_used} + }; } - + if (defined($self->{add_snapshot}) && defined($_->{space}->{snapshot})) { + $self->{snapshots}->{$name} = { + display => $name, + total_snapshot_space => $_->{space}->{snapshot}->{reserve_size}, + snapshot_used_space => $_->{space}->{snapshot}->{used}, + snapshot_free_space => $_->{space}->{snapshot}->{reserve_available}, + snapshot_prct_used_space => $_->{space}->{snapshot}->{space_used_percent}, + snapshot_prct_free_space => 100 - $_->{space}->{snapshot}->{space_used_percent} + }; + } + + if (defined($self->{add_logical}) && defined($_->{space}->{logical_space})) { + $self->{logical}->{$name} = { + display => $name, + total_logical_space => $_->{space}->{logical_space}->{used} + $_->{space}->{logical_space}->{available}, + logical_used_space => $_->{space}->{logical_space}->{used}, + logical_free_space => $_->{space}->{logical_space}->{available}, + logical_prct_used_space => $_->{space}->{logical_space}->{used_percent}, + logical_prct_free_space => 100 - $_->{space}->{logical_space}->{used_percent} + }; + } } if (scalar(keys %{$self->{volumes}}) <= 0) { @@ -348,6 +499,16 @@ Filter the API request result by volume name (can be a regexp). Filter volumes by Vserver name (can be a regexp). + +=item B<--add-virtual> + +Add virtual usage information. + +=item B<--add-snapshot> + +Add snapshot information. + + =item B<--unknown-status> Define the conditions to match for the status to be UNKNOWN. @@ -367,7 +528,9 @@ You can use the following variables: %{state}, %{display}. Thresholds. Can be: usage' (B), usage-free (B), usage-prct (%), +virtual-usage' (B), virtual-usage-prct (%), logical-usage (B), logical-usage-free (B), logical-usage-prct (%), +snapshot-usage (B), snapshot-usage-free (B), snapshot-usage-prct (%), read (B/s), read-iops, write (B/s), write-iops, read-latency (ms), write-latency (ms), total-latency (ms), other-latency (ms), other (B/s), total (B/s), diff --git a/tests/storage/netapp/ontap/restapi/netapp.json b/tests/storage/netapp/ontap/restapi/netapp.json index 1d495921a..092c0a70e 100644 --- a/tests/storage/netapp/ontap/restapi/netapp.json +++ b/tests/storage/netapp/ontap/restapi/netapp.json @@ -17,7 +17,7 @@ "responses": [ { "uuid": "ef8f650f-c3cb-4948-b907-3b31a284a065", - "body": "{\r\n \"records\": [\r\n {\r\n \"state\": \"online\",\r\n \"name\": \"volume1\",\r\n \"space\": {\r\n \"auto_adaptive_compression_footprint_data_reduction\": 0,\r\n \"available\": 421353881600,\r\n \"size\": 4398046511104,\r\n \"block_storage_inactive_user_data\": 0,\r\n \"block_storage_inactive_user_data_percent\": 0,\r\n \"capacity_tier_footprint\": 0,\r\n \"capacity_tier_footprint_data_reduction\": 0,\r\n \"compaction_footprint_data_reduction\": 0,\r\n \"cross_volume_dedupe_metafiles_footprint\": 0,\r\n \"cross_volume_dedupe_metafiles_temporary_footprint\": 0,\r\n \"dedupe_metafiles_footprint\": 0,\r\n \"dedupe_metafiles_temporary_footprint\": 0,\r\n \"delayed_free_footprint\": 0,\r\n \"effective_total_footprint\": 0,\r\n \"file_operation_metadata\": 0,\r\n \"filesystem_size\": 0,\r\n \"footprint\": 0,\r\n \"local_tier_footprint\": 0,\r\n \"max_size\": \"string\",\r\n \"logical_space\": {\r\n \"available\": 348998594560,\r\n \"used\": 3169438617600,\r\n \"used_by_afs\": 0,\r\n \"used_by_snapshots\": 0,\r\n \"used_percent\": 90\r\n },\r\n \"metadata\": 0,\r\n \"over_provisioned\": 0,\r\n \"overwrite_reserve\": 0,\r\n \"overwrite_reserve_used\": 0,\r\n \"percent_used\": 0,\r\n \"performance_tier_footprint\": 0,\r\n \"size_available_for_snapshots\": 0,\r\n \"snapmirror_destination_footprint\": 0,\r\n \"snapshot\": {\r\n \"autodelete\": {\r\n \"commitment\": \"string\",\r\n \"defer_delete\": \"string\",\r\n \"delete_order\": \"string\",\r\n \"prefix\": \"string\",\r\n \"trigger\": \"string\"\r\n },\r\n \"autodelete_trigger\": \"string\",\r\n \"reserve_available\": 0,\r\n \"reserve_size\": 0,\r\n \"space_used_percent\": 0,\r\n \"used\": 0\r\n },\r\n \"snapshot_reserve_unusable\": 0,\r\n \"snapshot_spill\": 0,\r\n \"total_footprint\": 0,\r\n \"total_metadata\": 0,\r\n \"total_metadata_footprint\": 0,\r\n \"used\": 3097083330560,\r\n \"user_data\": 0,\r\n \"volume_guarantee_footprint\": 0\r\n },\r\n \"metric\": {\r\n \"cloud\": {\r\n \"duration\": \"PT15S\",\r\n \"iops\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100\r\n },\r\n \"latency\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100\r\n },\r\n \"status\": \"ok\",\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"duration\": \"PT15S\",\r\n \"flexcache\": {\r\n \"bandwidth_savings\": 4096,\r\n \"cache_miss_percent\": 20,\r\n \"duration\": \"PT1D\",\r\n \"status\": \"ok\",\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"iops\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"latency\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"status\": \"ok\",\r\n \"throughput\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"svm\": {\r\n \"name\": \"svm1\",\r\n \"uuid\": \"02c9e252-41be-11e9-81d5-00a0986138f7\"\r\n },\r\n \"uuid\": \"028baa66-41bd-11e9-81d5-00a0986138f7\"\r\n }\r\n ]\r\n}", + "body": "{\r\n \"records\": [\r\n {\r\n \"state\": \"online\",\r\n \"name\": \"volume1\",\r\n \"space\": {\r\n \"auto_adaptive_compression_footprint_data_reduction\": 0,\r\n \"available\": 421353881600,\r\n \"size\": 4398046511104,\r\n \"afs_total\": 4398046511104,\r\n \"block_storage_inactive_user_data\": 0,\r\n \"block_storage_inactive_user_data_percent\": 0,\r\n \"capacity_tier_footprint\": 0,\r\n \"capacity_tier_footprint_data_reduction\": 0,\r\n \"compaction_footprint_data_reduction\": 0,\r\n \"cross_volume_dedupe_metafiles_footprint\": 0,\r\n \"cross_volume_dedupe_metafiles_temporary_footprint\": 0,\r\n \"dedupe_metafiles_footprint\": 0,\r\n \"dedupe_metafiles_temporary_footprint\": 0,\r\n \"delayed_free_footprint\": 0,\r\n \"effective_total_footprint\": 0,\r\n \"file_operation_metadata\": 0,\r\n \"filesystem_size\": 0,\r\n \"footprint\": 0,\r\n \"local_tier_footprint\": 0,\r\n \"max_size\": \"string\",\r\n \"logical_space\": {\r\n \"available\": 348998594560,\r\n \"used\": 3169438617600,\r\n \"used_by_afs\": 0,\r\n \"used_by_snapshots\": 0,\r\n \"used_percent\": 90\r\n },\r\n \"metadata\": 0,\r\n \"over_provisioned\": 0,\r\n \"overwrite_reserve\": 0,\r\n \"overwrite_reserve_used\": 0,\r\n \"percent_used\": 0,\r\n \"performance_tier_footprint\": 0,\r\n \"size_available_for_snapshots\": 0,\r\n \"snapmirror_destination_footprint\": 0,\r\n \"snapshot\": {\r\n \"autodelete\": {\r\n \"commitment\": \"string\",\r\n \"defer_delete\": \"string\",\r\n \"delete_order\": \"string\",\r\n \"prefix\": \"string\",\r\n \"trigger\": \"string\"\r\n },\r\n \"autodelete_trigger\": \"string\",\r\n \"reserve_available\": 0,\r\n \"reserve_size\": 0,\r\n \"space_used_percent\": 0,\r\n \"used\": 0\r\n },\r\n \"snapshot_reserve_unusable\": 0,\r\n \"snapshot_spill\": 0,\r\n \"total_footprint\": 0,\r\n \"total_metadata\": 0,\r\n \"total_metadata_footprint\": 0,\r\n \"used\": 3097083330560,\r\n \"used_by_afs\": 3097083330560,\r\n \"user_data\": 0,\r\n \"volume_guarantee_footprint\": 0,\r\n \"available_percent\": 9.58\r\n },\r\n \"metric\": {\r\n \"cloud\": {\r\n \"duration\": \"PT15S\",\r\n \"iops\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100\r\n },\r\n \"latency\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100\r\n },\r\n \"status\": \"ok\",\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"duration\": \"PT15S\",\r\n \"flexcache\": {\r\n \"bandwidth_savings\": 4096,\r\n \"cache_miss_percent\": 20,\r\n \"duration\": \"PT1D\",\r\n \"status\": \"ok\",\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"iops\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"latency\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"status\": \"ok\",\r\n \"throughput\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"svm\": {\r\n \"name\": \"svm1\",\r\n \"uuid\": \"02c9e252-41be-11e9-81d5-00a0986138f7\"\r\n },\r\n \"uuid\": \"028baa66-41bd-11e9-81d5-00a0986138f7\"\r\n }\r\n ]\r\n}", "latency": 0, "statusCode": 200, "label": "", @@ -51,7 +51,7 @@ }, { "uuid": "2fc4bd82-8f83-4344-bfd7-baa50e6c544a", - "body": "{\r\n \"records\": [\r\n {\r\n \"state\": \"online\",\r\n \"name\": \"volume1\",\r\n \"space\": {\r\n \"auto_adaptive_compression_footprint_data_reduction\": 0,\r\n \"available\": 421353881600,\r\n \"size\": 4398046511104,\r\n \"block_storage_inactive_user_data\": 0,\r\n \"block_storage_inactive_user_data_percent\": 0,\r\n \"capacity_tier_footprint\": 0,\r\n \"capacity_tier_footprint_data_reduction\": 0,\r\n \"compaction_footprint_data_reduction\": 0,\r\n \"cross_volume_dedupe_metafiles_footprint\": 0,\r\n \"cross_volume_dedupe_metafiles_temporary_footprint\": 0,\r\n \"dedupe_metafiles_footprint\": 0,\r\n \"dedupe_metafiles_temporary_footprint\": 0,\r\n \"delayed_free_footprint\": 0,\r\n \"effective_total_footprint\": 0,\r\n \"file_operation_metadata\": 0,\r\n \"filesystem_size\": 0,\r\n \"footprint\": 0,\r\n \"local_tier_footprint\": 0,\r\n \"max_size\": \"string\",\r\n \"metadata\": 0,\r\n \"over_provisioned\": 0,\r\n \"overwrite_reserve\": 0,\r\n \"overwrite_reserve_used\": 0,\r\n \"percent_used\": 0,\r\n \"performance_tier_footprint\": 0,\r\n \"size_available_for_snapshots\": 0,\r\n \"snapmirror_destination_footprint\": 0,\r\n \"snapshot\": {\r\n \"autodelete\": {\r\n \"commitment\": \"string\",\r\n \"defer_delete\": \"string\",\r\n \"delete_order\": \"string\",\r\n \"prefix\": \"string\",\r\n \"trigger\": \"string\"\r\n },\r\n \"autodelete_trigger\": \"string\",\r\n \"reserve_available\": 0,\r\n \"reserve_size\": 0,\r\n \"space_used_percent\": 0,\r\n \"used\": 0\r\n },\r\n \"snapshot_reserve_unusable\": 0,\r\n \"snapshot_spill\": 0,\r\n \"total_footprint\": 0,\r\n \"total_metadata\": 0,\r\n \"total_metadata_footprint\": 0,\r\n \"used\": 3097083330560,\r\n \"user_data\": 0,\r\n \"volume_guarantee_footprint\": 0\r\n },\r\n \"metric\": {\r\n \"cloud\": {\r\n \"duration\": \"PT15S\",\r\n \"iops\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100\r\n },\r\n \"latency\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100\r\n },\r\n \"status\": \"ok\",\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"duration\": \"PT15S\",\r\n \"flexcache\": {\r\n \"bandwidth_savings\": 4096,\r\n \"cache_miss_percent\": 20,\r\n \"duration\": \"PT1D\",\r\n \"status\": \"ok\",\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"iops\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"latency\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"status\": \"ok\",\r\n \"throughput\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"svm\": {\r\n \"name\": \"svm1\",\r\n \"uuid\": \"02c9e252-41be-11e9-81d5-00a0986138f7\"\r\n },\r\n \"uuid\": \"028baa66-41bd-11e9-81d5-00a0986138f7\"\r\n }\r\n ]\r\n}", + "body": "{\r\n \"records\": [\r\n {\r\n \"state\": \"online\",\r\n \"name\": \"volume1\",\r\n \"space\": {\r\n \"auto_adaptive_compression_footprint_data_reduction\": 0,\r\n \"available\": 421353881600,\r\n \"size\": 4398046511104,\r\n \"afs_total\": 4398046511104,\r\n \"block_storage_inactive_user_data\": 0,\r\n \"block_storage_inactive_user_data_percent\": 0,\r\n \"capacity_tier_footprint\": 0,\r\n \"capacity_tier_footprint_data_reduction\": 0,\r\n \"compaction_footprint_data_reduction\": 0,\r\n \"cross_volume_dedupe_metafiles_footprint\": 0,\r\n \"cross_volume_dedupe_metafiles_temporary_footprint\": 0,\r\n \"dedupe_metafiles_footprint\": 0,\r\n \"dedupe_metafiles_temporary_footprint\": 0,\r\n \"delayed_free_footprint\": 0,\r\n \"effective_total_footprint\": 0,\r\n \"file_operation_metadata\": 0,\r\n \"filesystem_size\": 0,\r\n \"footprint\": 0,\r\n \"local_tier_footprint\": 0,\r\n \"max_size\": \"string\",\r\n \"metadata\": 0,\r\n \"over_provisioned\": 0,\r\n \"overwrite_reserve\": 0,\r\n \"overwrite_reserve_used\": 0,\r\n \"percent_used\": 0,\r\n \"performance_tier_footprint\": 0,\r\n \"size_available_for_snapshots\": 0,\r\n \"snapmirror_destination_footprint\": 0,\r\n \"snapshot\": {\r\n \"autodelete\": {\r\n \"commitment\": \"string\",\r\n \"defer_delete\": \"string\",\r\n \"delete_order\": \"string\",\r\n \"prefix\": \"string\",\r\n \"trigger\": \"string\"\r\n },\r\n \"autodelete_trigger\": \"string\",\r\n \"reserve_available\": 0,\r\n \"reserve_size\": 0,\r\n \"space_used_percent\": 0,\r\n \"used\": 0\r\n },\r\n \"snapshot_reserve_unusable\": 0,\r\n \"snapshot_spill\": 0,\r\n \"total_footprint\": 0,\r\n \"total_metadata\": 0,\r\n \"total_metadata_footprint\": 0,\r\n \"used\": 3097083330560,\r\n \"user_data\": 0,\r\n \"volume_guarantee_footprint\": 0,\r\n \"used_by_afs\": 3097083330560,\r\n \"available_percent\": 9.58\r\n },\r\n \"metric\": {\r\n \"cloud\": {\r\n \"duration\": \"PT15S\",\r\n \"iops\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100\r\n },\r\n \"latency\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100\r\n },\r\n \"status\": \"ok\",\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"duration\": \"PT15S\",\r\n \"flexcache\": {\r\n \"bandwidth_savings\": 4096,\r\n \"cache_miss_percent\": 20,\r\n \"duration\": \"PT1D\",\r\n \"status\": \"ok\",\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"iops\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"latency\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"status\": \"ok\",\r\n \"throughput\": {\r\n \"read\": 200,\r\n \"total\": 1000,\r\n \"write\": 100,\r\n \"other\": 100\r\n },\r\n \"timestamp\": \"2017-01-25 06:20:13 -0500\"\r\n },\r\n \"svm\": {\r\n \"name\": \"svm1\",\r\n \"uuid\": \"02c9e252-41be-11e9-81d5-00a0986138f7\"\r\n },\r\n \"uuid\": \"028baa66-41bd-11e9-81d5-00a0986138f7\"\r\n }\r\n ]\r\n}", "latency": 0, "statusCode": 200, "label": "", diff --git a/tests/storage/netapp/ontap/restapi/volumes.robot b/tests/storage/netapp/ontap/restapi/volumes.robot index 8f963a54f..0d0aadbcd 100644 --- a/tests/storage/netapp/ontap/restapi/volumes.robot +++ b/tests/storage/netapp/ontap/restapi/volumes.robot @@ -31,12 +31,12 @@ Volumes ${tc} Ctn Run Command And Check Result As Strings ${command} ${expected_result} Examples: tc extra_options expected_result -- - ... 1 ${EMPTY} OK: Volume 'svm1:volume1' state: online, space usage total: 4.00 TB used: 2.82 TB (90.42%) free: 392.42 GB (9.58%), logical-usage : skipped (no value(s)), logical-usage-free : skipped (no value(s)), logical-usage-prct : skipped (no value(s)), read iops: 200, write iops: 100, other iops: 100, total iops: 1000, read latency: 0.2 ms, write latency: 0.1 ms, other latency: 0.1 ms, total latency: 1 ms | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; - ... 2 --filter-volume-name='volume1' OK: Volume 'svm1:volume1' state: online, space usage total: 4.00 TB used: 2.82 TB (90.42%) free: 392.42 GB (9.58%), logical space usage total: 3.20 TB used: 2.88 TB (90.00%) free: 325.03 GB (10.00%), read iops: 200, write iops: 100, other iops: 100, total iops: 1000, read latency: 0.2 ms, write latency: 0.1 ms, other latency: 0.1 ms, total latency: 1 ms | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.logicalspace.usage.bytes'=3169438617600B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.free.bytes'=348998594560B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.usage.percentage'=90.00%;;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; - ... 3 --filter-name='volume1' OK: Volume 'svm1:volume1' state: online, space usage total: 4.00 TB used: 2.82 TB (90.42%) free: 392.42 GB (9.58%), logical-usage : skipped (no value(s)), logical-usage-free : skipped (no value(s)), logical-usage-prct : skipped (no value(s)), read iops: 200, write iops: 100, other iops: 100, total iops: 1000, read latency: 0.2 ms, write latency: 0.1 ms, other latency: 0.1 ms, total latency: 1 ms | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; + ... 1 ${EMPTY} OK: Volume 'svm1:volume1' state: online, space usage total: 4.00 TB provisioned: 4.00 TB used: 2.82 TB (90.42%) free: 392.42 GB (9.58%), read iops: 200, write iops: 100, other iops: 100, total iops: 1000, read latency: 0.2 ms, write latency: 0.1 ms, other latency: 0.1 ms, total latency: 1 ms | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; + ... 2 --filter-volume-name='volume1' OK: Volume 'svm1:volume1' state: online, space usage total: 4.00 TB provisioned: 4.00 TB used: 2.82 TB (90.42%) free: 392.42 GB (9.58%), read iops: 200, write iops: 100, other iops: 100, total iops: 1000, read latency: 0.2 ms, write latency: 0.1 ms, other latency: 0.1 ms, total latency: 1 ms - Volume 'svm1:volume1' logical space usage total: 3.20 TB used: 2.88 TB (90.00%) free: 325.03 GB (10.00%), logical space usage total: 3.20 TB used: 2.88 TB (90.00%) free: 325.03 GB (10.00%), logical space usage total: 3.20 TB used: 2.88 TB (90.00%) free: 325.03 GB (10.00%) | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; 'svm1:volume1#volume.logicalspace.usage.bytes'=3169438617600B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.free.bytes'=348998594560B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.usage.percentage'=90.00%;;;0;100 + ... 3 --filter-name='volume1' OK: Volume 'svm1:volume1' state: online, space usage total: 4.00 TB provisioned: 4.00 TB used: 2.82 TB (90.42%) free: 392.42 GB (9.58%), read iops: 200, write iops: 100, other iops: 100, total iops: 1000, read latency: 0.2 ms, write latency: 0.1 ms, other latency: 0.1 ms, total latency: 1 ms | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; ... 4 --warning-status='\\\%{state} !~ /notonline/i' WARNING: Volume 'svm1:volume1' state: online | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; ... 5 --critical-status='\\\%{state} !~ /notonline/i' CRITICAL: Volume 'svm1:volume1' state: online | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; - ... 6 --warning-usage-prct=50 WARNING: Volume 'svm1:volume1' space usage total: 4.00 TB used: 2.82 TB (90.42%) free: 392.42 GB (9.58%) | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;0:50;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; - ... 7 --critical-usage-prct=50 CRITICAL: Volume 'svm1:volume1' space usage total: 4.00 TB used: 2.82 TB (90.42%) free: 392.42 GB (9.58%) | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;0:50;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; - ... 8 --filter-volume-name='volume1' --warning-logical-usage-prct=50 WARNING: Volume 'svm1:volume1' logical space usage total: 3.20 TB used: 2.88 TB (90.00%) free: 325.03 GB (10.00%) | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.logicalspace.usage.bytes'=3169438617600B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.free.bytes'=348998594560B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.usage.percentage'=90.00%;0:50;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; - ... 9 --filter-volume-name='volume1' --critical-logical-usage-prct=50 CRITICAL: Volume 'svm1:volume1' logical space usage total: 3.20 TB used: 2.88 TB (90.00%) free: 325.03 GB (10.00%) | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.logicalspace.usage.bytes'=3169438617600B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.free.bytes'=348998594560B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.usage.percentage'=90.00%;;0:50;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; + ... 6 --warning-usage-prct=50 WARNING: Volume 'svm1:volume1' space usage total: 4.00 TB provisioned: 4.00 TB used: 2.82 TB (90.42%) free: 392.42 GB (9.58%) | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;0:50;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; + ... 7 --critical-usage-prct=50 CRITICAL: Volume 'svm1:volume1' space usage total: 4.00 TB provisioned: 4.00 TB used: 2.82 TB (90.42%) free: 392.42 GB (9.58%) | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;0:50;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; + ... 8 --filter-volume-name='volume1' --warning-logical-usage-prct=50 WARNING: Volume 'svm1:volume1' logical space usage total: 3.20 TB used: 2.88 TB (90.00%) free: 325.03 GB (10.00%) | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; 'svm1:volume1#volume.logicalspace.usage.bytes'=3169438617600B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.free.bytes'=348998594560B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.usage.percentage'=90.00%;0:50;;0;100 + ... 9 --filter-volume-name='volume1' --critical-logical-usage-prct=50 CRITICAL: Volume 'svm1:volume1' logical space usage total: 3.20 TB used: 2.88 TB (90.00%) free: 325.03 GB (10.00%) | 'svm1:volume1#volume.space.usage.bytes'=3097083330560B;;;0;4398046511104 'svm1:volume1#volume.space.free.bytes'=421353881600B;;;0;4398046511104 'svm1:volume1#volume.space.usage.percentage'=90.42%;;;0;100 'svm1:volume1#volume.io.read.usage.bytespersecond'=200B/s;;;; 'svm1:volume1#volume.io.write.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.other.usage.bytespersecond'=100B/s;;;0; 'svm1:volume1#volume.io.total.usage.bytespersecond'=1000B/s;;;0; 'svm1:volume1#volume.io.read.usage.iops'=200iops;;;0; 'svm1:volume1#volume.io.write.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.other.usage.iops'=100iops;;;0; 'svm1:volume1#volume.io.total.usage.iops'=1000iops;;;0; 'svm1:volume1#volume.io.read.latency.milliseconds'=0.2ms;;;0; 'svm1:volume1#volume.io.write.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.other.latency.milliseconds'=0.1ms;;;0; 'svm1:volume1#volume.io.total.latency.milliseconds'=1ms;;;0; 'svm1:volume1#volume.logicalspace.usage.bytes'=3169438617600B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.free.bytes'=348998594560B;;;0;3518437212160 'svm1:volume1#volume.logicalspace.usage.percentage'=90.00%;;0:50;0;100