From 5a2432a0eb88fd44d98554fa685526ece212bacb Mon Sep 17 00:00:00 2001 From: mpana Date: Fri, 24 Jul 2020 15:11:18 +0300 Subject: [PATCH 01/35] add teams notif script --- checkmk-teams-notification/teams.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 checkmk-teams-notification/teams.sh diff --git a/checkmk-teams-notification/teams.sh b/checkmk-teams-notification/teams.sh new file mode 100644 index 0000000..fb99f2d --- /dev/null +++ b/checkmk-teams-notification/teams.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Notify via Microsoft Teams + +# Has not been tested with bulking! +# - copy this script into ~/local/share/check_mk/notificaions +# - make sure it is executable +# - create a microsoft teams incoming webhook (https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook) +# - use the Notify via Microsoft Teams Notification Method in your notification rule + +# Microsoft webhook: + +1. Open the Channel and click the More Options button which appears as three dots at the top right of the window. +2. Select Connectors. +3. Scroll down to Incoming Webhook and click the Add button. +4. Choose a name you like for the connector as well as an image and finally click Create. +5. A new unique URI is automatically generated. Copy this URI string below in the URL variable. +. + +TEXT="$NOTIFY_HOSTNAME: $NOTIFY_SERVICEDESC: $NOTIFY_SERVICESTATE $NOTIFY_SERVICEOUTPUT" +URL="" + +curl -H "Content-Type: application/json" -d "{\"text\": \"$TEXT\"}" $URL -4 From c2df63f5530959c77ac4d3655f2d9c06483210e4 Mon Sep 17 00:00:00 2001 From: mpana Date: Fri, 24 Jul 2020 15:14:12 +0300 Subject: [PATCH 02/35] initial commit for hitachi-svp --- checkmk-hitachi-svp/README | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 checkmk-hitachi-svp/README diff --git a/checkmk-hitachi-svp/README b/checkmk-hitachi-svp/README new file mode 100644 index 0000000..bcfa18c --- /dev/null +++ b/checkmk-hitachi-svp/README @@ -0,0 +1,6 @@ +# Checkmk active check for Hitachi SVP + +Tested on models x, x but according to API should work with VSP G130 G/F350 +G/F370 G/F700 G/F900 + + From ff0b9c92756cb451bdb52de99a0ed3bf1659eab3 Mon Sep 17 00:00:00 2001 From: mpana Date: Mon, 27 Jul 2020 11:55:14 +0300 Subject: [PATCH 03/35] lets play together --- checkmk-hitachi-svp/agent_hitachisvp | 6701 ++++++++++++++++++++++++++ hitachi-vsp/README | 6 + hitachi-vsp/agent_hitachivsp | 6701 ++++++++++++++++++++++++++ 3 files changed, 13408 insertions(+) create mode 100644 checkmk-hitachi-svp/agent_hitachisvp create mode 100644 hitachi-vsp/README create mode 100644 hitachi-vsp/agent_hitachivsp diff --git a/checkmk-hitachi-svp/agent_hitachisvp b/checkmk-hitachi-svp/agent_hitachisvp new file mode 100644 index 0000000..c217dd9 --- /dev/null +++ b/checkmk-hitachi-svp/agent_hitachisvp @@ -0,0 +1,6701 @@ +#!/usr/bin/env python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2014 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +import re +import sys, getopt +import requests +import xml.etree.ElementTree as ET +from requests.packages.urllib3.exceptions import InsecureRequestWarning + +def usage(): + sys.stderr.write("""Check_MK Hitachi SVP + +USAGE: agent_hitachisvp [OPTIONS] HOST + +OPTIONS: + -h, --help Show this help message and exit + --address Host address + --user Username + --password Password + --no-cert-check Disable certificate check +""") + sys.exit(1) + +short_options = "h" +long_options = ["help", "username=", "password=", "address=", "demo", "no-cert-check"] + +try: + opts, args = getopt.getopt(sys.argv[1:], short_options, long_options) +except getopt.GetoptError, err: + sys.stderr.write("%s\n" % err) + sys.exit(1) + + +opt_demo = False +opt_cert = True +args_dict = {} + +for o,a in opts: + if o in [ "--address" ]: + args_dict["address"] = a + elif o in [ "--username" ]: + args_dict["username"] = a + elif o in [ "--password" ]: + args_dict["password"] = a + elif o in [ "--demo" ]: + opt_demo = True + elif o in [ "--no-cert-check" ]: + opt_cert = False + elif o in [ "-h", "--help" ]: + usage() + + +def query(url): + if opt_cert == False: + requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + response = requests.get(url, auth = (args_dict["username"], args_dict["password"]), verify=opt_cert) + raw_xml = response.text + # Remove namespace nonsense + raw_xml = re.sub(' xmlns="[^"]+"', '', raw_xml, count=1) +# raw_xml = re.sub(' http-equiv="[^"]+"', '', raw_xml, count=1) + xml_instance = ET.fromstring(raw_xml) + return xml_instance + + +output_lines = [] +def output(line): + if type(line) not in [str, unicode]: + output_lines.append(pprint.pformat(line)) + else: + output_lines.append(line) + + +def process_cluster_info(): + output("<<>>") + xml_instance = query_cluster_info() + tbody = xml_instance.find("body").find("div").find("table").find("tbody") + for child in tbody: + name = child[0].text + value = child[1].text + output("%s\t%s" % (name, value)) + + +def query_cluster_info(): + if opt_demo: + raw_xml = re.sub(' xmlns="[^"]+"', '', cluster_xml, count=1) + return ET.fromstring(raw_xml) + url = "https://%(address)s/storeonceservices/cluster/" % args_dict + return query(url) + +serviceset_ids = set() +def process_servicesets(): + output("<<>>") + xml_instance = query_servicesets() + servicesets = xml_instance.find("body").find("div") + for element in servicesets: + tbody = element.find("table").find("tbody") + serviceset_id = tbody[0][1].text + serviceset_ids.add(serviceset_id) + output("[%s]" % serviceset_id) + for child in tbody: + name = child[0].text + value = child[1].text + output("%s\t%s" % (name, value)) + + +def query_servicesets(): + if opt_demo: + raw_xml = re.sub(' xmlns="[^"]+"', '', servicesets_xml, count=1) + return ET.fromstring(raw_xml) + url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + return query(url) + + +def process_stores_info(): + output("<<>>") + for serviceset_id in serviceset_ids: + xml_instance = query_stores_info(serviceset_id) + stores = xml_instance.find("body").find("div") + for element in stores: + tbody = element.find("table").find("tbody") + store_id = tbody[0][1].text + output("[%s/%s]" % (serviceset_id, store_id)) + serviceset_ids.add(serviceset_id) + for child in tbody: + name = child[0].text + value = child[1].text + output("%s\t%s" % (name, value)) + + +def query_stores_info(serviceset_id): + if opt_demo: + raw_xml = re.sub(' xmlns="[^"]+"', '', stores_xml, count=1) + return ET.fromstring(raw_xml) + + url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + \ + "%s/services/cat/stores/" % serviceset_id + return query(url) + +serviceset_ids_teaming = set() +def process_servicesets_teaming(): + output("<<>>") + xml_instance = query_servicesets_teaming() + servicesets_teaming = xml_instance.find("body").find("div") + for element in servicesets_teaming: + tbody = element.find("table").find("tbody") + serviceset_id_teaming = tbody[0][1].text + serviceset_ids_teaming.add(serviceset_id_teaming) + output("[%s]" % serviceset_id_teaming) + for child in tbody: + name = child[0].text + value = child[1].text + output("%s\t%s" % (name, value)) + + +def query_servicesets_teaming(): + if opt_demo: + raw_xml = re.sub(' xmlns="[^"]+"', '', servicesets_xml, count=1) + return ET.fromstring(raw_xml) + url = "https://%(address)s/storeonceservices/cluster/servicesets/1/teaming/services/cat/stores" % args_dict + return query(url) + + +def process_stores_info_teaming(): + output("<<>>") + for serviceset_id_teaming in serviceset_ids_teaming: + xml_instance = query_stores_info_teaming(serviceset_id_teaming) + stores = xml_instance.find("body").find("div") + for element in stores: + tbody = element.find("table").find("tbody") + store_id = tbody[0][1].text + output("[%s/%s]" % (serviceset_id_teaming, store_id)) + serviceset_ids_teaming.add(serviceset_id_teaming) + for child in tbody: + name = child[0].text + value = child[1].text + output("%s\t%s" % (name, value)) + + + +def query_stores_info_teaming(serviceset_id): + if opt_demo: + raw_xml = re.sub(' xmlns="[^"]+"', '', stores_xml_teaming, count=1) + return ET.fromstring(raw_xml) + + url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + \ + "1/teaming/services/cat/stores/%s" % serviceset_id + return query(url) + + + + + +def main(): + try: + # All shares + url_path = "/storeonceservices/version" + servicesets = "/storeonceservices/cluster/servicesets" + + # Get cluster info + process_cluster_info() + + # Get servicesets + process_servicesets() + + # Get stores info + process_stores_info() + + process_servicesets_teaming() + process_stores_info_teaming() + + sys.stdout.write("\n".join(output_lines) + "\n") + except Exception, e: + sys.stderr.write("Connection error: %s" % e) + sys.exit(1) + + + + +cluster_xml = \ +""" + + Information about D2D Clusters + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Appliance Namehp9418820bda3c
Network Name172.16.221.83
Serial Numberhp9418820bda3c
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Total Capacity546885.56803687
Free Space135188.67951616
User Data Stored2538629.3860592
Size On Disk378247.887631381
Total Capacity (bytes)546885568036864
Free Space (bytes)135188679516160
User Data Stored (bytes)2538629386059199
Size On Disk (bytes)378247887631375
Dedupe Ratio6.71154940733788
Cluster Health Level1
Cluster HealthOK
Cluster StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Uptime Seconds867700
sysContactbackup.ro@orange.com
sysLocationFarm2 - Cluj
isMixedClusterfalse
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Service Sets
IDHealthURL
11/cluster/servicesets/1
21/cluster/servicesets/2
31/cluster/servicesets/3
41/cluster/servicesets/4
+
+ + +""" + + + +servicesets_xml = \ +""" + + List of D2D Service Sets + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
ServiceSet ID1
ServiceSet NameService Set 1
ServiceSet AliasSET1
Serial Numberhp9418820bda3c01
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes410164176027648
Free Space in bytes99619047624704
User Data Stored in bytes904317392528578
Size On Disk in bytes124907442222240
Deduplication Ratio7.2399000126796
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-1
Secondary Nodehp18820bda3c-2
Active Nodehp18820bda3c-1
+ + + + + + + + + + + + +
IP Addresses
IP
192.168.21.57
+ + + + + + + + +
Status Notes
Message
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Services
TypeHealthURL
VTL1/cluster/servicesets/1/services/vtl
NAS1/cluster/servicesets/1/services/nas
CAT1/cluster/servicesets/1/services/cat
REP1/cluster/servicesets/1/services/rep
RMC-1/cluster/servicesets/1/services/rmc
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
ServiceSet ID2
ServiceSet NameService Set 2
ServiceSet AliasSET2
Serial Numberhp9418820bda3c02
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes410164176027648
Free Space in bytes99619047624704
User Data Stored in bytes1254087068152264
Size On Disk in bytes160865344265245
Deduplication Ratio7.7958809206565
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-2
Secondary Nodehp18820bda3c-1
Active Nodehp18820bda3c-2
+ + + + + + + + + + + + +
IP Addresses
IP
192.168.21.58
+ + + + + + + + +
Status Notes
Message
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Services
TypeHealthURL
VTL1/cluster/servicesets/2/services/vtl
NAS1/cluster/servicesets/2/services/nas
CAT1/cluster/servicesets/2/services/cat
REP1/cluster/servicesets/2/services/rep
RMC-1/cluster/servicesets/2/services/rmc
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
ServiceSet ID3
ServiceSet NameService Set 3
ServiceSet AliasSET3
Serial Numberhp9418820bda3c03
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes136721392009216
Free Space in bytes35627477028864
User Data Stored in bytes119078700209780
Size On Disk in bytes25923599485491
Deduplication Ratio4.5934477685642
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-3
Secondary Nodehp18820bda3c-4
Active Nodehp18820bda3c-3
+ + + + + + + + + + + + +
IP Addresses
IP
192.168.21.17
+ + + + + + + + +
Status Notes
Message
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Services
TypeHealthURL
VTL1/cluster/servicesets/3/services/vtl
NAS1/cluster/servicesets/3/services/nas
CAT1/cluster/servicesets/3/services/cat
REP1/cluster/servicesets/3/services/rep
RMC-1/cluster/servicesets/3/services/rmc
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
ServiceSet ID4
ServiceSet NameService Set 4
ServiceSet AliasSET4
Serial Numberhp9418820bda3c04
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes136721392009216
Free Space in bytes35627513688064
User Data Stored in bytes250824989076919
Size On Disk in bytes66519153888797
Deduplication Ratio3.7707182730591
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level4
Housekeeping HealthCritical
Housekeeping StatusNot complete for >7 days
Primary Nodehp18820bda3c-4
Secondary Nodehp18820bda3c-3
Active Nodehp18820bda3c-4
+ + + + + + + + + + + + +
IP Addresses
IP
192.168.21.18
+ + + + + + + + +
Status Notes
Message
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Services
TypeHealthURL
VTL1/cluster/servicesets/4/services/vtl
NAS1/cluster/servicesets/4/services/nas
CAT1/cluster/servicesets/4/services/cat
REP1/cluster/servicesets/4/services/rep
RMC-1/cluster/servicesets/4/services/rmc
+
+
+ + +""" + +stores_xml = \ +""" + + + List of CAT Stores + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID12
NameVeeam_Store
DescriptionVeeam Store Cj
ServiceSet ID1
Creation Time UTC1485955332
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items2463
User Data Stored70979.755813674
Size On Disk22185.19110316
Dedupe Ratio3.1
Dedupe Ratio3.1
Creation On2017-02-01T13:22:12Z
Last Modified2017-12-19T13:30:30Z
primaryTransferPolicy0
primaryTransferPolicyStringHigh Bandwidth
secondaryTransferPolicy0
secondaryTransferPolicyStringHigh Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes45000000000000
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes70979755813674
diskBytes22185191103160
numItems2463
numDataJobs1397432
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000159F9D6FA6A6A1CA953F239138C
numTeamMembers0
+ + + + + + + + + + + + + + + + + + +
Dedupe Store
NameValue
dedupe Store Id12
dedupe Store URI/cluster/servicesets/1/services/dedupe/stores/12
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID24
NameRMCV_3
DescriptionBackup Farm1 - Impar DS
ServiceSet ID1
Creation Time UTC1508826923
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items198
User Data Stored316056.79915008
Size On Disk22746.153432612
Dedupe Ratio13.8
Dedupe Ratio13.8
Creation On2017-10-24T06:35:23Z
Last Modified2017-10-24T06:35:23Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes316056799150080
diskBytes22746153432612
numItems198
numDataJobs4072
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID0000015F4D17C1B1C02D82884D9DEB04
numTeamMembers0
+ + + + + + + + + + + + + + + + + + +
Dedupe Store
NameValue
dedupe Store Id24
dedupe Store URI/cluster/servicesets/1/services/dedupe/stores/24
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0
NameRMC-2
DescriptionBk DS par Farm1
ServiceSet ID2
Creation Time UTC1519230199
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items252
User Data Stored274878.7523584
Size On Disk16489.135000816
Dedupe Ratio16.6
Dedupe Ratio16.6
Creation On2018-02-21T16:23:19Z
Last Modified2018-02-21T16:23:19Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes274878752358400
diskBytes16489135000816
numItems252
numDataJobs385
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000161B92D24EF0479D854AC17F2A1
numTeamMembers0
+ + + + + + + + + + + + + + + + + + +
Dedupe Store
NameValue
dedupe Store Id0
dedupe Store URI/cluster/servicesets/2/services/dedupe/stores/0
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID1
NameRMCV_2
DescriptionBk DS par Farm1
ServiceSet ID4
Creation Time UTC1515400603
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items150
User Data Stored109951.50094336
Size On Disk37939.595676877
Dedupe Ratio2.8
Dedupe Ratio2.8
Creation On2018-01-08T08:36:43Z
Last Modified2018-01-10T17:42:31Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes109951500943360
diskBytes37939595676877
numItems150
numDataJobs5682
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000160D4EA2623E071883475A9C682
numTeamMembers0
+ + + + + + + + + + + + + + + + + + +
Dedupe Store
NameValue
dedupe Store Id1
dedupe Store URI/cluster/servicesets/4/services/dedupe/stores/1
+
+
+ + +""" + +stores_xml_teaming = \ +""" + + List of Teamed Catalyst Stores + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID000001594B2E65E914839B82279B14F9
NameFMS_Store
DescriptionFMS Databases
Creation Time2016-12-22T15:16:16Z
Last Modification Time2016-12-29T15:24:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored3291770368
Size On Disk19999172933
Dedupe Ratio0.1
Number Of Items4
Number Of Data Jobs8532
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID000001597324803912EA0A157C1417FB
NameDW_Store
DescriptionDW database store
Creation Time2016-12-22T13:49:01Z
Last Modification Time2017-01-06T09:38:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk589222895824
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015945C947CF9A1FC94A00F125D6
NameORA_MEDIUM_Store
DescriptionDatabases between 500G and 5T
Creation Time2016-12-22T08:30:48Z
Last Modification Time2016-12-28T14:15:36Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored270638217491872
Size On Disk34990558346210
Dedupe Ratio7.7
Number Of Items38007
Number Of Data Jobs198705
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID00000159452FFE91F1205D30624F6B3C
NameTICH_Store
DescriptionDatabase TICH
Creation Time2016-12-28T11:28:10Z
Last Modification Time2016-12-28T11:28:10Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored44315366129664
Size On Disk5093382800339
Dedupe Ratio8.7
Number Of Items676
Number Of Data Jobs10410
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015945F8C5C599268A84E37AA602
NameARPIN_Store
DescriptionARPIN Database
Creation Time2016-12-28T15:07:28Z
Last Modification Time2016-12-28T16:18:57Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored94049009926144
Size On Disk19833399695183
Dedupe Ratio4.7
Number Of Items128
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015973317C798AAC99334A7D9B20
NameHIST_Store
DescriptionHIST Database
Creation Time2017-01-06T09:52:20Z
Last Modification Time2017-01-06T09:52:20Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored53596324942208
Size On Disk7216835095879
Dedupe Ratio7.4
Number Of Items605
Number Of Data Jobs7558
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015973BED8FB3CC26F2D92BCDF9B
NameFPM_Store
DescriptionFPM Database
Creation Time2017-01-06T12:26:44Z
Last Modification Time2017-01-06T12:26:44Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored100626128175104
Size On Disk5053181148644
Dedupe Ratio19.9
Number Of Items3998
Number Of Data Jobs25638
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015FB4250FFD2B7EC4A788997A31
NameHDW_Store
DescriptionHDW database store
Creation Time2017-02-06T07:21:07Z
Last Modification Time2017-11-13T06:50:49Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored2327326228480
Size On Disk320436576594
Dedupe Ratio7.2
Number Of Items100
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015A1D361AE54FD9797A916443A6
NameMSSQL_Store
DescriptionMSSQL_Databases
Creation Time2017-02-08T10:12:49Z
Last Modification Time2017-02-08T10:12:49Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored177802201444531
Size On Disk5611464184724
Dedupe Ratio31.6
Number Of Items92376
Number Of Data Jobs29898
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015A4B898B0978E39AC679C29E46
NameVAPP_Store
DescriptionVAPP Database
Creation Time2017-02-17T10:06:29Z
Last Modification Time2017-02-17T10:06:29Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored187145140043776
Size On Disk18788543090018
Dedupe Ratio9.9
Number Of Items2044
Number Of Data Jobs5576
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015AA3140E1C5D696993051357B5
NameEBS_REP_Store
DescriptionClone de raportare 5 ani
Creation Time2017-03-06T10:04:45Z
Last Modification Time2017-03-06T10:04:45Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored213399862610176
Size On Disk12372722770821
Dedupe Ratio17.2
Number Of Items3101
Number Of Data Jobs512
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015BA4F89B6636707BCDDE77EA11
NameEBS_Store
DescriptionFederated Catalyst Store 1
Creation Time2017-04-25T11:56:47Z
Last Modification Time2017-04-25T11:56:47Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored19729734434816
Size On Disk2419616568861
Dedupe Ratio8.1
Number Of Items1426
Number Of Data Jobs6564
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015BAF012DF2373CA9B9843943FD
NameSMS_Store
DescriptionFederated Catalyst Store 1
Creation Time2017-04-27T10:42:21Z
Last Modification Time2017-04-27T10:42:21Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored23366172934144
Size On Disk4965345977854
Dedupe Ratio4.7
Number Of Items846
Number Of Data Jobs3658
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015E99031583403621D41DF8AFC6
NameCTI_H_Store
DescriptionCTI_H_Store
Creation Time2017-09-19T07:21:09Z
Last Modification Time2017-09-19T07:21:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015E99190C3A99B9B0C881B63B56
NameOBRM_Store
DescriptionOBRM_Store
Creation Time2017-09-19T07:45:09Z
Last Modification Time2017-09-19T07:45:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015E9996AFD3CE23E46336B0C70D
NameRAID_Store
DescriptionRAID_Store
Creation Time2017-09-19T10:02:23Z
Last Modification Time2017-09-19T10:02:23Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015E99981B974BD4B5DCE5CC6BA6
NameWEB_Store
DescriptionWEB_Store
Creation Time2017-09-19T10:03:56Z
Last Modification Time2017-09-19T10:03:56Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored262144
Size On Disk34525176
Dedupe Ratio0.0
Number Of Items2
Number Of Data Jobs4
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015F81A27366D19BF32D5D4F5E77
NameAPIN_Store
DescriptionAPIN_Store
Creation Time2017-11-03T11:27:08Z
Last Modification Time2017-11-03T11:27:08Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID000001597323CD6C6149489F03CA37DB
NameIFD_Store
DescriptionIFD Database
Creation Time2016-12-27T14:48:51Z
Last Modification Time2017-01-06T09:37:23Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored26330380641880
Size On Disk2199028454764
Dedupe Ratio11.9
Number Of Items1014
Number Of Data Jobs8744
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID000001597325669A0D0E7FD228DA1F97
NameCDM_Store
DescriptionCDM_Database
Creation Time2016-12-22T13:46:57Z
Last Modification Time2017-01-06T09:39:08Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored107260177809408
Size On Disk25048121319933
Dedupe Ratio4.2
Number Of Items20994
Number Of Data Jobs98341
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID000001594EF7D5561836FFC77521DEBB
NameORA_SMALL_Store
DescriptionDatabases less than 500G
Creation Time2016-12-22T08:31:44Z
Last Modification Time2016-12-30T09:03:02Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored85105315804864
Size On Disk8259472516886
Dedupe Ratio10.3
Number Of Items53982
Number Of Data Jobs269827
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015944E75512FAF4DCE0C53B5042
NameDET_Store
DescriptionDET Database
Creation Time2016-12-22T14:07:33Z
Last Modification Time2016-12-28T10:08:48Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored214529888044608
Size On Disk72369417590404
Dedupe Ratio2.9
Number Of Items6293
Number Of Data Jobs36480
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015D509C00246C15E5828450B053
NameNDW_Store2
DescriptionNDW database Store 2
Creation Time2017-07-17T12:53:07Z
Last Modification Time2017-07-17T12:53:07Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored293234243552299
Size On Disk64787183268532
Dedupe Ratio4.5
Number Of Items2384
Number Of Data Jobs50246
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers3,4
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + +""" + +if __name__ == "__main__": + main() + diff --git a/hitachi-vsp/README b/hitachi-vsp/README new file mode 100644 index 0000000..bcfa18c --- /dev/null +++ b/hitachi-vsp/README @@ -0,0 +1,6 @@ +# Checkmk active check for Hitachi SVP + +Tested on models x, x but according to API should work with VSP G130 G/F350 +G/F370 G/F700 G/F900 + + diff --git a/hitachi-vsp/agent_hitachivsp b/hitachi-vsp/agent_hitachivsp new file mode 100644 index 0000000..2411345 --- /dev/null +++ b/hitachi-vsp/agent_hitachivsp @@ -0,0 +1,6701 @@ +#!/usr/bin/env python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2014 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +import re +import sys, getopt +import requests +import xml.etree.ElementTree as ET +from requests.packages.urllib3.exceptions import InsecureRequestWarning + +def usage(): + sys.stderr.write("""Check_MK Hitachi VSP + +USAGE: agent_hitachivsp [OPTIONS] HOST + +OPTIONS: + -h, --help Show this help message and exit + --address Host address + --user Username + --password Password + --no-cert-check Disable certificate check +""") + sys.exit(1) + +short_options = "h" +long_options = ["help", "username=", "password=", "address=", "demo", "no-cert-check"] + +try: + opts, args = getopt.getopt(sys.argv[1:], short_options, long_options) +except getopt.GetoptError as err: + sys.stderr.write("%s\n" % err) + sys.exit(1) + + +opt_demo = False +opt_cert = True +args_dict = {} + +for o,a in opts: + if o in [ "--address" ]: + args_dict["address"] = a + elif o in [ "--username" ]: + args_dict["username"] = a + elif o in [ "--password" ]: + args_dict["password"] = a + elif o in [ "--demo" ]: + opt_demo = True + elif o in [ "--no-cert-check" ]: + opt_cert = False + elif o in [ "-h", "--help" ]: + usage() + + +def query(url): + if opt_cert == False: + requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + response = requests.get(url, auth = (args_dict["username"], args_dict["password"]), verify=opt_cert) + raw_xml = response.text + # Remove namespace nonsense + raw_xml = re.sub(' xmlns="[^"]+"', '', raw_xml, count=1) +# raw_xml = re.sub(' http-equiv="[^"]+"', '', raw_xml, count=1) + xml_instance = ET.fromstring(raw_xml) + return xml_instance + + +output_lines = [] +def output(line): + if type(line) not in [str, unicode]: + output_lines.append(pprint.pformat(line)) + else: + output_lines.append(line) + + +def process_cluster_info(): + output("<<>>") + xml_instance = query_cluster_info() + tbody = xml_instance.find("body").find("div").find("table").find("tbody") + for child in tbody: + name = child[0].text + value = child[1].text + output("%s\t%s" % (name, value)) + + +def query_cluster_info(): + if opt_demo: + raw_xml = re.sub(' xmlns="[^"]+"', '', cluster_xml, count=1) + return ET.fromstring(raw_xml) + url = "https://%(address)s/storeonceservices/cluster/" % args_dict + return query(url) + +serviceset_ids = set() +def process_servicesets(): + output("<<>>") + xml_instance = query_servicesets() + servicesets = xml_instance.find("body").find("div") + for element in servicesets: + tbody = element.find("table").find("tbody") + serviceset_id = tbody[0][1].text + serviceset_ids.add(serviceset_id) + output("[%s]" % serviceset_id) + for child in tbody: + name = child[0].text + value = child[1].text + output("%s\t%s" % (name, value)) + + +def query_servicesets(): + if opt_demo: + raw_xml = re.sub(' xmlns="[^"]+"', '', servicesets_xml, count=1) + return ET.fromstring(raw_xml) + url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + return query(url) + + +def process_stores_info(): + output("<<>>") + for serviceset_id in serviceset_ids: + xml_instance = query_stores_info(serviceset_id) + stores = xml_instance.find("body").find("div") + for element in stores: + tbody = element.find("table").find("tbody") + store_id = tbody[0][1].text + output("[%s/%s]" % (serviceset_id, store_id)) + serviceset_ids.add(serviceset_id) + for child in tbody: + name = child[0].text + value = child[1].text + output("%s\t%s" % (name, value)) + + +def query_stores_info(serviceset_id): + if opt_demo: + raw_xml = re.sub(' xmlns="[^"]+"', '', stores_xml, count=1) + return ET.fromstring(raw_xml) + + url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + \ + "%s/services/cat/stores/" % serviceset_id + return query(url) + +serviceset_ids_teaming = set() +def process_servicesets_teaming(): + output("<<>>") + xml_instance = query_servicesets_teaming() + servicesets_teaming = xml_instance.find("body").find("div") + for element in servicesets_teaming: + tbody = element.find("table").find("tbody") + serviceset_id_teaming = tbody[0][1].text + serviceset_ids_teaming.add(serviceset_id_teaming) + output("[%s]" % serviceset_id_teaming) + for child in tbody: + name = child[0].text + value = child[1].text + output("%s\t%s" % (name, value)) + + +def query_servicesets_teaming(): + if opt_demo: + raw_xml = re.sub(' xmlns="[^"]+"', '', servicesets_xml, count=1) + return ET.fromstring(raw_xml) + url = "https://%(address)s/storeonceservices/cluster/servicesets/1/teaming/services/cat/stores" % args_dict + return query(url) + + +def process_stores_info_teaming(): + output("<<>>") + for serviceset_id_teaming in serviceset_ids_teaming: + xml_instance = query_stores_info_teaming(serviceset_id_teaming) + stores = xml_instance.find("body").find("div") + for element in stores: + tbody = element.find("table").find("tbody") + store_id = tbody[0][1].text + output("[%s/%s]" % (serviceset_id_teaming, store_id)) + serviceset_ids_teaming.add(serviceset_id_teaming) + for child in tbody: + name = child[0].text + value = child[1].text + output("%s\t%s" % (name, value)) + + + +def query_stores_info_teaming(serviceset_id): + if opt_demo: + raw_xml = re.sub(' xmlns="[^"]+"', '', stores_xml_teaming, count=1) + return ET.fromstring(raw_xml) + + url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + \ + "1/teaming/services/cat/stores/%s" % serviceset_id + return query(url) + + + + + +def main(): + try: + # All shares + url_path = "/storeonceservices/version" + servicesets = "/storeonceservices/cluster/servicesets" + + # Get cluster info + process_cluster_info() + + # Get servicesets + process_servicesets() + + # Get stores info + process_stores_info() + + process_servicesets_teaming() + process_stores_info_teaming() + + sys.stdout.write("\n".join(output_lines) + "\n") + except Exception, e: + sys.stderr.write("Connection error: %s" % e) + sys.exit(1) + + + + +cluster_xml = \ +""" + + Information about D2D Clusters + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Appliance Namehp9418820bda3c
Network Name172.16.221.83
Serial Numberhp9418820bda3c
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Total Capacity546885.56803687
Free Space135188.67951616
User Data Stored2538629.3860592
Size On Disk378247.887631381
Total Capacity (bytes)546885568036864
Free Space (bytes)135188679516160
User Data Stored (bytes)2538629386059199
Size On Disk (bytes)378247887631375
Dedupe Ratio6.71154940733788
Cluster Health Level1
Cluster HealthOK
Cluster StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Uptime Seconds867700
sysContactbackup.ro@orange.com
sysLocationFarm2 - Cluj
isMixedClusterfalse
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Service Sets
IDHealthURL
11/cluster/servicesets/1
21/cluster/servicesets/2
31/cluster/servicesets/3
41/cluster/servicesets/4
+
+ + +""" + + + +servicesets_xml = \ +""" + + List of D2D Service Sets + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
ServiceSet ID1
ServiceSet NameService Set 1
ServiceSet AliasSET1
Serial Numberhp9418820bda3c01
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes410164176027648
Free Space in bytes99619047624704
User Data Stored in bytes904317392528578
Size On Disk in bytes124907442222240
Deduplication Ratio7.2399000126796
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-1
Secondary Nodehp18820bda3c-2
Active Nodehp18820bda3c-1
+ + + + + + + + + + + + +
IP Addresses
IP
192.168.21.57
+ + + + + + + + +
Status Notes
Message
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Services
TypeHealthURL
VTL1/cluster/servicesets/1/services/vtl
NAS1/cluster/servicesets/1/services/nas
CAT1/cluster/servicesets/1/services/cat
REP1/cluster/servicesets/1/services/rep
RMC-1/cluster/servicesets/1/services/rmc
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
ServiceSet ID2
ServiceSet NameService Set 2
ServiceSet AliasSET2
Serial Numberhp9418820bda3c02
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes410164176027648
Free Space in bytes99619047624704
User Data Stored in bytes1254087068152264
Size On Disk in bytes160865344265245
Deduplication Ratio7.7958809206565
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-2
Secondary Nodehp18820bda3c-1
Active Nodehp18820bda3c-2
+ + + + + + + + + + + + +
IP Addresses
IP
192.168.21.58
+ + + + + + + + +
Status Notes
Message
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Services
TypeHealthURL
VTL1/cluster/servicesets/2/services/vtl
NAS1/cluster/servicesets/2/services/nas
CAT1/cluster/servicesets/2/services/cat
REP1/cluster/servicesets/2/services/rep
RMC-1/cluster/servicesets/2/services/rmc
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
ServiceSet ID3
ServiceSet NameService Set 3
ServiceSet AliasSET3
Serial Numberhp9418820bda3c03
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes136721392009216
Free Space in bytes35627477028864
User Data Stored in bytes119078700209780
Size On Disk in bytes25923599485491
Deduplication Ratio4.5934477685642
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-3
Secondary Nodehp18820bda3c-4
Active Nodehp18820bda3c-3
+ + + + + + + + + + + + +
IP Addresses
IP
192.168.21.17
+ + + + + + + + +
Status Notes
Message
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Services
TypeHealthURL
VTL1/cluster/servicesets/3/services/vtl
NAS1/cluster/servicesets/3/services/nas
CAT1/cluster/servicesets/3/services/cat
REP1/cluster/servicesets/3/services/rep
RMC-1/cluster/servicesets/3/services/rmc
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
ServiceSet ID4
ServiceSet NameService Set 4
ServiceSet AliasSET4
Serial Numberhp9418820bda3c04
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes136721392009216
Free Space in bytes35627513688064
User Data Stored in bytes250824989076919
Size On Disk in bytes66519153888797
Deduplication Ratio3.7707182730591
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level4
Housekeeping HealthCritical
Housekeeping StatusNot complete for >7 days
Primary Nodehp18820bda3c-4
Secondary Nodehp18820bda3c-3
Active Nodehp18820bda3c-4
+ + + + + + + + + + + + +
IP Addresses
IP
192.168.21.18
+ + + + + + + + +
Status Notes
Message
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Services
TypeHealthURL
VTL1/cluster/servicesets/4/services/vtl
NAS1/cluster/servicesets/4/services/nas
CAT1/cluster/servicesets/4/services/cat
REP1/cluster/servicesets/4/services/rep
RMC-1/cluster/servicesets/4/services/rmc
+
+
+ + +""" + +stores_xml = \ +""" + + + List of CAT Stores + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID12
NameVeeam_Store
DescriptionVeeam Store Cj
ServiceSet ID1
Creation Time UTC1485955332
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items2463
User Data Stored70979.755813674
Size On Disk22185.19110316
Dedupe Ratio3.1
Dedupe Ratio3.1
Creation On2017-02-01T13:22:12Z
Last Modified2017-12-19T13:30:30Z
primaryTransferPolicy0
primaryTransferPolicyStringHigh Bandwidth
secondaryTransferPolicy0
secondaryTransferPolicyStringHigh Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes45000000000000
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes70979755813674
diskBytes22185191103160
numItems2463
numDataJobs1397432
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000159F9D6FA6A6A1CA953F239138C
numTeamMembers0
+ + + + + + + + + + + + + + + + + + +
Dedupe Store
NameValue
dedupe Store Id12
dedupe Store URI/cluster/servicesets/1/services/dedupe/stores/12
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID24
NameRMCV_3
DescriptionBackup Farm1 - Impar DS
ServiceSet ID1
Creation Time UTC1508826923
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items198
User Data Stored316056.79915008
Size On Disk22746.153432612
Dedupe Ratio13.8
Dedupe Ratio13.8
Creation On2017-10-24T06:35:23Z
Last Modified2017-10-24T06:35:23Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes316056799150080
diskBytes22746153432612
numItems198
numDataJobs4072
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID0000015F4D17C1B1C02D82884D9DEB04
numTeamMembers0
+ + + + + + + + + + + + + + + + + + +
Dedupe Store
NameValue
dedupe Store Id24
dedupe Store URI/cluster/servicesets/1/services/dedupe/stores/24
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0
NameRMC-2
DescriptionBk DS par Farm1
ServiceSet ID2
Creation Time UTC1519230199
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items252
User Data Stored274878.7523584
Size On Disk16489.135000816
Dedupe Ratio16.6
Dedupe Ratio16.6
Creation On2018-02-21T16:23:19Z
Last Modified2018-02-21T16:23:19Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes274878752358400
diskBytes16489135000816
numItems252
numDataJobs385
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000161B92D24EF0479D854AC17F2A1
numTeamMembers0
+ + + + + + + + + + + + + + + + + + +
Dedupe Store
NameValue
dedupe Store Id0
dedupe Store URI/cluster/servicesets/2/services/dedupe/stores/0
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID1
NameRMCV_2
DescriptionBk DS par Farm1
ServiceSet ID4
Creation Time UTC1515400603
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items150
User Data Stored109951.50094336
Size On Disk37939.595676877
Dedupe Ratio2.8
Dedupe Ratio2.8
Creation On2018-01-08T08:36:43Z
Last Modified2018-01-10T17:42:31Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes109951500943360
diskBytes37939595676877
numItems150
numDataJobs5682
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000160D4EA2623E071883475A9C682
numTeamMembers0
+ + + + + + + + + + + + + + + + + + +
Dedupe Store
NameValue
dedupe Store Id1
dedupe Store URI/cluster/servicesets/4/services/dedupe/stores/1
+
+
+ + +""" + +stores_xml_teaming = \ +""" + + List of Teamed Catalyst Stores + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID000001594B2E65E914839B82279B14F9
NameFMS_Store
DescriptionFMS Databases
Creation Time2016-12-22T15:16:16Z
Last Modification Time2016-12-29T15:24:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored3291770368
Size On Disk19999172933
Dedupe Ratio0.1
Number Of Items4
Number Of Data Jobs8532
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID000001597324803912EA0A157C1417FB
NameDW_Store
DescriptionDW database store
Creation Time2016-12-22T13:49:01Z
Last Modification Time2017-01-06T09:38:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk589222895824
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015945C947CF9A1FC94A00F125D6
NameORA_MEDIUM_Store
DescriptionDatabases between 500G and 5T
Creation Time2016-12-22T08:30:48Z
Last Modification Time2016-12-28T14:15:36Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored270638217491872
Size On Disk34990558346210
Dedupe Ratio7.7
Number Of Items38007
Number Of Data Jobs198705
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID00000159452FFE91F1205D30624F6B3C
NameTICH_Store
DescriptionDatabase TICH
Creation Time2016-12-28T11:28:10Z
Last Modification Time2016-12-28T11:28:10Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored44315366129664
Size On Disk5093382800339
Dedupe Ratio8.7
Number Of Items676
Number Of Data Jobs10410
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015945F8C5C599268A84E37AA602
NameARPIN_Store
DescriptionARPIN Database
Creation Time2016-12-28T15:07:28Z
Last Modification Time2016-12-28T16:18:57Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored94049009926144
Size On Disk19833399695183
Dedupe Ratio4.7
Number Of Items128
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015973317C798AAC99334A7D9B20
NameHIST_Store
DescriptionHIST Database
Creation Time2017-01-06T09:52:20Z
Last Modification Time2017-01-06T09:52:20Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored53596324942208
Size On Disk7216835095879
Dedupe Ratio7.4
Number Of Items605
Number Of Data Jobs7558
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015973BED8FB3CC26F2D92BCDF9B
NameFPM_Store
DescriptionFPM Database
Creation Time2017-01-06T12:26:44Z
Last Modification Time2017-01-06T12:26:44Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored100626128175104
Size On Disk5053181148644
Dedupe Ratio19.9
Number Of Items3998
Number Of Data Jobs25638
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015FB4250FFD2B7EC4A788997A31
NameHDW_Store
DescriptionHDW database store
Creation Time2017-02-06T07:21:07Z
Last Modification Time2017-11-13T06:50:49Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored2327326228480
Size On Disk320436576594
Dedupe Ratio7.2
Number Of Items100
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015A1D361AE54FD9797A916443A6
NameMSSQL_Store
DescriptionMSSQL_Databases
Creation Time2017-02-08T10:12:49Z
Last Modification Time2017-02-08T10:12:49Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored177802201444531
Size On Disk5611464184724
Dedupe Ratio31.6
Number Of Items92376
Number Of Data Jobs29898
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015A4B898B0978E39AC679C29E46
NameVAPP_Store
DescriptionVAPP Database
Creation Time2017-02-17T10:06:29Z
Last Modification Time2017-02-17T10:06:29Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored187145140043776
Size On Disk18788543090018
Dedupe Ratio9.9
Number Of Items2044
Number Of Data Jobs5576
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015AA3140E1C5D696993051357B5
NameEBS_REP_Store
DescriptionClone de raportare 5 ani
Creation Time2017-03-06T10:04:45Z
Last Modification Time2017-03-06T10:04:45Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored213399862610176
Size On Disk12372722770821
Dedupe Ratio17.2
Number Of Items3101
Number Of Data Jobs512
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015BA4F89B6636707BCDDE77EA11
NameEBS_Store
DescriptionFederated Catalyst Store 1
Creation Time2017-04-25T11:56:47Z
Last Modification Time2017-04-25T11:56:47Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored19729734434816
Size On Disk2419616568861
Dedupe Ratio8.1
Number Of Items1426
Number Of Data Jobs6564
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015BAF012DF2373CA9B9843943FD
NameSMS_Store
DescriptionFederated Catalyst Store 1
Creation Time2017-04-27T10:42:21Z
Last Modification Time2017-04-27T10:42:21Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored23366172934144
Size On Disk4965345977854
Dedupe Ratio4.7
Number Of Items846
Number Of Data Jobs3658
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015E99031583403621D41DF8AFC6
NameCTI_H_Store
DescriptionCTI_H_Store
Creation Time2017-09-19T07:21:09Z
Last Modification Time2017-09-19T07:21:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015E99190C3A99B9B0C881B63B56
NameOBRM_Store
DescriptionOBRM_Store
Creation Time2017-09-19T07:45:09Z
Last Modification Time2017-09-19T07:45:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015E9996AFD3CE23E46336B0C70D
NameRAID_Store
DescriptionRAID_Store
Creation Time2017-09-19T10:02:23Z
Last Modification Time2017-09-19T10:02:23Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015E99981B974BD4B5DCE5CC6BA6
NameWEB_Store
DescriptionWEB_Store
Creation Time2017-09-19T10:03:56Z
Last Modification Time2017-09-19T10:03:56Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored262144
Size On Disk34525176
Dedupe Ratio0.0
Number Of Items2
Number Of Data Jobs4
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015F81A27366D19BF32D5D4F5E77
NameAPIN_Store
DescriptionAPIN_Store
Creation Time2017-11-03T11:27:08Z
Last Modification Time2017-11-03T11:27:08Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID000001597323CD6C6149489F03CA37DB
NameIFD_Store
DescriptionIFD Database
Creation Time2016-12-27T14:48:51Z
Last Modification Time2017-01-06T09:37:23Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored26330380641880
Size On Disk2199028454764
Dedupe Ratio11.9
Number Of Items1014
Number Of Data Jobs8744
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID000001597325669A0D0E7FD228DA1F97
NameCDM_Store
DescriptionCDM_Database
Creation Time2016-12-22T13:46:57Z
Last Modification Time2017-01-06T09:39:08Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored107260177809408
Size On Disk25048121319933
Dedupe Ratio4.2
Number Of Items20994
Number Of Data Jobs98341
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID000001594EF7D5561836FFC77521DEBB
NameORA_SMALL_Store
DescriptionDatabases less than 500G
Creation Time2016-12-22T08:31:44Z
Last Modification Time2016-12-30T09:03:02Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored85105315804864
Size On Disk8259472516886
Dedupe Ratio10.3
Number Of Items53982
Number Of Data Jobs269827
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015944E75512FAF4DCE0C53B5042
NameDET_Store
DescriptionDET Database
Creation Time2016-12-22T14:07:33Z
Last Modification Time2016-12-28T10:08:48Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored214529888044608
Size On Disk72369417590404
Dedupe Ratio2.9
Number Of Items6293
Number Of Data Jobs36480
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameValue
Store ID0000015D509C00246C15E5828450B053
NameNDW_Store2
DescriptionNDW database Store 2
Creation Time2017-07-17T12:53:07Z
Last Modification Time2017-07-17T12:53:07Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored293234243552299
Size On Disk64787183268532
Dedupe Ratio4.5
Number Of Items2384
Number Of Data Jobs50246
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers3,4
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
+
+
+ + +""" + +if __name__ == "__main__": + main() + From a06ab16bd840b10a4d346d643ca89d373e9a629a Mon Sep 17 00:00:00 2001 From: mpana Date: Mon, 27 Jul 2020 12:05:35 +0300 Subject: [PATCH 04/35] remove old files --- checkmk-hitachi-svp/README | 6 - checkmk-hitachi-svp/agent_hitachisvp | 6701 -------------------------- hitachi-vsp/agent_hitachivsp | 8 +- 3 files changed, 4 insertions(+), 6711 deletions(-) delete mode 100644 checkmk-hitachi-svp/README delete mode 100644 checkmk-hitachi-svp/agent_hitachisvp diff --git a/checkmk-hitachi-svp/README b/checkmk-hitachi-svp/README deleted file mode 100644 index bcfa18c..0000000 --- a/checkmk-hitachi-svp/README +++ /dev/null @@ -1,6 +0,0 @@ -# Checkmk active check for Hitachi SVP - -Tested on models x, x but according to API should work with VSP G130 G/F350 -G/F370 G/F700 G/F900 - - diff --git a/checkmk-hitachi-svp/agent_hitachisvp b/checkmk-hitachi-svp/agent_hitachisvp deleted file mode 100644 index c217dd9..0000000 --- a/checkmk-hitachi-svp/agent_hitachisvp +++ /dev/null @@ -1,6701 +0,0 @@ -#!/usr/bin/env python -# -*- encoding: utf-8; py-indent-offset: 4 -*- -# +------------------------------------------------------------------+ -# | ____ _ _ __ __ _ __ | -# | / ___| |__ ___ ___| | __ | \/ | |/ / | -# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | -# | | |___| | | | __/ (__| < | | | | . \ | -# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | -# | | -# | Copyright Mathias Kettner 2014 mk@mathias-kettner.de | -# +------------------------------------------------------------------+ -# -# This file is part of Check_MK. -# The official homepage is at http://mathias-kettner.de/check_mk. -# -# check_mk is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation in version 2. check_mk is distributed -# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- -# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more de- -# tails. You should have received a copy of the GNU General Public -# License along with GNU Make; see the file COPYING. If not, write -# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, -# Boston, MA 02110-1301 USA. - -import re -import sys, getopt -import requests -import xml.etree.ElementTree as ET -from requests.packages.urllib3.exceptions import InsecureRequestWarning - -def usage(): - sys.stderr.write("""Check_MK Hitachi SVP - -USAGE: agent_hitachisvp [OPTIONS] HOST - -OPTIONS: - -h, --help Show this help message and exit - --address Host address - --user Username - --password Password - --no-cert-check Disable certificate check -""") - sys.exit(1) - -short_options = "h" -long_options = ["help", "username=", "password=", "address=", "demo", "no-cert-check"] - -try: - opts, args = getopt.getopt(sys.argv[1:], short_options, long_options) -except getopt.GetoptError, err: - sys.stderr.write("%s\n" % err) - sys.exit(1) - - -opt_demo = False -opt_cert = True -args_dict = {} - -for o,a in opts: - if o in [ "--address" ]: - args_dict["address"] = a - elif o in [ "--username" ]: - args_dict["username"] = a - elif o in [ "--password" ]: - args_dict["password"] = a - elif o in [ "--demo" ]: - opt_demo = True - elif o in [ "--no-cert-check" ]: - opt_cert = False - elif o in [ "-h", "--help" ]: - usage() - - -def query(url): - if opt_cert == False: - requests.packages.urllib3.disable_warnings(InsecureRequestWarning) - response = requests.get(url, auth = (args_dict["username"], args_dict["password"]), verify=opt_cert) - raw_xml = response.text - # Remove namespace nonsense - raw_xml = re.sub(' xmlns="[^"]+"', '', raw_xml, count=1) -# raw_xml = re.sub(' http-equiv="[^"]+"', '', raw_xml, count=1) - xml_instance = ET.fromstring(raw_xml) - return xml_instance - - -output_lines = [] -def output(line): - if type(line) not in [str, unicode]: - output_lines.append(pprint.pformat(line)) - else: - output_lines.append(line) - - -def process_cluster_info(): - output("<<>>") - xml_instance = query_cluster_info() - tbody = xml_instance.find("body").find("div").find("table").find("tbody") - for child in tbody: - name = child[0].text - value = child[1].text - output("%s\t%s" % (name, value)) - - -def query_cluster_info(): - if opt_demo: - raw_xml = re.sub(' xmlns="[^"]+"', '', cluster_xml, count=1) - return ET.fromstring(raw_xml) - url = "https://%(address)s/storeonceservices/cluster/" % args_dict - return query(url) - -serviceset_ids = set() -def process_servicesets(): - output("<<>>") - xml_instance = query_servicesets() - servicesets = xml_instance.find("body").find("div") - for element in servicesets: - tbody = element.find("table").find("tbody") - serviceset_id = tbody[0][1].text - serviceset_ids.add(serviceset_id) - output("[%s]" % serviceset_id) - for child in tbody: - name = child[0].text - value = child[1].text - output("%s\t%s" % (name, value)) - - -def query_servicesets(): - if opt_demo: - raw_xml = re.sub(' xmlns="[^"]+"', '', servicesets_xml, count=1) - return ET.fromstring(raw_xml) - url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict - return query(url) - - -def process_stores_info(): - output("<<>>") - for serviceset_id in serviceset_ids: - xml_instance = query_stores_info(serviceset_id) - stores = xml_instance.find("body").find("div") - for element in stores: - tbody = element.find("table").find("tbody") - store_id = tbody[0][1].text - output("[%s/%s]" % (serviceset_id, store_id)) - serviceset_ids.add(serviceset_id) - for child in tbody: - name = child[0].text - value = child[1].text - output("%s\t%s" % (name, value)) - - -def query_stores_info(serviceset_id): - if opt_demo: - raw_xml = re.sub(' xmlns="[^"]+"', '', stores_xml, count=1) - return ET.fromstring(raw_xml) - - url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + \ - "%s/services/cat/stores/" % serviceset_id - return query(url) - -serviceset_ids_teaming = set() -def process_servicesets_teaming(): - output("<<>>") - xml_instance = query_servicesets_teaming() - servicesets_teaming = xml_instance.find("body").find("div") - for element in servicesets_teaming: - tbody = element.find("table").find("tbody") - serviceset_id_teaming = tbody[0][1].text - serviceset_ids_teaming.add(serviceset_id_teaming) - output("[%s]" % serviceset_id_teaming) - for child in tbody: - name = child[0].text - value = child[1].text - output("%s\t%s" % (name, value)) - - -def query_servicesets_teaming(): - if opt_demo: - raw_xml = re.sub(' xmlns="[^"]+"', '', servicesets_xml, count=1) - return ET.fromstring(raw_xml) - url = "https://%(address)s/storeonceservices/cluster/servicesets/1/teaming/services/cat/stores" % args_dict - return query(url) - - -def process_stores_info_teaming(): - output("<<>>") - for serviceset_id_teaming in serviceset_ids_teaming: - xml_instance = query_stores_info_teaming(serviceset_id_teaming) - stores = xml_instance.find("body").find("div") - for element in stores: - tbody = element.find("table").find("tbody") - store_id = tbody[0][1].text - output("[%s/%s]" % (serviceset_id_teaming, store_id)) - serviceset_ids_teaming.add(serviceset_id_teaming) - for child in tbody: - name = child[0].text - value = child[1].text - output("%s\t%s" % (name, value)) - - - -def query_stores_info_teaming(serviceset_id): - if opt_demo: - raw_xml = re.sub(' xmlns="[^"]+"', '', stores_xml_teaming, count=1) - return ET.fromstring(raw_xml) - - url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + \ - "1/teaming/services/cat/stores/%s" % serviceset_id - return query(url) - - - - - -def main(): - try: - # All shares - url_path = "/storeonceservices/version" - servicesets = "/storeonceservices/cluster/servicesets" - - # Get cluster info - process_cluster_info() - - # Get servicesets - process_servicesets() - - # Get stores info - process_stores_info() - - process_servicesets_teaming() - process_stores_info_teaming() - - sys.stdout.write("\n".join(output_lines) + "\n") - except Exception, e: - sys.stderr.write("Connection error: %s" % e) - sys.exit(1) - - - - -cluster_xml = \ -""" - - Information about D2D Clusters - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Appliance Namehp9418820bda3c
Network Name172.16.221.83
Serial Numberhp9418820bda3c
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Total Capacity546885.56803687
Free Space135188.67951616
User Data Stored2538629.3860592
Size On Disk378247.887631381
Total Capacity (bytes)546885568036864
Free Space (bytes)135188679516160
User Data Stored (bytes)2538629386059199
Size On Disk (bytes)378247887631375
Dedupe Ratio6.71154940733788
Cluster Health Level1
Cluster HealthOK
Cluster StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Uptime Seconds867700
sysContactbackup.ro@orange.com
sysLocationFarm2 - Cluj
isMixedClusterfalse
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Service Sets
IDHealthURL
11/cluster/servicesets/1
21/cluster/servicesets/2
31/cluster/servicesets/3
41/cluster/servicesets/4
-
- - -""" - - - -servicesets_xml = \ -""" - - List of D2D Service Sets - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
ServiceSet ID1
ServiceSet NameService Set 1
ServiceSet AliasSET1
Serial Numberhp9418820bda3c01
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes410164176027648
Free Space in bytes99619047624704
User Data Stored in bytes904317392528578
Size On Disk in bytes124907442222240
Deduplication Ratio7.2399000126796
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-1
Secondary Nodehp18820bda3c-2
Active Nodehp18820bda3c-1
- - - - - - - - - - - - -
IP Addresses
IP
192.168.21.57
- - - - - - - - -
Status Notes
Message
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Services
TypeHealthURL
VTL1/cluster/servicesets/1/services/vtl
NAS1/cluster/servicesets/1/services/nas
CAT1/cluster/servicesets/1/services/cat
REP1/cluster/servicesets/1/services/rep
RMC-1/cluster/servicesets/1/services/rmc
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
ServiceSet ID2
ServiceSet NameService Set 2
ServiceSet AliasSET2
Serial Numberhp9418820bda3c02
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes410164176027648
Free Space in bytes99619047624704
User Data Stored in bytes1254087068152264
Size On Disk in bytes160865344265245
Deduplication Ratio7.7958809206565
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-2
Secondary Nodehp18820bda3c-1
Active Nodehp18820bda3c-2
- - - - - - - - - - - - -
IP Addresses
IP
192.168.21.58
- - - - - - - - -
Status Notes
Message
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Services
TypeHealthURL
VTL1/cluster/servicesets/2/services/vtl
NAS1/cluster/servicesets/2/services/nas
CAT1/cluster/servicesets/2/services/cat
REP1/cluster/servicesets/2/services/rep
RMC-1/cluster/servicesets/2/services/rmc
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
ServiceSet ID3
ServiceSet NameService Set 3
ServiceSet AliasSET3
Serial Numberhp9418820bda3c03
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes136721392009216
Free Space in bytes35627477028864
User Data Stored in bytes119078700209780
Size On Disk in bytes25923599485491
Deduplication Ratio4.5934477685642
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-3
Secondary Nodehp18820bda3c-4
Active Nodehp18820bda3c-3
- - - - - - - - - - - - -
IP Addresses
IP
192.168.21.17
- - - - - - - - -
Status Notes
Message
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Services
TypeHealthURL
VTL1/cluster/servicesets/3/services/vtl
NAS1/cluster/servicesets/3/services/nas
CAT1/cluster/servicesets/3/services/cat
REP1/cluster/servicesets/3/services/rep
RMC-1/cluster/servicesets/3/services/rmc
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
ServiceSet ID4
ServiceSet NameService Set 4
ServiceSet AliasSET4
Serial Numberhp9418820bda3c04
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes136721392009216
Free Space in bytes35627513688064
User Data Stored in bytes250824989076919
Size On Disk in bytes66519153888797
Deduplication Ratio3.7707182730591
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level4
Housekeeping HealthCritical
Housekeeping StatusNot complete for >7 days
Primary Nodehp18820bda3c-4
Secondary Nodehp18820bda3c-3
Active Nodehp18820bda3c-4
- - - - - - - - - - - - -
IP Addresses
IP
192.168.21.18
- - - - - - - - -
Status Notes
Message
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Services
TypeHealthURL
VTL1/cluster/servicesets/4/services/vtl
NAS1/cluster/servicesets/4/services/nas
CAT1/cluster/servicesets/4/services/cat
REP1/cluster/servicesets/4/services/rep
RMC-1/cluster/servicesets/4/services/rmc
-
-
- - -""" - -stores_xml = \ -""" - - - List of CAT Stores - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID12
NameVeeam_Store
DescriptionVeeam Store Cj
ServiceSet ID1
Creation Time UTC1485955332
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items2463
User Data Stored70979.755813674
Size On Disk22185.19110316
Dedupe Ratio3.1
Dedupe Ratio3.1
Creation On2017-02-01T13:22:12Z
Last Modified2017-12-19T13:30:30Z
primaryTransferPolicy0
primaryTransferPolicyStringHigh Bandwidth
secondaryTransferPolicy0
secondaryTransferPolicyStringHigh Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes45000000000000
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes70979755813674
diskBytes22185191103160
numItems2463
numDataJobs1397432
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000159F9D6FA6A6A1CA953F239138C
numTeamMembers0
- - - - - - - - - - - - - - - - - - -
Dedupe Store
NameValue
dedupe Store Id12
dedupe Store URI/cluster/servicesets/1/services/dedupe/stores/12
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID24
NameRMCV_3
DescriptionBackup Farm1 - Impar DS
ServiceSet ID1
Creation Time UTC1508826923
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items198
User Data Stored316056.79915008
Size On Disk22746.153432612
Dedupe Ratio13.8
Dedupe Ratio13.8
Creation On2017-10-24T06:35:23Z
Last Modified2017-10-24T06:35:23Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes316056799150080
diskBytes22746153432612
numItems198
numDataJobs4072
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID0000015F4D17C1B1C02D82884D9DEB04
numTeamMembers0
- - - - - - - - - - - - - - - - - - -
Dedupe Store
NameValue
dedupe Store Id24
dedupe Store URI/cluster/servicesets/1/services/dedupe/stores/24
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0
NameRMC-2
DescriptionBk DS par Farm1
ServiceSet ID2
Creation Time UTC1519230199
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items252
User Data Stored274878.7523584
Size On Disk16489.135000816
Dedupe Ratio16.6
Dedupe Ratio16.6
Creation On2018-02-21T16:23:19Z
Last Modified2018-02-21T16:23:19Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes274878752358400
diskBytes16489135000816
numItems252
numDataJobs385
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000161B92D24EF0479D854AC17F2A1
numTeamMembers0
- - - - - - - - - - - - - - - - - - -
Dedupe Store
NameValue
dedupe Store Id0
dedupe Store URI/cluster/servicesets/2/services/dedupe/stores/0
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID1
NameRMCV_2
DescriptionBk DS par Farm1
ServiceSet ID4
Creation Time UTC1515400603
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items150
User Data Stored109951.50094336
Size On Disk37939.595676877
Dedupe Ratio2.8
Dedupe Ratio2.8
Creation On2018-01-08T08:36:43Z
Last Modified2018-01-10T17:42:31Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes109951500943360
diskBytes37939595676877
numItems150
numDataJobs5682
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000160D4EA2623E071883475A9C682
numTeamMembers0
- - - - - - - - - - - - - - - - - - -
Dedupe Store
NameValue
dedupe Store Id1
dedupe Store URI/cluster/servicesets/4/services/dedupe/stores/1
-
-
- - -""" - -stores_xml_teaming = \ -""" - - List of Teamed Catalyst Stores - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID000001594B2E65E914839B82279B14F9
NameFMS_Store
DescriptionFMS Databases
Creation Time2016-12-22T15:16:16Z
Last Modification Time2016-12-29T15:24:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored3291770368
Size On Disk19999172933
Dedupe Ratio0.1
Number Of Items4
Number Of Data Jobs8532
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID000001597324803912EA0A157C1417FB
NameDW_Store
DescriptionDW database store
Creation Time2016-12-22T13:49:01Z
Last Modification Time2017-01-06T09:38:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk589222895824
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015945C947CF9A1FC94A00F125D6
NameORA_MEDIUM_Store
DescriptionDatabases between 500G and 5T
Creation Time2016-12-22T08:30:48Z
Last Modification Time2016-12-28T14:15:36Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored270638217491872
Size On Disk34990558346210
Dedupe Ratio7.7
Number Of Items38007
Number Of Data Jobs198705
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID00000159452FFE91F1205D30624F6B3C
NameTICH_Store
DescriptionDatabase TICH
Creation Time2016-12-28T11:28:10Z
Last Modification Time2016-12-28T11:28:10Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored44315366129664
Size On Disk5093382800339
Dedupe Ratio8.7
Number Of Items676
Number Of Data Jobs10410
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015945F8C5C599268A84E37AA602
NameARPIN_Store
DescriptionARPIN Database
Creation Time2016-12-28T15:07:28Z
Last Modification Time2016-12-28T16:18:57Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored94049009926144
Size On Disk19833399695183
Dedupe Ratio4.7
Number Of Items128
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015973317C798AAC99334A7D9B20
NameHIST_Store
DescriptionHIST Database
Creation Time2017-01-06T09:52:20Z
Last Modification Time2017-01-06T09:52:20Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored53596324942208
Size On Disk7216835095879
Dedupe Ratio7.4
Number Of Items605
Number Of Data Jobs7558
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015973BED8FB3CC26F2D92BCDF9B
NameFPM_Store
DescriptionFPM Database
Creation Time2017-01-06T12:26:44Z
Last Modification Time2017-01-06T12:26:44Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored100626128175104
Size On Disk5053181148644
Dedupe Ratio19.9
Number Of Items3998
Number Of Data Jobs25638
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015FB4250FFD2B7EC4A788997A31
NameHDW_Store
DescriptionHDW database store
Creation Time2017-02-06T07:21:07Z
Last Modification Time2017-11-13T06:50:49Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored2327326228480
Size On Disk320436576594
Dedupe Ratio7.2
Number Of Items100
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015A1D361AE54FD9797A916443A6
NameMSSQL_Store
DescriptionMSSQL_Databases
Creation Time2017-02-08T10:12:49Z
Last Modification Time2017-02-08T10:12:49Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored177802201444531
Size On Disk5611464184724
Dedupe Ratio31.6
Number Of Items92376
Number Of Data Jobs29898
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015A4B898B0978E39AC679C29E46
NameVAPP_Store
DescriptionVAPP Database
Creation Time2017-02-17T10:06:29Z
Last Modification Time2017-02-17T10:06:29Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored187145140043776
Size On Disk18788543090018
Dedupe Ratio9.9
Number Of Items2044
Number Of Data Jobs5576
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015AA3140E1C5D696993051357B5
NameEBS_REP_Store
DescriptionClone de raportare 5 ani
Creation Time2017-03-06T10:04:45Z
Last Modification Time2017-03-06T10:04:45Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored213399862610176
Size On Disk12372722770821
Dedupe Ratio17.2
Number Of Items3101
Number Of Data Jobs512
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015BA4F89B6636707BCDDE77EA11
NameEBS_Store
DescriptionFederated Catalyst Store 1
Creation Time2017-04-25T11:56:47Z
Last Modification Time2017-04-25T11:56:47Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored19729734434816
Size On Disk2419616568861
Dedupe Ratio8.1
Number Of Items1426
Number Of Data Jobs6564
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015BAF012DF2373CA9B9843943FD
NameSMS_Store
DescriptionFederated Catalyst Store 1
Creation Time2017-04-27T10:42:21Z
Last Modification Time2017-04-27T10:42:21Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored23366172934144
Size On Disk4965345977854
Dedupe Ratio4.7
Number Of Items846
Number Of Data Jobs3658
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015E99031583403621D41DF8AFC6
NameCTI_H_Store
DescriptionCTI_H_Store
Creation Time2017-09-19T07:21:09Z
Last Modification Time2017-09-19T07:21:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015E99190C3A99B9B0C881B63B56
NameOBRM_Store
DescriptionOBRM_Store
Creation Time2017-09-19T07:45:09Z
Last Modification Time2017-09-19T07:45:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015E9996AFD3CE23E46336B0C70D
NameRAID_Store
DescriptionRAID_Store
Creation Time2017-09-19T10:02:23Z
Last Modification Time2017-09-19T10:02:23Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015E99981B974BD4B5DCE5CC6BA6
NameWEB_Store
DescriptionWEB_Store
Creation Time2017-09-19T10:03:56Z
Last Modification Time2017-09-19T10:03:56Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored262144
Size On Disk34525176
Dedupe Ratio0.0
Number Of Items2
Number Of Data Jobs4
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015F81A27366D19BF32D5D4F5E77
NameAPIN_Store
DescriptionAPIN_Store
Creation Time2017-11-03T11:27:08Z
Last Modification Time2017-11-03T11:27:08Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID000001597323CD6C6149489F03CA37DB
NameIFD_Store
DescriptionIFD Database
Creation Time2016-12-27T14:48:51Z
Last Modification Time2017-01-06T09:37:23Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored26330380641880
Size On Disk2199028454764
Dedupe Ratio11.9
Number Of Items1014
Number Of Data Jobs8744
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID000001597325669A0D0E7FD228DA1F97
NameCDM_Store
DescriptionCDM_Database
Creation Time2016-12-22T13:46:57Z
Last Modification Time2017-01-06T09:39:08Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored107260177809408
Size On Disk25048121319933
Dedupe Ratio4.2
Number Of Items20994
Number Of Data Jobs98341
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID000001594EF7D5561836FFC77521DEBB
NameORA_SMALL_Store
DescriptionDatabases less than 500G
Creation Time2016-12-22T08:31:44Z
Last Modification Time2016-12-30T09:03:02Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored85105315804864
Size On Disk8259472516886
Dedupe Ratio10.3
Number Of Items53982
Number Of Data Jobs269827
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015944E75512FAF4DCE0C53B5042
NameDET_Store
DescriptionDET Database
Creation Time2016-12-22T14:07:33Z
Last Modification Time2016-12-28T10:08:48Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored214529888044608
Size On Disk72369417590404
Dedupe Ratio2.9
Number Of Items6293
Number Of Data Jobs36480
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015D509C00246C15E5828450B053
NameNDW_Store2
DescriptionNDW database Store 2
Creation Time2017-07-17T12:53:07Z
Last Modification Time2017-07-17T12:53:07Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored293234243552299
Size On Disk64787183268532
Dedupe Ratio4.5
Number Of Items2384
Number Of Data Jobs50246
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers3,4
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - -""" - -if __name__ == "__main__": - main() - diff --git a/hitachi-vsp/agent_hitachivsp b/hitachi-vsp/agent_hitachivsp index 2411345..c318f17 100644 --- a/hitachi-vsp/agent_hitachivsp +++ b/hitachi-vsp/agent_hitachivsp @@ -87,7 +87,7 @@ def query(url): output_lines = [] def output(line): - if type(line) not in [str, unicode]: + if type(line) not in [str]: output_lines.append(pprint.pformat(line)) else: output_lines.append(line) @@ -228,11 +228,11 @@ def main(): # Get stores info process_stores_info() - process_servicesets_teaming() - process_stores_info_teaming() + process_servicesets_teaming() + process_stores_info_teaming() sys.stdout.write("\n".join(output_lines) + "\n") - except Exception, e: + except Exception as e: sys.stderr.write("Connection error: %s" % e) sys.exit(1) From e34c90c103560ad626e1e21d0491e9b4e78df722 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Mon, 27 Jul 2020 13:23:14 +0300 Subject: [PATCH 05/35] cleanup --- .../local/share/check_mk/agents/special/agent_storeonce | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/check_mk-storeonce/local/share/check_mk/agents/special/agent_storeonce b/check_mk-storeonce/local/share/check_mk/agents/special/agent_storeonce index 5264eb9..8da063d 100644 --- a/check_mk-storeonce/local/share/check_mk/agents/special/agent_storeonce +++ b/check_mk-storeonce/local/share/check_mk/agents/special/agent_storeonce @@ -340,11 +340,11 @@ cluster_xml = \ sysContact - backup.ro@orange.com + emailo@example.com sysLocation - Farm2 - Cluj + RandomLocation isMixedCluster From c8199a6b8315482c078b0afb21f0c0e214432654 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Tue, 28 Jul 2020 11:58:59 +0300 Subject: [PATCH 06/35] cleanup --- hitachi-vsp/.gitignore | 1 + hitachi-vsp/agent_hitachivsp | 6473 +--------------------------------- 2 files changed, 6 insertions(+), 6468 deletions(-) create mode 100644 hitachi-vsp/.gitignore mode change 100644 => 100755 hitachi-vsp/agent_hitachivsp diff --git a/hitachi-vsp/.gitignore b/hitachi-vsp/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/hitachi-vsp/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/hitachi-vsp/agent_hitachivsp b/hitachi-vsp/agent_hitachivsp old mode 100644 new mode 100755 index c318f17..9b54a7f --- a/hitachi-vsp/agent_hitachivsp +++ b/hitachi-vsp/agent_hitachivsp @@ -7,7 +7,7 @@ # | | |___| | | | __/ (__| < | | | | . \ | # | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | # | | -# | Copyright Mathias Kettner 2014 mk@mathias-kettner.de | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | # +------------------------------------------------------------------+ # # This file is part of Check_MK. @@ -25,11 +25,12 @@ # Boston, MA 02110-1301 USA. import re -import sys, getopt -import requests -import xml.etree.ElementTree as ET +import sys +import getopt +import urllib3 from requests.packages.urllib3.exceptions import InsecureRequestWarning + def usage(): sys.stderr.write("""Check_MK Hitachi VSP @@ -215,10 +216,6 @@ def query_stores_info_teaming(serviceset_id): def main(): try: - # All shares - url_path = "/storeonceservices/version" - servicesets = "/storeonceservices/cluster/servicesets" - # Get cluster info process_cluster_info() @@ -236,6466 +233,6 @@ def main(): sys.stderr.write("Connection error: %s" % e) sys.exit(1) - - - -cluster_xml = \ -""" - - Information about D2D Clusters - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Appliance Namehp9418820bda3c
Network Name172.16.221.83
Serial Numberhp9418820bda3c
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Total Capacity546885.56803687
Free Space135188.67951616
User Data Stored2538629.3860592
Size On Disk378247.887631381
Total Capacity (bytes)546885568036864
Free Space (bytes)135188679516160
User Data Stored (bytes)2538629386059199
Size On Disk (bytes)378247887631375
Dedupe Ratio6.71154940733788
Cluster Health Level1
Cluster HealthOK
Cluster StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Uptime Seconds867700
sysContactbackup.ro@orange.com
sysLocationFarm2 - Cluj
isMixedClusterfalse
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Service Sets
IDHealthURL
11/cluster/servicesets/1
21/cluster/servicesets/2
31/cluster/servicesets/3
41/cluster/servicesets/4
-
- - -""" - - - -servicesets_xml = \ -""" - - List of D2D Service Sets - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
ServiceSet ID1
ServiceSet NameService Set 1
ServiceSet AliasSET1
Serial Numberhp9418820bda3c01
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes410164176027648
Free Space in bytes99619047624704
User Data Stored in bytes904317392528578
Size On Disk in bytes124907442222240
Deduplication Ratio7.2399000126796
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-1
Secondary Nodehp18820bda3c-2
Active Nodehp18820bda3c-1
- - - - - - - - - - - - -
IP Addresses
IP
192.168.21.57
- - - - - - - - -
Status Notes
Message
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Services
TypeHealthURL
VTL1/cluster/servicesets/1/services/vtl
NAS1/cluster/servicesets/1/services/nas
CAT1/cluster/servicesets/1/services/cat
REP1/cluster/servicesets/1/services/rep
RMC-1/cluster/servicesets/1/services/rmc
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
ServiceSet ID2
ServiceSet NameService Set 2
ServiceSet AliasSET2
Serial Numberhp9418820bda3c02
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes410164176027648
Free Space in bytes99619047624704
User Data Stored in bytes1254087068152264
Size On Disk in bytes160865344265245
Deduplication Ratio7.7958809206565
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-2
Secondary Nodehp18820bda3c-1
Active Nodehp18820bda3c-2
- - - - - - - - - - - - -
IP Addresses
IP
192.168.21.58
- - - - - - - - -
Status Notes
Message
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Services
TypeHealthURL
VTL1/cluster/servicesets/2/services/vtl
NAS1/cluster/servicesets/2/services/nas
CAT1/cluster/servicesets/2/services/cat
REP1/cluster/servicesets/2/services/rep
RMC-1/cluster/servicesets/2/services/rmc
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
ServiceSet ID3
ServiceSet NameService Set 3
ServiceSet AliasSET3
Serial Numberhp9418820bda3c03
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes136721392009216
Free Space in bytes35627477028864
User Data Stored in bytes119078700209780
Size On Disk in bytes25923599485491
Deduplication Ratio4.5934477685642
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level1
Housekeeping HealthOK
Housekeeping StatusRunning
Primary Nodehp18820bda3c-3
Secondary Nodehp18820bda3c-4
Active Nodehp18820bda3c-3
- - - - - - - - - - - - -
IP Addresses
IP
192.168.21.17
- - - - - - - - -
Status Notes
Message
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Services
TypeHealthURL
VTL1/cluster/servicesets/3/services/vtl
NAS1/cluster/servicesets/3/services/nas
CAT1/cluster/servicesets/3/services/cat
REP1/cluster/servicesets/3/services/rep
RMC-1/cluster/servicesets/3/services/rmc
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
ServiceSet ID4
ServiceSet NameService Set 4
ServiceSet AliasSET4
Serial Numberhp9418820bda3c04
Software Version3.16.3-1730.1
Product ClassHPE StoreOnce 6600 System
Capacity in bytes136721392009216
Free Space in bytes35627513688064
User Data Stored in bytes250824989076919
Size On Disk in bytes66519153888797
Deduplication Ratio3.7707182730591
ServiceSet Health Level1
ServiceSet HealthOK
ServiceSet StatusRunning
Replication Health Level1
Replication HealthOK
Replication StatusRunning
Overall Health Level1
Overall HealthOK
Overall StatusRunning
Housekeeping Health Level4
Housekeeping HealthCritical
Housekeeping StatusNot complete for >7 days
Primary Nodehp18820bda3c-4
Secondary Nodehp18820bda3c-3
Active Nodehp18820bda3c-4
- - - - - - - - - - - - -
IP Addresses
IP
192.168.21.18
- - - - - - - - -
Status Notes
Message
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Services
TypeHealthURL
VTL1/cluster/servicesets/4/services/vtl
NAS1/cluster/servicesets/4/services/nas
CAT1/cluster/servicesets/4/services/cat
REP1/cluster/servicesets/4/services/rep
RMC-1/cluster/servicesets/4/services/rmc
-
-
- - -""" - -stores_xml = \ -""" - - - List of CAT Stores - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID12
NameVeeam_Store
DescriptionVeeam Store Cj
ServiceSet ID1
Creation Time UTC1485955332
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items2463
User Data Stored70979.755813674
Size On Disk22185.19110316
Dedupe Ratio3.1
Dedupe Ratio3.1
Creation On2017-02-01T13:22:12Z
Last Modified2017-12-19T13:30:30Z
primaryTransferPolicy0
primaryTransferPolicyStringHigh Bandwidth
secondaryTransferPolicy0
secondaryTransferPolicyStringHigh Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes45000000000000
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes70979755813674
diskBytes22185191103160
numItems2463
numDataJobs1397432
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000159F9D6FA6A6A1CA953F239138C
numTeamMembers0
- - - - - - - - - - - - - - - - - - -
Dedupe Store
NameValue
dedupe Store Id12
dedupe Store URI/cluster/servicesets/1/services/dedupe/stores/12
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID24
NameRMCV_3
DescriptionBackup Farm1 - Impar DS
ServiceSet ID1
Creation Time UTC1508826923
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items198
User Data Stored316056.79915008
Size On Disk22746.153432612
Dedupe Ratio13.8
Dedupe Ratio13.8
Creation On2017-10-24T06:35:23Z
Last Modified2017-10-24T06:35:23Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes316056799150080
diskBytes22746153432612
numItems198
numDataJobs4072
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID0000015F4D17C1B1C02D82884D9DEB04
numTeamMembers0
- - - - - - - - - - - - - - - - - - -
Dedupe Store
NameValue
dedupe Store Id24
dedupe Store URI/cluster/servicesets/1/services/dedupe/stores/24
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0
NameRMC-2
DescriptionBk DS par Farm1
ServiceSet ID2
Creation Time UTC1519230199
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items252
User Data Stored274878.7523584
Size On Disk16489.135000816
Dedupe Ratio16.6
Dedupe Ratio16.6
Creation On2018-02-21T16:23:19Z
Last Modified2018-02-21T16:23:19Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes274878752358400
diskBytes16489135000816
numItems252
numDataJobs385
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000161B92D24EF0479D854AC17F2A1
numTeamMembers0
- - - - - - - - - - - - - - - - - - -
Dedupe Store
NameValue
dedupe Store Id0
dedupe Store URI/cluster/servicesets/2/services/dedupe/stores/0
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID1
NameRMCV_2
DescriptionBk DS par Farm1
ServiceSet ID4
Creation Time UTC1515400603
Health Level1
HealthOK
StatusOnline
Version2
Number Of Catalyst Items150
User Data Stored109951.50094336
Size On Disk37939.595676877
Dedupe Ratio2.8
Dedupe Ratio2.8
Creation On2018-01-08T08:36:43Z
Last Modified2018-01-10T17:42:31Z
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
userBytes109951500943360
diskBytes37939595676877
numItems150
numDataJobs5682
numOriginCopyJobs0
numDestinationCopyJobs0
Is onlinetrue
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
isTeamedfalse
teamUUID00000160D4EA2623E071883475A9C682
numTeamMembers0
- - - - - - - - - - - - - - - - - - -
Dedupe Store
NameValue
dedupe Store Id1
dedupe Store URI/cluster/servicesets/4/services/dedupe/stores/1
-
-
- - -""" - -stores_xml_teaming = \ -""" - - List of Teamed Catalyst Stores - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID000001594B2E65E914839B82279B14F9
NameFMS_Store
DescriptionFMS Databases
Creation Time2016-12-22T15:16:16Z
Last Modification Time2016-12-29T15:24:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored3291770368
Size On Disk19999172933
Dedupe Ratio0.1
Number Of Items4
Number Of Data Jobs8532
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID000001597324803912EA0A157C1417FB
NameDW_Store
DescriptionDW database store
Creation Time2016-12-22T13:49:01Z
Last Modification Time2017-01-06T09:38:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk589222895824
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015945C947CF9A1FC94A00F125D6
NameORA_MEDIUM_Store
DescriptionDatabases between 500G and 5T
Creation Time2016-12-22T08:30:48Z
Last Modification Time2016-12-28T14:15:36Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored270638217491872
Size On Disk34990558346210
Dedupe Ratio7.7
Number Of Items38007
Number Of Data Jobs198705
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID00000159452FFE91F1205D30624F6B3C
NameTICH_Store
DescriptionDatabase TICH
Creation Time2016-12-28T11:28:10Z
Last Modification Time2016-12-28T11:28:10Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored44315366129664
Size On Disk5093382800339
Dedupe Ratio8.7
Number Of Items676
Number Of Data Jobs10410
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015945F8C5C599268A84E37AA602
NameARPIN_Store
DescriptionARPIN Database
Creation Time2016-12-28T15:07:28Z
Last Modification Time2016-12-28T16:18:57Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored94049009926144
Size On Disk19833399695183
Dedupe Ratio4.7
Number Of Items128
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015973317C798AAC99334A7D9B20
NameHIST_Store
DescriptionHIST Database
Creation Time2017-01-06T09:52:20Z
Last Modification Time2017-01-06T09:52:20Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored53596324942208
Size On Disk7216835095879
Dedupe Ratio7.4
Number Of Items605
Number Of Data Jobs7558
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015973BED8FB3CC26F2D92BCDF9B
NameFPM_Store
DescriptionFPM Database
Creation Time2017-01-06T12:26:44Z
Last Modification Time2017-01-06T12:26:44Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored100626128175104
Size On Disk5053181148644
Dedupe Ratio19.9
Number Of Items3998
Number Of Data Jobs25638
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015FB4250FFD2B7EC4A788997A31
NameHDW_Store
DescriptionHDW database store
Creation Time2017-02-06T07:21:07Z
Last Modification Time2017-11-13T06:50:49Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored2327326228480
Size On Disk320436576594
Dedupe Ratio7.2
Number Of Items100
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015A1D361AE54FD9797A916443A6
NameMSSQL_Store
DescriptionMSSQL_Databases
Creation Time2017-02-08T10:12:49Z
Last Modification Time2017-02-08T10:12:49Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored177802201444531
Size On Disk5611464184724
Dedupe Ratio31.6
Number Of Items92376
Number Of Data Jobs29898
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015A4B898B0978E39AC679C29E46
NameVAPP_Store
DescriptionVAPP Database
Creation Time2017-02-17T10:06:29Z
Last Modification Time2017-02-17T10:06:29Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored187145140043776
Size On Disk18788543090018
Dedupe Ratio9.9
Number Of Items2044
Number Of Data Jobs5576
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015AA3140E1C5D696993051357B5
NameEBS_REP_Store
DescriptionClone de raportare 5 ani
Creation Time2017-03-06T10:04:45Z
Last Modification Time2017-03-06T10:04:45Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored213399862610176
Size On Disk12372722770821
Dedupe Ratio17.2
Number Of Items3101
Number Of Data Jobs512
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015BA4F89B6636707BCDDE77EA11
NameEBS_Store
DescriptionFederated Catalyst Store 1
Creation Time2017-04-25T11:56:47Z
Last Modification Time2017-04-25T11:56:47Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored19729734434816
Size On Disk2419616568861
Dedupe Ratio8.1
Number Of Items1426
Number Of Data Jobs6564
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015BAF012DF2373CA9B9843943FD
NameSMS_Store
DescriptionFederated Catalyst Store 1
Creation Time2017-04-27T10:42:21Z
Last Modification Time2017-04-27T10:42:21Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored23366172934144
Size On Disk4965345977854
Dedupe Ratio4.7
Number Of Items846
Number Of Data Jobs3658
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015E99031583403621D41DF8AFC6
NameCTI_H_Store
DescriptionCTI_H_Store
Creation Time2017-09-19T07:21:09Z
Last Modification Time2017-09-19T07:21:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015E99190C3A99B9B0C881B63B56
NameOBRM_Store
DescriptionOBRM_Store
Creation Time2017-09-19T07:45:09Z
Last Modification Time2017-09-19T07:45:09Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015E9996AFD3CE23E46336B0C70D
NameRAID_Store
DescriptionRAID_Store
Creation Time2017-09-19T10:02:23Z
Last Modification Time2017-09-19T10:02:23Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015E99981B974BD4B5DCE5CC6BA6
NameWEB_Store
DescriptionWEB_Store
Creation Time2017-09-19T10:03:56Z
Last Modification Time2017-09-19T10:03:56Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored262144
Size On Disk34525176
Dedupe Ratio0.0
Number Of Items2
Number Of Data Jobs4
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015F81A27366D19BF32D5D4F5E77
NameAPIN_Store
DescriptionAPIN_Store
Creation Time2017-11-03T11:27:08Z
Last Modification Time2017-11-03T11:27:08Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored0
Size On Disk20744064
Dedupe Ratio0.0
Number Of Items0
Number Of Data Jobs0
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID000001597323CD6C6149489F03CA37DB
NameIFD_Store
DescriptionIFD Database
Creation Time2016-12-27T14:48:51Z
Last Modification Time2017-01-06T09:37:23Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored26330380641880
Size On Disk2199028454764
Dedupe Ratio11.9
Number Of Items1014
Number Of Data Jobs8744
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID000001597325669A0D0E7FD228DA1F97
NameCDM_Store
DescriptionCDM_Database
Creation Time2016-12-22T13:46:57Z
Last Modification Time2017-01-06T09:39:08Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored107260177809408
Size On Disk25048121319933
Dedupe Ratio4.2
Number Of Items20994
Number Of Data Jobs98341
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID000001594EF7D5561836FFC77521DEBB
NameORA_SMALL_Store
DescriptionDatabases less than 500G
Creation Time2016-12-22T08:31:44Z
Last Modification Time2016-12-30T09:03:02Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored85105315804864
Size On Disk8259472516886
Dedupe Ratio10.3
Number Of Items53982
Number Of Data Jobs269827
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015944E75512FAF4DCE0C53B5042
NameDET_Store
DescriptionDET Database
Creation Time2016-12-22T14:07:33Z
Last Modification Time2016-12-28T10:08:48Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored214529888044608
Size On Disk72369417590404
Dedupe Ratio2.9
Number Of Items6293
Number Of Data Jobs36480
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers1,2
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameValue
Store ID0000015D509C00246C15E5828450B053
NameNDW_Store2
DescriptionNDW database Store 2
Creation Time2017-07-17T12:53:07Z
Last Modification Time2017-07-17T12:53:07Z
Health Level1
HealthOk
StatusOnline
Is Onlinetrue
Version2
User Data Stored293234243552299
Size On Disk64787183268532
Dedupe Ratio4.5
Number Of Items2384
Number Of Data Jobs50246
Number Of Outbound Copy Jobs0
Number Of Inbound Copy Jobs0
primaryTransferPolicy1
primaryTransferPolicyStringLow Bandwidth
secondaryTransferPolicy1
secondaryTransferPolicyStringLow Bandwidth
userDataSizeLimitBytes0
dedupedDataSizeOnDiskLimitBytes0
dataJobRetentionDays90
inboundCopyJobRetentionDays90
outboundCopyJobRetentionDays90
is store encryptedfalse
secure erase mode0
secure erase mode descriptionSecure_Erase_NoPassCount
supportStorageModeVariableBlockDedupetrue
supportStorageModeFixedBlockDedupetrue
supportStorageModeNoDedupetrue
supportWriteSparsefalse
supportWriteInPlacefalse
supportRawReadWritetrue
supportMultipleObjectOpenerstrue
supportMultipleObjectWritesfalse
supportCloneExtenttrue
isTeamedtrue
isDegradedfalse
numTeamMembers2
teamMembers3,4
noWriteTeamMembers
offlineTeamMembers
allowAddTeamMemberstrue
allowRemoveTeamMemberstrue
allowDegradedOperationtrue
allowRedundancytrue
-
-
- - -""" - if __name__ == "__main__": main() From 92f04647a5414f166fabc1ded9519b18c33bccb9 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Tue, 28 Jul 2020 11:59:09 +0300 Subject: [PATCH 07/35] cleanup --- hitachi-vsp/.gitignore | 1 - hitachi-vsp/.idea/hitachi-vsp.iml | 8 ++++++++ .../.idea/inspectionProfiles/profiles_settings.xml | 6 ++++++ hitachi-vsp/.idea/modules.xml | 8 ++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) delete mode 100644 hitachi-vsp/.gitignore create mode 100644 hitachi-vsp/.idea/hitachi-vsp.iml create mode 100644 hitachi-vsp/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 hitachi-vsp/.idea/modules.xml diff --git a/hitachi-vsp/.gitignore b/hitachi-vsp/.gitignore deleted file mode 100644 index 485dee6..0000000 --- a/hitachi-vsp/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.idea diff --git a/hitachi-vsp/.idea/hitachi-vsp.iml b/hitachi-vsp/.idea/hitachi-vsp.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/hitachi-vsp/.idea/hitachi-vsp.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/hitachi-vsp/.idea/inspectionProfiles/profiles_settings.xml b/hitachi-vsp/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/hitachi-vsp/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/hitachi-vsp/.idea/modules.xml b/hitachi-vsp/.idea/modules.xml new file mode 100644 index 0000000..b5e76b9 --- /dev/null +++ b/hitachi-vsp/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 996ad073cc41996ed365223006c4f62355ddf458 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Tue, 28 Jul 2020 11:59:25 +0300 Subject: [PATCH 08/35] cleanup --- hitachi-vsp/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 hitachi-vsp/.gitignore diff --git a/hitachi-vsp/.gitignore b/hitachi-vsp/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/hitachi-vsp/.gitignore @@ -0,0 +1 @@ +.idea From f0588db6a9502bc2be506752985c2489d585d6b4 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Tue, 28 Jul 2020 19:26:17 +0300 Subject: [PATCH 09/35] started agent development --- hitachi-vsp/.idea/hitachi-vsp.iml | 2 +- hitachi-vsp/agent_hitachivsp | 293 ++++++++++++++++-------------- 2 files changed, 159 insertions(+), 136 deletions(-) diff --git a/hitachi-vsp/.idea/hitachi-vsp.iml b/hitachi-vsp/.idea/hitachi-vsp.iml index d0876a7..c444878 100644 --- a/hitachi-vsp/.idea/hitachi-vsp.iml +++ b/hitachi-vsp/.idea/hitachi-vsp.iml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/hitachi-vsp/agent_hitachivsp b/hitachi-vsp/agent_hitachivsp index 9b54a7f..4e4d13f 100755 --- a/hitachi-vsp/agent_hitachivsp +++ b/hitachi-vsp/agent_hitachivsp @@ -24,11 +24,11 @@ # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, # Boston, MA 02110-1301 USA. -import re import sys import getopt -import urllib3 -from requests.packages.urllib3.exceptions import InsecureRequestWarning +import pprint +import json +#from requests.packages.urllib3.exceptions import InsecureRequestWarning def usage(): @@ -45,8 +45,10 @@ OPTIONS: """) sys.exit(1) + short_options = "h" -long_options = ["help", "username=", "password=", "address=", "demo", "no-cert-check"] +long_options = ["help", "username=", "password=", "address=", "demo", "no-cert-check"] + try: opts, args = getopt.getopt(sys.argv[1:], short_options, long_options) @@ -55,10 +57,11 @@ except getopt.GetoptError as err: sys.exit(1) -opt_demo = False +opt_demo = True opt_cert = True args_dict = {} + for o,a in opts: if o in [ "--address" ]: args_dict["address"] = a @@ -77,162 +80,182 @@ for o,a in opts: def query(url): if opt_cert == False: requests.packages.urllib3.disable_warnings(InsecureRequestWarning) - response = requests.get(url, auth = (args_dict["username"], args_dict["password"]), verify=opt_cert) - raw_xml = response.text - # Remove namespace nonsense - raw_xml = re.sub(' xmlns="[^"]+"', '', raw_xml, count=1) -# raw_xml = re.sub(' http-equiv="[^"]+"', '', raw_xml, count=1) - xml_instance = ET.fromstring(raw_xml) - return xml_instance + response = requests.get(url, auth = (args_dict["username"], args_dict["password"]), verify=opt_cert) + raw_json = response.text + return raw_json output_lines = [] def output(line): if type(line) not in [str]: - output_lines.append(pprint.pformat(line)) + output_lines.append(pprint.pprint(line)) else: output_lines.append(line) -def process_cluster_info(): - output("<<>>") - xml_instance = query_cluster_info() - tbody = xml_instance.find("body").find("div").find("table").find("tbody") - for child in tbody: - name = child[0].text - value = child[1].text - output("%s\t%s" % (name, value)) - - -def query_cluster_info(): +def get_storage_info(): if opt_demo: - raw_xml = re.sub(' xmlns="[^"]+"', '', cluster_xml, count=1) - return ET.fromstring(raw_xml) - url = "https://%(address)s/storeonceservices/cluster/" % args_dict - return query(url) - -serviceset_ids = set() -def process_servicesets(): - output("<<>>") - xml_instance = query_servicesets() - servicesets = xml_instance.find("body").find("div") - for element in servicesets: - tbody = element.find("table").find("tbody") - serviceset_id = tbody[0][1].text - serviceset_ids.add(serviceset_id) - output("[%s]" % serviceset_id) - for child in tbody: - name = child[0].text - value = child[1].text - output("%s\t%s" % (name, value)) - - -def query_servicesets(): - if opt_demo: - raw_xml = re.sub(' xmlns="[^"]+"', '', servicesets_xml, count=1) - return ET.fromstring(raw_xml) - url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + raw_json = storage_info + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/storages/instance" % args_dict return query(url) -def process_stores_info(): - output("<<>>") - for serviceset_id in serviceset_ids: - xml_instance = query_stores_info(serviceset_id) - stores = xml_instance.find("body").find("div") - for element in stores: - tbody = element.find("table").find("tbody") - store_id = tbody[0][1].text - output("[%s/%s]" % (serviceset_id, store_id)) - serviceset_ids.add(serviceset_id) - for child in tbody: - name = child[0].text - value = child[1].text - output("%s\t%s" % (name, value)) - - -def query_stores_info(serviceset_id): +def get_storage_pools(): if opt_demo: - raw_xml = re.sub(' xmlns="[^"]+"', '', stores_xml, count=1) - return ET.fromstring(raw_xml) - - url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + \ - "%s/services/cat/stores/" % serviceset_id + raw_json = storage_pools + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/pools" % args_dict return query(url) -serviceset_ids_teaming = set() -def process_servicesets_teaming(): - output("<<>>") - xml_instance = query_servicesets_teaming() - servicesets_teaming = xml_instance.find("body").find("div") - for element in servicesets_teaming: - tbody = element.find("table").find("tbody") - serviceset_id_teaming = tbody[0][1].text - serviceset_ids_teaming.add(serviceset_id_teaming) - output("[%s]" % serviceset_id_teaming) - for child in tbody: - name = child[0].text - value = child[1].text - output("%s\t%s" % (name, value)) - - -def query_servicesets_teaming(): - if opt_demo: - raw_xml = re.sub(' xmlns="[^"]+"', '', servicesets_xml, count=1) - return ET.fromstring(raw_xml) - url = "https://%(address)s/storeonceservices/cluster/servicesets/1/teaming/services/cat/stores" % args_dict - return query(url) - - -def process_stores_info_teaming(): - output("<<>>") - for serviceset_id_teaming in serviceset_ids_teaming: - xml_instance = query_stores_info_teaming(serviceset_id_teaming) - stores = xml_instance.find("body").find("div") - for element in stores: - tbody = element.find("table").find("tbody") - store_id = tbody[0][1].text - output("[%s/%s]" % (serviceset_id_teaming, store_id)) - serviceset_ids_teaming.add(serviceset_id_teaming) - for child in tbody: - name = child[0].text - value = child[1].text - output("%s\t%s" % (name, value)) - - - -def query_stores_info_teaming(serviceset_id): - if opt_demo: - raw_xml = re.sub(' xmlns="[^"]+"', '', stores_xml_teaming, count=1) - return ET.fromstring(raw_xml) - - url = "https://%(address)s/storeonceservices/cluster/servicesets/" % args_dict + \ - "1/teaming/services/cat/stores/%s" % serviceset_id - return query(url) - - +def process_storage_pools (): + output("<<>>") + raw_json = get_storage_pools() + full_data = json.loads(raw_json) + data = full_data["data"] + output("poolID\tpoolType\tpoolName\ttotalPhysicalCapacity\ttotalPoolCapacity\tavailableVolumeCapacity\tusedCapacityRate") + for pool in data: + if pool["poolType"] == "HTI": + output("%s\t%s\t%s\t%s\t%s\t%s\t%s" % (pool["poolId"], pool["poolType"], pool["poolName"], \ + pool["totalPhysicalCapacity"], pool["totalPoolCapacity"], \ + pool["availableVolumeCapacity"], pool["usedCapacityRate"]) ) +def process_storage_info(): + output("<<>>") + raw_json = get_storage_info() + data = json.loads(raw_json) + output("%s\t%s\t%s\t%s" % (data["serialNumber"], data["storageDeviceId"], data["dkcMicroVersion"], data["model"])) def main(): try: - # Get cluster info - process_cluster_info() - - # Get servicesets - process_servicesets() - - # Get stores info - process_stores_info() - - process_servicesets_teaming() - process_stores_info_teaming() + process_storage_info() + process_storage_pools() sys.stdout.write("\n".join(output_lines) + "\n") except Exception as e: sys.stderr.write("Connection error: %s" % e) sys.exit(1) + +storage_info = """{ + "storageDeviceId": "666666666666", + "model": "VSP G700", + "serialNumber": 666666, + "ctl1Ip": "192.168.223.69", + "ctl2Ip": "192.168.223.70", + "dkcMicroVersion": "88-04-03/00", + "communicationModes": [ + { + "communicationMode": "lanConnectionMode" + } + ], + "isSecure": true +}""" + +storage_pools = """ +{ + "data" : [ { + "poolId" : 0, + "poolStatus" : "POLN", + "usedCapacityRate" : 47, + "usedPhysicalCapacityRate" : 47, + "poolName" : "RAID6_HDT_01", + "availableVolumeCapacity" : 208964826, + "availablePhysicalVolumeCapacity" : 208964826, + "totalPoolCapacity" : 397630296, + "totalPhysicalCapacity" : 397630296, + "numOfLdevs" : 136, + "firstLdevId" : 3, + "warningThreshold" : 80, + "depletionThreshold" : 90, + "virtualVolumeCapacityRate" : -1, + "isMainframe" : false, + "isShrinking" : true, + "locatedVolumeCount" : 242, + "totalLocatedCapacity" : 234976098, + "blockingMode" : "NB", + "totalReservedCapacity" : 0, + "reservedVolumeCount" : 0, + "poolActionMode" : "AUT", + "tierOperationStatus" : "MON", + "dat" : "VAL", + "poolType" : "RT", + "monitoringMode" : "CM", + "tiers" : [ { + "tierNumber" : 1, + "tierLevelRange" : "00000001", + "tierDeltaRange" : "00000005", + "tierUsedCapacity" : 31524696, + "tierTotalCapacity" : 37087848, + "tablespaceRate" : 10, + "performanceRate" : 4, + "progressOfReplacing" : 100, + "bufferRate" : 5 + }, { + "tierNumber" : 2, + "tierLevelRange" : "00000000", + "tierDeltaRange" : "00000005", + "tierUsedCapacity" : 98679336, + "tierTotalCapacity" : 116093208, + "tablespaceRate" : 10, + "performanceRate" : 12, + "progressOfReplacing" : 100, + "bufferRate" : 5 + }, { + "tierNumber" : 3, + "tierLevelRange" : "00000000", + "tierDeltaRange" : "00000000", + "tierUsedCapacity" : 58461480, + "tierTotalCapacity" : 244449240, + "tablespaceRate" : 10, + "performanceRate" : 62, + "progressOfReplacing" : 100, + "bufferRate" : 5 + } ], + "dataReductionAccelerateCompCapacity" : 0, + "dataReductionAccelerateCompRate" : 0, + "compressionRate" : 0, + "dataReductionAccelerateCompIncludingSystemData" : { + "isReductionCapacityAvailable" : true, + "reductionCapacity" : 0, + "isReductionRateAvailable" : true, + "reductionRate" : 0 + }, + "capacitiesExcludingSystemData" : { + "usedVirtualVolumeCapacity" : 386386968576 + } + }, { + "poolId" : 1, + "poolStatus" : "POLN", + "usedCapacityRate" : 0, + "usedPhysicalCapacityRate" : 0, + "snapshotCount" : 0, + "poolName" : "THIN_IMAGE_POOL", + "availableVolumeCapacity" : 46453344, + "availablePhysicalVolumeCapacity" : 46453344, + "totalPoolCapacity" : 46453344, + "totalPhysicalCapacity" : 46453344, + "numOfLdevs" : 16, + "firstLdevId" : 22, + "warningThreshold" : 80, + "virtualVolumeCapacityRate" : -1, + "isMainframe" : false, + "isShrinking" : false, + "poolType" : "HTI", + "dataReductionAccelerateCompCapacity" : 0, + "dataReductionAccelerateCompRate" : 0, + "compressionRate" : 0, + "dataReductionAccelerateCompIncludingSystemData" : { + "isReductionCapacityAvailable" : true, + "reductionCapacity" : 0, + "isReductionRateAvailable" : false + }, + "capacitiesExcludingSystemData" : { + "usedVirtualVolumeCapacity" : 0 + } + } ] +}""" + if __name__ == "__main__": main() - From 2d1ab3c193132ff823794bb6cf41a5e66891e310 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Tue, 4 Aug 2020 21:44:25 +0300 Subject: [PATCH 10/35] George Pochiscan: Removed obsolete check for juniper_ive and updated checks for 1.6 compatibility. --- check_mk-juniper_extensions/juniper_chassis | 47 ++++++++++++++++ .../juniper_checks-1.1.mkp | Bin 0 -> 2403 bytes check_mk-juniper_extensions/juniper_cpu | 44 +++++++++++++++ check_mk-juniper_extensions/juniper_mem | 35 ++++++++++++ check_mk-juniper_extensions/juniper_processes | 29 ++++++++++ check_mk-juniper_extensions/juniper_temp | 50 ++++++++++++++++++ 6 files changed, 205 insertions(+) create mode 100644 check_mk-juniper_extensions/juniper_chassis create mode 100644 check_mk-juniper_extensions/juniper_checks-1.1.mkp create mode 100644 check_mk-juniper_extensions/juniper_cpu create mode 100644 check_mk-juniper_extensions/juniper_mem create mode 100644 check_mk-juniper_extensions/juniper_processes create mode 100644 check_mk-juniper_extensions/juniper_temp diff --git a/check_mk-juniper_extensions/juniper_chassis b/check_mk-juniper_extensions/juniper_chassis new file mode 100644 index 0000000..1641b81 --- /dev/null +++ b/check_mk-juniper_extensions/juniper_chassis @@ -0,0 +1,47 @@ +#!/usr/bin/python + +# OIDs used: +# JUNIPER-MIB::jnxOperatingDescr .1.3.6.1.4.1.2636.3.1.13.1.5 +# JUNIPER-MIB::jnxOperatingState .1.3.6.1.4.1.2636.3.1.13.1.6 +# JUNIPER-MIB::jnxBoxDescr .1.3.6.1.4.1.2636.3.1.2.0 + +# Scan function looks for 'Juniper' in jnxBoxDescr + +# Author: Mike Julian - mike@mikejulian.com - http://mikejulian.com + +def inventory_juniper_chassis(info): + inventory = [] + for line in info: + inventory.append((line[0], None)) + return inventory + +def check_juniper_chassis(item, _no_params, info): + for descr, state in info: + if item == descr: + status = int(state) + if status == 1: + return (1, "CRIT - Status: unknown") + elif status == 2: + return (0, "OK - Status: Running (active)") + elif status == 3: + return (0, "OK - Status: Ready (not active)") + elif status == 4: + return (2, "WARN - Status: Held in reset") + elif status == 5: + return (0, "WARN - Status: Running at full speed (fans only)") + elif status == 6: + return (1, "CRIT - Status: Down/Offline (PSUs only)") + elif status == 7: + return (0, "OK - Status: Standby") + else: + return (3, "UNKNOWN") + return (3, "UNKNOWN") + +check_info["juniper_chassis"] = { + "check_function" : check_juniper_chassis, + "inventory_function" : inventory_juniper_chassis, + "service_description" : "Chassis: %s", + "has_perfdata" : False, + "snmp_scan_function" : lambda oid: "Juniper" in oid(".1.3.6.1.4.1.2636.3.1.2.0"), + "snmp_info" : ( ".1.3.6.1.4.1.2636.3.1.13.1", [5, 6]), +} diff --git a/check_mk-juniper_extensions/juniper_checks-1.1.mkp b/check_mk-juniper_extensions/juniper_checks-1.1.mkp new file mode 100644 index 0000000000000000000000000000000000000000..90b2a0b95c70a3290bdc02d92729848c8e6fd81e GIT binary patch literal 2403 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 crit: + return (2, "CRIT" + infotext + " (critical at %d%%)" % crit, perfdata) + elif util >= warn: + return (1, "WARN" + infotext + " (warning at %d%%)" % warn, perfdata) + else: + return (0, "OK" + infotext, perfdata) + return (3, "UNKNOWN") + +check_info["juniper_cpu"] = { + "check_function" : check_juniper_cpu, + "inventory_function" : inventory_juniper_cpu, + "service_description" : "CPU Utilization: ", + "has_perfdata" : True, + "group" : "cpu_utilization", + "snmp_scan_function" : lambda oid: "Juniper" in oid(".1.3.6.1.4.1.2636.3.1.2.0"), + "snmp_info" : ( ".1.3.6.1.4.1.2636.3.1.13.1", [ 5, 8 ] ), + "default_levels_variable" : "juniper_cpu_default_levels", +} + diff --git a/check_mk-juniper_extensions/juniper_mem b/check_mk-juniper_extensions/juniper_mem new file mode 100644 index 0000000..56d444a --- /dev/null +++ b/check_mk-juniper_extensions/juniper_mem @@ -0,0 +1,35 @@ +#!/usr/bin/python +juniper_mem_default_levels = (80.0, 90.0) +fruTypesMem = ['Routing Engine', 'FPC', 'PIC'] + +def inventory_juniper_mem(info): + inventory = [] + for line in info: + for fru in fruTypesMem: + if line[0].startswith(fru): + inventory.append((line[0], juniper_mem_default_levels)) + return inventory + +def check_juniper_mem(item, params, info): + for descr, buffer in info: + if item == descr: + warn, crit = params + util = float(buffer) + infotext = " - %2.1f%% Utilization" % util + perfdata = [("Memory Usage (percent)", util, warn, crit, 0, 100)] + if util >= crit: + return (2, "CRIT" + infotext + " (critical at %d%%)" % crit, perfdata) + elif util >= warn: + return (1, "WARN" + infotext + " (warning at %d%%)" % warn, perfdata) + else: + return (0, "OK" + infotext, perfdata) + return (3, "UNKNOWN") + +check_info["juniper_mem"] = { + "check_function" : check_juniper_mem, + "inventory_function" : inventory_juniper_mem, + "service_description" : "Memory Usage", + "has_perfdata" : True, + "snmp_scan_function" : lambda oid: "Juniper" in oid(".1.3.6.1.4.1.2636.3.1.2.0"), + "snmp_info" : ( ".1.3.6.1.4.1.2636.3.1.13.1", ["5", "11"]), +} diff --git a/check_mk-juniper_extensions/juniper_processes b/check_mk-juniper_extensions/juniper_processes new file mode 100644 index 0000000..d2c30c4 --- /dev/null +++ b/check_mk-juniper_extensions/juniper_processes @@ -0,0 +1,29 @@ +#!/usr/bin/python + +def inventory_juniper_processes(info): + inventory = [] + for line in info: + if line[0].startswith("mgd"): + continue + elif line[0].startswith("sshd"): + continue + else: + inventory.append((line[0], None)) + return inventory + +def check_juniper_processes(item, params, info): + for procName, procUsage in info: + if item == procName: + usage = int(procUsage) / 8 + perfdata = [ ( "Memory (kB)", usage) ] + return (0, "OK: %s kB Used" % usage, perfdata) + return (3, "UNKNOWN") + +check_info["juniper_processes"] = { + "check_function" : check_juniper_processes, + "inventory_function" : inventory_juniper_processes, + "service_description" : "Process", + "has_perfdata" : True, + "snmp_scan_function" : lambda oid: "Juniper" in oid(".1.3.6.1.4.1.2636.3.1.2.0"), + "snmp_info" : ( ".1.3.6.1.2.1.54.1.2.3.1", [7, 10]), +} diff --git a/check_mk-juniper_extensions/juniper_temp b/check_mk-juniper_extensions/juniper_temp new file mode 100644 index 0000000..08d9d52 --- /dev/null +++ b/check_mk-juniper_extensions/juniper_temp @@ -0,0 +1,50 @@ +#!/usr/bin/python + +# OIDs used: +# JUNIPER-MIB::jnxOperatingDescr .1.3.6.1.4.1.2636.3.1.13.1.5 +# JUNIPER-MIB::jnxOperatingTemp .1.3.6.1.4.1.2636.3.1.13.1.7 +# JUNIPER-MIB::jnxOperatingDescr .1.3.6.1.4.1.2636.3.1.2.0 + +# Author: Mike Julian - mike@mikejulian.com - http://mikejulian.com + + +factory_settings["juniper_temp_default_levels"] = { + "levels": (25, 28) +} + + +def inventory_juniper_temp(info): + frus = ['CB', 'Routing Engine', 'FPC', 'Bottom Tray Fan', 'Bottom Fan Tray', 'Top Tray Fan', 'Top Fan Tray', 'PEM'] + inventory = [] + for line in info: + # Exclude interface cards, as they have no temp sensors + for fru in frus: + if line[0].startswith(fru): + inventory.append((line[0], juniper_temp_default_levels)) + return inventory + +def check_juniper_temp(item, params, info): + for descr, temp in info: + warn,crit = params["levels"] + if item == descr: + temp = int(temp) + perfdata = [ ( "temp", temp) ] + if temp >= crit: + return (2, "CRIT - Temperature above threshold (%s): %sC" % (crit,temp), perfdata) + elif temp >= warn: + return (1, "WARN - Temperature above threshold (%s): %sC" % (warn,temp), perfdata) + else: + return (0, "OK - Temperature: %sC" % temp, perfdata) + return (3, "UNKNOWN") + +check_info["juniper_temp"] = { + "check_function" : check_juniper_temp, + "inventory_function" : inventory_juniper_temp, + "service_description" : "Temp: %s", + "has_perfdata" : True, + "snmp_scan_function" : lambda oid: "Juniper" in oid(".1.3.6.1.4.1.2636.3.1.2.0"), + "snmp_info" : ( ".1.3.6.1.4.1.2636.3.1.13.1", [5, 7]), + "group" : "temperature", + "includes" : [ "temperature.include" ], + "default_levels_variable" : "juniper_temp_default_levels" +} From ed9deda1680105403b67293d72cfd3aff999d275 Mon Sep 17 00:00:00 2001 From: mpana Date: Wed, 5 Aug 2020 13:24:17 +0300 Subject: [PATCH 11/35] add juniper submodule --- .gitmodules | 3 +++ juniper | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 juniper diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..5e7980c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "juniper"] + path = juniper + url = https://github.com/spearheadsys/check_mk.git diff --git a/juniper b/juniper new file mode 160000 index 0000000..0a56e2b --- /dev/null +++ b/juniper @@ -0,0 +1 @@ +Subproject commit 0a56e2b3a48cb8751861bead181fe59fd90c2b62 From 02e393a591e43556c42a4bd016e61713cc2bbf8d Mon Sep 17 00:00:00 2001 From: mpana Date: Wed, 5 Aug 2020 13:30:58 +0300 Subject: [PATCH 12/35] move to submodule --- check_mk-juniper_extensions/juniper_chassis | 47 ---------------- .../juniper_checks-1.1.mkp | Bin 2403 -> 0 bytes check_mk-juniper_extensions/juniper_cpu | 44 --------------- check_mk-juniper_extensions/juniper_mem | 35 ------------ check_mk-juniper_extensions/juniper_processes | 29 ---------- check_mk-juniper_extensions/juniper_temp | 50 ------------------ juniper | 2 +- 7 files changed, 1 insertion(+), 206 deletions(-) delete mode 100644 check_mk-juniper_extensions/juniper_chassis delete mode 100644 check_mk-juniper_extensions/juniper_checks-1.1.mkp delete mode 100644 check_mk-juniper_extensions/juniper_cpu delete mode 100644 check_mk-juniper_extensions/juniper_mem delete mode 100644 check_mk-juniper_extensions/juniper_processes delete mode 100644 check_mk-juniper_extensions/juniper_temp diff --git a/check_mk-juniper_extensions/juniper_chassis b/check_mk-juniper_extensions/juniper_chassis deleted file mode 100644 index 1641b81..0000000 --- a/check_mk-juniper_extensions/juniper_chassis +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/python - -# OIDs used: -# JUNIPER-MIB::jnxOperatingDescr .1.3.6.1.4.1.2636.3.1.13.1.5 -# JUNIPER-MIB::jnxOperatingState .1.3.6.1.4.1.2636.3.1.13.1.6 -# JUNIPER-MIB::jnxBoxDescr .1.3.6.1.4.1.2636.3.1.2.0 - -# Scan function looks for 'Juniper' in jnxBoxDescr - -# Author: Mike Julian - mike@mikejulian.com - http://mikejulian.com - -def inventory_juniper_chassis(info): - inventory = [] - for line in info: - inventory.append((line[0], None)) - return inventory - -def check_juniper_chassis(item, _no_params, info): - for descr, state in info: - if item == descr: - status = int(state) - if status == 1: - return (1, "CRIT - Status: unknown") - elif status == 2: - return (0, "OK - Status: Running (active)") - elif status == 3: - return (0, "OK - Status: Ready (not active)") - elif status == 4: - return (2, "WARN - Status: Held in reset") - elif status == 5: - return (0, "WARN - Status: Running at full speed (fans only)") - elif status == 6: - return (1, "CRIT - Status: Down/Offline (PSUs only)") - elif status == 7: - return (0, "OK - Status: Standby") - else: - return (3, "UNKNOWN") - return (3, "UNKNOWN") - -check_info["juniper_chassis"] = { - "check_function" : check_juniper_chassis, - "inventory_function" : inventory_juniper_chassis, - "service_description" : "Chassis: %s", - "has_perfdata" : False, - "snmp_scan_function" : lambda oid: "Juniper" in oid(".1.3.6.1.4.1.2636.3.1.2.0"), - "snmp_info" : ( ".1.3.6.1.4.1.2636.3.1.13.1", [5, 6]), -} diff --git a/check_mk-juniper_extensions/juniper_checks-1.1.mkp b/check_mk-juniper_extensions/juniper_checks-1.1.mkp deleted file mode 100644 index 90b2a0b95c70a3290bdc02d92729848c8e6fd81e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2403 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 crit: - return (2, "CRIT" + infotext + " (critical at %d%%)" % crit, perfdata) - elif util >= warn: - return (1, "WARN" + infotext + " (warning at %d%%)" % warn, perfdata) - else: - return (0, "OK" + infotext, perfdata) - return (3, "UNKNOWN") - -check_info["juniper_cpu"] = { - "check_function" : check_juniper_cpu, - "inventory_function" : inventory_juniper_cpu, - "service_description" : "CPU Utilization: ", - "has_perfdata" : True, - "group" : "cpu_utilization", - "snmp_scan_function" : lambda oid: "Juniper" in oid(".1.3.6.1.4.1.2636.3.1.2.0"), - "snmp_info" : ( ".1.3.6.1.4.1.2636.3.1.13.1", [ 5, 8 ] ), - "default_levels_variable" : "juniper_cpu_default_levels", -} - diff --git a/check_mk-juniper_extensions/juniper_mem b/check_mk-juniper_extensions/juniper_mem deleted file mode 100644 index 56d444a..0000000 --- a/check_mk-juniper_extensions/juniper_mem +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/python -juniper_mem_default_levels = (80.0, 90.0) -fruTypesMem = ['Routing Engine', 'FPC', 'PIC'] - -def inventory_juniper_mem(info): - inventory = [] - for line in info: - for fru in fruTypesMem: - if line[0].startswith(fru): - inventory.append((line[0], juniper_mem_default_levels)) - return inventory - -def check_juniper_mem(item, params, info): - for descr, buffer in info: - if item == descr: - warn, crit = params - util = float(buffer) - infotext = " - %2.1f%% Utilization" % util - perfdata = [("Memory Usage (percent)", util, warn, crit, 0, 100)] - if util >= crit: - return (2, "CRIT" + infotext + " (critical at %d%%)" % crit, perfdata) - elif util >= warn: - return (1, "WARN" + infotext + " (warning at %d%%)" % warn, perfdata) - else: - return (0, "OK" + infotext, perfdata) - return (3, "UNKNOWN") - -check_info["juniper_mem"] = { - "check_function" : check_juniper_mem, - "inventory_function" : inventory_juniper_mem, - "service_description" : "Memory Usage", - "has_perfdata" : True, - "snmp_scan_function" : lambda oid: "Juniper" in oid(".1.3.6.1.4.1.2636.3.1.2.0"), - "snmp_info" : ( ".1.3.6.1.4.1.2636.3.1.13.1", ["5", "11"]), -} diff --git a/check_mk-juniper_extensions/juniper_processes b/check_mk-juniper_extensions/juniper_processes deleted file mode 100644 index d2c30c4..0000000 --- a/check_mk-juniper_extensions/juniper_processes +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/python - -def inventory_juniper_processes(info): - inventory = [] - for line in info: - if line[0].startswith("mgd"): - continue - elif line[0].startswith("sshd"): - continue - else: - inventory.append((line[0], None)) - return inventory - -def check_juniper_processes(item, params, info): - for procName, procUsage in info: - if item == procName: - usage = int(procUsage) / 8 - perfdata = [ ( "Memory (kB)", usage) ] - return (0, "OK: %s kB Used" % usage, perfdata) - return (3, "UNKNOWN") - -check_info["juniper_processes"] = { - "check_function" : check_juniper_processes, - "inventory_function" : inventory_juniper_processes, - "service_description" : "Process", - "has_perfdata" : True, - "snmp_scan_function" : lambda oid: "Juniper" in oid(".1.3.6.1.4.1.2636.3.1.2.0"), - "snmp_info" : ( ".1.3.6.1.2.1.54.1.2.3.1", [7, 10]), -} diff --git a/check_mk-juniper_extensions/juniper_temp b/check_mk-juniper_extensions/juniper_temp deleted file mode 100644 index 08d9d52..0000000 --- a/check_mk-juniper_extensions/juniper_temp +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/python - -# OIDs used: -# JUNIPER-MIB::jnxOperatingDescr .1.3.6.1.4.1.2636.3.1.13.1.5 -# JUNIPER-MIB::jnxOperatingTemp .1.3.6.1.4.1.2636.3.1.13.1.7 -# JUNIPER-MIB::jnxOperatingDescr .1.3.6.1.4.1.2636.3.1.2.0 - -# Author: Mike Julian - mike@mikejulian.com - http://mikejulian.com - - -factory_settings["juniper_temp_default_levels"] = { - "levels": (25, 28) -} - - -def inventory_juniper_temp(info): - frus = ['CB', 'Routing Engine', 'FPC', 'Bottom Tray Fan', 'Bottom Fan Tray', 'Top Tray Fan', 'Top Fan Tray', 'PEM'] - inventory = [] - for line in info: - # Exclude interface cards, as they have no temp sensors - for fru in frus: - if line[0].startswith(fru): - inventory.append((line[0], juniper_temp_default_levels)) - return inventory - -def check_juniper_temp(item, params, info): - for descr, temp in info: - warn,crit = params["levels"] - if item == descr: - temp = int(temp) - perfdata = [ ( "temp", temp) ] - if temp >= crit: - return (2, "CRIT - Temperature above threshold (%s): %sC" % (crit,temp), perfdata) - elif temp >= warn: - return (1, "WARN - Temperature above threshold (%s): %sC" % (warn,temp), perfdata) - else: - return (0, "OK - Temperature: %sC" % temp, perfdata) - return (3, "UNKNOWN") - -check_info["juniper_temp"] = { - "check_function" : check_juniper_temp, - "inventory_function" : inventory_juniper_temp, - "service_description" : "Temp: %s", - "has_perfdata" : True, - "snmp_scan_function" : lambda oid: "Juniper" in oid(".1.3.6.1.4.1.2636.3.1.2.0"), - "snmp_info" : ( ".1.3.6.1.4.1.2636.3.1.13.1", [5, 7]), - "group" : "temperature", - "includes" : [ "temperature.include" ], - "default_levels_variable" : "juniper_temp_default_levels" -} diff --git a/juniper b/juniper index 0a56e2b..96001a4 160000 --- a/juniper +++ b/juniper @@ -1 +1 @@ -Subproject commit 0a56e2b3a48cb8751861bead181fe59fd90c2b62 +Subproject commit 96001a48bf6b60347e7370b5b34b7368fd2973e9 From e695bd9ef0de6549494c7d53bda7ad1a636bd04e Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 6 Aug 2020 19:25:01 +0300 Subject: [PATCH 13/35] added Pool status to agent output --- hitachi-vsp/agent_hitachivsp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/hitachi-vsp/agent_hitachivsp b/hitachi-vsp/agent_hitachivsp index 4e4d13f..23e0eea 100755 --- a/hitachi-vsp/agent_hitachivsp +++ b/hitachi-vsp/agent_hitachivsp @@ -113,13 +113,12 @@ def process_storage_pools (): raw_json = get_storage_pools() full_data = json.loads(raw_json) data = full_data["data"] - output("poolID\tpoolType\tpoolName\ttotalPhysicalCapacity\ttotalPoolCapacity\tavailableVolumeCapacity\tusedCapacityRate") + output("poolID\tpoolType\tpoolName\ttotalPhysicalCapacity\ttotalPoolCapacity\tavailableVolumeCapacity\tusedCapacityRate\tpoolStatus") for pool in data: - if pool["poolType"] == "HTI": - output("%s\t%s\t%s\t%s\t%s\t%s\t%s" % (pool["poolId"], pool["poolType"], pool["poolName"], \ - pool["totalPhysicalCapacity"], pool["totalPoolCapacity"], \ - pool["availableVolumeCapacity"], pool["usedCapacityRate"]) ) - + output("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % (pool["poolId"], pool["poolType"], pool["poolName"], + pool["totalPhysicalCapacity"], pool["totalPoolCapacity"], + pool["availableVolumeCapacity"], pool["usedCapacityRate"], + pool["poolStatus"],)) def process_storage_info(): output("<<>>") From 0e969cb4060cc95e28b51c84fa8398f61d67e81d Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 6 Aug 2020 19:36:11 +0300 Subject: [PATCH 14/35] added CLPR information --- hitachi-vsp/agent_hitachivsp | 40 +++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/hitachi-vsp/agent_hitachivsp b/hitachi-vsp/agent_hitachivsp index 23e0eea..01effdd 100755 --- a/hitachi-vsp/agent_hitachivsp +++ b/hitachi-vsp/agent_hitachivsp @@ -108,6 +108,27 @@ def get_storage_pools(): url = "https://%(address)s/ConfigurationManager/v1/objects/pools" % args_dict return query(url) + +def get_storage_clprs(): + if opt_demo: + raw_json = storage_clprs + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/clprs" % args_dict + return query(url) + + +def process_storage_clprs(): + output("<<>>") + raw_json = get_storage_clprs() + full_data = json.loads(raw_json) + data = full_data["data"] + output("clprId\tcacheMemoryCapacity\tcacheMemoryUsedCapacity\twritePendingDataCapacity\t" + "writePendingDataCapacity\tcacheUsageRate") + for clpr in data: + output("%s\t%s\t%s\t%s\t%s" % (clpr["clprId"], clpr["cacheMemoryCapacity"], clpr["cacheMemoryUsedCapacity"], + clpr["writePendingDataCapacity"], clpr["cacheUsageRate"])) + + def process_storage_pools (): output("<<>>") raw_json = get_storage_pools() @@ -130,7 +151,7 @@ def main(): try: process_storage_info() process_storage_pools() - + process_storage_clprs() sys.stdout.write("\n".join(output_lines) + "\n") except Exception as e: sys.stderr.write("Connection error: %s" % e) @@ -152,6 +173,23 @@ storage_info = """{ "isSecure": true }""" +storage_clprs="""{ + "data": [ + { + "clprId": 0, + "clprName": "CLPR0", + "cacheMemoryCapacity": 924672, + "cacheMemoryUsedCapacity": 901454, + "writePendingDataCapacity": 44959, + "sideFilesCapacity": 0, + "cacheUsageRate": 99, + "writePendingDataRate": 5, + "sideFilesUsageRate": 0 + } + ] +}""" + + storage_pools = """ { "data" : [ { From d26ddd9ee998c04b3729ac1dad5ae8587b713767 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 6 Aug 2020 20:41:53 +0300 Subject: [PATCH 15/35] added ldev monitoring in agent --- hitachi-vsp/agent_hitachivsp | 265 +++++++++++++++++++++++++++++++++++ 1 file changed, 265 insertions(+) diff --git a/hitachi-vsp/agent_hitachivsp b/hitachi-vsp/agent_hitachivsp index 01effdd..13f198a 100755 --- a/hitachi-vsp/agent_hitachivsp +++ b/hitachi-vsp/agent_hitachivsp @@ -117,6 +117,26 @@ def get_storage_clprs(): return query(url) +def get_storage_ldevs(): + if opt_demo: + raw_json = storage_ldevs + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/ldevs" % args_dict + return query(url) + + +def process_storage_ldevs(): + output("<<>>") + raw_json = get_storage_ldevs() + full_data = json.loads(raw_json) + data = full_data["data"] + output("ldevId\tclprId\tbyteFormatCapacity\tblockCapacity\t" + "label\tstatus") + for ldev in data: + output("%s\t%s\t%s\t%s\t%s\t%s" % (ldev["ldevId"], ldev["clprId"], ldev["byteFormatCapacity"], + ldev["blockCapacity"], ldev["label"], ldev["status"])) + + def process_storage_clprs(): output("<<>>") raw_json = get_storage_clprs() @@ -141,6 +161,7 @@ def process_storage_pools (): pool["availableVolumeCapacity"], pool["usedCapacityRate"], pool["poolStatus"],)) + def process_storage_info(): output("<<>>") raw_json = get_storage_info() @@ -152,6 +173,7 @@ def main(): process_storage_info() process_storage_pools() process_storage_clprs() + process_storage_ldevs() sys.stdout.write("\n".join(output_lines) + "\n") except Exception as e: sys.stderr.write("Connection error: %s" % e) @@ -294,5 +316,248 @@ storage_pools = """ } ] }""" +storage_ldevs = """ { + "data" : [ { + "ldevId" : 0, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "500.00 G", + "blockCapacity" : 1048576000, + "numOfPorts" : 4, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 1 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 1 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 1 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 1 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vg_test0", + "status" : "NML", + "mpBladeId" : 0, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 0, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + }, { + "ldevId" : 1, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "400.00 G", + "blockCapacity" : 838860800, + "numOfPorts" : 4, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 2 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 2 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 2 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 2 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vg_test1", + "status" : "NML", + "mpBladeId" : 1, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 0, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + }, { + "ldevId" : 2, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "10.00 T", + "blockCapacity" : 21474836480, + "numOfPorts" : 52, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 6 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 6 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 6 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 6 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vmware_legacy_ssd0", + "status" : "NML", + "mpBladeId" : 0, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 9604460544, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + }, { + "ldevId" : 3, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "10.00 T", + "blockCapacity" : 21474836480, + "numOfPorts" : 52, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 5 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 5 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 5 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 5 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vmware_legacy_ssd1", + "status" : "NML", + "mpBladeId" : 1, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 7754084352, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + }, { + "ldevId" : 4, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "5.00 T", + "blockCapacity" : 10737418240, + "numOfPorts" : 52, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 4 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 4 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 4 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 4 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vmware_legacy_ssd2", + "status" : "NML", + "mpBladeId" : 0, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 5074944, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + }, { + "ldevId" : 5, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "5.00 T", + "blockCapacity" : 10737418240, + "numOfPorts" : 52, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 3 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 3 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 3 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 3 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vmware_legacy_ssd3", + "status" : "NML", + "mpBladeId" : 1, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 1014042624, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + } ] +}""" if __name__ == "__main__": main() From 3a57076329c4d58ce0398dadaa5d8af561e03162 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Tue, 18 Aug 2020 13:42:33 +0300 Subject: [PATCH 16/35] hitachi_storage_powerConsumption hitachi_storage_ctls hitachi_storage_cache_memories hitachi_storage_channel_board hitachi_storage_cache_flash_memories hitachi_storage_disk_boards hitachi_storage_sfps hitachi_storage_backup_modules hitachi_storage_drive_boxes_drives hitachi_storage_drive_boxes_encshitachi_storage_drive_boxes_dbps hitachi_storage_parity_groups --- hitachi-vsp/agent_hitachivsp | 823 +++++++++++++++++++++++++++++++++++ 1 file changed, 823 insertions(+) diff --git a/hitachi-vsp/agent_hitachivsp b/hitachi-vsp/agent_hitachivsp index 13f198a..d09b8ab 100755 --- a/hitachi-vsp/agent_hitachivsp +++ b/hitachi-vsp/agent_hitachivsp @@ -124,6 +124,114 @@ def get_storage_ldevs(): url = "https://%(address)s/ConfigurationManager/v1/objects/ldevs" % args_dict return query(url) +def get_storage_parity_groups(): + if opt_demo: + raw_json = storage_parity_groups + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/parity-groups" %args_dict + return query(url) + + +def get_storage_hardware_status(): + if opt_demo: + raw_json = storage_hardware_status + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/components/instance" %args_dict + return query(url) + + +def process_storage_hardware_status(): + raw_json = get_storage_hardware_status() + full_data = json.loads(raw_json) + system = full_data["system"] + output("<<>>") + output("powerConsumption\t%s" % (system["powerConsumption"])) + ctls = full_data["ctls"] + output("<<>>") + output("location\tstatus\ttemperature\ttemperatureStatus\tcharge") + for ctl in ctls: + output("%s\t%s\t%s\t%s\t%s" % ( ctl["location"], ctl["status"], ctl["temperature"], ctl["temperatureStatus"], + ctl["charge"] )) + + cachememories = full_data["cacheMemories"] + output("<<>>") + output("location\tstatus\tcacheSize") + for cachemem in cachememories: + output("%s\t%s\t%s" % (cachemem["location"], cachemem["status"], cachemem["cacheSize"])) + + channelsboards=full_data["chbs"] + output("<<>>") + output("location\tstatus\ttype") + for channelboard in channelsboards: + output("%s\t%s\t%s" % (channelboard["location"], channelboard["status"], channelboard["type"])) + + cacheFlashMemories=full_data["chbs"] + output("<<>>") + output("location\tstatus\ttype") + for cacheFlashMemory in cacheFlashMemories: + output("%s\t%s\t%s" % (cacheFlashMemory["location"], cacheFlashMemory["status"], cacheFlashMemory["type"])) + + disk_boards = full_data["dkbs"] + output("<<>>") + output("location\tstatus\ttype") + for dkb in disk_boards: + output("%s\t%s\t%s" % (dkb["location"], dkb["status"], dkb["type"])) + + sfps = full_data["sfps"] + output("<<>>") + output("portId\tstatus\ttype\tspeed\tportCondition") + for sfp in sfps: + output("%s\t%s\t%s\t%s\t%s" % (sfp["portId"], sfp["status"], sfp["type"], sfp["speed"], sfp["portCondition"] )) + + backup_modules = full_data["bkmfs"] + output("<<>>") + output("location\tstatus\tbat_location\tbat_status\tbat_life") + for backup_module in backup_modules: + if backup_module["batteries"]: + battery = backup_module["batteries"][0] + output("%s\t%s\t%s\t%s\t%s" % (backup_module["location"], backup_module["status"], + battery["location"], + battery["status"], + battery["life"])) + else: + output("%s\t%s\t\t\t" % (backup_module["location"], backup_module["status"])) + + driveboxes = full_data["driveBoxes"] + output("<<>>") + output("drivebox_location\tdrive_location\tdrive_status\tdrive_recomend_Replacement") + for drivebox in driveboxes: + drives=drivebox["drives"] + for drive in drives: + output("%s\t%s\t%s\t%s" % (drivebox["location"], drive["location"], drive["status"], + drive["recomendReplacement"])) + + output("<<>>") + output("drivebox_location\tenc_location\tenc_status") + for drivebox in driveboxes: + encs=drivebox["encs"] + for enc in encs: + output("%s\t%s\t%s" % (drivebox["location"], enc["location"], enc["status"] )) + + output("<<>>") + output("drivebox_location\tdbps_location\tdbps_status") + for drivebox in driveboxes: + dbps=drivebox["dbps"] + for power_supply in dbps: + output("%s\t%s\t%s" % (drivebox["location"], power_supply["location"], power_supply["status"] )) + +def process_storage_parity_groups(): + output("<<>>") + raw_json = get_storage_parity_groups() + full_data = json.loads(raw_json) + data = full_data["data"] + output("parityGroupId\tnumOfLdevs\tusedCapacityRate\tclprId\tavailableVolumeCapacity\t" + "totalCapacity\tphysicalCapacity") + for parity_group in data: + output("%s\t%s\t%s\t%s\t%s\t%s\t%s" % (parity_group["parityGroupId"], parity_group["numOfLdevs"], + parity_group["usedCapacityRate"], parity_group["clprId"], + parity_group["availableVolumeCapacity"], parity_group["totalCapacity"], + parity_group["physicalCapacity"] )) + def process_storage_ldevs(): output("<<>>") @@ -174,6 +282,8 @@ def main(): process_storage_pools() process_storage_clprs() process_storage_ldevs() + process_storage_parity_groups() + process_storage_hardware_status() sys.stdout.write("\n".join(output_lines) + "\n") except Exception as e: sys.stderr.write("Connection error: %s" % e) @@ -212,6 +322,624 @@ storage_clprs="""{ }""" +storage_hardware_status = """{ + "system": { + "powerConsumption": 1357 + }, + "ctls": [ + { + "location": "CTL1", + "status": "Normal", + "temperature": 23, + "temperatureStatus": "Normal", + "charge": 100, + "type": "-" + }, + { + "location": "CTL2", + "status": "Normal", + "temperature": 23, + "temperatureStatus": "Normal", + "charge": 100, + "type": "-" + } + ], + "cacheMemories": [ + { + "location": "CTL1 CMG0", + "status": "Normal", + "cacheSize": 256 + }, + { + "location": "CTL1 CMG1", + "status": "Normal", + "cacheSize": 256 + }, + { + "location": "CTL2 CMG0", + "status": "Normal", + "cacheSize": 256 + }, + { + "location": "CTL2 CMG1", + "status": "Normal", + "cacheSize": 256 + } + ], + "chbs": [ + { + "location": "CHB-1A", + "status": "Normal", + "type": "32G Ready 4Port FC" + }, + { + "location": "CHB-1B", + "status": "Normal", + "type": "32G Ready 4Port FC" + }, + { + "location": "CHB-2A", + "status": "Normal", + "type": "32G Ready 4Port FC" + }, + { + "location": "CHB-2B", + "status": "Normal", + "type": "32G Ready 4Port FC" + } + ], + "cacheFlashMemories": [ + { + "location": "CFM-10", + "status": "Normal", + "type": "BM45" + }, + { + "location": "CFM-11", + "status": "Normal", + "type": "BM45" + }, + { + "location": "CFM-20", + "status": "Normal", + "type": "BM45" + }, + { + "location": "CFM-21", + "status": "Normal", + "type": "BM45" + } + ], + "dkbs": [ + { + "location": "DKB-1G", + "status": "Normal", + "type": "Disk Board" + }, + { + "location": "DKB-1H", + "status": "Normal", + "type": "Disk Board" + }, + { + "location": "DKB-2G", + "status": "Normal", + "type": "Disk Board" + }, + { + "location": "DKB-2H", + "status": "Normal", + "type": "Disk Board" + } + ], + "lanbs": [ + { + "location": "LAN1", + "status": "Normal" + }, + { + "location": "LAN2", + "status": "Normal" + } + ], + "sfps": [ + { + "portId": "1A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "3A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "5A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "7A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "1B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "3B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "5B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "7B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "2A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "4A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "6A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "8A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "2B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "4B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "6B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "8B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + } + ], + "bkmfs": [ + { + "location": "BKMF-10", + "status": "Normal", + "batteries": [] + }, + { + "location": "BKMF-11", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B11", + "status": "Normal", + "life": 90 + } + ] + }, + { + "location": "BKMF-12", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B12", + "status": "Normal", + "life": 90 + } + ] + }, + { + "location": "BKMF-13", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B13", + "status": "Normal", + "life": 90 + } + ] + }, + { + "location": "BKMF-20", + "status": "Normal", + "batteries": [] + }, + { + "location": "BKMF-21", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B21", + "status": "Normal", + "life": 90 + } + ] + }, + { + "location": "BKMF-22", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B22", + "status": "Normal", + "life": 90 + } + ] + }, + { + "location": "BKMF-23", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B23", + "status": "Normal", + "life": 90 + } + ] + } + ], + "dkcpss": [ + { + "location": "DKCPS1", + "status": "Normal" + }, + { + "location": "DKCPS2", + "status": "Normal" + } + ], + "driveBoxes": [ + { + "location": "DB-00", + "type": "DBF", + "led": "OFF", + "drives": [ + { + "location": "HDD00-00", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-01", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-02", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-03", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-04", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-05", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-11", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "Spare", + "recomendReplacement": 0 + } + ], + "encs": [ + { + "location": "ENC00-1", + "status": "Normal" + }, + { + "location": "ENC00-2", + "status": "Normal" + } + ], + "dbps": [ + { + "location": "DBPS00-1", + "status": "Normal" + }, + { + "location": "DBPS00-2", + "status": "Normal" + } + ] + }, + { + "location": "DB-01", + "type": "DBF", + "led": "OFF", + "drives": [ + { + "location": "HDD01-00", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD01-01", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD01-02", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD01-03", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD01-04", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD01-05", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + } + ], + "encs": [ + { + "location": "ENC01-1", + "status": "Normal" + }, + { + "location": "ENC01-2", + "status": "Normal" + } + ], + "dbps": [ + { + "location": "DBPS01-1", + "status": "Normal" + }, + { + "location": "DBPS01-2", + "status": "Normal" + } + ] + }, + { + "location": "DB-02", + "type": "DBF", + "led": "OFF", + "drives": [ + { + "location": "HDD02-00", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD02-01", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD02-02", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD02-03", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD02-04", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD02-05", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + } + ], + "encs": [ + { + "location": "ENC02-1", + "status": "Normal" + }, + { + "location": "ENC02-2", + "status": "Normal" + } + ], + "dbps": [ + { + "location": "DBPS02-1", + "status": "Normal" + }, + { + "location": "DBPS02-2", + "status": "Normal" + } + ] + }, + { + "location": "DB-03", + "type": "DBF", + "led": "OFF", + "drives": [ + { + "location": "HDD03-00", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD03-01", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD03-02", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD03-03", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD03-04", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD03-05", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + } + ], + "encs": [ + { + "location": "ENC03-1", + "status": "Normal" + }, + { + "location": "ENC03-2", + "status": "Normal" + } + ], + "dbps": [ + { + "location": "DBPS03-1", + "status": "Normal" + }, + { + "location": "DBPS03-2", + "status": "Normal" + } + ] + } + ], + "fans": [], + "upsMode": "Standard Mode", + "pecbs": [], + "chbb": {}, + "pcps": [], + "swpks": [], + "chbbfans": [], + "chbbpss": [] +}""" + + storage_pools = """ { "data" : [ { @@ -559,5 +1287,100 @@ storage_ldevs = """ { "isAluaEnabled" : false } ] }""" + +storage_parity_groups = """ { + "data": [ + { + "parityGroupId": "1-1", + "numOfLdevs": 26, + "usedCapacityRate": 44, + "availableVolumeCapacity": 87245, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 91483790592 + }, + { + "parityGroupId": "1-2", + "numOfLdevs": 51, + "usedCapacityRate": 93, + "availableVolumeCapacity": 10448, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 10955611392 + }, + { + "parityGroupId": "1-3", + "numOfLdevs": 25, + "usedCapacityRate": 42, + "availableVolumeCapacity": 90317, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 94704917760 + }, + { + "parityGroupId": "1-4", + "numOfLdevs": 52, + "usedCapacityRate": 95, + "availableVolumeCapacity": 7376, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 7734484224 + }, + { + "parityGroupId": "1-5", + "numOfLdevs": 54, + "usedCapacityRate": 99, + "availableVolumeCapacity": 1232, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 1292229888 + }, + { + "parityGroupId": "1-6", + "numOfLdevs": 25, + "usedCapacityRate": 42, + "availableVolumeCapacity": 90317, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 94704917760 + } + ] +}""" if __name__ == "__main__": main() From 4c617f47636eafb0ee822487f5d583508629a850 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Tue, 18 Aug 2020 14:20:24 +0300 Subject: [PATCH 17/35] corrected cacheflashmemories agent --- hitachi-vsp/agent_hitachivsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hitachi-vsp/agent_hitachivsp b/hitachi-vsp/agent_hitachivsp index d09b8ab..0ed8530 100755 --- a/hitachi-vsp/agent_hitachivsp +++ b/hitachi-vsp/agent_hitachivsp @@ -165,7 +165,7 @@ def process_storage_hardware_status(): for channelboard in channelsboards: output("%s\t%s\t%s" % (channelboard["location"], channelboard["status"], channelboard["type"])) - cacheFlashMemories=full_data["chbs"] + cacheFlashMemories=full_data["cacheFlashMemories"] output("<<>>") output("location\tstatus\ttype") for cacheFlashMemory in cacheFlashMemories: From cce6c42c87cd1f15c322af31ff0567cdca721cdd Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Sun, 30 Aug 2020 13:08:23 +0300 Subject: [PATCH 18/35] python3->2 ; create corresponding folders --- .../check_mk/agents/special/agent_hitachivsp | 1387 +++++++++++++++++ .../share/check_mk/checks/agent_hitachivsp | 42 + 2 files changed, 1429 insertions(+) create mode 100755 hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp create mode 100644 hitachi-vsp/share/check_mk/checks/agent_hitachivsp diff --git a/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp b/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp new file mode 100755 index 0000000..887482f --- /dev/null +++ b/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp @@ -0,0 +1,1387 @@ +#!/usr/bin/env python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +import sys +import getopt +import pprint +import json +#from requests.packages.urllib3.exceptions import InsecureRequestWarning + + +def usage(): + sys.stderr.write("""Check_MK Hitachi VSP + +USAGE: agent_hitachivsp [OPTIONS] HOST + +OPTIONS: + -h, --help Show this help message and exit + --address Host address + --user Username + --password Password + --no-cert-check Disable certificate check +""") + sys.exit(1) + + +short_options = "h" +long_options = ["help", "username=", "password=", "address=", "demo", "no-cert-check"] + + +try: + opts, args = getopt.getopt(sys.argv[1:], short_options, long_options) +except getopt.GetoptError as err: + sys.stderr.write("%s\n" % err) + sys.exit(1) + + +opt_demo = True +opt_cert = True +args_dict = {} + + +for o,a in opts: + if o in [ "--address" ]: + args_dict["address"] = a + elif o in [ "--username" ]: + args_dict["username"] = a + elif o in [ "--password" ]: + args_dict["password"] = a + elif o in [ "--demo" ]: + opt_demo = True + elif o in [ "--no-cert-check" ]: + opt_cert = False + elif o in [ "-h", "--help" ]: + usage() + + +def query(url): + if opt_cert == False: + requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + response = requests.get(url, auth = (args_dict["username"], args_dict["password"]), verify=opt_cert) + raw_json = response.text + return raw_json + + +output_lines = [] +def output(line): +###this is working correctly only on python3. not needed for python2 +# if type(line) not in [str]: +# output_lines.append(pprint.pprint(line)) +# else: + output_lines.append(line) + + +def get_storage_info(): + if opt_demo: + raw_json = storage_info + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/storages/instance" % args_dict + return query(url) + + +def get_storage_pools(): + if opt_demo: + raw_json = storage_pools + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/pools" % args_dict + return query(url) + + +def get_storage_clprs(): + if opt_demo: + raw_json = storage_clprs + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/clprs" % args_dict + return query(url) + + +def get_storage_ldevs(): + if opt_demo: + raw_json = storage_ldevs + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/ldevs" % args_dict + return query(url) + +def get_storage_parity_groups(): + if opt_demo: + raw_json = storage_parity_groups + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/parity-groups" %args_dict + return query(url) + + +def get_storage_hardware_status(): + if opt_demo: + raw_json = storage_hardware_status + return raw_json + url = "https://%(address)s/ConfigurationManager/v1/objects/components/instance" %args_dict + return query(url) + + +def process_storage_hardware_status(): + raw_json = get_storage_hardware_status() + full_data = json.loads(raw_json) + system = full_data["system"] + output("<<>>") + output("powerConsumption\t%s" % (system["powerConsumption"])) + ctls = full_data["ctls"] + output("<<>>") + output("location\tstatus\ttemperature\ttemperatureStatus\tcharge") + for ctl in ctls: + output("%s\t%s\t%s\t%s\t%s" % ( ctl["location"], ctl["status"], ctl["temperature"], ctl["temperatureStatus"], + ctl["charge"] )) + + cachememories = full_data["cacheMemories"] + output("<<>>") + output("location\tstatus\tcacheSize") + for cachemem in cachememories: + output("%s\t%s\t%s" % (cachemem["location"], cachemem["status"], cachemem["cacheSize"])) + + channelsboards=full_data["chbs"] + output("<<>>") + output("location\tstatus\ttype") + for channelboard in channelsboards: + output("%s\t%s\t%s" % (channelboard["location"], channelboard["status"], channelboard["type"])) + + cacheFlashMemories=full_data["cacheFlashMemories"] + output("<<>>") + output("location\tstatus\ttype") + for cacheFlashMemory in cacheFlashMemories: + output("%s\t%s\t%s" % (cacheFlashMemory["location"], cacheFlashMemory["status"], cacheFlashMemory["type"])) + + disk_boards = full_data["dkbs"] + output("<<>>") + output("location\tstatus\ttype") + for dkb in disk_boards: + output("%s\t%s\t%s" % (dkb["location"], dkb["status"], dkb["type"])) + + sfps = full_data["sfps"] + output("<<>>") + output("portId\tstatus\ttype\tspeed\tportCondition") + for sfp in sfps: + output("%s\t%s\t%s\t%s\t%s" % (sfp["portId"], sfp["status"], sfp["type"], sfp["speed"], sfp["portCondition"] )) + + backup_modules = full_data["bkmfs"] + output("<<>>") + output("location\tstatus\tbat_location\tbat_status\tbat_life") + for backup_module in backup_modules: + if backup_module["batteries"]: + battery = backup_module["batteries"][0] + output("%s\t%s\t%s\t%s\t%s" % (backup_module["location"], backup_module["status"], + battery["location"], + battery["status"], + battery["life"])) + else: + output("%s\t%s\t\t\t" % (backup_module["location"], backup_module["status"])) + + driveboxes = full_data["driveBoxes"] + output("<<>>") + output("drivebox_location\tdrive_location\tdrive_status\tdrive_recomend_Replacement") + for drivebox in driveboxes: + drives=drivebox["drives"] + for drive in drives: + output("%s\t%s\t%s\t%s" % (drivebox["location"], drive["location"], drive["status"], + drive["recomendReplacement"])) + + output("<<>>") + output("drivebox_location\tenc_location\tenc_status") + for drivebox in driveboxes: + encs=drivebox["encs"] + for enc in encs: + output("%s\t%s\t%s" % (drivebox["location"], enc["location"], enc["status"] )) + + output("<<>>") + output("drivebox_location\tdbps_location\tdbps_status") + for drivebox in driveboxes: + dbps=drivebox["dbps"] + for power_supply in dbps: + output("%s\t%s\t%s" % (drivebox["location"], power_supply["location"], power_supply["status"] )) + +def process_storage_parity_groups(): + output("<<>>") + raw_json = get_storage_parity_groups() + full_data = json.loads(raw_json) + data = full_data["data"] + output("parityGroupId\tnumOfLdevs\tusedCapacityRate\tclprId\tavailableVolumeCapacity\t" + "totalCapacity\tphysicalCapacity") + for parity_group in data: + output("%s\t%s\t%s\t%s\t%s\t%s\t%s" % (parity_group["parityGroupId"], parity_group["numOfLdevs"], + parity_group["usedCapacityRate"], parity_group["clprId"], + parity_group["availableVolumeCapacity"], parity_group["totalCapacity"], + parity_group["physicalCapacity"] )) + + +def process_storage_ldevs(): + output("<<>>") + raw_json = get_storage_ldevs() + full_data = json.loads(raw_json) + data = full_data["data"] + output("ldevId\tclprId\tbyteFormatCapacity\tblockCapacity\t" + "label\tstatus") + for ldev in data: + output("%s\t%s\t%s\t%s\t%s\t%s" % (ldev["ldevId"], ldev["clprId"], ldev["byteFormatCapacity"], + ldev["blockCapacity"], ldev["label"], ldev["status"])) + + +def process_storage_clprs(): + output("<<>>") + raw_json = get_storage_clprs() + full_data = json.loads(raw_json) + data = full_data["data"] + output("clprId\tcacheMemoryCapacity\tcacheMemoryUsedCapacity\twritePendingDataCapacity\t" + "writePendingDataCapacity\tcacheUsageRate") + for clpr in data: + output("%s\t%s\t%s\t%s\t%s" % (clpr["clprId"], clpr["cacheMemoryCapacity"], clpr["cacheMemoryUsedCapacity"], + clpr["writePendingDataCapacity"], clpr["cacheUsageRate"])) + + +def process_storage_pools (): + output("<<>>") + raw_json = get_storage_pools() + full_data = json.loads(raw_json) + data = full_data["data"] + output("poolID\tpoolType\tpoolName\ttotalPhysicalCapacity\ttotalPoolCapacity\tavailableVolumeCapacity\tusedCapacityRate\tpoolStatus") + for pool in data: + output("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % (pool["poolId"], pool["poolType"], pool["poolName"], + pool["totalPhysicalCapacity"], pool["totalPoolCapacity"], + pool["availableVolumeCapacity"], pool["usedCapacityRate"], + pool["poolStatus"],)) + + +def process_storage_info(): + output("<<>>") + raw_json = get_storage_info() + data = json.loads(raw_json) + output("%s\t%s\t%s\t%s" % (data["serialNumber"], data["storageDeviceId"], data["dkcMicroVersion"], data["model"])) + +def main(): + try: + process_storage_info() + process_storage_pools() + process_storage_clprs() + process_storage_ldevs() + process_storage_parity_groups() + process_storage_hardware_status() + sys.stdout.write("\n".join(output_lines) + "\n") + except Exception as e: + sys.stderr.write("Connection error: %s" % e) + sys.exit(1) + + +storage_info = """{ + "storageDeviceId": "666666666666", + "model": "VSP G700", + "serialNumber": 666666, + "ctl1Ip": "192.168.223.69", + "ctl2Ip": "192.168.223.70", + "dkcMicroVersion": "88-04-03/00", + "communicationModes": [ + { + "communicationMode": "lanConnectionMode" + } + ], + "isSecure": true +}""" + +storage_clprs="""{ + "data": [ + { + "clprId": 0, + "clprName": "CLPR0", + "cacheMemoryCapacity": 924672, + "cacheMemoryUsedCapacity": 901454, + "writePendingDataCapacity": 44959, + "sideFilesCapacity": 0, + "cacheUsageRate": 99, + "writePendingDataRate": 5, + "sideFilesUsageRate": 0 + } + ] +}""" + + +storage_hardware_status = """{ + "system": { + "powerConsumption": 1357 + }, + "ctls": [ + { + "location": "CTL1", + "status": "Normal", + "temperature": 23, + "temperatureStatus": "Normal", + "charge": 100, + "type": "-" + }, + { + "location": "CTL2", + "status": "Normal", + "temperature": 23, + "temperatureStatus": "Normal", + "charge": 100, + "type": "-" + } + ], + "cacheMemories": [ + { + "location": "CTL1 CMG0", + "status": "Normal", + "cacheSize": 256 + }, + { + "location": "CTL1 CMG1", + "status": "Normal", + "cacheSize": 256 + }, + { + "location": "CTL2 CMG0", + "status": "Normal", + "cacheSize": 256 + }, + { + "location": "CTL2 CMG1", + "status": "Normal", + "cacheSize": 256 + } + ], + "chbs": [ + { + "location": "CHB-1A", + "status": "Normal", + "type": "32G Ready 4Port FC" + }, + { + "location": "CHB-1B", + "status": "Normal", + "type": "32G Ready 4Port FC" + }, + { + "location": "CHB-2A", + "status": "Normal", + "type": "32G Ready 4Port FC" + }, + { + "location": "CHB-2B", + "status": "Normal", + "type": "32G Ready 4Port FC" + } + ], + "cacheFlashMemories": [ + { + "location": "CFM-10", + "status": "Normal", + "type": "BM45" + }, + { + "location": "CFM-11", + "status": "Normal", + "type": "BM45" + }, + { + "location": "CFM-20", + "status": "Normal", + "type": "BM45" + }, + { + "location": "CFM-21", + "status": "Normal", + "type": "BM45" + } + ], + "dkbs": [ + { + "location": "DKB-1G", + "status": "Normal", + "type": "Disk Board" + }, + { + "location": "DKB-1H", + "status": "Normal", + "type": "Disk Board" + }, + { + "location": "DKB-2G", + "status": "Normal", + "type": "Disk Board" + }, + { + "location": "DKB-2H", + "status": "Normal", + "type": "Disk Board" + } + ], + "lanbs": [ + { + "location": "LAN1", + "status": "Normal" + }, + { + "location": "LAN2", + "status": "Normal" + } + ], + "sfps": [ + { + "portId": "1A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "3A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "5A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "7A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "1B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "3B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "5B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "7B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "2A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "4A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "6A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "8A", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "2B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "4B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "6B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + }, + { + "portId": "8B", + "status": "Normal", + "type": "Short Wave", + "speed": "16 Gbps", + "portCondition": "Available (Connected)" + } + ], + "bkmfs": [ + { + "location": "BKMF-10", + "status": "Normal", + "batteries": [] + }, + { + "location": "BKMF-11", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B11", + "status": "Normal", + "life": 90 + } + ] + }, + { + "location": "BKMF-12", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B12", + "status": "Normal", + "life": 90 + } + ] + }, + { + "location": "BKMF-13", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B13", + "status": "Normal", + "life": 90 + } + ] + }, + { + "location": "BKMF-20", + "status": "Normal", + "batteries": [] + }, + { + "location": "BKMF-21", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B21", + "status": "Normal", + "life": 90 + } + ] + }, + { + "location": "BKMF-22", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B22", + "status": "Normal", + "life": 90 + } + ] + }, + { + "location": "BKMF-23", + "status": "Normal", + "batteries": [ + { + "location": "BAT-B23", + "status": "Normal", + "life": 90 + } + ] + } + ], + "dkcpss": [ + { + "location": "DKCPS1", + "status": "Normal" + }, + { + "location": "DKCPS2", + "status": "Normal" + } + ], + "driveBoxes": [ + { + "location": "DB-00", + "type": "DBF", + "led": "OFF", + "drives": [ + { + "location": "HDD00-00", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-01", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-02", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-03", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-04", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-05", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD00-11", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "Spare", + "recomendReplacement": 0 + } + ], + "encs": [ + { + "location": "ENC00-1", + "status": "Normal" + }, + { + "location": "ENC00-2", + "status": "Normal" + } + ], + "dbps": [ + { + "location": "DBPS00-1", + "status": "Normal" + }, + { + "location": "DBPS00-2", + "status": "Normal" + } + ] + }, + { + "location": "DB-01", + "type": "DBF", + "led": "OFF", + "drives": [ + { + "location": "HDD01-00", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD01-01", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD01-02", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD01-03", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD01-04", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD01-05", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + } + ], + "encs": [ + { + "location": "ENC01-1", + "status": "Normal" + }, + { + "location": "ENC01-2", + "status": "Normal" + } + ], + "dbps": [ + { + "location": "DBPS01-1", + "status": "Normal" + }, + { + "location": "DBPS01-2", + "status": "Normal" + } + ] + }, + { + "location": "DB-02", + "type": "DBF", + "led": "OFF", + "drives": [ + { + "location": "HDD02-00", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD02-01", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD02-02", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD02-03", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD02-04", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD02-05", + "modelCode": "NFHAJ-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + } + ], + "encs": [ + { + "location": "ENC02-1", + "status": "Normal" + }, + { + "location": "ENC02-2", + "status": "Normal" + } + ], + "dbps": [ + { + "location": "DBPS02-1", + "status": "Normal" + }, + { + "location": "DBPS02-2", + "status": "Normal" + } + ] + }, + { + "location": "DB-03", + "type": "DBF", + "led": "OFF", + "drives": [ + { + "location": "HDD03-00", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD03-01", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD03-02", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD03-03", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD03-04", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + }, + { + "location": "HDD03-05", + "modelCode": "NFHAK-Q13RSS", + "status": "Normal", + "usage": "DATA", + "recomendReplacement": 0 + } + ], + "encs": [ + { + "location": "ENC03-1", + "status": "Normal" + }, + { + "location": "ENC03-2", + "status": "Normal" + } + ], + "dbps": [ + { + "location": "DBPS03-1", + "status": "Normal" + }, + { + "location": "DBPS03-2", + "status": "Normal" + } + ] + } + ], + "fans": [], + "upsMode": "Standard Mode", + "pecbs": [], + "chbb": {}, + "pcps": [], + "swpks": [], + "chbbfans": [], + "chbbpss": [] +}""" + + +storage_pools = """ +{ + "data" : [ { + "poolId" : 0, + "poolStatus" : "POLN", + "usedCapacityRate" : 47, + "usedPhysicalCapacityRate" : 47, + "poolName" : "RAID6_HDT_01", + "availableVolumeCapacity" : 208964826, + "availablePhysicalVolumeCapacity" : 208964826, + "totalPoolCapacity" : 397630296, + "totalPhysicalCapacity" : 397630296, + "numOfLdevs" : 136, + "firstLdevId" : 3, + "warningThreshold" : 80, + "depletionThreshold" : 90, + "virtualVolumeCapacityRate" : -1, + "isMainframe" : false, + "isShrinking" : true, + "locatedVolumeCount" : 242, + "totalLocatedCapacity" : 234976098, + "blockingMode" : "NB", + "totalReservedCapacity" : 0, + "reservedVolumeCount" : 0, + "poolActionMode" : "AUT", + "tierOperationStatus" : "MON", + "dat" : "VAL", + "poolType" : "RT", + "monitoringMode" : "CM", + "tiers" : [ { + "tierNumber" : 1, + "tierLevelRange" : "00000001", + "tierDeltaRange" : "00000005", + "tierUsedCapacity" : 31524696, + "tierTotalCapacity" : 37087848, + "tablespaceRate" : 10, + "performanceRate" : 4, + "progressOfReplacing" : 100, + "bufferRate" : 5 + }, { + "tierNumber" : 2, + "tierLevelRange" : "00000000", + "tierDeltaRange" : "00000005", + "tierUsedCapacity" : 98679336, + "tierTotalCapacity" : 116093208, + "tablespaceRate" : 10, + "performanceRate" : 12, + "progressOfReplacing" : 100, + "bufferRate" : 5 + }, { + "tierNumber" : 3, + "tierLevelRange" : "00000000", + "tierDeltaRange" : "00000000", + "tierUsedCapacity" : 58461480, + "tierTotalCapacity" : 244449240, + "tablespaceRate" : 10, + "performanceRate" : 62, + "progressOfReplacing" : 100, + "bufferRate" : 5 + } ], + "dataReductionAccelerateCompCapacity" : 0, + "dataReductionAccelerateCompRate" : 0, + "compressionRate" : 0, + "dataReductionAccelerateCompIncludingSystemData" : { + "isReductionCapacityAvailable" : true, + "reductionCapacity" : 0, + "isReductionRateAvailable" : true, + "reductionRate" : 0 + }, + "capacitiesExcludingSystemData" : { + "usedVirtualVolumeCapacity" : 386386968576 + } + }, { + "poolId" : 1, + "poolStatus" : "POLN", + "usedCapacityRate" : 0, + "usedPhysicalCapacityRate" : 0, + "snapshotCount" : 0, + "poolName" : "THIN_IMAGE_POOL", + "availableVolumeCapacity" : 46453344, + "availablePhysicalVolumeCapacity" : 46453344, + "totalPoolCapacity" : 46453344, + "totalPhysicalCapacity" : 46453344, + "numOfLdevs" : 16, + "firstLdevId" : 22, + "warningThreshold" : 80, + "virtualVolumeCapacityRate" : -1, + "isMainframe" : false, + "isShrinking" : false, + "poolType" : "HTI", + "dataReductionAccelerateCompCapacity" : 0, + "dataReductionAccelerateCompRate" : 0, + "compressionRate" : 0, + "dataReductionAccelerateCompIncludingSystemData" : { + "isReductionCapacityAvailable" : true, + "reductionCapacity" : 0, + "isReductionRateAvailable" : false + }, + "capacitiesExcludingSystemData" : { + "usedVirtualVolumeCapacity" : 0 + } + } ] +}""" + +storage_ldevs = """ { + "data" : [ { + "ldevId" : 0, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "500.00 G", + "blockCapacity" : 1048576000, + "numOfPorts" : 4, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 1 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 1 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 1 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 1 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vg_test0", + "status" : "NML", + "mpBladeId" : 0, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 0, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + }, { + "ldevId" : 1, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "400.00 G", + "blockCapacity" : 838860800, + "numOfPorts" : 4, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 2 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 2 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 2 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 1, + "hostGroupName" : "demosrv.example.com", + "lun" : 2 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vg_test1", + "status" : "NML", + "mpBladeId" : 1, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 0, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + }, { + "ldevId" : 2, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "10.00 T", + "blockCapacity" : 21474836480, + "numOfPorts" : 52, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 6 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 6 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 6 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 6 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vmware_legacy_ssd0", + "status" : "NML", + "mpBladeId" : 0, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 9604460544, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + }, { + "ldevId" : 3, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "10.00 T", + "blockCapacity" : 21474836480, + "numOfPorts" : 52, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 5 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 5 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 5 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 5 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vmware_legacy_ssd1", + "status" : "NML", + "mpBladeId" : 1, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 7754084352, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + }, { + "ldevId" : 4, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "5.00 T", + "blockCapacity" : 10737418240, + "numOfPorts" : 52, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 4 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 4 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 4 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 4 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vmware_legacy_ssd2", + "status" : "NML", + "mpBladeId" : 0, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 5074944, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + }, { + "ldevId" : 5, + "clprId" : 0, + "emulationType" : "OPEN-V-CVS", + "byteFormatCapacity" : "5.00 T", + "blockCapacity" : 10737418240, + "numOfPorts" : 52, + "ports" : [ { + "portId" : "CL2-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 3 + }, { + "portId" : "CL1-B", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 3 + }, { + "portId" : "CL2-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 3 + }, { + "portId" : "CL1-A", + "hostGroupNumber" : 2, + "hostGroupName" : "demosrv0803", + "lun" : 3 + } ], + "attributes" : [ "CVS", "HDP" ], + "label" : "vmware_legacy_ssd3", + "status" : "NML", + "mpBladeId" : 1, + "ssid" : "0004", + "poolId" : 0, + "numOfUsedBlock" : 1014042624, + "isFullAllocationEnabled" : false, + "resourceGroupId" : 0, + "dataReductionStatus" : "DISABLED", + "dataReductionMode" : "disabled", + "isAluaEnabled" : false + } ] +}""" + +storage_parity_groups = """ { + "data": [ + { + "parityGroupId": "1-1", + "numOfLdevs": 26, + "usedCapacityRate": 44, + "availableVolumeCapacity": 87245, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 91483790592 + }, + { + "parityGroupId": "1-2", + "numOfLdevs": 51, + "usedCapacityRate": 93, + "availableVolumeCapacity": 10448, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 10955611392 + }, + { + "parityGroupId": "1-3", + "numOfLdevs": 25, + "usedCapacityRate": 42, + "availableVolumeCapacity": 90317, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 94704917760 + }, + { + "parityGroupId": "1-4", + "numOfLdevs": 52, + "usedCapacityRate": 95, + "availableVolumeCapacity": 7376, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 7734484224 + }, + { + "parityGroupId": "1-5", + "numOfLdevs": 54, + "usedCapacityRate": 99, + "availableVolumeCapacity": 1232, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 1292229888 + }, + { + "parityGroupId": "1-6", + "numOfLdevs": 25, + "usedCapacityRate": 42, + "availableVolumeCapacity": 90317, + "raidLevel": "RAID5", + "raidType": "3D+1P", + "clprId": 0, + "driveType": "NFHAF-Q13RSS", + "driveTypeName": "SSD(FMC)", + "totalCapacity": 157286, + "physicalCapacity": 39321, + "isAcceleratedCompressionEnabled": true, + "availableVolumeCapacityInKB": 94704917760 + } + ] +}""" +if __name__ == "__main__": + main() diff --git a/hitachi-vsp/share/check_mk/checks/agent_hitachivsp b/hitachi-vsp/share/check_mk/checks/agent_hitachivsp new file mode 100644 index 0000000..99ad1e2 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/agent_hitachivsp @@ -0,0 +1,42 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2017 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + + +def agent_hitachivsp_arguments(params, hostname, ipaddress): + args = '' + + args += "--address=%s " % hostname + args += "--user=%s " % params["user"] + args += "--password=%s " % params["password"] + + if "cert" in params and params["cert"] is False: + args += "--no-cert-check " + + return args + + +special_agent_info['hitachivsp'] = agent_hitachivsp_arguments + From 8ff20f328353f1159a28af33e772cdd11bac8bf1 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 10:09:10 +0300 Subject: [PATCH 19/35] cleanup code --- .../check_mk/agents/special/agent_hitachivsp | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp b/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp index 887482f..5831ac7 100755 --- a/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp +++ b/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp @@ -28,7 +28,7 @@ import sys import getopt import pprint import json -#from requests.packages.urllib3.exceptions import InsecureRequestWarning +from requests.packages.urllib3.exceptions import InsecureRequestWarning def usage(): @@ -91,7 +91,7 @@ def output(line): # if type(line) not in [str]: # output_lines.append(pprint.pprint(line)) # else: - output_lines.append(line) + output_lines.append(line) def get_storage_info(): @@ -125,11 +125,12 @@ def get_storage_ldevs(): url = "https://%(address)s/ConfigurationManager/v1/objects/ldevs" % args_dict return query(url) + def get_storage_parity_groups(): if opt_demo: raw_json = storage_parity_groups return raw_json - url = "https://%(address)s/ConfigurationManager/v1/objects/parity-groups" %args_dict + url = "https://%(address)s/ConfigurationManager/v1/objects/parity-groups" % args_dict return query(url) @@ -137,7 +138,7 @@ def get_storage_hardware_status(): if opt_demo: raw_json = storage_hardware_status return raw_json - url = "https://%(address)s/ConfigurationManager/v1/objects/components/instance" %args_dict + url = "https://%(address)s/ConfigurationManager/v1/objects/components/instance" % args_dict return query(url) @@ -151,8 +152,8 @@ def process_storage_hardware_status(): output("<<>>") output("location\tstatus\ttemperature\ttemperatureStatus\tcharge") for ctl in ctls: - output("%s\t%s\t%s\t%s\t%s" % ( ctl["location"], ctl["status"], ctl["temperature"], ctl["temperatureStatus"], - ctl["charge"] )) + output("%s\t%s\t%s\t%s\t%s" % (ctl["location"], ctl["status"], ctl["temperature"], ctl["temperatureStatus"], + ctl["charge"])) cachememories = full_data["cacheMemories"] output("<<>>") @@ -160,17 +161,17 @@ def process_storage_hardware_status(): for cachemem in cachememories: output("%s\t%s\t%s" % (cachemem["location"], cachemem["status"], cachemem["cacheSize"])) - channelsboards=full_data["chbs"] + channelsboards = full_data["chbs"] output("<<>>") output("location\tstatus\ttype") for channelboard in channelsboards: output("%s\t%s\t%s" % (channelboard["location"], channelboard["status"], channelboard["type"])) - cacheFlashMemories=full_data["cacheFlashMemories"] + cacheflashmemories = full_data["cacheFlashMemories"] output("<<>>") output("location\tstatus\ttype") - for cacheFlashMemory in cacheFlashMemories: - output("%s\t%s\t%s" % (cacheFlashMemory["location"], cacheFlashMemory["status"], cacheFlashMemory["type"])) + for cacheflashmemory in cacheflashmemories: + output("%s\t%s\t%s" % (cacheflashmemory["location"], cacheflashmemory["status"], cacheflashmemory["type"])) disk_boards = full_data["dkbs"] output("<<>>") @@ -182,7 +183,7 @@ def process_storage_hardware_status(): output("<<>>") output("portId\tstatus\ttype\tspeed\tportCondition") for sfp in sfps: - output("%s\t%s\t%s\t%s\t%s" % (sfp["portId"], sfp["status"], sfp["type"], sfp["speed"], sfp["portCondition"] )) + output("%s\t%s\t%s\t%s\t%s" % (sfp["portId"], sfp["status"], sfp["type"], sfp["speed"], sfp["portCondition"])) backup_modules = full_data["bkmfs"] output("<<>>") From 05fee568381ced83932c34591271e8e028d521d2 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 10:12:09 +0300 Subject: [PATCH 20/35] moved agent to final location --- hitachi-vsp/agent_hitachivsp | 1386 ---------------------------------- 1 file changed, 1386 deletions(-) delete mode 100755 hitachi-vsp/agent_hitachivsp diff --git a/hitachi-vsp/agent_hitachivsp b/hitachi-vsp/agent_hitachivsp deleted file mode 100755 index 0ed8530..0000000 --- a/hitachi-vsp/agent_hitachivsp +++ /dev/null @@ -1,1386 +0,0 @@ -#!/usr/bin/env python -# -*- encoding: utf-8; py-indent-offset: 4 -*- -# +------------------------------------------------------------------+ -# | ____ _ _ __ __ _ __ | -# | / ___| |__ ___ ___| | __ | \/ | |/ / | -# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | -# | | |___| | | | __/ (__| < | | | | . \ | -# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | -# | | -# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | -# +------------------------------------------------------------------+ -# -# This file is part of Check_MK. -# The official homepage is at http://mathias-kettner.de/check_mk. -# -# check_mk is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation in version 2. check_mk is distributed -# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- -# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more de- -# tails. You should have received a copy of the GNU General Public -# License along with GNU Make; see the file COPYING. If not, write -# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, -# Boston, MA 02110-1301 USA. - -import sys -import getopt -import pprint -import json -#from requests.packages.urllib3.exceptions import InsecureRequestWarning - - -def usage(): - sys.stderr.write("""Check_MK Hitachi VSP - -USAGE: agent_hitachivsp [OPTIONS] HOST - -OPTIONS: - -h, --help Show this help message and exit - --address Host address - --user Username - --password Password - --no-cert-check Disable certificate check -""") - sys.exit(1) - - -short_options = "h" -long_options = ["help", "username=", "password=", "address=", "demo", "no-cert-check"] - - -try: - opts, args = getopt.getopt(sys.argv[1:], short_options, long_options) -except getopt.GetoptError as err: - sys.stderr.write("%s\n" % err) - sys.exit(1) - - -opt_demo = True -opt_cert = True -args_dict = {} - - -for o,a in opts: - if o in [ "--address" ]: - args_dict["address"] = a - elif o in [ "--username" ]: - args_dict["username"] = a - elif o in [ "--password" ]: - args_dict["password"] = a - elif o in [ "--demo" ]: - opt_demo = True - elif o in [ "--no-cert-check" ]: - opt_cert = False - elif o in [ "-h", "--help" ]: - usage() - - -def query(url): - if opt_cert == False: - requests.packages.urllib3.disable_warnings(InsecureRequestWarning) - response = requests.get(url, auth = (args_dict["username"], args_dict["password"]), verify=opt_cert) - raw_json = response.text - return raw_json - - -output_lines = [] -def output(line): - if type(line) not in [str]: - output_lines.append(pprint.pprint(line)) - else: - output_lines.append(line) - - -def get_storage_info(): - if opt_demo: - raw_json = storage_info - return raw_json - url = "https://%(address)s/ConfigurationManager/v1/objects/storages/instance" % args_dict - return query(url) - - -def get_storage_pools(): - if opt_demo: - raw_json = storage_pools - return raw_json - url = "https://%(address)s/ConfigurationManager/v1/objects/pools" % args_dict - return query(url) - - -def get_storage_clprs(): - if opt_demo: - raw_json = storage_clprs - return raw_json - url = "https://%(address)s/ConfigurationManager/v1/objects/clprs" % args_dict - return query(url) - - -def get_storage_ldevs(): - if opt_demo: - raw_json = storage_ldevs - return raw_json - url = "https://%(address)s/ConfigurationManager/v1/objects/ldevs" % args_dict - return query(url) - -def get_storage_parity_groups(): - if opt_demo: - raw_json = storage_parity_groups - return raw_json - url = "https://%(address)s/ConfigurationManager/v1/objects/parity-groups" %args_dict - return query(url) - - -def get_storage_hardware_status(): - if opt_demo: - raw_json = storage_hardware_status - return raw_json - url = "https://%(address)s/ConfigurationManager/v1/objects/components/instance" %args_dict - return query(url) - - -def process_storage_hardware_status(): - raw_json = get_storage_hardware_status() - full_data = json.loads(raw_json) - system = full_data["system"] - output("<<>>") - output("powerConsumption\t%s" % (system["powerConsumption"])) - ctls = full_data["ctls"] - output("<<>>") - output("location\tstatus\ttemperature\ttemperatureStatus\tcharge") - for ctl in ctls: - output("%s\t%s\t%s\t%s\t%s" % ( ctl["location"], ctl["status"], ctl["temperature"], ctl["temperatureStatus"], - ctl["charge"] )) - - cachememories = full_data["cacheMemories"] - output("<<>>") - output("location\tstatus\tcacheSize") - for cachemem in cachememories: - output("%s\t%s\t%s" % (cachemem["location"], cachemem["status"], cachemem["cacheSize"])) - - channelsboards=full_data["chbs"] - output("<<>>") - output("location\tstatus\ttype") - for channelboard in channelsboards: - output("%s\t%s\t%s" % (channelboard["location"], channelboard["status"], channelboard["type"])) - - cacheFlashMemories=full_data["cacheFlashMemories"] - output("<<>>") - output("location\tstatus\ttype") - for cacheFlashMemory in cacheFlashMemories: - output("%s\t%s\t%s" % (cacheFlashMemory["location"], cacheFlashMemory["status"], cacheFlashMemory["type"])) - - disk_boards = full_data["dkbs"] - output("<<>>") - output("location\tstatus\ttype") - for dkb in disk_boards: - output("%s\t%s\t%s" % (dkb["location"], dkb["status"], dkb["type"])) - - sfps = full_data["sfps"] - output("<<>>") - output("portId\tstatus\ttype\tspeed\tportCondition") - for sfp in sfps: - output("%s\t%s\t%s\t%s\t%s" % (sfp["portId"], sfp["status"], sfp["type"], sfp["speed"], sfp["portCondition"] )) - - backup_modules = full_data["bkmfs"] - output("<<>>") - output("location\tstatus\tbat_location\tbat_status\tbat_life") - for backup_module in backup_modules: - if backup_module["batteries"]: - battery = backup_module["batteries"][0] - output("%s\t%s\t%s\t%s\t%s" % (backup_module["location"], backup_module["status"], - battery["location"], - battery["status"], - battery["life"])) - else: - output("%s\t%s\t\t\t" % (backup_module["location"], backup_module["status"])) - - driveboxes = full_data["driveBoxes"] - output("<<>>") - output("drivebox_location\tdrive_location\tdrive_status\tdrive_recomend_Replacement") - for drivebox in driveboxes: - drives=drivebox["drives"] - for drive in drives: - output("%s\t%s\t%s\t%s" % (drivebox["location"], drive["location"], drive["status"], - drive["recomendReplacement"])) - - output("<<>>") - output("drivebox_location\tenc_location\tenc_status") - for drivebox in driveboxes: - encs=drivebox["encs"] - for enc in encs: - output("%s\t%s\t%s" % (drivebox["location"], enc["location"], enc["status"] )) - - output("<<>>") - output("drivebox_location\tdbps_location\tdbps_status") - for drivebox in driveboxes: - dbps=drivebox["dbps"] - for power_supply in dbps: - output("%s\t%s\t%s" % (drivebox["location"], power_supply["location"], power_supply["status"] )) - -def process_storage_parity_groups(): - output("<<>>") - raw_json = get_storage_parity_groups() - full_data = json.loads(raw_json) - data = full_data["data"] - output("parityGroupId\tnumOfLdevs\tusedCapacityRate\tclprId\tavailableVolumeCapacity\t" - "totalCapacity\tphysicalCapacity") - for parity_group in data: - output("%s\t%s\t%s\t%s\t%s\t%s\t%s" % (parity_group["parityGroupId"], parity_group["numOfLdevs"], - parity_group["usedCapacityRate"], parity_group["clprId"], - parity_group["availableVolumeCapacity"], parity_group["totalCapacity"], - parity_group["physicalCapacity"] )) - - -def process_storage_ldevs(): - output("<<>>") - raw_json = get_storage_ldevs() - full_data = json.loads(raw_json) - data = full_data["data"] - output("ldevId\tclprId\tbyteFormatCapacity\tblockCapacity\t" - "label\tstatus") - for ldev in data: - output("%s\t%s\t%s\t%s\t%s\t%s" % (ldev["ldevId"], ldev["clprId"], ldev["byteFormatCapacity"], - ldev["blockCapacity"], ldev["label"], ldev["status"])) - - -def process_storage_clprs(): - output("<<>>") - raw_json = get_storage_clprs() - full_data = json.loads(raw_json) - data = full_data["data"] - output("clprId\tcacheMemoryCapacity\tcacheMemoryUsedCapacity\twritePendingDataCapacity\t" - "writePendingDataCapacity\tcacheUsageRate") - for clpr in data: - output("%s\t%s\t%s\t%s\t%s" % (clpr["clprId"], clpr["cacheMemoryCapacity"], clpr["cacheMemoryUsedCapacity"], - clpr["writePendingDataCapacity"], clpr["cacheUsageRate"])) - - -def process_storage_pools (): - output("<<>>") - raw_json = get_storage_pools() - full_data = json.loads(raw_json) - data = full_data["data"] - output("poolID\tpoolType\tpoolName\ttotalPhysicalCapacity\ttotalPoolCapacity\tavailableVolumeCapacity\tusedCapacityRate\tpoolStatus") - for pool in data: - output("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % (pool["poolId"], pool["poolType"], pool["poolName"], - pool["totalPhysicalCapacity"], pool["totalPoolCapacity"], - pool["availableVolumeCapacity"], pool["usedCapacityRate"], - pool["poolStatus"],)) - - -def process_storage_info(): - output("<<>>") - raw_json = get_storage_info() - data = json.loads(raw_json) - output("%s\t%s\t%s\t%s" % (data["serialNumber"], data["storageDeviceId"], data["dkcMicroVersion"], data["model"])) - -def main(): - try: - process_storage_info() - process_storage_pools() - process_storage_clprs() - process_storage_ldevs() - process_storage_parity_groups() - process_storage_hardware_status() - sys.stdout.write("\n".join(output_lines) + "\n") - except Exception as e: - sys.stderr.write("Connection error: %s" % e) - sys.exit(1) - - -storage_info = """{ - "storageDeviceId": "666666666666", - "model": "VSP G700", - "serialNumber": 666666, - "ctl1Ip": "192.168.223.69", - "ctl2Ip": "192.168.223.70", - "dkcMicroVersion": "88-04-03/00", - "communicationModes": [ - { - "communicationMode": "lanConnectionMode" - } - ], - "isSecure": true -}""" - -storage_clprs="""{ - "data": [ - { - "clprId": 0, - "clprName": "CLPR0", - "cacheMemoryCapacity": 924672, - "cacheMemoryUsedCapacity": 901454, - "writePendingDataCapacity": 44959, - "sideFilesCapacity": 0, - "cacheUsageRate": 99, - "writePendingDataRate": 5, - "sideFilesUsageRate": 0 - } - ] -}""" - - -storage_hardware_status = """{ - "system": { - "powerConsumption": 1357 - }, - "ctls": [ - { - "location": "CTL1", - "status": "Normal", - "temperature": 23, - "temperatureStatus": "Normal", - "charge": 100, - "type": "-" - }, - { - "location": "CTL2", - "status": "Normal", - "temperature": 23, - "temperatureStatus": "Normal", - "charge": 100, - "type": "-" - } - ], - "cacheMemories": [ - { - "location": "CTL1 CMG0", - "status": "Normal", - "cacheSize": 256 - }, - { - "location": "CTL1 CMG1", - "status": "Normal", - "cacheSize": 256 - }, - { - "location": "CTL2 CMG0", - "status": "Normal", - "cacheSize": 256 - }, - { - "location": "CTL2 CMG1", - "status": "Normal", - "cacheSize": 256 - } - ], - "chbs": [ - { - "location": "CHB-1A", - "status": "Normal", - "type": "32G Ready 4Port FC" - }, - { - "location": "CHB-1B", - "status": "Normal", - "type": "32G Ready 4Port FC" - }, - { - "location": "CHB-2A", - "status": "Normal", - "type": "32G Ready 4Port FC" - }, - { - "location": "CHB-2B", - "status": "Normal", - "type": "32G Ready 4Port FC" - } - ], - "cacheFlashMemories": [ - { - "location": "CFM-10", - "status": "Normal", - "type": "BM45" - }, - { - "location": "CFM-11", - "status": "Normal", - "type": "BM45" - }, - { - "location": "CFM-20", - "status": "Normal", - "type": "BM45" - }, - { - "location": "CFM-21", - "status": "Normal", - "type": "BM45" - } - ], - "dkbs": [ - { - "location": "DKB-1G", - "status": "Normal", - "type": "Disk Board" - }, - { - "location": "DKB-1H", - "status": "Normal", - "type": "Disk Board" - }, - { - "location": "DKB-2G", - "status": "Normal", - "type": "Disk Board" - }, - { - "location": "DKB-2H", - "status": "Normal", - "type": "Disk Board" - } - ], - "lanbs": [ - { - "location": "LAN1", - "status": "Normal" - }, - { - "location": "LAN2", - "status": "Normal" - } - ], - "sfps": [ - { - "portId": "1A", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "3A", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "5A", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "7A", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "1B", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "3B", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "5B", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "7B", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "2A", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "4A", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "6A", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "8A", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "2B", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "4B", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "6B", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - }, - { - "portId": "8B", - "status": "Normal", - "type": "Short Wave", - "speed": "16 Gbps", - "portCondition": "Available (Connected)" - } - ], - "bkmfs": [ - { - "location": "BKMF-10", - "status": "Normal", - "batteries": [] - }, - { - "location": "BKMF-11", - "status": "Normal", - "batteries": [ - { - "location": "BAT-B11", - "status": "Normal", - "life": 90 - } - ] - }, - { - "location": "BKMF-12", - "status": "Normal", - "batteries": [ - { - "location": "BAT-B12", - "status": "Normal", - "life": 90 - } - ] - }, - { - "location": "BKMF-13", - "status": "Normal", - "batteries": [ - { - "location": "BAT-B13", - "status": "Normal", - "life": 90 - } - ] - }, - { - "location": "BKMF-20", - "status": "Normal", - "batteries": [] - }, - { - "location": "BKMF-21", - "status": "Normal", - "batteries": [ - { - "location": "BAT-B21", - "status": "Normal", - "life": 90 - } - ] - }, - { - "location": "BKMF-22", - "status": "Normal", - "batteries": [ - { - "location": "BAT-B22", - "status": "Normal", - "life": 90 - } - ] - }, - { - "location": "BKMF-23", - "status": "Normal", - "batteries": [ - { - "location": "BAT-B23", - "status": "Normal", - "life": 90 - } - ] - } - ], - "dkcpss": [ - { - "location": "DKCPS1", - "status": "Normal" - }, - { - "location": "DKCPS2", - "status": "Normal" - } - ], - "driveBoxes": [ - { - "location": "DB-00", - "type": "DBF", - "led": "OFF", - "drives": [ - { - "location": "HDD00-00", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD00-01", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD00-02", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD00-03", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD00-04", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD00-05", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD00-11", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "Spare", - "recomendReplacement": 0 - } - ], - "encs": [ - { - "location": "ENC00-1", - "status": "Normal" - }, - { - "location": "ENC00-2", - "status": "Normal" - } - ], - "dbps": [ - { - "location": "DBPS00-1", - "status": "Normal" - }, - { - "location": "DBPS00-2", - "status": "Normal" - } - ] - }, - { - "location": "DB-01", - "type": "DBF", - "led": "OFF", - "drives": [ - { - "location": "HDD01-00", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD01-01", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD01-02", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD01-03", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD01-04", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD01-05", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - } - ], - "encs": [ - { - "location": "ENC01-1", - "status": "Normal" - }, - { - "location": "ENC01-2", - "status": "Normal" - } - ], - "dbps": [ - { - "location": "DBPS01-1", - "status": "Normal" - }, - { - "location": "DBPS01-2", - "status": "Normal" - } - ] - }, - { - "location": "DB-02", - "type": "DBF", - "led": "OFF", - "drives": [ - { - "location": "HDD02-00", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD02-01", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD02-02", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD02-03", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD02-04", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD02-05", - "modelCode": "NFHAJ-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - } - ], - "encs": [ - { - "location": "ENC02-1", - "status": "Normal" - }, - { - "location": "ENC02-2", - "status": "Normal" - } - ], - "dbps": [ - { - "location": "DBPS02-1", - "status": "Normal" - }, - { - "location": "DBPS02-2", - "status": "Normal" - } - ] - }, - { - "location": "DB-03", - "type": "DBF", - "led": "OFF", - "drives": [ - { - "location": "HDD03-00", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD03-01", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD03-02", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD03-03", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD03-04", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - }, - { - "location": "HDD03-05", - "modelCode": "NFHAK-Q13RSS", - "status": "Normal", - "usage": "DATA", - "recomendReplacement": 0 - } - ], - "encs": [ - { - "location": "ENC03-1", - "status": "Normal" - }, - { - "location": "ENC03-2", - "status": "Normal" - } - ], - "dbps": [ - { - "location": "DBPS03-1", - "status": "Normal" - }, - { - "location": "DBPS03-2", - "status": "Normal" - } - ] - } - ], - "fans": [], - "upsMode": "Standard Mode", - "pecbs": [], - "chbb": {}, - "pcps": [], - "swpks": [], - "chbbfans": [], - "chbbpss": [] -}""" - - -storage_pools = """ -{ - "data" : [ { - "poolId" : 0, - "poolStatus" : "POLN", - "usedCapacityRate" : 47, - "usedPhysicalCapacityRate" : 47, - "poolName" : "RAID6_HDT_01", - "availableVolumeCapacity" : 208964826, - "availablePhysicalVolumeCapacity" : 208964826, - "totalPoolCapacity" : 397630296, - "totalPhysicalCapacity" : 397630296, - "numOfLdevs" : 136, - "firstLdevId" : 3, - "warningThreshold" : 80, - "depletionThreshold" : 90, - "virtualVolumeCapacityRate" : -1, - "isMainframe" : false, - "isShrinking" : true, - "locatedVolumeCount" : 242, - "totalLocatedCapacity" : 234976098, - "blockingMode" : "NB", - "totalReservedCapacity" : 0, - "reservedVolumeCount" : 0, - "poolActionMode" : "AUT", - "tierOperationStatus" : "MON", - "dat" : "VAL", - "poolType" : "RT", - "monitoringMode" : "CM", - "tiers" : [ { - "tierNumber" : 1, - "tierLevelRange" : "00000001", - "tierDeltaRange" : "00000005", - "tierUsedCapacity" : 31524696, - "tierTotalCapacity" : 37087848, - "tablespaceRate" : 10, - "performanceRate" : 4, - "progressOfReplacing" : 100, - "bufferRate" : 5 - }, { - "tierNumber" : 2, - "tierLevelRange" : "00000000", - "tierDeltaRange" : "00000005", - "tierUsedCapacity" : 98679336, - "tierTotalCapacity" : 116093208, - "tablespaceRate" : 10, - "performanceRate" : 12, - "progressOfReplacing" : 100, - "bufferRate" : 5 - }, { - "tierNumber" : 3, - "tierLevelRange" : "00000000", - "tierDeltaRange" : "00000000", - "tierUsedCapacity" : 58461480, - "tierTotalCapacity" : 244449240, - "tablespaceRate" : 10, - "performanceRate" : 62, - "progressOfReplacing" : 100, - "bufferRate" : 5 - } ], - "dataReductionAccelerateCompCapacity" : 0, - "dataReductionAccelerateCompRate" : 0, - "compressionRate" : 0, - "dataReductionAccelerateCompIncludingSystemData" : { - "isReductionCapacityAvailable" : true, - "reductionCapacity" : 0, - "isReductionRateAvailable" : true, - "reductionRate" : 0 - }, - "capacitiesExcludingSystemData" : { - "usedVirtualVolumeCapacity" : 386386968576 - } - }, { - "poolId" : 1, - "poolStatus" : "POLN", - "usedCapacityRate" : 0, - "usedPhysicalCapacityRate" : 0, - "snapshotCount" : 0, - "poolName" : "THIN_IMAGE_POOL", - "availableVolumeCapacity" : 46453344, - "availablePhysicalVolumeCapacity" : 46453344, - "totalPoolCapacity" : 46453344, - "totalPhysicalCapacity" : 46453344, - "numOfLdevs" : 16, - "firstLdevId" : 22, - "warningThreshold" : 80, - "virtualVolumeCapacityRate" : -1, - "isMainframe" : false, - "isShrinking" : false, - "poolType" : "HTI", - "dataReductionAccelerateCompCapacity" : 0, - "dataReductionAccelerateCompRate" : 0, - "compressionRate" : 0, - "dataReductionAccelerateCompIncludingSystemData" : { - "isReductionCapacityAvailable" : true, - "reductionCapacity" : 0, - "isReductionRateAvailable" : false - }, - "capacitiesExcludingSystemData" : { - "usedVirtualVolumeCapacity" : 0 - } - } ] -}""" - -storage_ldevs = """ { - "data" : [ { - "ldevId" : 0, - "clprId" : 0, - "emulationType" : "OPEN-V-CVS", - "byteFormatCapacity" : "500.00 G", - "blockCapacity" : 1048576000, - "numOfPorts" : 4, - "ports" : [ { - "portId" : "CL2-B", - "hostGroupNumber" : 1, - "hostGroupName" : "demosrv.example.com", - "lun" : 1 - }, { - "portId" : "CL1-B", - "hostGroupNumber" : 1, - "hostGroupName" : "demosrv.example.com", - "lun" : 1 - }, { - "portId" : "CL2-A", - "hostGroupNumber" : 1, - "hostGroupName" : "demosrv.example.com", - "lun" : 1 - }, { - "portId" : "CL1-A", - "hostGroupNumber" : 1, - "hostGroupName" : "demosrv.example.com", - "lun" : 1 - } ], - "attributes" : [ "CVS", "HDP" ], - "label" : "vg_test0", - "status" : "NML", - "mpBladeId" : 0, - "ssid" : "0004", - "poolId" : 0, - "numOfUsedBlock" : 0, - "isFullAllocationEnabled" : false, - "resourceGroupId" : 0, - "dataReductionStatus" : "DISABLED", - "dataReductionMode" : "disabled", - "isAluaEnabled" : false - }, { - "ldevId" : 1, - "clprId" : 0, - "emulationType" : "OPEN-V-CVS", - "byteFormatCapacity" : "400.00 G", - "blockCapacity" : 838860800, - "numOfPorts" : 4, - "ports" : [ { - "portId" : "CL2-B", - "hostGroupNumber" : 1, - "hostGroupName" : "demosrv.example.com", - "lun" : 2 - }, { - "portId" : "CL1-B", - "hostGroupNumber" : 1, - "hostGroupName" : "demosrv.example.com", - "lun" : 2 - }, { - "portId" : "CL2-A", - "hostGroupNumber" : 1, - "hostGroupName" : "demosrv.example.com", - "lun" : 2 - }, { - "portId" : "CL1-A", - "hostGroupNumber" : 1, - "hostGroupName" : "demosrv.example.com", - "lun" : 2 - } ], - "attributes" : [ "CVS", "HDP" ], - "label" : "vg_test1", - "status" : "NML", - "mpBladeId" : 1, - "ssid" : "0004", - "poolId" : 0, - "numOfUsedBlock" : 0, - "isFullAllocationEnabled" : false, - "resourceGroupId" : 0, - "dataReductionStatus" : "DISABLED", - "dataReductionMode" : "disabled", - "isAluaEnabled" : false - }, { - "ldevId" : 2, - "clprId" : 0, - "emulationType" : "OPEN-V-CVS", - "byteFormatCapacity" : "10.00 T", - "blockCapacity" : 21474836480, - "numOfPorts" : 52, - "ports" : [ { - "portId" : "CL2-B", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 6 - }, { - "portId" : "CL1-B", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 6 - }, { - "portId" : "CL2-A", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 6 - }, { - "portId" : "CL1-A", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 6 - } ], - "attributes" : [ "CVS", "HDP" ], - "label" : "vmware_legacy_ssd0", - "status" : "NML", - "mpBladeId" : 0, - "ssid" : "0004", - "poolId" : 0, - "numOfUsedBlock" : 9604460544, - "isFullAllocationEnabled" : false, - "resourceGroupId" : 0, - "dataReductionStatus" : "DISABLED", - "dataReductionMode" : "disabled", - "isAluaEnabled" : false - }, { - "ldevId" : 3, - "clprId" : 0, - "emulationType" : "OPEN-V-CVS", - "byteFormatCapacity" : "10.00 T", - "blockCapacity" : 21474836480, - "numOfPorts" : 52, - "ports" : [ { - "portId" : "CL2-B", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 5 - }, { - "portId" : "CL1-B", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 5 - }, { - "portId" : "CL2-A", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 5 - }, { - "portId" : "CL1-A", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 5 - } ], - "attributes" : [ "CVS", "HDP" ], - "label" : "vmware_legacy_ssd1", - "status" : "NML", - "mpBladeId" : 1, - "ssid" : "0004", - "poolId" : 0, - "numOfUsedBlock" : 7754084352, - "isFullAllocationEnabled" : false, - "resourceGroupId" : 0, - "dataReductionStatus" : "DISABLED", - "dataReductionMode" : "disabled", - "isAluaEnabled" : false - }, { - "ldevId" : 4, - "clprId" : 0, - "emulationType" : "OPEN-V-CVS", - "byteFormatCapacity" : "5.00 T", - "blockCapacity" : 10737418240, - "numOfPorts" : 52, - "ports" : [ { - "portId" : "CL2-B", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 4 - }, { - "portId" : "CL1-B", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 4 - }, { - "portId" : "CL2-A", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 4 - }, { - "portId" : "CL1-A", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 4 - } ], - "attributes" : [ "CVS", "HDP" ], - "label" : "vmware_legacy_ssd2", - "status" : "NML", - "mpBladeId" : 0, - "ssid" : "0004", - "poolId" : 0, - "numOfUsedBlock" : 5074944, - "isFullAllocationEnabled" : false, - "resourceGroupId" : 0, - "dataReductionStatus" : "DISABLED", - "dataReductionMode" : "disabled", - "isAluaEnabled" : false - }, { - "ldevId" : 5, - "clprId" : 0, - "emulationType" : "OPEN-V-CVS", - "byteFormatCapacity" : "5.00 T", - "blockCapacity" : 10737418240, - "numOfPorts" : 52, - "ports" : [ { - "portId" : "CL2-B", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 3 - }, { - "portId" : "CL1-B", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 3 - }, { - "portId" : "CL2-A", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 3 - }, { - "portId" : "CL1-A", - "hostGroupNumber" : 2, - "hostGroupName" : "demosrv0803", - "lun" : 3 - } ], - "attributes" : [ "CVS", "HDP" ], - "label" : "vmware_legacy_ssd3", - "status" : "NML", - "mpBladeId" : 1, - "ssid" : "0004", - "poolId" : 0, - "numOfUsedBlock" : 1014042624, - "isFullAllocationEnabled" : false, - "resourceGroupId" : 0, - "dataReductionStatus" : "DISABLED", - "dataReductionMode" : "disabled", - "isAluaEnabled" : false - } ] -}""" - -storage_parity_groups = """ { - "data": [ - { - "parityGroupId": "1-1", - "numOfLdevs": 26, - "usedCapacityRate": 44, - "availableVolumeCapacity": 87245, - "raidLevel": "RAID5", - "raidType": "3D+1P", - "clprId": 0, - "driveType": "NFHAF-Q13RSS", - "driveTypeName": "SSD(FMC)", - "totalCapacity": 157286, - "physicalCapacity": 39321, - "isAcceleratedCompressionEnabled": true, - "availableVolumeCapacityInKB": 91483790592 - }, - { - "parityGroupId": "1-2", - "numOfLdevs": 51, - "usedCapacityRate": 93, - "availableVolumeCapacity": 10448, - "raidLevel": "RAID5", - "raidType": "3D+1P", - "clprId": 0, - "driveType": "NFHAF-Q13RSS", - "driveTypeName": "SSD(FMC)", - "totalCapacity": 157286, - "physicalCapacity": 39321, - "isAcceleratedCompressionEnabled": true, - "availableVolumeCapacityInKB": 10955611392 - }, - { - "parityGroupId": "1-3", - "numOfLdevs": 25, - "usedCapacityRate": 42, - "availableVolumeCapacity": 90317, - "raidLevel": "RAID5", - "raidType": "3D+1P", - "clprId": 0, - "driveType": "NFHAF-Q13RSS", - "driveTypeName": "SSD(FMC)", - "totalCapacity": 157286, - "physicalCapacity": 39321, - "isAcceleratedCompressionEnabled": true, - "availableVolumeCapacityInKB": 94704917760 - }, - { - "parityGroupId": "1-4", - "numOfLdevs": 52, - "usedCapacityRate": 95, - "availableVolumeCapacity": 7376, - "raidLevel": "RAID5", - "raidType": "3D+1P", - "clprId": 0, - "driveType": "NFHAF-Q13RSS", - "driveTypeName": "SSD(FMC)", - "totalCapacity": 157286, - "physicalCapacity": 39321, - "isAcceleratedCompressionEnabled": true, - "availableVolumeCapacityInKB": 7734484224 - }, - { - "parityGroupId": "1-5", - "numOfLdevs": 54, - "usedCapacityRate": 99, - "availableVolumeCapacity": 1232, - "raidLevel": "RAID5", - "raidType": "3D+1P", - "clprId": 0, - "driveType": "NFHAF-Q13RSS", - "driveTypeName": "SSD(FMC)", - "totalCapacity": 157286, - "physicalCapacity": 39321, - "isAcceleratedCompressionEnabled": true, - "availableVolumeCapacityInKB": 1292229888 - }, - { - "parityGroupId": "1-6", - "numOfLdevs": 25, - "usedCapacityRate": 42, - "availableVolumeCapacity": 90317, - "raidLevel": "RAID5", - "raidType": "3D+1P", - "clprId": 0, - "driveType": "NFHAF-Q13RSS", - "driveTypeName": "SSD(FMC)", - "totalCapacity": 157286, - "physicalCapacity": 39321, - "isAcceleratedCompressionEnabled": true, - "availableVolumeCapacityInKB": 94704917760 - } - ] -}""" -if __name__ == "__main__": - main() From 2a3c021d6426b320737eda7390cbf400fc2bdaae Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 10:42:41 +0300 Subject: [PATCH 21/35] added info check --- .../share/check_mk/checks/hitachivsp_info | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_info diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_info b/hitachi-vsp/share/check_mk/checks/hitachivsp_info new file mode 100644 index 0000000..3e94140 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_info @@ -0,0 +1,56 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#. +# .--general-------------------------------------------------------------. +# | _ | +# | __ _ ___ _ __ ___ _ __ __ _| | | +# | / _` |/ _ \ '_ \ / _ \ '__/ _` | | | +# | | (_| | __/ | | | __/ | | (_| | | | +# | \__, |\___|_| |_|\___|_| \__,_|_| | +# | |___/ | +# +----------------------------------------------------------------------+ +# | | +# '----------------------------------------------------------------------' + +#example output +#<<>> +#666666 666666666666 88-04-03/00 VSP G700 + +def inventory_hitachivsp_info(): + return [(None, None)] + + +def check_hitachivsp_info(item, _no_params, info): + return 0, "Model: %s, Serial Number: %s , StorageDeviceID: %s, dkcMicroVersion: %s " % \ + (info[0][3], info[0][0], info[0][1], info[0][2] ) + + +check_info['hitachivsp_info'] = { + 'inventory_function': inventory_hitachivsp_info, + 'check_function': check_hitachivsp_info, + 'service_description': 'Hitachi VSP Info', +} \ No newline at end of file From fcf01837706183e70ffb670aa6d5e15f578d9a84 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 12:16:02 +0300 Subject: [PATCH 22/35] added pools, info, clprs checks --- .../share/check_mk/checks/hitachivsp_clprs | 54 +++++++++++++++++ .../share/check_mk/checks/hitachivsp_pools | 59 +++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_clprs create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_pools diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs b/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs new file mode 100644 index 0000000..dd1faed --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs @@ -0,0 +1,54 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#clprId cacheMemoryCapacity cacheMemoryUsedCapacity writePendingDataCapacity cacheUsageRate +#0 924672 901454 44959 99 + + +def inventory_hitachivsp_clprs(info): + for line in info: + if "clprId" not in line: + yield line[0], {} + + +def check_hitachivsp_clprs(item, params, info): + for line in info: + if item == line[0]: + yield 0, "CacheMemoryCapacity[GB]: %s ; CacheMemoryUsedCapacity[GB]: %s ; cacheUsageRate %s " % \ + ( int(line[1])/1024 , int(line[2])/1024, line[4] ), \ + [("CacheMemoryCapacity", int(line[1])/1024, None, None, 0), + ("CacheMemoryUsedCapacity", int(line[2])/1024, None, None, 0), + ("CacheUsageRate", line[4], None, None, 0)] + + +check_info['hitachivsp_clprs'] = { + 'inventory_function': inventory_hitachivsp_clprs, + 'check_function': check_hitachivsp_clprs, + 'service_description': 'CLPR %s', + 'has_perfdata': True +} \ No newline at end of file diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_pools b/hitachi-vsp/share/check_mk/checks/hitachivsp_pools new file mode 100644 index 0000000..c0ef66c --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_pools @@ -0,0 +1,59 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#poolID poolType poolName totalPhysicalCapacity totalPoolCapacity availableVolumeCapacity usedCapacityRate poolStatus +#0 RT RAID6_HDT_01 397630296 397630296 208964826 47 POLN +#1 HTI THIN_IMAGE_POOL 46453344 46453344 46453344 0 POLN + + +def inventory_hitachivsp_pools(info): + for line in info: + if "totalPhysicalCapacity" not in line: + yield line[0], {} + + +def check_hitachivsp_pools(item, _no_params, info): + for line in info: + if item == line[0]: + perf_data = line[6] + if line[7] == "POLE": + yield 2, "Pool is suspended in failure status" + elif line[7] == "POLN": + yield 0, "Pool is Normal" + elif line[7] == "POLF": + yield 2, "Pool is Full" + elif line[7] == "POLS": + yield 2, "Pool is Suspended" + + +check_info['hitachivsp_pools'] = { + 'inventory_function': inventory_hitachivsp_pools, + 'check_function': check_hitachivsp_pools, + 'service_description': 'Pool %s', + 'has_perfdata': False +} \ No newline at end of file From e00847a8774b50e7a8cd4f4c93f05c5ab585bd66 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 12:41:52 +0300 Subject: [PATCH 23/35] added ldev check --- .../share/check_mk/checks/hitachivsp_info | 11 ---- .../share/check_mk/checks/hitachivsp_ldevs | 63 +++++++++++++++++++ 2 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_ldevs diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_info b/hitachi-vsp/share/check_mk/checks/hitachivsp_info index 3e94140..9ce3e97 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_info +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_info @@ -24,17 +24,6 @@ # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, # Boston, MA 02110-1301 USA. -#. -# .--general-------------------------------------------------------------. -# | _ | -# | __ _ ___ _ __ ___ _ __ __ _| | | -# | / _` |/ _ \ '_ \ / _ \ '__/ _` | | | -# | | (_| | __/ | | | __/ | | (_| | | | -# | \__, |\___|_| |_|\___|_| \__,_|_| | -# | |___/ | -# +----------------------------------------------------------------------+ -# | | -# '----------------------------------------------------------------------' #example output #<<>> diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_ldevs b/hitachi-vsp/share/check_mk/checks/hitachivsp_ldevs new file mode 100644 index 0000000..8f00517 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_ldevs @@ -0,0 +1,63 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. +#example output +#<<>> +#ldevId clprId byteFormatCapacity blockCapacity label status +#0 0 500.00 G 1048576000 vg_test0 NML +#1 0 400.00 G 838860800 vg_test1 NML +#2 0 10.00 T 21474836480 vmware_legacy_ssd0 NML +#3 0 10.00 T 21474836480 vmware_legacy_ssd1 NML +#4 0 5.00 T 10737418240 vmware_legacy_ssd2 NML +#5 0 5.00 T 10737418240 vmware_legacy_ssd3 NML + + +def inventory_hitachivsp_ldevs(info): + for line in info: + if "ldevId" not in line: + yield line[0], {} + + +def check_hitachivsp_ldevs(item, params, info): + for line in info: + if item == line[0]: + if line[5] == "NML": + yield 0, "Ldev is in normal status; byteFormatCapacity: %s ; blockCapacity: %s ; label %s ; \ + status %s" % (line[2], line[3], line[4], line[5]) + elif line[5] == "BLK": + yield 2, "Ldev is Blocked!!; byteFormatCapacity: %s ; blockCapacity: %s ; label %s ; \ + status %s" % (line[2], line[3], line[4], line[5]) + elif line[5] == "BSY": + yield 2, "Ldev status is being changed!!; byteFormatCapacity: %s ; blockCapacity: %s ; label %s ; \ + status %s" % (line[2], line[3], line[4], line[5]) + else: + yield 3, "Ldev status is unknown(not supported)" + +check_info['hitachivsp_ldevs'] = { + 'inventory_function': inventory_hitachivsp_ldevs, + 'check_function': check_hitachivsp_ldevs, + 'service_description': 'LDEV %s', + 'has_perfdata': False +} \ No newline at end of file From 5a482cfdd92b823eec118d4db8234a81378ec6a7 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 12:42:56 +0300 Subject: [PATCH 24/35] cleaned duplicated info --- hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp b/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp index 5831ac7..19dec41 100755 --- a/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp +++ b/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp @@ -253,7 +253,7 @@ def process_storage_clprs(): full_data = json.loads(raw_json) data = full_data["data"] output("clprId\tcacheMemoryCapacity\tcacheMemoryUsedCapacity\twritePendingDataCapacity\t" - "writePendingDataCapacity\tcacheUsageRate") + "cacheUsageRate") for clpr in data: output("%s\t%s\t%s\t%s\t%s" % (clpr["clprId"], clpr["cacheMemoryCapacity"], clpr["cacheMemoryUsedCapacity"], clpr["writePendingDataCapacity"], clpr["cacheUsageRate"])) From aceb2b4992c0caff65984c49493c095ab0bb6cee Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 12:44:47 +0300 Subject: [PATCH 25/35] cleared clprs --- hitachi-vsp/.gitignore | 2 +- hitachi-vsp/share/check_mk/checks/hitachivsp_clprs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hitachi-vsp/.gitignore b/hitachi-vsp/.gitignore index 485dee6..5678398 100644 --- a/hitachi-vsp/.gitignore +++ b/hitachi-vsp/.gitignore @@ -1 +1 @@ -.idea +*.idea* diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs b/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs index dd1faed..10ec20f 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs @@ -51,4 +51,4 @@ check_info['hitachivsp_clprs'] = { 'check_function': check_hitachivsp_clprs, 'service_description': 'CLPR %s', 'has_perfdata': True -} \ No newline at end of file +} From 8a7c8534474e22c8d83b8c2ff69e08b8a4de4562 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 14:01:21 +0300 Subject: [PATCH 26/35] added parity_group check --- .../check_mk/checks/hitachivsp_parity_groups | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_parity_groups diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_parity_groups b/hitachi-vsp/share/check_mk/checks/hitachivsp_parity_groups new file mode 100644 index 0000000..7a70763 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_parity_groups @@ -0,0 +1,58 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#parityGroupId numOfLdevs usedCapacityRate clprId availableVolumeCapacity totalCapacity physicalCapacity +#1-1 26 44 0 87245 157286 39321 +#1-2 51 93 0 10448 157286 39321 +#1-3 25 42 0 90317 157286 39321 +#1-4 52 95 0 7376 157286 39321 +#1-5 54 99 0 1232 157286 39321 +#1-6 25 42 0 90317 157286 39321 + + +def inventory_hitachivsp_parity_groups(info): + for line in info: + if "parityGroupId" not in line: + yield line[0], {} + + +def check_hitachivsp_parity_groups(item, params, info): + for line in info: + if item == line[0]: + yield 0, "UsedCapacityRate: %s; AvailableVolumeCapacity(GB): %s; TotalCapacity(GB): %s" % \ + ( line[2], int(line[4]), int(line[5]) ), \ + [("UsedCapacityRate",line[2], None, None, 0), + ("AvailableVolumeCapacity", int(line[4]), None, None,0), + ("TotalCapacity", int(line[5]), None, None, 0)] + +check_info['hitachivsp_parity_groups'] = { + 'inventory_function': inventory_hitachivsp_parity_groups, + 'check_function': check_hitachivsp_parity_groups, + 'service_description': 'Parity Group %s', + 'has_perfdata': True +} \ No newline at end of file From 18d4ffe3851b36776a07c6b4b36af5f2ccd38a63 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 14:09:09 +0300 Subject: [PATCH 27/35] added powerConsumption --- .../checks/hitachivsp_powerConsumption | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_powerConsumption diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_powerConsumption b/hitachi-vsp/share/check_mk/checks/hitachivsp_powerConsumption new file mode 100644 index 0000000..840eb55 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_powerConsumption @@ -0,0 +1,47 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#clprId cacheMemoryCapacity cacheMemoryUsedCapacity writePendingDataCapacity cacheUsageRate +#0 924672 901454 44959 99 + + +def inventory_hitachivsp_powerConsumption(info): + yield "Power Consumption", {} + + +def check_hitachivsp_powerConsumption(item, params, info): + yield 0, "Power Consumption: %s " % int(line[1]), \ + [("PowerConsumption", int(line[1]), None, None, 0)] + + +check_info['hitachivsp_powerConsumption'] = { + 'inventory_function': inventory_hitachivsp_powerConsumption, + 'check_function': check_hitachivsp_powerConsumption, + 'service_description': '%s', + 'has_perfdata': True +} From 6b0bf100395b9ff7ddafda3eab7eb1af4f62433b Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 14:20:37 +0300 Subject: [PATCH 28/35] added controller status check --- .../share/check_mk/checks/hitachivsp_ctls | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_ctls diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_ctls b/hitachi-vsp/share/check_mk/checks/hitachivsp_ctls new file mode 100644 index 0000000..c71a7d4 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_ctls @@ -0,0 +1,65 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#location status temperature temperatureStatus charge +#CTL1 Normal 23 Normal 100 +#CTL2 Normal 23 Normal 100 + + +def inventory_hitachivsp_ctls(info): + for line in info: + if "location" not in line: + yield line[0], {} + + +def check_hitachivsp_ctls(item, params, info): + for line in info: + if item == line[0]: + if line[1] == "Normal" : + yield 0, "Controller status is Normal" + elif line[1] == "Warning" : + yield 1, "Controller status is Warning" + elif line[1] == "Blocked" : + yield 2, "Controller status is Blocked" + elif line[1] == "Failed" : + yield 2, "Controller status is Failed" + + if line[3] == "Normal" : + yield 0, "Temperature Status is Normal: %s" % line[2] + elif line[3] == "Warning": + yield 1, "Temperature Status is Warning: %s" % line[2] + elif line[3] == "Failed": + yield 2, "Temperature Status is Failed: %s" % line[2] + + +check_info['hitachivsp_ctls'] = { + 'inventory_function': inventory_hitachivsp_ctls, + 'check_function': check_hitachivsp_ctls, + 'service_description': '%s', + 'has_perfdata': True +} From d20dca6902d8ee002ca1cd0f1128a5d20f2fb685 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 15:23:08 +0300 Subject: [PATCH 29/35] added cache_flash, power --- .../checks/hitachivsp_cache_flash_memories | 61 +++++++++++++++++ .../check_mk/checks/hitachivsp_cache_memories | 56 ++++++++++++++++ .../check_mk/checks/hitachivsp_channel_board | 65 +++++++++++++++++++ .../share/check_mk/checks/hitachivsp_clprs | 1 + .../share/check_mk/checks/hitachivsp_ctls | 9 +-- .../share/check_mk/checks/hitachivsp_info | 17 ++++- .../share/check_mk/checks/hitachivsp_ldevs | 20 +++--- .../check_mk/checks/hitachivsp_parity_groups | 17 ++--- .../share/check_mk/checks/hitachivsp_pools | 21 +++--- .../checks/hitachivsp_powerConsumption | 5 +- 10 files changed, 236 insertions(+), 36 deletions(-) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_cache_memories create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories b/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories new file mode 100644 index 0000000..e5324c0 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories @@ -0,0 +1,61 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#location status type +#CHB-1A Normal 32G Ready 4Port FC +#CHB-1B Normal 32G Ready 4Port FC +#CHB-2A Normal 32G Ready 4Port FC +#CHB-2B Normal 32G Ready 4Port FC + + +def inventory_hitachivsp_cache_flash_memories(info): + for line in info: + if "location" not in line: + yield line[0], {} + + +def check_hitachivsp_cache_flash_memories(item, params, info): + for line in info: + if item == line[0]: + if line[1] == "Normal": + yield 0, "Cache memory status is Normal" + elif line[1] == "Warning": + yield 1, "Cache memory status is Warning" + elif line[1] == "Blocked": + yield 2, "Cache memory status is Blocked" + elif line[1] == "Blocked": + yield 2, "Cache memory status is Failed" + + +check_info['hitachivsp_cache_flash_memories'] = { + 'inventory_function': inventory_hitachivsp_cache_flash_memories, + 'check_function': check_hitachivsp_cache_flash_memories, + 'service_description': 'Cache Flash Memory %s', + 'has_perfdata': True +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_memories b/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_memories new file mode 100644 index 0000000..2d15f5f --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_memories @@ -0,0 +1,56 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#location status cacheSize +#CTL1 CMG0 Normal 256 +#CTL1 CMG1 Normal 256 +#CTL2 CMG0 Normal 256 +#CTL2 CMG1 Normal 256 + + +def inventory_hitachivsp_cache_memories(info): + for line in info: + if "location" not in line: + yield line[0], {} + + +def check_hitachivsp_cache_memories(item, params, info): + for line in info: + if item == line[0]: + if line[1] == "Normal": + yield 0, "Cache memory status is Normal" + elif line[1] == "Warning": + yield 1, "Cache memory status is Warning" + +check_info['hitachivsp_cache_memories'] = { + 'inventory_function': inventory_hitachivsp_cache_memories, + 'check_function': check_hitachivsp_cache_memories, + 'service_description': 'Cache Memory %s', + 'has_perfdata': True +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board b/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board new file mode 100644 index 0000000..75c3b20 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board @@ -0,0 +1,65 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +<<>> +location status type +CHB-1A Normal 32G Ready 4Port FC +CHB-1B Normal 32G Ready 4Port FC +CHB-2A Normal 32G Ready 4Port FC +CHB-2B Normal 32G Ready 4Port FC + + +def inventory_hitachivsp_channel_board(info): + for line in info: + if "location" not in line: + yield line[0], {} + + +def check_hitachivsp_channel_board(item, params, info): + for line in info: + if item == line[0]: + if line[1] == "Normal": + yield 0, "Channel board status is Normal, Channel board type: %s" %\ + line[2] + elif line[1] == "Warning": + yield 1, "Channel board status is Warning, Channel board type: %s" %\ + line[2] + elif line[1] == "Blocked": + yield 2, "Channel board status is Blocked, Channel board type: %s" %\ + line[2] + elif line[1] == "Failed": + yield 2, "Channel board status is Failed, Channel board type: %s" %\ + line[2] + + +check_info['hitachivsp_channel_board'] = { + 'inventory_function': inventory_hitachivsp_channel_board, + 'check_function': check_hitachivsp_channel_board, + 'service_description': 'Channel Board %s', + 'has_perfdata': True +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs b/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs index 10ec20f..822cfd3 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_clprs @@ -52,3 +52,4 @@ check_info['hitachivsp_clprs'] = { 'service_description': 'CLPR %s', 'has_perfdata': True } + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_ctls b/hitachi-vsp/share/check_mk/checks/hitachivsp_ctls index c71a7d4..5f11725 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_ctls +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_ctls @@ -26,9 +26,9 @@ #example output #<<>> -#location status temperature temperatureStatus charge -#CTL1 Normal 23 Normal 100 -#CTL2 Normal 23 Normal 100 +#location status temperature temperatureStatus charge +#CTL1 Normal 23 Normal 100 +#CTL2 Normal 23 Normal 100 def inventory_hitachivsp_ctls(info): @@ -55,7 +55,7 @@ def check_hitachivsp_ctls(item, params, info): yield 1, "Temperature Status is Warning: %s" % line[2] elif line[3] == "Failed": yield 2, "Temperature Status is Failed: %s" % line[2] - + check_info['hitachivsp_ctls'] = { 'inventory_function': inventory_hitachivsp_ctls, @@ -63,3 +63,4 @@ check_info['hitachivsp_ctls'] = { 'service_description': '%s', 'has_perfdata': True } + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_info b/hitachi-vsp/share/check_mk/checks/hitachivsp_info index 9ce3e97..8923395 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_info +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_info @@ -24,12 +24,23 @@ # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, # Boston, MA 02110-1301 USA. +#. +# .--general-------------------------------------------------------------. +# | _ | +# | __ _ ___ _ __ ___ _ __ __ _| | | +# | / _` |/ _ \ '_ \ / _ \ '__/ _` | | | +# | | (_| | __/ | | | __/ | | (_| | | | +# | \__, |\___|_| |_|\___|_| \__,_|_| | +# | |___/ | +# +----------------------------------------------------------------------+ +# | | +# '----------------------------------------------------------------------' #example output #<<>> -#666666 666666666666 88-04-03/00 VSP G700 +#666666 666666666666 88-04-03/00 VSP G700 -def inventory_hitachivsp_info(): +def inventory_hitachivsp_info(info): return [(None, None)] @@ -42,4 +53,4 @@ check_info['hitachivsp_info'] = { 'inventory_function': inventory_hitachivsp_info, 'check_function': check_hitachivsp_info, 'service_description': 'Hitachi VSP Info', -} \ No newline at end of file +} diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_ldevs b/hitachi-vsp/share/check_mk/checks/hitachivsp_ldevs index 8f00517..2c71d06 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_ldevs +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_ldevs @@ -23,15 +23,16 @@ # License along with GNU Make; see the file COPYING. If not, write # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, # Boston, MA 02110-1301 USA. + #example output #<<>> -#ldevId clprId byteFormatCapacity blockCapacity label status -#0 0 500.00 G 1048576000 vg_test0 NML -#1 0 400.00 G 838860800 vg_test1 NML -#2 0 10.00 T 21474836480 vmware_legacy_ssd0 NML -#3 0 10.00 T 21474836480 vmware_legacy_ssd1 NML -#4 0 5.00 T 10737418240 vmware_legacy_ssd2 NML -#5 0 5.00 T 10737418240 vmware_legacy_ssd3 NML +#ldevId clprId byteFormatCapacity blockCapacity label status +#0 0 500.00 G 1048576000 vg_test0 NML +#1 0 400.00 G 838860800 vg_test1 NML +#2 0 10.00 T 21474836480 vmware_legacy_ssd0 NML +#3 0 10.00 T 21474836480 vmware_legacy_ssd1 NML +#4 0 5.00 T 10737418240 vmware_legacy_ssd2 NML +#5 0 5.00 T 10737418240 vmware_legacy_ssd3 NML def inventory_hitachivsp_ldevs(info): @@ -45,7 +46,7 @@ def check_hitachivsp_ldevs(item, params, info): if item == line[0]: if line[5] == "NML": yield 0, "Ldev is in normal status; byteFormatCapacity: %s ; blockCapacity: %s ; label %s ; \ - status %s" % (line[2], line[3], line[4], line[5]) + status %s" % (line[2], line[3], line[4], line[5]) elif line[5] == "BLK": yield 2, "Ldev is Blocked!!; byteFormatCapacity: %s ; blockCapacity: %s ; label %s ; \ status %s" % (line[2], line[3], line[4], line[5]) @@ -60,4 +61,5 @@ check_info['hitachivsp_ldevs'] = { 'check_function': check_hitachivsp_ldevs, 'service_description': 'LDEV %s', 'has_perfdata': False -} \ No newline at end of file +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_parity_groups b/hitachi-vsp/share/check_mk/checks/hitachivsp_parity_groups index 7a70763..3eefdd8 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_parity_groups +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_parity_groups @@ -26,13 +26,13 @@ #example output #<<>> -#parityGroupId numOfLdevs usedCapacityRate clprId availableVolumeCapacity totalCapacity physicalCapacity -#1-1 26 44 0 87245 157286 39321 -#1-2 51 93 0 10448 157286 39321 -#1-3 25 42 0 90317 157286 39321 -#1-4 52 95 0 7376 157286 39321 -#1-5 54 99 0 1232 157286 39321 -#1-6 25 42 0 90317 157286 39321 +#parityGroupId numOfLdevs usedCapacityRate clprId availableVolumeCapacity totalCapacity physicalCapacity +#1-1 26 44 0 87245 157286 39321 +#1-2 51 93 0 10448 157286 39321 +#1-3 25 42 0 90317 157286 39321 +#1-4 52 95 0 7376 157286 39321 +#1-5 54 99 0 1232 157286 39321 +#1-6 25 42 0 90317 157286 39321 def inventory_hitachivsp_parity_groups(info): @@ -55,4 +55,5 @@ check_info['hitachivsp_parity_groups'] = { 'check_function': check_hitachivsp_parity_groups, 'service_description': 'Parity Group %s', 'has_perfdata': True -} \ No newline at end of file +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_pools b/hitachi-vsp/share/check_mk/checks/hitachivsp_pools index c0ef66c..b22ab07 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_pools +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_pools @@ -26,9 +26,9 @@ #example output #<<>> -#poolID poolType poolName totalPhysicalCapacity totalPoolCapacity availableVolumeCapacity usedCapacityRate poolStatus -#0 RT RAID6_HDT_01 397630296 397630296 208964826 47 POLN -#1 HTI THIN_IMAGE_POOL 46453344 46453344 46453344 0 POLN +#poolID poolType poolName totalPhysicalCapacity totalPoolCapacity availableVolumeCapacity usedCapacityRate poolStatus +#0 RT RAID6_HDT_01 397630296 397630296 208964826 47 POLN +#1 HTI THIN_IMAGE_POOL 46453344 46453344 46453344 0 POLN def inventory_hitachivsp_pools(info): @@ -42,18 +42,19 @@ def check_hitachivsp_pools(item, _no_params, info): if item == line[0]: perf_data = line[6] if line[7] == "POLE": - yield 2, "Pool is suspended in failure status" + yield 2, "Pool is suspended in failure status" elif line[7] == "POLN": - yield 0, "Pool is Normal" + yield 0, "Pool is Normal" elif line[7] == "POLF": - yield 2, "Pool is Full" + yield 2, "Pool is Full" elif line[7] == "POLS": - yield 2, "Pool is Suspended" - + yield 2, "Pool is Suspended" + + check_info['hitachivsp_pools'] = { 'inventory_function': inventory_hitachivsp_pools, 'check_function': check_hitachivsp_pools, 'service_description': 'Pool %s', - 'has_perfdata': False -} \ No newline at end of file + 'has_perfdata': False +} diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_powerConsumption b/hitachi-vsp/share/check_mk/checks/hitachivsp_powerConsumption index 840eb55..334dc60 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_powerConsumption +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_powerConsumption @@ -35,8 +35,8 @@ def inventory_hitachivsp_powerConsumption(info): def check_hitachivsp_powerConsumption(item, params, info): - yield 0, "Power Consumption: %s " % int(line[1]), \ - [("PowerConsumption", int(line[1]), None, None, 0)] + yield 0, "Power Consumption: %s " % int(info[0][1]), \ + [("PowerConsumption", int(info[0][1]), None, None, 0)] check_info['hitachivsp_powerConsumption'] = { @@ -45,3 +45,4 @@ check_info['hitachivsp_powerConsumption'] = { 'service_description': '%s', 'has_perfdata': True } + From 7c3cfabcbb02126a882a97d6dd495406017f00da Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 16:16:22 +0300 Subject: [PATCH 30/35] addded disk boards, sfps; repaired channel_boards, cache_flash_memories --- .../checks/hitachivsp_cache_flash_memories | 2 +- .../check_mk/checks/hitachivsp_channel_board | 12 +-- .../check_mk/checks/hitachivsp_disk_boards | 60 +++++++++++++++ .../share/check_mk/checks/hitachivsp_sfps | 75 +++++++++++++++++++ 4 files changed, 142 insertions(+), 7 deletions(-) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_disk_boards create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_sfps diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories b/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories index e5324c0..3b7b2e5 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_cache_flash_memories @@ -48,7 +48,7 @@ def check_hitachivsp_cache_flash_memories(item, params, info): yield 1, "Cache memory status is Warning" elif line[1] == "Blocked": yield 2, "Cache memory status is Blocked" - elif line[1] == "Blocked": + elif line[1] == "Failed": yield 2, "Cache memory status is Failed" diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board b/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board index 75c3b20..f0c434f 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_channel_board @@ -25,12 +25,12 @@ # Boston, MA 02110-1301 USA. #example output -<<>> -location status type -CHB-1A Normal 32G Ready 4Port FC -CHB-1B Normal 32G Ready 4Port FC -CHB-2A Normal 32G Ready 4Port FC -CHB-2B Normal 32G Ready 4Port FC +#<<>> +#location status type +#CHB-1A Normal 32G Ready 4Port FC +#CHB-1B Normal 32G Ready 4Port FC +#CHB-2A Normal 32G Ready 4Port FC +#CHB-2B Normal 32G Ready 4Port FC def inventory_hitachivsp_channel_board(info): diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_disk_boards b/hitachi-vsp/share/check_mk/checks/hitachivsp_disk_boards new file mode 100644 index 0000000..5fb8040 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_disk_boards @@ -0,0 +1,60 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#location status type +#DKB-1G Normal Disk Board +#DKB-1H Normal Disk Board +#DKB-2G Normal Disk Board +#DKB-2H Normal Disk Board + +def inventory_hitachivsp_disk_boards(info): + for line in info: + if "location" not in line: + yield line[0], {} + + +def check_hitachivsp_disk_boards(item, params, info): + for line in info: + if item == line[0]: + if line[1] == "Normal": + yield 0, "Disk Board status is Normal" + elif line[1] == "Warning": + yield 1, "Disk Board status is Warning" + elif line[1] == "Blocked": + yield 2, "Disk Board status is Blocked" + elif line[1] == "Failed": + yield 2, "Disk Board status is Failed" + + +check_info['hitachivsp_disk_boards'] = { + 'inventory_function': inventory_hitachivsp_disk_boards, + 'check_function': check_hitachivsp_disk_boards, + 'service_description': 'Disk Board %s', + 'has_perfdata': True +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_sfps b/hitachi-vsp/share/check_mk/checks/hitachivsp_sfps new file mode 100644 index 0000000..89687a1 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_sfps @@ -0,0 +1,75 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#portId status type speed portCondition +#1A Normal Short Wave 16 Gbps Available (Connected) +#3A Normal Short Wave 16 Gbps Available (Connected) +#5A Normal Short Wave 16 Gbps Available (Connected) +#7A Normal Short Wave 16 Gbps Available (Connected) +#1B Normal Short Wave 16 Gbps Available (Connected) +#3B Normal Short Wave 16 Gbps Available (Connected) +#5B Normal Short Wave 16 Gbps Available (Connected) +#7B Normal Short Wave 16 Gbps Available (Connected) +#2A Normal Short Wave 16 Gbps Available (Connected) +#4A Normal Short Wave 16 Gbps Available (Connected) +#6A Normal Short Wave 16 Gbps Available (Connected) +#8A Normal Short Wave 16 Gbps Available (Connected) +#2B Normal Short Wave 16 Gbps Available (Connected) +#4B Normal Short Wave 16 Gbps Available (Connected) +#6B Normal Short Wave 16 Gbps Available (Connected) +#8B Normal Short Wave 16 Gbps Available (Connected) + +def inventory_hitachivsp_sfps(info): + for line in info: + if "portID" not in line: + yield line[0], {} + + +def check_hitachivsp_sfps(item, params, info): + for line in info: + if item == line[0]: + if line[1] == "Normal": + yield 0, "SFP status is Normal" + elif line[1] == "Warning": + yield 1, "SFP status is Warning" + elif line[1] == "Not fix": + yield 2, "SFP status is Not fix" + if line[4] == "Available (Connected)": + yield 0, "SFP is Connected" + elif line[4] == "Available (Not Connected)": + yield 1, "SFP is not Connected" + elif line[4] == "Not Available": + yield 2, "SFP is not available" + +check_info['hitachivsp_sfps'] = { + 'inventory_function': inventory_hitachivsp_sfps, + 'check_function': check_hitachivsp_sfps, + 'service_description': 'SFP Port %s', + 'has_perfdata': False +} + From 8909c7d8b0661b42f68e9079be2b878611671974 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 17:50:23 +0300 Subject: [PATCH 31/35] added rest of checks --- .../check_mk/checks/hitachivsp_backup_modules | 73 +++++++++++++++ .../checks/hitachivsp_drive_boxes_dbps | 63 +++++++++++++ .../checks/hitachivsp_drive_boxes_drives | 90 +++++++++++++++++++ .../checks/hitachivsp_drive_boxes_enc | 65 ++++++++++++++ .../share/check_mk/checks/hitachivsp_sfps | 2 +- 5 files changed, 292 insertions(+), 1 deletion(-) create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_backup_modules create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_dbps create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_drives create mode 100644 hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_enc diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_backup_modules b/hitachi-vsp/share/check_mk/checks/hitachivsp_backup_modules new file mode 100644 index 0000000..bea5bfa --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_backup_modules @@ -0,0 +1,73 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#location status bat_location bat_status bat_life +#BKMF-10 Normal +#BKMF-11 Normal BAT-B11 Normal 90 +#BKMF-12 Normal BAT-B12 Normal 90 +#BKMF-13 Normal BAT-B13 Normal 90 +#BKMF-20 Normal +#BKMF-21 Normal BAT-B21 Normal 90 +#BKMF-22 Normal BAT-B22 Normal 90 +#BKMF-23 Normal BAT-B23 Normal 90 + +def inventory_hitachivsp_backup_modules(info): + for line in info: + if "location" not in line: + yield line[0], {} + + +def check_hitachivsp_backup_modules(item, params, info): + for line in info: + if item == line[0]: + if line[1] == "Normal": + yield 0, "Backup Module status is Normal" + elif line[1] == "Warning": + yield 1, "Backup Module status is Warning" + elif line[1] == "Blocked": + yield 2, "Backup Module status is Blocked" + elif line[1] == "Failed": + yield 2, "Backup Module status is Failed" + if len(line) > 2: + if line[3] == "Normal": + yield 0, "Battery status is Normal" + elif line[3] == "Warning": + yield 1, "Battery status is Warning" + elif line[3] == "Blocked": + yield 2, "Battery status is Blocked" + elif line[3] == "Failed": + yield 2, "Battery status is Failed" + + +check_info['hitachivsp_backup_modules'] = { + 'inventory_function': inventory_hitachivsp_backup_modules, + 'check_function': check_hitachivsp_backup_modules, + 'service_description': 'Backup Module %s', + 'has_perfdata': False +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_dbps b/hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_dbps new file mode 100644 index 0000000..95c1033 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_dbps @@ -0,0 +1,63 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#drivebox_location dbps_location dbps_status +#DB-00 DBPS00-1 Normal +#DB-00 DBPS00-2 Normal +#DB-01 DBPS01-1 Normal +#DB-01 DBPS01-2 Normal +#DB-02 DBPS02-1 Normal +#DB-02 DBPS02-2 Normal +#DB-03 DBPS03-1 Normal +#DB-03 DBPS03-2 Normal + +def inventory_hitachivsp_drive_boxes_dbps(info): + for line in info: + if "dbps_location" not in line: + yield line[1], {} + + +def check_hitachivsp_drive_boxes_dbps(item, params, info): + for line in info: + if "dbps_location" not in line: + if item == line[1]: + if line[2] == "Normal": + yield 0, "DriveBox Power Supply status is Normal" + elif line[2] == "Warning": + yield 1, "DriveBox Power Supply status is Warning" + elif line[2] == "Failed": + yield 2, "DriveBox Power Supply status is Failed" + + +check_info['hitachivsp_drive_boxes_dbps'] = { + 'inventory_function': inventory_hitachivsp_drive_boxes_dbps, + 'check_function': check_hitachivsp_drive_boxes_dbps, + 'service_description': 'DriveBox Power supply %s', + 'has_perfdata': False +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_drives b/hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_drives new file mode 100644 index 0000000..c29a253 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_drives @@ -0,0 +1,90 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#drivebox_location drive_location drive_status drive_recomend_Replacement +#DB-00 HDD00-00 Normal 0 +#DB-00 HDD00-01 Normal 0 +#DB-00 HDD00-02 Normal 0 +#DB-00 HDD00-03 Normal 0 +#DB-00 HDD00-04 Normal 0 +#DB-00 HDD00-05 Normal 0 +#DB-00 HDD00-11 Normal 0 +#DB-01 HDD01-00 Normal 0 +#DB-01 HDD01-01 Normal 0 +#DB-01 HDD01-02 Normal 0 +#DB-01 HDD01-03 Normal 0 +#DB-01 HDD01-04 Normal 0 +#DB-01 HDD01-05 Normal 0 +#DB-02 HDD02-00 Normal 0 +#DB-02 HDD02-01 Normal 0 +#DB-02 HDD02-02 Normal 0 +#DB-02 HDD02-03 Normal 0 +#DB-02 HDD02-04 Normal 0 +#DB-02 HDD02-05 Normal 0 +#DB-03 HDD03-00 Normal 0 +#DB-03 HDD03-01 Normal 0 +#DB-03 HDD03-02 Normal 0 +#DB-03 HDD03-03 Normal 0 +#DB-03 HDD03-04 Normal 0 +#DB-03 HDD03-05 Normal 0 + + +def inventory_hitachivsp_drive_boxes_drives(info): + for line in info: + if "drive_location" not in line: + yield line[1], {} + + +def check_hitachivsp_drive_boxes_drives(item, params, info): + for line in info: + if item == line[1]: + if line[2] == "Normal": + yield 0, "Drive status is Normal" + elif "Warning" in line[2]: + yield 1, "Drive status is: %s" % line[2] + elif "Copying" in line[2]: + yield 1, "Drive status is: %s" % line[2] + elif "Pending" in line[2]: + yield 1, "Drive status is: %s" % line[2] + elif line[2] == "Copy incomplete": + yield 2, "Drive status is Copy Incomplete" + if line[3] == "1": + yield 1, "Drive replacement is recommended" + else: + yield 0, "Drive replacement is not recommended" + + + + +check_info['hitachivsp_drive_boxes_drives'] = { + 'inventory_function': inventory_hitachivsp_drive_boxes_drives, + 'check_function': check_hitachivsp_drive_boxes_drives, + 'service_description': 'Drive %s', + 'has_perfdata': True +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_enc b/hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_enc new file mode 100644 index 0000000..04d8678 --- /dev/null +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_drive_boxes_enc @@ -0,0 +1,65 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +------------------------------------------------------------------+ +# | ____ _ _ __ __ _ __ | +# | / ___| |__ ___ ___| | __ | \/ | |/ / | +# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | +# | | |___| | | | __/ (__| < | | | | . \ | +# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | +# | | +# | Copyright Mathias Kettner 2020 mk@mathias-kettner.de | +# +------------------------------------------------------------------+ +# +# This file is part of Check_MK. +# The official homepage is at http://mathias-kettner.de/check_mk. +# +# check_mk is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation in version 2. check_mk is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- +# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more de- +# tails. You should have received a copy of the GNU General Public +# License along with GNU Make; see the file COPYING. If not, write +# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA. + +#example output +#<<>> +#drivebox_location enc_location enc_status +#DB-00 ENC00-1 Normal +#DB-00 ENC00-2 Normal +#DB-01 ENC01-1 Normal +#DB-01 ENC01-2 Normal +#DB-02 ENC02-1 Normal +#DB-02 ENC02-2 Normal +#DB-03 ENC03-1 Normal +#DB-03 ENC03-2 Normal + +def inventory_hitachivsp_drive_boxes_encs(info): + for line in info: + if "enc_location" not in line: + yield line[1], {} + + +def check_hitachivsp_drive_boxes_encs(item, params, info): + for line in info: + if "enc_location" not in line: + if item == line[1]: + if line[2] == "Normal": + yield 0, "Drive Enclosure status is Normal" + elif line[2] == "Warning": + yield 1, "Drive Enclosure status is Warning" + elif line[2] == "Blocked": + yield 2, "Drive Enclosure status is Blocked" + elif line[2] == "Failed": + yield 2, "Drive Enclosure status is Failed" + + +check_info['hitachivsp_drive_boxes_encs'] = { + 'inventory_function': inventory_hitachivsp_drive_boxes_encs, + 'check_function': check_hitachivsp_drive_boxes_encs, + 'service_description': 'Drive box enclosure %s', + 'has_perfdata': True +} + diff --git a/hitachi-vsp/share/check_mk/checks/hitachivsp_sfps b/hitachi-vsp/share/check_mk/checks/hitachivsp_sfps index 89687a1..79cee5b 100644 --- a/hitachi-vsp/share/check_mk/checks/hitachivsp_sfps +++ b/hitachi-vsp/share/check_mk/checks/hitachivsp_sfps @@ -46,7 +46,7 @@ def inventory_hitachivsp_sfps(info): for line in info: - if "portID" not in line: + if "portId" not in line: yield line[0], {} From a69edee91bee104653d521aa873a8991963bc916 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 17:56:42 +0300 Subject: [PATCH 32/35] added wato rule for configuring username/password --- .../gui/plugins/wato/datasource_programs.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 hitachi-vsp/lib/python/cmk/gui/plugins/wato/datasource_programs.py diff --git a/hitachi-vsp/lib/python/cmk/gui/plugins/wato/datasource_programs.py b/hitachi-vsp/lib/python/cmk/gui/plugins/wato/datasource_programs.py new file mode 100644 index 0000000..76cbc2d --- /dev/null +++ b/hitachi-vsp/lib/python/cmk/gui/plugins/wato/datasource_programs.py @@ -0,0 +1,25 @@ +def _valuespec_special_agents_hitachivsp(): + return Dictionary( + title=_("Check HITACHI VSP Storages"), + help=_("This rule set selects the special agent for Hitachi VSP Storages " + "instead of the normal Check_MK agent and allows monitoring via Web API. "), + optional_keys=["cert"], + elements=[ + ("user", TextAscii(title=_("Username"), allow_empty=False)), + ("password", Password(title=_("Password"), allow_empty=False)), + ("cert", + DropdownChoice(title=_("SSL certificate verification"), + choices=[ + (True, _("Activate")), + (False, _("Deactivate")), + ])), + ], + ) + + +rulespec_registry.register( + HostRulespec( + group=RulespecGroupDatasourcePrograms, + name="special_agents:hitachivsp", + valuespec=_valuespec_special_agents_hitachivsp, + )) \ No newline at end of file From 3d4779c3fffdca505cbb2fa29999d990d8315748 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Thu, 3 Sep 2020 18:22:01 +0300 Subject: [PATCH 33/35] fixed agent --- .../check_mk/agents/special/agent_hitachivsp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp b/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp index 19dec41..cbbc2c3 100755 --- a/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp +++ b/hitachi-vsp/share/check_mk/agents/special/agent_hitachivsp @@ -28,8 +28,8 @@ import sys import getopt import pprint import json -from requests.packages.urllib3.exceptions import InsecureRequestWarning - +import urllib3 +import requests def usage(): sys.stderr.write("""Check_MK Hitachi VSP @@ -57,7 +57,7 @@ except getopt.GetoptError as err: sys.exit(1) -opt_demo = True +opt_demo = False opt_cert = True args_dict = {} @@ -78,9 +78,11 @@ for o,a in opts: def query(url): - if opt_cert == False: - requests.packages.urllib3.disable_warnings(InsecureRequestWarning) - response = requests.get(url, auth = (args_dict["username"], args_dict["password"]), verify=opt_cert) + if not opt_cert: + urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + response = requests.get(url, + auth=(args_dict["username"], args_dict["password"]), + verify=opt_cert) raw_json = response.text return raw_json @@ -253,7 +255,7 @@ def process_storage_clprs(): full_data = json.loads(raw_json) data = full_data["data"] output("clprId\tcacheMemoryCapacity\tcacheMemoryUsedCapacity\twritePendingDataCapacity\t" - "cacheUsageRate") + "writePendingDataCapacity\tcacheUsageRate") for clpr in data: output("%s\t%s\t%s\t%s\t%s" % (clpr["clprId"], clpr["cacheMemoryCapacity"], clpr["cacheMemoryUsedCapacity"], clpr["writePendingDataCapacity"], clpr["cacheUsageRate"])) From 4d3795f8cc4a48a802933bcd4d3155369489c057 Mon Sep 17 00:00:00 2001 From: George Pochiscan Date: Fri, 4 Sep 2020 19:48:13 +0300 Subject: [PATCH 34/35] added mkp here --- hitachi-vsp/hitachivsp-1.0.mkp | Bin 0 -> 10105 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 hitachi-vsp/hitachivsp-1.0.mkp diff --git a/hitachi-vsp/hitachivsp-1.0.mkp b/hitachi-vsp/hitachivsp-1.0.mkp new file mode 100644 index 0000000000000000000000000000000000000000..e651c5c0f545770fdcf6fe206a18fa149b4f581b GIT binary patch literal 10105 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 VY5yPC{C*CAZ2vY2fM|n+_zzfqS=9gl literal 0 HcmV?d00001 From 382b735745d957a08755581964a8698e90cac4cd Mon Sep 17 00:00:00 2001 From: mpana Date: Tue, 8 Sep 2020 14:03:35 +0300 Subject: [PATCH 35/35] removed ansible from here --- ansible-check_mk/README.md | 84 ------------------ ansible-check_mk/bootstrap.yml | 7 -- ansible-check_mk/cmkconfinv | 9 -- ansible-check_mk/loadbalancers.yml | 7 -- ansible-check_mk/omd.yml | 7 -- .../roles/common/files/ssh_keys/mariusp.pub | 1 - .../roles/common/handlers/main.yml | 15 ---- ansible-check_mk/roles/common/tasks/main.yml | 73 --------------- .../roles/common/vars/usersandpsks.yml | 8 -- .../roles/loadbalancers/files/check_ha.sh | 24 ----- .../roles/loadbalancers/files/haproxy.cfg.j2 | 57 ------------ .../roles/loadbalancers/handlers/main.yml | 29 ------ .../roles/loadbalancers/tasks/main.yml | 22 ----- ansible-check_mk/roles/omd/tasks/main.yml | 27 ------ ansible-check_mk/roles/omd/vars/main.yml | 7 -- .../roles/webservers/files/konf.jpg | Bin 86984 -> 0 bytes .../roles/webservers/files/status.conf.j2 | 6 -- .../roles/webservers/handlers/main.yml | 20 ----- .../roles/webservers/tasks/main.yml | 36 -------- .../roles/webservers/templates/index.html.j2 | 16 ---- ansible-check_mk/site.yml | 5 -- ansible-check_mk/webservers.yml | 7 -- 22 files changed, 467 deletions(-) delete mode 100644 ansible-check_mk/README.md delete mode 100644 ansible-check_mk/bootstrap.yml delete mode 100644 ansible-check_mk/cmkconfinv delete mode 100644 ansible-check_mk/loadbalancers.yml delete mode 100644 ansible-check_mk/omd.yml delete mode 100644 ansible-check_mk/roles/common/files/ssh_keys/mariusp.pub delete mode 100644 ansible-check_mk/roles/common/handlers/main.yml delete mode 100644 ansible-check_mk/roles/common/tasks/main.yml delete mode 100644 ansible-check_mk/roles/common/vars/usersandpsks.yml delete mode 100644 ansible-check_mk/roles/loadbalancers/files/check_ha.sh delete mode 100644 ansible-check_mk/roles/loadbalancers/files/haproxy.cfg.j2 delete mode 100644 ansible-check_mk/roles/loadbalancers/handlers/main.yml delete mode 100644 ansible-check_mk/roles/loadbalancers/tasks/main.yml delete mode 100644 ansible-check_mk/roles/omd/tasks/main.yml delete mode 100644 ansible-check_mk/roles/omd/vars/main.yml delete mode 100644 ansible-check_mk/roles/webservers/files/konf.jpg delete mode 100644 ansible-check_mk/roles/webservers/files/status.conf.j2 delete mode 100644 ansible-check_mk/roles/webservers/handlers/main.yml delete mode 100644 ansible-check_mk/roles/webservers/tasks/main.yml delete mode 100644 ansible-check_mk/roles/webservers/templates/index.html.j2 delete mode 100644 ansible-check_mk/site.yml delete mode 100644 ansible-check_mk/webservers.yml diff --git a/ansible-check_mk/README.md b/ansible-check_mk/README.md deleted file mode 100644 index bffeaac..0000000 --- a/ansible-check_mk/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# INTRO -These are ansible playbooks used for deploying an OMD instance as well as a simple haproxy and two web servers. These are the playbooks that were used by Marius Pana at the 2nd Check_MK conference in Munich, Germany. The presentation will be made available online shortly for those that are interested. - -Alert handlers (as defined by Check_MK) can be used from within Check_MK to signal the execution of specific handlers (as defined by Ansible) from the ansible playbooks so as to provide a simple feedback loop which provides self healing. - -*We are still looking for a good mapping of services between check_mk and ansible. One solution that was recommended was the use of service attributes(nagios macros) which could then be mapped one-to-one with ansible tags. As soon as we have something functional we will update this. If anyone else has ideas we are interested in hearing them.* - -These examples are fairly simple but can and should be expanded to include more logic for repairing your specific systems/services. We intended these as a starting point. - -## About these playbooks -We are assuming you are using a RedHat based distro. These playbooks will deploy for you an OMD instance on a freshly installed system, they will configure an HAProxy for load balancing between two apache web servers. - -We do not do the initial provisioning via these playbooks but this could be included in the future (i.e. deploy to joyent, cobbler or others). In other words we expect that you have the systems freshly installed and configured with a root user that is allowed SSH access as defined in the cmkconfinv (inventory) file. - -### ansible inventory file -The cmkconvinf file contains our inventory. In it we define three groups of hosts, a variable named folder which is the OMD folder we create via the WATO API for the respective host(s) and the IP address where these hosts can be reached. - -You must have these installed and configured before running these playbooks. You will also need to know the root user password. - -## Prerequisites -Make sure you change the users and ssh keys via the common role. Upload you ssh keys in roles/common/files and edit roles/common/vars/usersandpsks.yml. - -### Ansible -You will need a functional ansible set-up. Setting it up can be as easy as cloning the ansible repo or installing via your operating system package manager. More information about installing ansible can be found here: http://docs.ansible.com/ansible/intro_installation.html . - -You will also need to clone this repository to play around with these playbooks. - -### Check_MK -We are assuming you are using the CEE (Check_MK Enterprise Edition). While this should work with any recent version of Check_MK we are specifically targeting the use of the current innovation branch (1.2.7i) because of the new Alert Handlers (Werk #8275). - -If you would like to deploy your OMD instance via these playbooks you will need to download Check_MK CEE in RPM format and place it in the following directory: - -> roles/omd/files - -## Deploying OMD via Ansible -This is a very simple way to deploy an OMD instance and create a site named "prod". The following command will deploy OMD to your preinstalled server. It will prompt for the root users password (-k). - -> ansible-playbook -i cmkconfinv site.yml -l omd -u root -k --skip-tags check_mk_agent,check_mk_discovery,check_mk_apply - -Notice the use of the --skip-tags switch which is necessary as in this first run we do not have an OMD instance running from which to pull the agent, discovery, etc. - -You now need to create an Automation user in our Check_MK site and use that information in the roles/omd/vars/main.yml file. - -Now we can deploy the check_mk_agent to our monitoring instance as well. Notice we are running just the check_mk_agent, discovery and pply steps now. Also after bootstrapping your system you can use your own user if you created one and uploaded the ssh keys. In this case you could use ansible with sudo (-u *your_username* -s instead of -u root). - -> ansible-playbook -i cmkconfinv site.yml -l omd -u root --tags check_mk_agent,check_mk_discovery,check_mk_apply - - -## Deploying the webserver and loadbalancer -The following will configure your webservers and loadbalancer. It will prompt for the root users password (-k). Once it is done you should have in your OMD instance 4 hosts (1 omd, 2 web servers and one lb) and their services monitored. - -> ansible-playbook -i cmkconfinv site.yml -l loadbalancers,webservers -u root -k - -## Check_MK Alert Handlers -We have created two alert handlers to showcase two different scenarios: - -1. services.sh - Restarting of apache web services if they are failed -2. instantiate.sh - Deploying a loadbalancer if it fails (state DOWN) - -These are specific to the setup we were using for the presentation at the conference however they serve as a good starting point. - -Add the following two Alert Handlers to your Check_MK site and place the scripts in ~/local/share/check_mk/alert_handlers (make sure they are executable): - -services.sh -![image of services.sh ](http://i67.tinypic.com/jgqqzm.png) -``` -#!/bin/bash -ansible-playbook -i /omd/sites/prod/ansible/cmkconfinv /omd/sites/prod/ansible/site.yml -l webservers -u root --tags httpd -``` - -instantiate.sh -![image of instantiate.sh ](http://i65.tinypic.com/14c9s8w.png) -``` -#!/bin/bash -ssh root@10.88.88.145 vmadm create -f /etc/zones/loadbalancer.json - -ansible-playbook -i /omd/sites/prod/ansible/cmkconfinv /omd/sites/prod/ansible/site.yml -l loadbalancers -u root -``` -The first line is specific to my setup which is using SmartOS available at 10.88.88.145. There I have already created a manifest file (loadbalancer.json) to create a loadbalancer instance. You will want to change this for your particular set-up. - -## TODO -You may notice an extra two check_mk checks named up_upscale and down_scale on your loadbalancer instance. These are not finished yet however they are an example of how you could use check_mk and ansible to do autoscaling. Based on feedback received via your monitoring you can bring up or down more instances effectively doing autoscaling. This is a work in progress and will be updated in the near future. The ansible tags are add_backend and del_backend, these may be useful if you plan on extending these. - -There are certainly more things to be done here ... diff --git a/ansible-check_mk/bootstrap.yml b/ansible-check_mk/bootstrap.yml deleted file mode 100644 index 2355a79..0000000 --- a/ansible-check_mk/bootstrap.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# file: bootstrap.yml -- hosts: all - #vars: - vars_files: [roles/common/vars/usersandpsks.yml, roles/omd/vars/main.yml] - roles: - - common diff --git a/ansible-check_mk/cmkconfinv b/ansible-check_mk/cmkconfinv deleted file mode 100644 index 915893d..0000000 --- a/ansible-check_mk/cmkconfinv +++ /dev/null @@ -1,9 +0,0 @@ -[loadbalancers] -lb01 ansible_ssh_host=10.88.88.127 folder=loadbalancers - -[webservers] -web1 ansible_ssh_host=10.88.88.128 folder=webservers -web2 ansible_ssh_host=10.88.88.129 folder=webservers - -[omd] -omd ansible_ssh_host=10.88.88.150 folder=omd diff --git a/ansible-check_mk/loadbalancers.yml b/ansible-check_mk/loadbalancers.yml deleted file mode 100644 index d97fd1f..0000000 --- a/ansible-check_mk/loadbalancers.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# file: loadbalancers.yml -- hosts: loadbalancers - vars_files: [roles/common/vars/usersandpsks.yml, roles/omd/vars/main.yml] - roles: - - common - - loadbalancers diff --git a/ansible-check_mk/omd.yml b/ansible-check_mk/omd.yml deleted file mode 100644 index 634404c..0000000 --- a/ansible-check_mk/omd.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# file: omd.yml -- hosts: omd - #vars: - #vars_files: - roles: - - omd diff --git a/ansible-check_mk/roles/common/files/ssh_keys/mariusp.pub b/ansible-check_mk/roles/common/files/ssh_keys/mariusp.pub deleted file mode 100644 index 694f8e5..0000000 --- a/ansible-check_mk/roles/common/files/ssh_keys/mariusp.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/asZXkhLJVGIcPQGUxZDLl/yMwslgn6GyJd6QGKUmR+Snr1hMz01y7WEWPvfXXUqNym6rMU5fAMUr+alcyzMGZYKyymTLfjgp0SUuWG3TGpl3EPxnfGwNcXOvuJE9cnY0q3nhZgQjvn6EdEFDKAmLG1WXlKYjbQUUrHp0wFvEx3TNIXMVJqHxbKi8Uwyvn5EB1emdeJkaAaXJbk1TxALu400Ts0KYJUUyMn5njJjVELwtPVsnb0skmKSXd4dgBLN+wo94YQLpdfCnmho0uPhZfTHHi0+jtJNtUSycOSuOr/TxYGirxOYcb5FoOvzg9L0RyQAj6O+Hzs3RkHB+qast mariusp@marduk.local diff --git a/ansible-check_mk/roles/common/handlers/main.yml b/ansible-check_mk/roles/common/handlers/main.yml deleted file mode 100644 index 079c4f1..0000000 --- a/ansible-check_mk/roles/common/handlers/main.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -# file: roles/common/handlers/main.yml -- name: restart ntp - service: name=ntp state=restarted - tags: - - ntpd - -- name: restart xinetd - service: name=xinetd state=restarted - tags: xinetd - -- name: restart sshd - service: name=sshd state=restarted - tags: - - sshd diff --git a/ansible-check_mk/roles/common/tasks/main.yml b/ansible-check_mk/roles/common/tasks/main.yml deleted file mode 100644 index 31c70b9..0000000 --- a/ansible-check_mk/roles/common/tasks/main.yml +++ /dev/null @@ -1,73 +0,0 @@ ---- -# file: roles/common/tasks/main.yml -- name: make sure ntp,epel,etc. are installed - yum: pkg={{ item }} state=installed - with_items: - - ntp - - xinetd - - epel-release - #- screen - #- vim-enhanced - #- mc - tags: packages - -- name: add sphs group - action: group name=sphs state=present - -- name: add our users - action: user name={{ item }} groups=sphs state=present append=yes - with_items: usersAdd - when: item != 'none' - -- name: Add SSH public key to user mariusp - action: authorized_key user=mariusp key="{{ lookup('file', "../files/ssh_keys/mariusp.pub") }}" - -- name: Remove users - action: user name={{ item }} state=absent remove=yes - with_items: usersDel - when: item != 'none' - -# Enable sudo for sphs group with no password -- name: Enable sudo without password for sudo group - action: 'lineinfile "dest=/etc/sudoers" state=present regexp="^%sphs ALL" line="%sphs ALL=(ALL) NOPASSWD: ALL"' - -- name: install check_mk agent - yum: pkg=http://{{ omdhost }}/{{ omdsite }}/check_mk/agents/{{ rpmagent }} state=installed - tags: - - check_mk_agent - -# change to get_uri - do some error checking -- name: add host to omd - uri: - method: POST - body_format: json - url: http://{{omdhost}}/{{omdsite}}/check_mk/webapi.py?action=add_host&_username={{automationuser}}&_secret={{autosecret}} - body: 'request={"attributes":{"alias":"{{inventory_hostname}}","ipaddress":"{{ansible_default_ipv4["address"]}}"},"hostname":"{{inventory_hostname}}","folder":"{{folder}}"}' - delegate_to: 127.0.0.1 - tags: - - check_mk_agent - notify: - - cmk_discovery - - cmk_apply - -- name: cmk_discovery - uri: - method: POST - url: http://{{ omdhost }}/{{ omdsite }}/check_mk/webapi.py?action=discover_services&_username={{ automationuser }}&_secret={{ autosecret }}&mode=refresh - body: 'request={"hostname":"{{ inventory_hostname }}"}' - body_format: json - status_code: 200 - tags: - - check_mk_discovery - delegate_to: 127.0.0.1 - -- name: cmk_apply - uri: - method: POST - url: http://{{ omdhost }}/{{ omdsite }}/check_mk/webapi.py?action=activate_changes&_username={{ automationuser }}&_secret={{ autosecret }}&mode=specific - body: request={"sites":["{{ omdsite }}"]} - body_format: json - status_code: 200 - tags: - - check_mk_apply - delegate_to: 127.0.0.1 diff --git a/ansible-check_mk/roles/common/vars/usersandpsks.yml b/ansible-check_mk/roles/common/vars/usersandpsks.yml deleted file mode 100644 index 059f83a..0000000 --- a/ansible-check_mk/roles/common/vars/usersandpsks.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -usersAdd: - - mariusp -usersDel: - - none -usersPSK: - - name: mariusp - psk: ["../files/ssh_keys/mariusp.pub"] diff --git a/ansible-check_mk/roles/loadbalancers/files/check_ha.sh b/ansible-check_mk/roles/loadbalancers/files/check_ha.sh deleted file mode 100644 index b1e599c..0000000 --- a/ansible-check_mk/roles/loadbalancers/files/check_ha.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -CONN=`echo "show info" | socat /var/lib/haproxy/stats stdio |grep CurrConns | cut -d' ' -f2` -SRVS=`cat /etc/haproxy/haproxy.cfg |grep check | grep server |wc -l` -if [ $CONN = 0 ]; then - CONN=4 -fi -if [ $SRVS = 0 ]; then - echo "<<>>" - echo "up_scale 1000" - echo "<<>>" - echo "down_scale 1000" -else - let "CONNPERSRV=$CONN/$SRVS" - echo "<<>>" - echo "up_scale $CONNPERSRV" - if [ $SRVS -le 2 ]; then - echo "<<>>" - echo "down_scale 16" - else - echo "<<>>" - echo "down_scale $CONNPERSRV" - fi - -fi diff --git a/ansible-check_mk/roles/loadbalancers/files/haproxy.cfg.j2 b/ansible-check_mk/roles/loadbalancers/files/haproxy.cfg.j2 deleted file mode 100644 index ea75cc9..0000000 --- a/ansible-check_mk/roles/loadbalancers/files/haproxy.cfg.j2 +++ /dev/null @@ -1,57 +0,0 @@ -global - log 127.0.0.1 local2 - chroot /var/lib/haproxy - pidfile /var/run/haproxy.pid - maxconn 4000 - user haproxy - group haproxy - daemon - stats socket /var/lib/haproxy/stats mode 644 level admin - stats timeout 2m - -#--------------------------------------------------------------------- -# common defaults that all the 'listen' and 'backend' sections will -# use if not designated in their block -#--------------------------------------------------------------------- -defaults - mode http - log global - option httplog - option dontlognull - option http-server-close - option forwardfor except 127.0.0.0/8 - option redispatch - retries 3 - timeout http-request 10s - timeout queue 1m - timeout connect 10s - timeout client 1m - timeout server 1m - timeout http-keep-alive 10s - timeout check 10s - maxconn 3000 - -#--------------------------------------------------------------------- -# main frontend which proxys to the backends -#--------------------------------------------------------------------- -frontend main *:5000 - acl url_static path_beg -i /static /images /javascript /stylesheets - acl url_static path_end -i .jpg .gif .png .css .js - - #use_backend static if url_static - #default_backend appname - -## -listen appname 0.0.0.0:80 - mode http - stats enable - stats uri /haproxy?stats - stats realm Strictly\ Private - stats auth marius:marius - balance roundrobin - option httpclose - option forwardfor - # we are adding our hosts manually .. - # we could populate this dynamically from our inventory - server web1 10.88.88.128:80 check - server web2 10.88.88.129:80 check diff --git a/ansible-check_mk/roles/loadbalancers/handlers/main.yml b/ansible-check_mk/roles/loadbalancers/handlers/main.yml deleted file mode 100644 index d2c9b73..0000000 --- a/ansible-check_mk/roles/loadbalancers/handlers/main.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -- name: restart haproxy - service: name=haproxy state=restarted - tags: haproxy - -#la executie scriptul va seta cu -e o noua variabila de genul new_server=' server web2 10.88.88.129:80 check' - -- name: add_backend - action: 'lineinfile "dest=/etc/haproxy/haproxy.cfg" state=present regexp="{{new_server}}" line="{{new_Server}}"' - tags: - - add_backend - -#la executie scriptul va seta cu -e o noua variabila de genul old_server=' server web2 10.88.88.129:80 check' -- name: del_backend - action: 'lineinfile "dest=/etc/haproxy/haproxy.cfg" state=absent regexp="{{old_server}}" line="{{old_Server}}"' - tags: - - del_backend - -- name: cmk_discovery - command: curl 'http://{{ omdhost }}/{{ omdsite }}/check_mk/webapi.py?action=discover_services&_username={{ automationuser }}&_secret={{ autosecret }}&mode=refresh' -d 'request={"hostname":"{{ inventory_hostname }}"}' - tags: - - check_mk_agent - - check_mk_discovery - -- name: cmk_apply - command: curl 'http://{{ omdhost }}/{{ omdsite }}/check_mk/webapi.py?action=activate_changes&_username={{ automationuser }}&_secret={{ autosecret }}&mode=specific' -d 'request={"sites":["{{ omdsite }}"]}' - tags: - - check_mk_agent - - check_mk_discovery diff --git a/ansible-check_mk/roles/loadbalancers/tasks/main.yml b/ansible-check_mk/roles/loadbalancers/tasks/main.yml deleted file mode 100644 index 899d49b..0000000 --- a/ansible-check_mk/roles/loadbalancers/tasks/main.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- name: make sure haproxy and socat is installed - yum: name={{ item}} state=latest - with_items: - - socat - - haproxy - tags: packages - -- name: copy haproxy configuration files - copy: src=../files/haproxy.cfg.j2 dest=/etc/haproxy/haproxy.cfg backup=yes mode=0644 - notify: - - restart haproxy - -- name: deploy ha_check.sh (autoscale) - copy: src=../files/check_ha.sh dest=/usr/lib/check_mk_agent/plugins/check_sa.sh mode=755 - tags: check_sa - notify: - - cmk_discovery - - cmk_apply - -- name: enable haproxy - service: name=haproxy enabled=yes state=started diff --git a/ansible-check_mk/roles/omd/tasks/main.yml b/ansible-check_mk/roles/omd/tasks/main.yml deleted file mode 100644 index a0a9ca2..0000000 --- a/ansible-check_mk/roles/omd/tasks/main.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# file: roles/common/tasks/main.yml -# we need omd host/site from omd role -- include_vars: roles/omd/vars/main.yml - -- name: make sure epel is installed - yum: pkg={{ item }} state=installed - with_items: - - epel-release - tags: packages - -- name: upload omd package - copy: src=roles/omd/files/check-mk-enterprise-1.2.7i3p1-el6-36.x86_64.rpm dest=/tmp - -- name: install omd server - yum: name=/tmp/check-mk-enterprise-1.2.7i3p1-el6-36.x86_64.rpm state=present - -# might be nice to create ansible module for omd -- name: create prod instance - command: /usr/bin/omd create prod - tags: - - omdcreate - -- name: start our prod instance - command: /usr/bin/omd start prod - tags: - - omdstart diff --git a/ansible-check_mk/roles/omd/vars/main.yml b/ansible-check_mk/roles/omd/vars/main.yml deleted file mode 100644 index c56c487..0000000 --- a/ansible-check_mk/roles/omd/vars/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -automationuser: "automaton" -autosecret: "GUVKRNECLRGFBTQJCRFY" -omdhost: "10.88.88.150" -#omdhost: "192.168.217.129" -omdsite: "prod" -rpmagent: "check-mk-agent-1.2.7i3p1-1.noarch.rpm" diff --git a/ansible-check_mk/roles/webservers/files/konf.jpg b/ansible-check_mk/roles/webservers/files/konf.jpg deleted file mode 100644 index fd91efeac052dccb90cc76bd9412eb88a0356080..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86984 zcmbTdbx>SE_boaEO9+JE4oPr#A0PyW0Kpv+90s?+3GN;scnC7M!{CGfgS!vzE`tt! z^L_W#?^V4&UfsIuRQEYmy{oI%IaT}Y?zQ@P{&@}XR#8?#7J%{s05Jb|0iG8DQUKH! zFJ7R&K>Y{w|1=CVR8%w!OmuV%bac#@nE%DgmsnV@v9MlZ{}*rm1HAviefr^HXf%)kx@y>KT=ZDex_&q&Mzn|f)tmO*4EWGG(wx2 zTmE+U^uqf32L>mnre|j7<`>}W8=G6(JG*=P2Z-~F%d6`fT8h_7@L>OP|$GhMb?%#LB0ysO+X-YlS)c|%8`?Eaf3SD z$GIBB#>W0NQvX6ljgpyE#;<(u=vPhmC7%+U(RBZBv_9k}!#k}z0C319(BvNQ)-%Y} z(Ivrne!f335m@2Mr%cD)-A?}1D1R9mVC!28awXm*^OcBP@8EeXbf-c0j8>Jx zZ3QP=^o?{gog&@eg(xPoC7ulRWmi&c(-wi)@OSKaAv`fUtVZ#pqypuWi9d7=`3&Me zFq-E1x3gA)>zcbI;nw$y*Pjs$mBH)msCw=lGe-6&b~>MkIg53J31iBb7WlrAI-sKa z9oS5%cVsKq@Hi*c?Rk5oARv8ep4~Dt><_FMu@HmkPIwx=-&j;E%A!j5t}h?>MxFos5cnc7yptOH&hp>No7ti8B7y zp1_G8Wv|4|5;G?2c7ly%b*+Zf*>66arNMAtc!Jdte0>H}6*3nxuJ$7PNw#?fDCE)t z$onIg*TG%8n1#;wN&|dX&<%H24QHEYfM5=+FRp{t^R@ojNn)`fGHeh&q}`Y?IUZr} zc1XHo)Ne|ncI?z8zf4$M=pBcndP?|fEBmy>or(!&i=$U)Kj20a1s6*T1oERGK#Plg zEt7XM?rusRy49mOGR?fO9(>=4ltY-a#t=Uh!K6v}EqTdQ`=Wjy)Z{{l8R)v6iKA)6 z@S77d&Ivyd)pMxikL388f;*hH^D@<()G*DQ)`K@u-$mhqex@kSQ#;BAT9{!K_Fx0b zjc&Ql-k{=@50>?0dm3;r(lsz_6{QvZG%0JI4B|MEU4z6|xX%<#-K78BXI|*yrFL9c zg%M9Is!~GquoJsouYW%Eg|glR_&%IFU+o*ZGs}*p94P%6bI;pIh1SY!kdd=$L6^b6 zw~IxR$_3$=Rb=npcou5s0y#PQ_~n-k#}E$Lj&EwPQwMA0JOpnY|FV65SU5sCjN0oK zRwQq&*Lr0vz*DHfUTgT_cj-ei%Nk{lYs@p?y%FEebor3MLW1FvV;J9i$>?qDd>hue ztT)aFUKJo^zHlN-)uIC&0)TD|m-%Hs5TWy_VUBevy{}~d4x?jM-!c~bS~zLe#>}X$ zp{+b~rpMpRAvEwAkmKUydY)(;;}&Jb){rc>@(if8imb;m`9r=bv2aZ8r%1L_J7a&k z>t@k7zYx_so!dGyO5VghWq3G#__wz>C(m)CDpbTIIzGIzvObp8VD5dY&&$4$mEolV zMWPJW*iY+|h8X)R%@i%2Qh8;(-Zw_G64fUXb&mWgL2$uyJ|z1kD{1`TYWv$h!esj~ zG*(u;8?W-)4MAex8j!iAK)$~KwEPIKY0t*3q!|G0LeLvVmc9?e! z4()WH2@&ZF=hyR^LiG_-UEj|LGa9$8(k(M*9+zF(xYBj2=XCOrlYF z7JqDiM$ofD-8@s@iT^sj=C6aJ8!UGAiB4weHki!*mn&3!hI&+oMg(~O_Ze{Z_q)HsnCEp;13sdBLqEUSY zymW_qaSe%@-nb+sal5ZNvIuQ!Dct&87gfU@i+v1oc^^JQ&rW-Asf<7pSpI|twv8m# zQ?@NS;l}3&TPIE{;A^}0=5@YV@@BG;aU$SiNh$4t)FS2FqeVoKPR8jcq|b(~LlHe> z!dK>(5zku%wwfh=Xwup)vd8{Zi>z>VqmEVXjC0e}NSQ6*70_tCT??bPd5X_Z)`vHT z;^joDs?o$?_hUw(8kiu`%OBH!To8;`74bxTc-LZhtTlUl2|_w*sjk@2DOn^OqZZUO zs(Kd+bu@WJ$tv>vlcv~4v;UP2PO92eMr5cm=ZS3FTFo+h&HtgV}75s zBcJG3*bu8U4_p&KVXC3VQnX}%U3rxh{a|9yDi6mj7DZNR#^S38_uRjm_9sfp_BHSa zQY7XYE-8}JsBQKt`Wf*0fZV>irFz=p%PiEj`R}64YglXD4Kz~3z1KS~HF7CbL))3$ z@sBFCvgMeMDcpUC$;Xq?GwiXOHWd6-OocVOG)ie{oJ!f7D&V{L>#^Sl69@XM^Cw$6 zCP&$MJ28q?K`x&Glrb+T-rdhE6g|$arlcLb@waL~E{iiDODaw+5j*AnuotB0OL5g> zUGMGnu!t6+VPrRz*6W8FDVzLO4=1N*6vc%TF=r=b8^^@Ft|gujl@6D{yv{iEnhq3| zwSvJX(`pOM8yQfgZWOmpR(`+-jWlI3mEYahT?nFQKwLQj#ag2w%VvlYP~Q_%v=Gd}%-C~R+<{?(|8uXiHpC|>AC)c?I& zf)6~jZNx+s)sH#bR2cfhxa>5b@);0Wx*c%#CY3Yf89)ZqDU`l}cZLEp6FXS9Qtb`Y zwDtpCL4@aACUP!v6;?pZdgJr>vN;6CMx%)8o2NnjEE}5Z(@2IH`vGkO13#R2$@nDD zz#8g-TDZClp%WH`;!r=Wx*Aw6##iMr-JJ#p3A@(}z-qCXO=_FXNX?{EzK#aF>&|+b zJ+7t)@kEp=EPt0FfUcx6#N{VR3F>YWXV$AB4sp0*)_ z(H1t>%k_V$*Af~hLOq}n7YpV|5oPUJZ}8#7_f#^@Vp+8g6Bg($h4Xb@Ncgll`d+o=8INbUMhacsxC6RucuYG)QiA|)?NJMu8;qK-AsoMnN z=FnQd9C4&c$Ezc+aw`>*-CEUVMFFcF)u;!QjabZHk&4jXkj8|0!_n%|K=X)h!k8L` z4hHkvY1FKn^6AYXpVe`?qlWh;gt~OsE|~YK3;n4FJUj&_Mn8>T(Qq=<=ifIQj&e1e zfW3*XX0EfH0RapfHrihOWKKivwUASs)-h+f*`h*lO{U%AH0L`ne(T1^oWH0(7A^gF9hOGLi`C0G-ch!SkL2S@c{N2yh(Wj>6hu*CI>SG2)>Pd9WgtB+%=s*r z(8Dc7ZiUkMv(o#gEf3gsQ<|IK>^Ioh`^gI4G8=tH`H9A~{uBvED3u*AR;8O5q(72zH&f&u&J$rnD(y1+G(^nLmk3>`4Xy~xFm}MU7&s+-e6i)AEc`Oeaj+D zRdJ=`LqQVJlDae7gBEfXL44mcwX|r9Q;^w|q*M?bp526|z%hNR$@E?p)ApyPh5>nL zrBcle6vu>p_tb8Cgqe~<0mmR3{8r!G4|S`a7mmBRJKpxlkB z_f_#sh0q~|L_1Gb!ED6b%o72qiVjt3%7KGmh+XvaUb!yy;G&PW_B558zq@Hkb7$n+ zp|j`>^Q3ZueT;>?$3?dD4?LUG4vaB(+6U;xy2+{&Z6<3MHsyvkBlKm$3t$klx)zmm z6#YjhNfXtSvdRow9P!`x3fJPzUrTmhTp z1(trhn>ss}DAP~5_OW#kA{!5w@h1)Rt{6U^TbHpEc71d`Cy1DjamjfoJ2V9PNx$_vWld;dv+nz6g}^J>`ogH~^3w=(Q< zIoAvVZ+0xPf)V=z+Ys2iAaNG^M%O-%Yy3JxUim1%`-wOy$RN)=+>dpr+w?Ijqd5C| z^^&-K>=%%8BR=R3-Vm3TXDC@x?(dKdSzTJ}#y-bR)v}D!osL_K=db4m-mxz2UzgY= zzRBLK!d$SP^JZTSuG~V< zI`|20D4#Tx)ZgeEmGjU)C6M!3N}cz0e1yHPiO)OMAMbIM{QK5+*&#iKst{Z?ZITUedE`0F<34=GkKHQf z91ostw=EgX^ob+T+&-zZ>M`b@ZWxklXsIQ3K4hmDpu_v5RR9%^7XPY^E)i0~INQb_ zS=^xS8{}@qzOb80O*w^LnElYGN-$O;9$ik~6R|E3I&14B{L&w`DiHYl${LC9h6kL`lmlP6F4FzsGzdCb{v$KxLC}6jG+w z6v@%)@hc$;C9>xy8<~7JYMf*RF+=`=Wgf}+fb?VS0Mg5NG9`Pf4d!pPEvahm7LMMD zs*XiTHDO*bDetXWo^F>z0xkVJ-s+~AtNEXc3IR+pPG%Prj_+_=bA*m{7d-fz z%|0PIW884$ZOJ*R#4|n00)ae&!(|I;37hdPf1-RMZWcKgDZb1AY05m!VEU$~)0ca~=?GR9EP3i`~>*;BF8>H3JRxn-E~N9ndkHbnN& zcY2j)fG76!#lpft)OL$_8PfF`fOdq`+B^-sdjr{sZjGhcpdY5TY^c~v(>`Yd3kyYg z=HsFj>YxwY4q5G#T%YjVc+hw8mz-DT-vb{s#(@Tvp2poqlWl7272?}R^wS)wcWAY; zc|k*#PaxPs3U)dfCa%#N<0%6&y8P)o$h8qtU!3BB9+_RfUqPK+VQaFWIHzx(RL_(! z#`CnkLv8Dbdr`C@V%p&v!8(|O?-J~6yVClr$Cz*N^Rxuv6W!*MY^>Z_Q}P4o!tvP7 z2g6;fApw z_AiLGiiS?ZN_L0&hLv`98gJ{qb1r3@#s)6Bv9&Q(J)*I}dBduPJS~C_bQ{A|E0{+9 zJLtuB3L-fR>&o@zY`5%dxH1$W?$9B>F^s_fwW+LPc-=aa1xqeJ6c>bMiY-u3tG#y!H1}&HQca&S+I{s3|g$ha;%J9Y38^M2BR52+Rm^tBazjPtS zc&&9t6dzv2C+yFlu#x$CuSdX1AOZff{#zLPj%a1q`O~o`gt5X;Mt9JLsYA!_86dSM z0N!)eUPWKctYA;<70lWk=zy6)XMOgH4eO$-^x9GO&g&^? z$7oCp(b*k9di$Q=4T>l%VZT0xQdFq0SQlx~V?xs=hLGD(X~#Fv!+oQx z#E@NN6Y3l->b^ewO_6}M#`2BOo``l`bX;+9{iPL({n{9ob=oZW?tQLos+SRcb=dDpbpB@)f+`6Tc zSMQeNQ*L(QwGgc6O@-UOfDDRU$DT_g-s|9L9SvoP9+8HT#nEm%K@$A^?euBi9CNnf z#gCVtbFK$H|u8Ab(PAG!M8M7ObLd{2j9+`O)*k|82#5rrt_@)}pPWXJ*6t!8ixhB4;~#XK}r zDHIMEf^rJz7o3*W?1>Yd#rF+xmLIYC<5-JmwVfpXTfQ9%a>?v)0WHj%@bP&*F5?|e zR`M2ikQQ`o%8`OaJ7Xkji$cphK`N~?zPN=*Gu_&_wT0X_D+W?tyL}`-*`wRE8_&xt zzIT{esLEc=s_hzI$H1J_wfB4zHv;BYVesCSRV-V)Wd%rg%i-tQO?&DSu|C%Gp>}h+ zBth5+4UKnWKCTs&Xu2$x2=(h?B=3e}sC!t@jofs-(q5*uN0fZmR(z7yEh(jwR)koY z{Gi&xp62hI-6sE$4!-dYvWIU-uT5Oa!sV6R(zdz4iVq|tIN}TJn_ffCkBw3Y_|+mwKcLN*!{>Jp<}ZVtti2?NxTy$9mCg$JsW+mLG)q>r-ueQ16kB-;#&T zSOqXiNy$*jAS^#Ly{twK3C81Iw3SaT+j+`;2kKdDR^hMi=Wrt$!b2OBZ|N7fMl;{JUNM@HrgOvCn|kwA5FWB# zVc?P=Z7j7_GV0|z#<%yCSq-f8<;UVg&dk~~VBv7xDvW*D+a%1bom_y13)&D!*3`AM z=(0fN0)l4NWQTjstvPmazTFpeIus|XZLx}t$%s)atQeNE#11;(iup;?o25CJ#xo}^ zT}Tx_kPEk33ki4))G;gZl-LkY+Z4mpHsy;J=B#kMQu6#MK_ErE?fKpEg%+0Z7OFm* z+=q!Hscq|vs*sigq!Nr+oNoG?z5L#d5)k14+g1xZxH@JT%A`l zeE#~`^zkJyR&Xd)sQ`1(Mg6cmp3E?)Vksu7V5OgvBQ%z_2RvEU>(q~sX%zaL74)-< z&07#)Rrq-=wV34-{5OtNcjcj2Z!2zXe=sxY`vIw(T(?~+W>}S9A6Bc0b6xN5ei@pp zz2zV4et?4veQ@CTW*jq2`x}|Qjs@$d5r+)>X_t=|JcAaiqcfXSNYtwHGM{DgA-Un$ z)guat(@y2=&glT~;pv?=aEE##UAffQ*p`5dA<4XPgYd`Jx^qhZ*45!ox|9*@Z`*jP|<|j;j(|te2~DJ0_O$i7P(Rq-TI`<9bDj z37Xa{h*k_+6HHjjNN-g|tN3ddJUSN+ZyxT?wcfwr755w{EE=sS7OxGw(qH zM&<~2HI~~ivo9Px1K=-I1!b_PCtsJ~uQ;P8lz28CB)(A zV*GJqVcu2(?SX$&jJnI+Ko`ioiHmF43-V6&$>>(EZZeA=ie|b762Q2I#~t+mTNst4 z3Wb&1df6+%_hP>4Wi~Bv1&qfJCotv=(M1=J+K-m#R5dpS9tKSqKQh=UwVT&{ zJdbyM$hMoHaYXi#kXTc$#s~SA?`xahdF&*a0q=V-4(5~^>!1ki)5879^mSXT2JTx=61Dj572c`QlHUv(pF3jefUI-wZQrZXNk{cDzs0XF zuEKi1=BwQgPKsf-X@4`twuRDE(eW=^8K1gn(Hik z8Q>YMhcqgrXnh2A=kUoV!9D%|IOMk^$%bd|JAHPLC;Q8bt^MOdM1^9n^;MVg-W5eG z=-MyiOvcBx%!GwG)QDZnLi2Tl9<@OV?B&>!#ALIr8S{YNK|4+^r?hk0+1}7^qu%^J zFh{Pt3vgM=4qw<4Y8RQsX92)TRd34y#cAqrwq(b^g~qUrtl^A3IFeNbZBY5Af%5%1 z4+e%LvULk>SAwKkriBZRONnEhhBS~|T1}`j)o3S-+#U{shn$)l_f}$GlMG?@U*FKQ zf1+a~W!dZ`+L#T=7igg(Y2oH;CB1rm`W9*3#-+4jpy87r*y;=6p}X< zF=;qdqQAOc6z;x3!B~B-UXVoG8YI7I;C2E`jk7WT)Bnf)wjDGRtK#iDR4S;NPMV9? z_P*4wenn4rh|Oc~u!N2~^&DIIf-e*04@I@^tlQSf)G~o;&7bmbnYN9tH_l^|Ek**D ze9bQK$&IHqugZDJhAmVttWwp_!GEZ1Z3~G&wo*xvHB{{#DQs^l-Cy=ES=F;so(T%W z50AXLdhJ7d3JacO)!Q1M0pCY571o;?k__~SPZpj)ogD90V@DF+2|l_-W3!Gc9%hJC z9lGD;i!LneKe`3%c!-lAlPmY%c9Ujvy1_mOu~ilFNS-ui1a`}=UJiOkPR2l=I;(hf zN2(6*9&n30&>uJvn7xdyzs49cXtf2MZO@FP6L~hbE=&X0O&w+h}mjTxdN`BD?}D1j!rDlyl^ayR7gZWS4+teDVx~zrYsB zGTFP!E<0xQZXx=*+?g3X9ohR z0d7^%ds%$O8T%0~!{a7~bE2vb-9=~$&TwRoyewx2Y&r-L~Z zUK<;gP*$Spa`cjZx!KNM9bG!#;+yT51ab!9RSDFhu5x6&wu;(FH4-#9JMN9pwG3L0 zxYun~z#1%s^;nO6-X-mIn=GE3(_l%EEA}7F0Vel!z7*#)r0{4kP~cMnM@XdOW-;at zbMK;Ap$gMv`|c7CD50}@1?R_1u`^%VLkl;tN>ke^vBX)k|u z$8+~z`DI)6ddc_W+zC+htV(r`zrMxibuK;#+bT-;NVl6JbTQPBLrV(RxE`UKp_a?H zNhNylB!7m`TNcz;$tGepUYa}~Kla5%Fv4;~k&c_7*N5z^N;yk5vJ-p;R*f@v0B?4y2XW#)7Lzo?LW)$WJEP|5IO9cxt?KZCf_UGXbTePNtb|9&cA+8 z7i8E;*rb9oiiP?Z9`C#E5vuQjB>p&JD2Yvj!R$N>d}=WK0J^e4NsFd9G;PBzd#v5* zjiMtfjl2geq?)}uYu|dSXf6|bO9NcV^&Uc&s5E+1%L@L}S3!Bi79YVOj^YXJrDjHa zP{4?O6Y1sWL!D;h7x20_Ea7JgySR-@&BcAkOly(?m|M+0E3D*R7#H_o_Mf)-^nU)I z^&@us8Sqzx*zZ$sKkhkNvkYF~HWYz~(y#@s7!C~=!xlxUeKu(VE0gq>#nU1yDyd9o z9)zl>{wg^RXI5;PaB+|dqQlr14YXp)X$#s!6nu= zZ#`?_TyzOuVeotF-N9zvO|^G)ehbO_ibe1H6ens=TOK4d6{7-Pi@leybtFRWu7~z@ z3-f!N^~OZ+s+v)L_RRJA|=rvA_Ea za@1UAt1pC*$*|R*X|J~<(S#|^7w8MseFY_7jp{giiKR)D2 zj04VUP_j7{+sabdFeHOrnY*HupfYlMp{H4(kfESk=Dzss1upFerdT=>=ZuwMrPx)X(4upz?N0mR|*+5R(ay6i>ISQ#l zct20zFRB6N!J1_{F3L@ha|95TSskVaGGsVH=AXP8m(PnV{rgu(39m$tbSCeh94kTY z@haxJN)pC%?k^|O<~yc;)){^3D_PN(zmJteIkOdJvldzYfQ)D~;qJ>QB*XmH?6b)q zvv+>5JYj2p}j5kao{cHa8hwH*@JK=Z*MqVnr)=R}C9;00wE+1CX&E@v&J zM0zqg$r6>EY7gsM?_HyYG@Ue+W@xfvTSF4liQ9I($ameKK)4smCKVPCOG{g1yi=i1`NI??HxdlPVX`<$ zYBSC=5xg5tN~(QO)qKp7u#IKy_Q#KxZJKkZz>zxUk+bl#?Xal#IMEo;1Ba=X{t8T4 z(+Q2ZuBklG@D_EfyAl)8i+iC-L_V-ASgK!k9dNdH@?iE1K-Zn*i>1C-o_JvXx4n-W zRbecTQR6gXpD+Hm)#6-q-e29zn~`0IVE?S}%u79J+#}er;JF8!($wf95x~Zh#rpjeiP1$qN3| zbW*o`g3+M85(_uHgf@Ihs~JG9k&_YSVsEP(YgwNtK0)1s->jF(f*leVD%`hBr_qwy zb5hUCdBo7tl4B$$Ep7m;AP|@wemPh|#hZg7#9v^Ux>J*+w8GTwPO~_O$Dc2PoBl0$a76ICe9LO-;3&yCz({Kt2Nw+D>Ahs^%ao*N3{UwA79t3}QKznx`BrqL#Wm zVkV_Ta@p#N(Kp$r*n|O5Q&?Hq1=oTQFUBqJs-ufdPAnviZ1Y^@6(|sAsq?uhxXUP*P| zhNzqFW-m)zR+p=nl9kN%B|jH^GT8lWI2yt|Lk6>-K9_eu9p0uOLjL-0)Y8Q}0;q}xL$Ql;d;xI>X@Y7ZMA6t7|!GP(gy{$d#IH)@`2O)6QMf$KZE!1~ShI zkLYosNpgtsUUvoarbR~!Ta_Vp&sFDl;nu*(zl!ZpRC2u&Uz*?VgBvbUduw^^$3i7J zI*lz0;eLuhs+xYW2HPp;6Bjjzn&^=;92^BXbAYgQP)>I?03}KUhL%|_d0u_`8rmfD z=S}l1L(G*W+!#fe|Att4WkO*;)Mw{mAF9II7R5vYMeB3OpW0H0kzSUFl z`;>8e&@8=ij6Oo6AwA(D@fNPk8}b6vE1BoehCu zTnx|ME}af`A7u@lwzEyRVxo+gn{pq&mrAzGrFw^sxaD^MR2 zc*W&a9O8v6-#n532)3Gl-aAb!ti&7@%3a0`NE#zQvuIz9`1EDu6M_B`QiX;@>4P58 zRO|#a)Z|ebQC2H|-oNU0k;D8Yi&-_5WzNd(Ob0UNp9Tz;LxdjsYM!;Zm@w3tZ53sr z*AXSXCk))s{1$uxz~D_1rPNW@l@T~@?voLi6kF9Dcc{FQz%?|`-M?dBNo1ItE}xW6 za^qo(x^NH$=W`GiquRU+Hauu)>~rlBFF!wxpnjVvH_cBa-$$9SY^$#9K*ob8Tv5tb z{CKOC<}$|)9z(Az-hzFzP$BUfo;yFLrl`k*foT<3;4-4+-`9k|p6Lphlr>Z=E(c2k zQvtMbF&#s6lR%9Pihu}&XJGEIB*VU$)nA};EuDkyc&QsB^wD8)6!AlMnm_6xHtBOM$P{uU+!yB_cWB^in&jx1%a7P< zPg+PAAu!yMfey0Kjs58Je!<0?!;+%gpN0|7H~qwP02TaepykJDpssJEI1@rb5I7he za;yERT?(&LY;P;l_R!@xzQ=^{5dQ0FWxBA#M?Qqua<5E2x|OXNwwXLeH!UmDjxGq| zJ<6TmaS5>MjHxw$fQS8%6arGD|LOIeBb0kgQkr@OD9VZRXy-BR-{wmBzC?^goba>z zpKqLts$wHWKV}?EbvHVd3+$}FNOlE=)D1D?anr{Mujxc5nm+!%wq@ZC@pktc6GV^5 z{86yl{1Q5tnp4#(l)E4*TXWVI(n0?q<#PPb7E95(B)>rIJ3zk_l}~B0skk>-Lr}t! z6o9pe03M~{<*QWE9y2|O<}el-@OPx!pi;Iu7bo0x@bug#XWX{b?PjKVc;aa*P*0ty zs!#rtaZ!Dx+omB=v#@18tCps$T39hZN>Z=zL)o5CfY(E(#(|KHv8%Dtm3UzCW?y&u z(>Pxwr~5v~X9wBnd}CYegYQn~KvO}+n*K!-WlO*C+Qe>O>&G&86Lil{MqeMq5ielp z0l$<=lq~*9K41E4$}M%WHz@)J>JXUoOJ+S^$ABKu;^nu#nhz#&#r7oy?yZIR@;zV=Amrl4DcJ)s`LDNf zz4)6+-?<+KdwWez=Oiy=;J=Q?K6Y~7#`EuK4juF|Vif%IFi4SZe7#H!FZCblB5zqBHQ2#4Z z^EmutRTFw2|I3#dvHRyPwG{44d?R91-Kg~Q3bZFvk#BFdBXvKggZ^>3IYk3!Izh%t zl}JTp!ZM|HScb_*0oK1)giKsR{Y9mTOzplGK~Fq!2;EZqz5d7PNzJU;Yk&37psR!v ztP!Trd*GXnsM=f&6K69rd=Psrp1xM$EeQgbEmlLPIaYY8@J}oPSQxDlQ$FUX&_p9Q z8@P@oKi%Yb)tU+RgUDI?j|`RY%H`#9?6U!oSILqsex&_5U8J_ot)8lup~tb2J;Rmo zZ2?H%bL>+pYr0#eX!fV`8KRtd&V^lWZWCS{PB%=pkRazM#lPSKuV+B7M6@w_{n=GJ zH123~k`Kosnlkmx0tke3YYE<&1uDQ^=ao|xsfMkWZ>GX2iY6A%u|hp zyML8EM`d23K7$0C5`lcLh9epi*+1KON2}_VxVzt*x<3I>hR_1rxg^1m1~KE=XMoH< zKNU!Ac1j~nrNcS_x32!>Z>=b4+HDuTa5H#anf{`kjj&55x!?mKiP7ZIF}Vp~@1OA6 zPv6?n(%jtIqT86YG^iOGD5SNn+)D-GL}K(mpiE$^FH2%p7HwMbU72 z{WaAl6*Wb_1p>W(A}{odJng&u@6N67%!I|nnDW)f5`X7$)(*lQBG(Vg%Dl{7DFx}Z zEMs2yPI8B7e3$hJ)Dj+~D^YwX@0)Qe^AR&TE=(IUNqP7sP&M-RyKw&vQ8|mS?9NE5 zHU7NdbpkY`#OrOu`5$|&HJZTd@#1~PWuQ45p!qGHlr(o%Bq+uS$G zLT~J1l|2YEwqvAh>o=^6*qeU63jZABO>O&)ou3!NKi%p-sel8?dF2xrCVw6Z*c&F@ zI(f%k5~ZKczJQSp27+n@@Tkg10PA4$Y~`ekrH5CkkR0c*W5=BUfk7MJ+~b#Bp7BFJ1IhY@XjBz7 zw+q85dUXpQ%U3UsRu3+os{K|~Z*0A=Z*lY8O~Q>aJ0??^Pb$rmNThI%zVxEy5$Szq zPq)xkf4Nn8A~HwkN-BB5)X@huxJlZnRqa2EC-pRwJ6nyqY!^7c_Bq8~Qh~ZkVMkJJ z$UIek(bM`N@M^Jd-MEpsbC!fhyQWVY*h2GJ&zJqo*BGUF$`?3!;EzAMd9R6aaJ1B$ z`V2@-WLDd5NgQ4JR_5=;Y*I?XywhTG#8rQY z5I&!4;d*Ei)-sbD?#oz&^wE^`0vF2BxvuICQ8Jy3ezrFAtqmnL%u&@C@w&2MZao4| z^eAF2rtSVaJz-N~n60vR;4M(vVJIRjlYM;FVK_J(6O!*v=?aG|(3K177i5p$AZ9|F zo<=5*zCxo0@P$6u^$^nm0HsH3U-1If_aRM>4N|>8l^4TFTe*9so*~=w!QK; zu?N>6&T$}2S^c8p#bM{0obv6f+^}3M_iR;d-9+IF(mwkohIU|O=0;(g_rr|gYW#vrz&P^aV6U+V@NcT_wOohLm6v@fN&*& z@#+UXW91Khj&zEvt)A<*ve#-C@BbaGsmqvj_%h3~7i~COgH*2g*@M|rQ=o<)M5;yn zn5uzs@!@oX1K=ZsPX-B2YwV+)fRa<&+A*E?HoB@2hEgSIU9t)z*emryloSGdFT1vKPST~8?4peNTc}{upMBEM zn41HOI`vcKL3RafD64kqvyoieSh$$irR16M2|A1smOcZlv3t2&cr;_IqLzzgYHPIU z_AAYJKSQS+@)~P1w31b_80cGW$7N!8hQ50lb%uJ@xLlXQMRVBv>Blp!@L7r7YSLuu zpo@{_4FcUq6K@5XJnRrG@UQDA!A z$v!CZbvF%B{&>=q+8igpvMkQHOtGiy=ZwEI$GX@gk->dC=0QeS!AsQjDg}BhI0PeS zs9!qU8#0u6zwjt3N^#_u^x8$Ed^JUR1wwcj1XZ zark)KkzSR%K`Okyq}_S8w>kVHhupCARJmOxRhe@$EVt-DyMub_iX900(wJMGuO~kw z7W1n-@c|+5h9ZbduEICYg#4$M;1DaneSCaUFN|G7-4HG&XyQD(ufGD#e;`JH16Tiw z9A!YGEkpEHB)_r3%Te+aw5|Ry|4Z_i!j%v0Dml~zhWh?Fa>^ogkkAsTg|Q4jFQba0 z-8a5?o1b%$kSp8=wA^PvL>0wBN@tRZtB`nw&aKJPmm zU9A6h%a--eg(e0tj&+Ymgg0D*2V_52a_K9o==9?@S)YBbVrHi2t)9Ws zfGgjmGFy!tQEjT_QZQc1>+y%^sbrH+iC3Q={yvtAvkJytEtVl?=_V`an!`T@+8Ogy zD=?rX)kC&ZjmfgGb5PcFAc~ZU!iB7L;{m4k^tqejxx8_F%OX$51}=RysWkNR9=CEl zSNy#iW^Vr9mxwPoLy|G9*~~&i=5QH#tid5;5M{1LJ#JdC?lZ!WRw4=GyTO*ZvN`83;I&LpDx^gbK zi-m-pzs8UwJuq{kpqg_!HPlP}UjUmxWWNz&sJM0LcV#%~VC$-jZmY=lUxS|j^=(JP zen0UCi}ib`Veu$G*cuYZt!-{@V=}y(+@0Ht1wfld26~=8R-Oqc>a8f~eReZ6btlUo zdYqQJZRzNIpZ@>|55(&a7GK)xz9_cT?DWftt*zrQ`Aq&xG9$^iBx4yXxqvm>N-%@E zTAmE)&8s$XUKaR);(M)cQ_*!eg}$k2aACKKFmM@|N4MVuf)8+OvJz59BUaG;L-79q z?DgUeU95GBySqIqNnwGZk|+(u$qF!%GdnC{wvEJKkPT+*whEdmcnZtlUx_{>YhDhv z@ip$Rt>~U(>Pj6gqn)8DB=Srt`@p5J_--m^DWsd(jU@E!es_M|KNGwu;=hZp;lB)M zkXv|Tz>`a-$EsR6ntew0U7u>7&0_hDN(4pERc0ja0AlBUq|Qlbncy;9U)zO_8TZ7i zHl4|Ii zRJgUUwV8G~X(cH3&QF%u8D~&%MoG^UK{+s|7bY&1t7+3h@?1BQQ0cLCl z-5F!kZy6^zmYRNKQ)uvAq<5~xZU)@!`Qs=~GH^#iPt3oS zB~iuOpyOAU-7p}X;nm^&`10-CqD%LFMPfNP<2`Gl-tVc<*SgJ(YSwktttE*c%DPaS z*Cd7maT(wa4tVWY(rcBj#t>_f_eF@V?52)2gb_8FEozK6$1cN$03PgHf<-GetJ#yv z)~{w7l#KRP^2+MB&oP>2&Rvxk0DE@8&q^btpKA&&Ci@lVw`+)PRWf9dZ3>uCzaaeH zgNmweQPZ``dal26w@jAc+vQdP5#~f0$snGdfL76oyda+EQLcDW*5X)_!e(T6)YNTSW*wRa5pU|gQ)nu`T;i3$niGWifm0OHE465Ywj%#U^Z7zC` z#59xs5o2YkODT>dfudM964HFgKIkQpnOL)WjCHPRZC>coq$($FS9RohC-x7Czvs&H z{ZIV++<&X|`<*}9>05Kdy8FudrElby+|R7EzZpKUrpKsQs>=l5y1#~5RGVqoa}#eo zqYhEOiG9JZI~RtPDP27dxX$X#`NQJx!;#_bS+8s*N%XttClMB51gDc3W&`E^>HI6Z z35w@dzr2omk+bqO{snwg@kfXCR?}fCeWKhez0RF-`y+{f{{USJ^RctnAA7xedQ?|3 zS~J!4kBqnW>Rt7onya{i!s7B`P9#@p zLm%glT5Y6CyY6vze-J!nrg*X~X43Vn^;;an8H?@}1c!~6Br>-~2dzS#{n-lbA4%E% z)B2sAlxBNNIPM)4q>0{FRC9vBVbq>S8L9fZHTKdlHBZ_?A%?w(+Kwb9*JWt8by-+``aZxVlp)NeE^`95BcRN{&A| z=C59oR+F$;nhzRkUL0*E4-NRfro_zFFQ1&t0?QDN34It0AMVyTX~v{l zUi)9yQsY)p()t!YCa1-}iJk=0d_AVyYPXR=c_rqhsp~R@Nh6Jaaf$2fWMudg_Ak>eY+%3E{6f>mCogTMrqT%Eqjr!2tfz(rat(FE43_63 ztJwD+3j7lIY2o{4i%!u|UE?szcW_#3heqn9$;cl}R{W@rc6o=zkJ;nLekQ!Kw1dRg z7y1UCj5M2FO62CrobsR;+{&bI7@hdwn$CE5zlTFe*OSssw0zy-e}sNH@YbsOexYRl z0BRpKyio>!J~5JHfs_#7W1Jk1N}fjz_9_!nc0Eh>d`s^e>bi}Vt8*lm8Z!Li z%@J=bM>7&bYy;(DyYay!V!X_4IIBBucVTEMvT41Ket&}cciGZ4xt<8u{#iiCfcGGg z9^;a8*0`fJ9hc^MAKCEg*(IOB?+ql2=2=T}**`S$$ss>Xzx1UkMf66I!P8w1hSTAW zi*CE^^jM)7`Jc%Hr%bU?{OR6Z4LNB?vN}xy`$h2WtdqhlEpJ1Dmv=_mR6>~{k!0RM z8NtPA6)xJDNy1%p@;*uZr`m0A;!IZ3>S9}4t4n!rFJQ~#GD=t~khvt|*bbhRwG`X4 zJbY}^t7Wy1IPlHP7YY4{0^P-KtpdU37*W)*B@C(a47>72{{ULJQjr2!dmW2;hFTd)1XYxABDfeW!}-d^v2h?M)+A6H5)!$oMM?jjA0-L%mp^UTfNe zbA{}8!b$Z$g!r*-Iq)vO8%VQTC9!S$c9ts2c*#A*I$shhqP$u2mYY4(Y4&kPaPdaJ z=_nP7;$%!KRNNCxx0d^9{cAGEKPcZlmPLW%utu6>X8!Y2qS_8oQPj*1x*|_2n z1gw%wi~FURNJ_EXKrEbkRv4Pz%A22LVT-TqX-a*OFuSj7(Yf~e@(X79_@`o8< zIrSBcYhAnOmt75Gh`gklvW>O6{*}DQtgZA<5ig2utb9qT==xWOZf$KW{81AE zAd=w7X1Or!94OoU?lDeWFDBVd`=^hpENAp(qA`Yn-_}qbh+VX?vnLx z$5-)%F17Ck>fRsl-l=Uiy?X@q*4lJ>gcj0B;YzwH{QH0)g04o|>ZM+vI!&vaduTs( zNnf?kfj%I9$3GaZ^ftJ&yU=wzy9756p;~I@^HF%ACP~@|*;QC3!V2ecZkev{uThib zPgY|Y!OF@?{jPW4@K2c9>&N~hmEboCYod8#F&LNTy1Rq}wXhBZMzE=|*pIyDo>*RH zT%t`pa7HASD|8va#AE`>$NQ(2_7#xKty^61{4yCe8~ZpA-0x<%XKo+?Ll8=;5P0(! z<@Dx&v4sBs7=9hC@<5vWGhPEL{f+@2n%Ou|N6uf{Y2Dn>&@6l#`)Jtf{yp*h;_&J^ zH-|L)8w(!~Yp(?N(0S=BlV2N_gL}qZnH3r17}?u3d&k^<_uM$bJnPzDm&<=M<^KQ< z*xLAGT-0<~HJe>-M4Qf!RI+zum0dvu831gKjp%#VtAUH;_qVyjiD^&W+o9?jKCh69 zA9}FJ9mRIN3{li*R*~x3{*R?P`H86CTH8q*bYzlb486LJDr!p6V}w&@=&p`#VgA^= zZ89qz2SbITmI=0@X0j$=!68)$P+)D(E5&^A>T|ZNeqH#Z$NFxStY5>b%`7^Tfv8Pv zB9OYR*Y8!IaNxLY!#!7;%TA{CD#i}YoP7TP5Ih%i@drfI?(F4M(yp!NI+R6Wnn=;I zB9Jy!*B-o%)tj#4vN)>ZBYieK^Y*d*yHi!xEj%;eb8~Uwy#s7eYIa21$$xs02-S?I zGAv2Cv9K#Xd9C8%6?>+`+9vd8$hKb|Jb9&9_?p*Fm9+c66xp3GTGRn$yB5Y}mPp}o zw8y+6qhpe}tEp8@EjAogy6$uOCXa6R2{KJ3w1}iUOZQb&{?T9(nAqb zCf+#oA77<)IU}-DOH1l>PjP7pw)q_ps3r}h2407eoDh50KPzV%P285kdGz`2C1>*) zoQQnGg(}B6W<5IRuUaIOm4@FnjVrrYENn02A3daqWQGuTf+ZMj+i}s4TY0TN^ge-G1uavX4GAUn$5< zn@J42vw%)BT-?d(Whm-$ODxb|UPCGJWDVpIB5fpeDpdN4?6uOd(~Sg1UV0g<@orcI@0 zDPGJxM`fs9_?*I)u0F=X)h*EoZ!>6i2Or&1GuTm0a>LD)8gh(nZCRV*txnR_md?&! zHfWA6B#pBWWg`PU%H#8`=|fAiT2!pHFrv{fCl;n0%{AF#V*@OuST7?vIn8U#Z5MaS zw><|y_(kz%9Yj8#9AfyAjDlo;yT{M7cxB^)3152StzL^6zP|GLTNgKNo#pwe|jS_suAWzBuI|Yk&x-0RPwx6 zxr(VrmBypdpCcRYk7Bp@YYw+=ntj%*rA-#1#@|qlq>@N2<80zdCNU!I9oS&6TJRx3 zDPEk`hV9*Iala2gX1|A1o6T=c*JIao?K4Xq-~^3&l`Am;s&eX$uwiD zX&w~Poe$fl(d}hvzR%DhmU&R3_J5b3Tu||}?|7#p8A@$h_BnqHe!~x_Kqj?KTU!f~ zJfRE-zyNZ;D;DFhJl5+Ih-=-Yr=RqWdqb--bsvUa0`Shds|Jl0qkU}PzL~3;ZzPzn z-;J%n456DK9hn?`DbmGOsXKDEy+2T#VwUHkM%vnFv)yQ(3%AfM(i0(P)9fr7EDnC` zPa_re!sfjthnG_aQ3ry*W!rr_&68U3E#9Xs%b8`05-sCqJ@=i?e*!A%VJXzNI!?xZ z(Vl_fe}}pbiK^UM+v!m$arUbl#z4}%d@G|$`C?;YG0)v$>03eyIwhelS329RHLh)? zw~^X3m3Fg2?Hh&mbmepE4QPog-RQT;sY7{VxXp0!MSp6F1aifIf>*{c$fJkq-41&u zGip5|a7mIfdEn#>&?^ZwfQ?D=I6cYEKN3v6c}k21OZMmkdU0ml<2x(tYIYzf-pZL)ujGO6QmO6TXzk$7TO4Gu0B^Al=lOzan)YYS)0(P;O?|Ofz^I9{2#QHtuK6OE}e3z9P1M4qC+xB z2?E#2wwKJn9FTF(TIEzF*&UL_LiTN(Rgdi>@UK(UwK1mZTK1)9r&vAg(OjbGLT@R; z?YAu|<%uIdDB`KoY1-@LLd3#XYo~T`8sF`Ap(UNfx<|v9@7WZHZgovXu7eP8aIrzo zI{o_5QG<4K)aLsBwn-zJ@ki|~pOQH54qU{XDQf5^g2!LwYP{9L{pSYi7kBi z=9L=}Mp4wV`GJlOIPXK6gwtzAHuOBdK=>)~r^NQ4Ti9t=FlwN|9ps|b9Udnve6~o# zqvc2?Mi(mUvf=HOBWTPd;4=#m&+60&pJboEhLrM zKplW2*F_4d+LJik?{qCj-So{h2@5BcCjS7y;&X?xj-u+pMR!;9>Ur6g8dad9 zALdu|zP_iQ_`BhhH!|wlmw_y8Ep%N&L$$EbXVc||F{riG&z*F!$XFMY!x3MYmjcY4SHSOFHNWnp53YjIbnk9vt<;z-0;Py2Ll3sp%+dokz+B4qf(90deqayRf~+J8|x=+J|^`12&aUr2N_Bi)>3iPNjIhZt@jw(T-u+5 zr_g4fN|O5X!1_i0p{>IaiZ!y-^~RCn^WE7~m~fyWX5#=F$}Uta+P@@S_R><<`mux@ zu>7s7x^R5kX({XZcDdSkcfoqRo(A|`qrnH-2AQbG;vW;nuAX!f?3Vr%oe2yJvxONQ zab0xq^7eG2Z4>5xw!h|gQo_&KQH``unqIbV^JZ>?@XuVfxA1-3+B8RAx79Tbf5noc zLH4+=HpwQRZtNd+C2fiqIL&8I2{@{4$5iDhdh|1;fvFWuxckYwyl5R&$H{(>h`e3eWdH^@K0{AF_I^OXkI0icQMX(=drJH zQ|8?FV;g8ktp3=4w0@)EUlc@_dJlrUM{9cmXuo8(ib$r3;*-ruB)@rCWp~-JodCyk zO~ySnMMm25ZhWnC`$hb1gT}WPKM?QrTg_^0K-1l^f#Zn@D;#kuq<&apPslc$_pMKDq5-i+W!E+JL%+@s=L#&{`Q~nPdE6Z`!o2% zO88N&c>e%Py?Z?e!%nhG0hMOBX?S#!h9 z##^qP{TZG6Civ4&)xIwHMlEwywzh{yx?M|Dxwvm3QrAv~ONpkG%eQDz7%Xe1c#G0$ zy-sIJDoMuXwzvNP1uFQV7mPKSyd-Sm@PNFQOARMjw);z6+oYtKE^c@EyQWduh8G?A zuOd>HHP*$qB>az(d}ZSub6fFtvEmIv@LykehU!gIQIl@OGh8uZfq#Wl?jQ#NKmwB2 zaI%)!bIL7y*Ey#awK0;^TUy<^NK3#-nGZNp!*eLf!4<9fnl1ayCSXAY)YnE7 zomtFfVvX~Xjn38Mt~srplGNySO6?b-Ynbc+mE1=J!x5a5gTWp89&u38xsyr1k!CGc z{(Gn`_L7#!M6n;d#I{CBVUh+pH4X_T$#9BS?rK3BO7~(rb!&HFGa@$D^8wD%I`#D8 zvwbzxg?%0MMAGVU>Q}HjK@Gaup=ma;9G{rDZkgj9I#P{3Ro>;OXmg%4d#2PPmR2se zP{kw;NGxMT*f(Pw@mt}oYj$ST7KV10bFyGt1Y`mI;BkS1D_O?qs*2_KujGZ=&0}PE zpMtHIjD`p0JZ7_TzN9$aT=q|gpA{}()D~TG$#n>v?a2Zr4oFsGwNCTuPc_LZaf`iz zHQJWClQ-=D0O5^WR=&BilKR#=sYBT5mclngLP?a#BZnXy;Q+?o=e1o-bYi=+>F|6% zR<5;QD(tm?1D=CU|{3(uQs+SbI|&n9$iBY zuLPH$U%dD4hJOHjRjt{iwsukI+AtfX)h|Hr1?izwo?1H2(n6OYs-{dH(=qf5-EG$B+E-`@i`2-uJId zk#<6}IIo4D6Cc8!GSn=uW|HGUzmP$xTd5n@%Q#8m91k)t{CH)1*PqI<6q1(q9VxY` z>|YanKXKwM8EvDylJm@rU1?WvGqt?2IQdyHc~%@8@(%}*UQHU4!&mo}*K2-9O-S>{ zL&bg_`1izL4SZn2TXvShVlDMeE^n1)fE<+c48M9e?0vIeL0*h2L%L@qCgS|ht7h?K z#m=3jYW^OE9cRPWvmtq|-^yvG%W-I-dI)c5rk^!3+&_ zQ^MDa_hRqrgy$E#I-d;q7sqmGdS;hDiFG{}!@7K4O`eUWTr>*Nf__$XVIaXh*dI#z z94#t|UaP#B$x>0jyRqE(f56%vn7`k87>*OOCz33ODk?>B=s!DyAnvtb8|`1 zu5IscXTP{vmSCx6rv$>lnEAIBKRY?+l^7gQ$u3;n+JYmETHe;= zjG7w@8X5JC67UYzzQ%20+VGc3#)2Y);97_a)vmq z5vHC=Glh)?S-1q?4!Ehf?0EK@@n-ABx~!4-QqCJ)4&Oe0si`EQYpuB4Z7o%!J9+!^ zH_>aG6N!x#ZQ0p{!pgJ0$m&05{{R3zrlsRs=_P$fTh#C5g7)RrL6L%nj36Bb*#-r8 z_^d>$N;f^ME*dl=CXb!GE3fPNUCg>%@xy&*Z!5<=t=#JzmgF8vP7f-2WMt#DdTuG| zcq&#W)w~PgKNk3A{!0s&(-P9-0tA!=f>+?QM1VpPa(GePjM7QPl;zBiDwpBR{vN+6 zG!1bIFYjgl09)iD;54eBVWS{?%s(7gpNgX``W)3Mz4{#e@0o9XzfHuyYA5{}F|`O@ z3ZB4@wa*6H_l|p=*^<{*_%W(zHxVjc>5p-%+B)r6@ge~#jNs*1Wcu~4tR(&W9)%j| z)8y)%&0mamy6oNt@a^cj(o;p7PP15a-Aig;wZuuc%(N`Qq`+_p1Lf<@by14fz0QnX z`In+RvrKtcT1z*d?65|UET#aH$29UgO1b{)fWQ&hj%$Y=;**kBXPs3qnd|m{6!Z-f zOw-`hCGz}-G7_;h$IgX5SqhD;q$UEM=C{kI?P#lX(AJdw($|Q!uMYU%!p6r<)FFH% zcTml}nq+v~0woRes3tt^BjpXj#dKALmZde!ta#^+b-#%^CGYlpce<9BVPH~7;YOAV zVIyISqYMTNa6@OB>B7P)3ua`Kj*Q}Gz4Px{>ruM8pK7ziKK}qU_c$#WV1v?O7PNELwMe?;QJcTo{G#x6zuzMPul1*}LK=?7$;W418kvbq1kfFez)} zeI(pl>X0-40ME)nG6|7$!>HcAkJ{rGYsYZ)K8*37>=W=h9UjBQz7Fxmqp5f=Q7ra) zt(z_MR&hB4{USt#z(w2xGvKfB4hgCD^I8<47JVCW@tee+6412W8r~@6g4<8Fv9P%= z(pz0y+r*J9(MpGD3>PJn*R^xD?rF-7e@Xc9toWK}t?aHQv+*T`xsG2CT?pg8@^S$- za-!nq6M^>|fA^M~i`;Q&%>Mv|jjScwOL=iTGs7pD4f2+gVNyOE33Mf8q-}Z|s>$MQ3D@-H^b5 z#54edf;)3h*vagP_K0V~wD=|Bjb3r#yOXSVg`M2m-XXNqC5R~BBr`}BH$je4Nw@k_ zl_@R6rjE~A_+6mh>bKU>ESfgCVGL`k*%`AihIHJamvMDMm?}YJHJ>A~e9L1aO!#-< zdpPcFZ{hjo2Hr;#glSZ81M)M##wuA!9;tuge;lrxX$G67=w2Ya)8I%_=T_6kqp29} zhwlFXc#NfteVBvKCp8X~WbWdd?_&y>T2hxYif_G<#&}!d_mA4wU-1u$ERL_PYu85S zRq+n5Y#_E4#G^z2xOn45LW(dL#uZd5uOhd*=xCBOF1$J5TYW6t>;5s(bbU8d*&vD= z`+qJ&11L#jTNRa$&VY41k6ILD#N19*{8{@tXnGao_xk16h;06QySXiNsn#+g%VtR~ zbWv`Ip;kF0134sP zo|Ni3RG+;hzGk%OR;%#AzmqO$cRnbW;BKMeKM-j)H&(Y+_d0&9HLa_+h#X2c#RO7p zB!O?Y`T2Q+CS{``#k7|YmFEkUhH|Fp1<%9N3hg1JvT}g_L^)u zMYL(=MFqSGYKo_VLL!WF!Q!|j8A`#RLFx0dpk6*U35y`9RZ6UW2NeNQUcE-naYbcW) z8A;~5^0~NH_H)rl@^kDoYhnGYH;3id{Lg^=P4TzlPP?XRHd0;NL1B3t#d#f~M2zsi zEWTkSj#q}k6cdG zCrD-e#4aD_BPyirTq^Q-KZjbHiM`C~Mc(Y{V7$^GyGDChgfcRQxwS(yjHsn@aI3Tr zZh5YLS0!tLl9q=(;ug{^^;sZ$aw3yz+3)!!M0|g&1mFykbLm>bGO+n2_Ds+CL=DF0 zv%3;0-a&LKzbC$W9>*15SmpSUYY}Z4F)l17w`mgPe3=la5u6f3jO1YS$2qQu$w^%s zsVAy5t-M2j8xJN{SkQqSY=7C=xUtR-DqI&+Ia6ItYbiv6BxEm#EVA`2f!`fL=yO?E z!d2pSNH#jPt2^^lh z)bd^+q3+z%va+2FUSz9p4ePX#k+qW>NavoM_NZ^CVjD3$MRzUC*63hJ-rh2e<%7s9 zah&JVfm>5nM)dSW2$dlcdGRolZ^(z_;k)39r>?_#>?{_|EQI-iytNF(6VP_fI@1)T zWOSA{!rsiY@{uk|4&^{Qa(#Hsa!wr5w{wzkyuD7h;mya7E&Nxfr-b!qx4zb{VYT}c zgDeuf@&($_a;yPjdS}qrZ0XUQIVwkPy-!aGjID=~bfs@DkK}%zc(FbY{1fn|m#p}m zBi6i6s7$tYaZe)0X&vGxnIky)_C|vnm8rX)TQc5vz z(R#k;&YnB?#qrZu)ql0TKk+9~)9lfVk-=#NwZ?|Q+&NDoJP{bcRSzRR-VSne*Mq`J zq;EGBFXh(%0Dpf&9CRsDm8o+|KhL92(JfN-K3DNy!LNy)BJqvpr#;1;?Any8B=_=N zd3%_EGTwL&0Kw^;R+7Qhr5}aAL(fuD_*!FrA$SAB9tpkBEG;!<*0qUjp7+F;uoBj3 zbu@)yf&$T@`A`zyTD&YJt7S?&w(fJE+YtJHpIYg#u4L=_7L50IlIf;fR%wZ~)2>K) z0(ZecNdTMzYt3~nB&}j3`CXamp920VPj3|72-h_?)3oc^2-B~mk&-)0w&0|@f8~s) zhyLlqdeMoa?V)wKy*Z?He-OS7UF!D+1cbw>Mf-4TX7A4Sp zlfAzps!-E?QvFhEU1n$N(g`2P#MBT@~>Zr?X8P zVdG@fmZd+8o;~o-hdeE)S!sIBq?-M~5!%6RB$GG{erXtVOb(l|&uUa57VeU_pzBTv zS#EH?ANbYbONeZi`$@S9kt$!y6pJgXu6Jw_^4qbHSof~#bkp)U+tWknKZYN)5A5j_ zQQM=*;rquM8eLIedt=7r)NF6T^yDUJwTZsdNv z$s$gnK^%aiKDAuP&y?w4)NQ<|^KoZ~JOMI*gQ+qDg1?O%$b6n8#CMUV z)sEWCOyKeNq>Unrr}vmtOA$^g?UxKaNjoU9B=Jv=bvs6eD|acn6L|S`z3tar|f>8NrQ?>~N{V6$IN-cCZ z{u%grd~NX;MAKPPT^B^R7y6J0$dW$pAqvXBDSf$L?y2>xF*Ot*`?IeJhxU`#W9H2% z<2RQ`q%@ZEOk6|Ckj__g4nX(CdG&U&;?H(_-@(0C;m?JvZv02%t7sQQ)|vc2YS%XA zkN2)>(BPO475^+Z93k%<1erPvD}` zSX^D&M|9BQ!W(;ah0&!^fg|MPmyC^!*#PGm;QMof zrd!CwfnkwytQElkXZU)0R}CpOB$mXfH7jm(ULg1-@b2%x*Ls$X;hQw^4uf#F5P;EJ z+fJ(DRgU0J8XqfiIB??|c*w6tHD$AU7s(sk`Gew@!wcOx#=ByRb>aP8#MWActZ}WR za!w3}*m)$zg*n=zf}`cGxJ6ZuEVO9OvxFz^K4|wi3oQ=zcxQN8CYA;OS?bHCi1S>t(b?*46xzBx&&6L6ehl5|5ZqebTwNI_F}{@1Nfq^^v3$a0xKSFiZXdgm z7%@EU6*{M(ud{EU586Y*)^I~>;(P0#5b1HF81?93E2>(j@C$`1iFO7sNh>e=O-{;Q zOimJx`yC@Lm9F?wE6ZjVItPf+SX)k|Be+xdeCRi;qx334R~&6>l`dCjx(7;4Ue3(v zycFIl(KM-Sb$w-Zoh~^dkHeaOix@VeVKk>``wpg(!!)Qt`v7iRDQjWKpz$Ffo9nuN2)^C9w*hQ_DU+ z{Au`8VJX-A4WjD4B=NPRU)lD0)RxU@99HhQz>rFkG7*!24jAW(QI4AIX{k@)r^MT@ zh?)kWd8=A4g!K(AqB@_QAet#W#A0R}$&m@#bCOi^f-psLV(Tg?K36ODJFpl>iEVR6 zHt*Q<4-a@t#V}pNeA@W3c!-kHdr4(!FnJ6ee5`SU@|yCeoh77UubJ;s;ft%zr`*5H z>O4|!HC;zV)pg$y-P}*1Lp&DdKPnhyTdZ$;n991!zyJXw@Z{G!&8tgDq>kErJ%xhz zn}0JN?R+5fi<_8@{LlqdYncq5TKvUCX~L?4#{obYHIv3-W%jIe$1K6eXeaBa)2ivw z-1(N8d~!6SnLMyt0DpLbc&yu;z9~Pv>5M5u;DTQvX4ZAtU>J#2kdhIbvi1X>)e4+$ zYUa$1V^+9^-+j&eF~!0x>~^SjAS#kO<$&h2j8{ZuDL1<)S$M}vj^|U-Bobch8XcI` z4xZqvHN1tvSlc8Mxd_KvbEe&-wt5N`QoLU4TNQ1*S2N3_Ug@jlX!`6gGhMGsONhW= zvJSz)Bc6m+C?|CHL`tQtCA0h(?IT0@o#I$@p>1I`-l1uIFWQ#YCz8_c#kVQ>)NNC= zt8#cEx*>;me5*(JGlsTdO(f?fbpG^3<4=M2UIXygi2P;aOTnRNHj+uH!4340$uf(y zOIEYCSk_X;bAja@yquCNtzo4rUqj56Z%!BGyGIA5d}{rft~4v?EPO+#O{iX5eU=Mj zrbx*mN4`Cm23L@65$rsv<0?S_R*MZ7wJCIWJnGr(oLo|}YTfiXDLx+jF|+Y3TE~dI zO{LoS237lZoeYx1mpY57+#-0QRaoL3Bvl)m8!({N*32BD<3=sZy|hJOvbcM-tIjH$ z*M0v0uD@~MzaBhs7mxf+7Q1O=nti-cwX``^5=jhhe7BL4r^}2f;d%p43kOO(uU2s8 z82I8U-A2i1yw^jA(zKh%p}M)XoH+@IyuAMKkGwgpYDqmA=-o?wB#@3zvpw|&c zXyik*$TkH8CsJ58eJd%nmZv@ z%UIb#7z#6fFV#gfXK)j~L4NpLhY+Cj*=s#rvl`W6JKz z+J}cP?Ph_3o2YKoq*IfCW?*tZ*dzmwTBy}h@-~c=wle3rSnb~0NW$Df@(CZ7U4)Pa z)YbB9euGrq@6gS+3nPR%-0T%p4o*#Jv8%c|3oD@o)KFY}@eRrWAKm1HJ+ag4SkGOK zc`K`;Z8ljhF78dj5k16(Os6fhfIduPj-vG|07?JxFH65BIgY6|fTdDiikc~5f12HrU9x{{#^Q%a(0{aZ>udcWdt zO9dH4)P&TU`zbdsyHCRBZ{gpB9tzT?i^zrMk`lkXjQJ0c0K$aJ52$MN{;SHqB_EQ1 z`cZ^25N}91eC_`Lq@JUod@t56Omb-26WzzSDDxmQm1EA?8dYL)e?Lm(e!^E(Rp0Y1 zpQW}trCO{k=}AUE%J*JU-s}3%^KaT;Meqm0t8F@Iv>)tGh+4um&ApDBb0krHguW%7 zYgYZ(V}?{10kU}cb6oV~?`HXzOYieC#Lf=Vrnz5RZSw2#dmlba@!H}!1cK0A*-6oc zBAGM%4!NU))?0B9%(8+%h({3EFr(HVGWoooqXu*TAVPHZ zRr-6>+-fH0gmmj~_(+}wQJG*;$TR#Uut()t)p{CJTArU_rCX$2j2?h=70+{_BW4c{ zU$&hk+>r}g2#~zGh0$AUWl_|bWh%UVYU55)*%;KX2yV>(00a2Hz;_y+tETDt%y)Xt zqpiLjLX3>Cdt)Ph@G#|0&YX(YR3!y=bF55iJ0s`c8+>1|xA?!}-8WItmh$2VttGaQ z+!?MSnXSQ7gekwCNh2Mrw+&C4I%>~18CKKP*=Tr9uVG_-aj4#1-recfH&dBymLRPX zL{3;qzi#Ja>5BAeVH;Yrf_S@Xk?B4R(Ec9Z+{*WQ75@PC3Pu^56rW)ZPx?X?@0P8t=E_dvEOD;90ymt7)yM>Q=g@uc+GGo42r;ZY_*yDm)%b z05>k)3uBYl2E0stHwM+T=zRuTQZ*8idiC-?CGl;$X&yT9MUBG41opa>{gX6&$C#&e zR8Rmo01u^d)Ps5-F<0YhcYm4N_#?%i4evY?9+Be%HQt?~-X^JGZE0!!qdeuMgk9Q3 ztnng=l0I48M%~>{%6G!gk+{oCn$oFl8Ri}|wb0=Bg4eznzI|82_m=5%V&z!R1X2g` z?Itd~JRk_$Zbul&u8PT8-Ak=ztcp|kS5NY8wFP-D%fl3QYa8uoWoJ-W{HGu$@0X5y z*F7rDrwJ`g>CWkHb{nftB5eq;w2z&#Bt93R#bOG`hI6qCLB z7BpQ)#P=Gt%mZH1-tlE+dpYe`LJSIBq*($I7;SC|7469+bfL>P` zaDfgF?*2pjz=U=ovNPJe)l$_tP2*$Jd^+hSuN9Pb;@aC)jN9BstgepE3hiZ(W0@2l zeQT&0*Z3;mz`Dx#x8cP44XwKCHc4=7q)Bx9LmKTX6mE#|`O56frZbSB@zhY9ljcmB zB-M|GzB&HRzY{(b&;6q{{k7r z&x7s!T_xX(wTV16;f+raBylRs_Ke6Be(8ZMvFAJZ8P7dypO)y}6XkbDt^8E@S*B^; zB)uLFzHM(tFPjznw>t>V)=umWcp1p#6Gh)ssuh!3o^z&JNqecK zT^4OTBOaHk>YBZ^u{lmrwI3pC*M&h8>!j&sc)KYq*)PH7M9Rg2^ zJ}2opVe^{wFwajkcv*~EX`4Pf{gOOE;hk&9 z@cqrT{{V*PmKz&O{Yv&ICyx3-{{SAdh9K`4$Y3y6n(B>BJkK?=%~D%G4C^;G_tMzv zaq8N9)}v3rk(PCrYFx!9By4EOMi|}r5mc4T-0bXfS{}BZ8u1CaQzVIchTitoZKQam zh1(%ZqOc67mCwJeDzud0%FS^2hfaLU`bX0K7{0UCv;{gGmtwQL{WGouD+B z*mJ-bY}d--@UQ0%z8Amz5{2FVjMq@vOM0_B@*6uO3^}=t zOSBwk4g&59dsZt&bG6%JI?u&=JH;G!kTRv^xw+FXU3|FOM3c%k&%5SH3l0>HaaQ2( z{e9#rk=y$8B!k7blj-^m`dGNNyP4qEA((BrvXmzo4YZIPVBm8}QoCty)65-Z7^e2? zAwJ$qP)$HxwTYHONGv$J3A|xLxY-75*V}+Epwv8MWvnn*z zoYm9msn=V6&K@Vd{@MQ27TO+>;twL?{WVL0J@e&Q8`i zDrZq`s&H=Sqp$4Qpy}Fdnx*yLqvCBs!WCE(OM*K|JcPkzN#`Y)l^vw#pcT;^98_OZ zf~Ij+a#pl|uIC=V5dIwact<9W;k`NuwDx)JH4Et5pZCA39vk~n{A}Ah?6n7H~H1e&TzC|RK+1ws_A4<~N zd7ARwYq`4}&5f7X{?8`GxEtOFZ}w8JE8OOAa=rIMZoDn4Twh(yYVbPq z=0vU(=Yfr*xz2c|s-%)-#-d3kW!tydfJ>WF<9Sk~1v~l`Ip=}MKDDD<+cM<2wr2kT zhv1jw4RXx0uoq4ki4+05W3Q?2gT-N09QAz*`nB9LY6kf-vBMhMTkah|<+4qKBxzj%`W*@VN>@ZZNz#dOu4=Hxf6du3y%PGz>9{xy=??h+2xQMGbGJpLW)8An#usTu6fd&kge zu>F8ryl*z2AKB*L`^K2DC+6--*F_8Kex}sj^fI*n01IB~8fd!G?IgOIH$`>IfRZuF zfW?<2fOxK$LUL}&v=MT0v8De22#3V03vEX7Zwua-ktAD-w1K8bT5bVnO~F9UN%iYl zRD!xv)7L|#;HovulWA_&tMENHOYmRBjU{bvtnRJ+Pi<_V$)?;!yU0AU_GaXsRr6hu zRPAKkA9Tv6UQl~RQC%8V{{S=UUxRucuj6eIbxgfwSewDNHcU%f910Y7D-xu*hZc$i z3KR`aaS2x3X>kq39f}5b*W&K(1a~bEv~Tu4=Um_SJCkQJGi#n%nRN>d2EyD&1fptN zC(idrRj5E(|FAlt+n>}#Lg+gGO;q+joGmbpg!%KVsMVg`(Y)Gn z?b)J4-~5#n$La{V-m5o>Og@(Y+*}HZfK1*|=c#^;Kw(|gkweLKKbqQhMzT~fGM^>Ql(7&B`KjjjSSUdBJgsTP#Z8^HXs zz272ia~mH7qTY2gUAaBnaB2~CI?4`1lS}OgN?7eimC4+PyE0#&8DdgppaO8z_wCu#jlchH3RgoI8S&OI}G8_#=d7mk<-I%3%ZQQYzbD$R_8 z#ZW%*c;YIHA7xiq>`S_>be*pw-KEJ6FaHqC@*R2Q5R0xVY19M;OdwV7c=2x4=O)rT z7o%g^I)<;rUAu2|Q>PBd__6HCGQy7pVtA!trGb%~+C=1v$#*q7(Pc~#dMnW>5>jPm z(>K0T7Y!BHPLmRF$)l{lFDCtFjvuD4k-p-7POy&E+w$=ei8EictP}Xtde5CnpGf54 zpaoCH7WRHWcH?1WZsh#)4u>i z|Be%Sv&`~SiHwOVN(!lRz18YvC=8eVCWe@1^lkW#aN3Ix%HWo(Si7-#~{t zll+C>G@Agy&Ze`&y0LO2DR&_RTqsYnV)M?{tR+v|HpiZ5L40Qz5E|TTMgGr~?tNIH z=98;5Pvn=cIZd^tz5)9124tCqdRY~U7fNu>br0KLAtkSh+(VQb>uX~&ncZ)M+!u_7 z-Y)B+_`iW4Y0Fd|niW!evS$CLQ4R<%&PQNo3(r+OGp-#2oS(ia5MH-xrkcKe}o$wNF zufm=hoj<|H^vZN!s9K|0OfSZG4fG1-@2P9KYo}`3M$=CG{)jlQ8NkX`dRs_|m%N$= zJ5k6Oqi0;RjSL+P#GR#Wc{dxn6eQjr%xg{@rA8QSq@dT=6R`iV!E|~LG)D8qQR~#V z9(bON^<*e(MLcY>?5I!hVTt3?4T}}e3vS@gC<@UjH}?UwjEty5IP`2mr{mlgu<*JJ z)u&T_AEhe|^N0HTz)|7BqlWYse_uB2RE@eWj=OhDW!_3p^UIkK`!Y7HqB5KXi)ILL zH<>hkZ!jsM$oW1XBz%-^>qFdkkq|B3ejfkKqmUu1*6IU1<&NNRI=*#US9Z?bX~=+U zi}f>Dmv|QwIkgnR$S3o2Cp1`vAA0eE{-Kc98KPLJ+ zFBZX*gjT~!)Fx)OQ-MU6so}X4L@rEqK#(r4IFE`m*LWes_y<6W3%o@gL)^m{kE(vB zcYeYe!O}})gAxq3d#5*L?Una77T3=6ZB4Qp75!L#ZyrBij7PP1HADJg*0;^nN$BSF z`trM`x>{fHZ;35%uKdt}v%O&n)oOlYs-%M0RQ+B| z^L8wVf1JtLgsC7TXL0p+?T@7(O>-%Fsdcn7TGWa%k2s{#iICZ@^V-{s3?vGZ-wLVI z&N+3>X<~ZCOf_6&zSK4o8IXyi%vBo^nRaZ2nJ7*HPwGAk7TF6pyIyXHR<;H1g08P2 zbv4mLE^Cw?kpkrybWPn{ZElmXiANgQZ4@B=Q;WbBQmr>nZENSUT zjx2%^e0940 zhvKT_unZcLtB|h0Pt~T##69NExD~9-G82Vk-zV|bq9sK4{JK7ix~ibIW~uCH zSa&&jM>NvZ*_8De;370NZLM1ksQ1$N=6BF$Q83l-x4Y- zmO0Q0Z4t2YHbjz?%qk4iD69yCM^v?B9ZuyMQki08a3_eQ9Js?bs}BcGaeA94yYpmZ}NVL?mqnPI;@m2`Ct(H?Tq? zfFUg;_Kb!H-vP-3Y>j}J7OKm-TKFhMI%%nTY^|=8jW?w56LnUHMq=0Dgfj9_wJjid zk@qQ<2l{aZ<47-RCc?Y)iYc^kN=d1IwFA8!h_Jr>6Q@{ylz54VQ<>sAyDl-W<@p={ z(y#wEG)2TSUdfYyJ$ww9?qt=>ADtDIKp4*|yB;I1wqDgY40?DrBu;<|73_Vex;}92 zVg)}f^r0K1ecIr*mp}Usks=*K`XxS(uH&%#GI%S`iUGbCjY4eAU;@Pru7{BWReJq) z6P0!?4Le%S{lZ8)Oa1VCPTTPYZ|QS?MLc*bHRbuT!C^!wdl@?ulFstVp7DfxwMvS> z*L-l`Pp=2*y=ob**3zwPL;PlTNW}@W7vqgscQ;KnXPX<-=v)zhK@=`bWNmecE5(Ch zoZiE3n}${OZ5>h3wuR8$#Yn@J?ep*vaJ<7uil5viNC&x@58QZ zqozsqN9{!uyqdj!hIU?ke19EAhnW)LqxXwD>$U5>IN;7qwDYwTs+0PN3Pgp508%lm znuG3AQzp|RJI4R5>~Q1B!+5mkFg`Q6ZO-|DaCtjy1Z+rnO{K`3Q0~2$9V=HsGjgT0 z;h?n3cy(QYtFD*Tx(wXHi3otXGg03N(L@;5X-6ofeV+B!D6$S-5;9W8=@jk7k^y6q z<)D+AoROIGAAAB^IcthxtDmbkCwN9Oo<7bqoiH87Y-XbNXZ?jYq%7Hv)AXP(3#SV>KD7J;fnkQoBWPD zs$ESVYA$a2|XPNs#_!k=2GI<%>-=xA%Q$FQQD0>8si5iDkWD|tPiJrZ34}bn! zthZeIv&t@xZtc>J&L90^*v!4Z&0#)wq06CWTFp*i?mFXBqz+%R)wfA)Wd}^T=tx$r z8Ir&I08cV~1O2~;hSj&F>l@==&pVDUHiexFYML5q>ispt?;q6KURN-(D9vg?O_!UV z_fZJ_6CF?By!}N;hXWYg-KM|Dn8Cxlts6&;R6$0(Lv&TPLZofCw%Z z=^}X^3x8+tREujpfMsU^8jh+@E55^lS=V<|SX3doq?cR}t~#<_Uz%xgwQfV~R^75R zw<#noRxRO|n5szp;9P5$l;-|Oy|f3Bcjg#CO8cdjSP z*TTg!dsej-vnPIn6ZdX#i3o3;^W}|-5Ib+9vSmv`h_88(9cOsh`pHyrpOGeGm0XJ0 zpJE3JzNWG!oK!!O4hT)~KNP&$G;tZZEW_X%O}&FR1mkoRKlLwJY<{Nudpc>)6z7!B z`KPIX#nS%x)f@J#zjN=CY{v+YIgfOm8nyji*uv301kF?2Wh2_}cg(@h+N9b{u(ztV z{F-r38Pa1IK|@vk=(tpna`EbboM^LQkx!9+4v?dwq9E4g@IjYU^`!AHDy61N!Nzs0 z!uTUJRfz3+{WNFk(y(M=5D|oAj%L!H?@wGSV@pJqmA2-3-riKMbeV5CiP6SKUUeEI z%t~g6B-Tm$F<39i|4r(6gA`49epipwLcCta!IC?lU5Fp2XvJ{;y2UUIl@e3=3H>T@$}<=C5bW1QefP(^$H-ln<; zsJaqp36DM;zLjNY9M88Bb75>UZc2h9(%01r^G8+n%Di_FHlBiyJV^PT@w+pN=ZevX z;pdizHj#&Uv^lX3GTUVz=(-h+M6)RJ6kpDYoLNkNy({EAqr6Ybacx%ylU@jB@uRt{WPZ)&73(-gZ4 zi#fNxPN{2iV&*0B>!cm+Tx_RES1PoL=>*dLwNn72)7-pHVo(u?pqW=0>ys1S8dT1L zlzTve;TY-fUYuI9KzJCb{WUkisJ4Q%u!sVb6W6q0=uLx2vVb3D*lkIsinGn+tgP6F zg_ChNaF-;VEvQB6E?5W_SPK%zF;)(k#Js3~lLL-~iMfChs!34)oK<(FV7QfK<7G`GTImab)NjPF=Ey=~|zppJv0REv=EAS4( zmUXo6K(BZN&X_*OIu!cuJ&37$Y28W}^B!Ak?WsZ~b5w5t_ zb$=X$H8g*7Eh3|7Q`b8|q4d?rO~`et;?8}43=Mh|FD&|*eZGB>+!b5mMP6t$PDy+$ zJZg3wT3*nhR%qFa7uh~AQ2>nzX1JYNC8YgB)1xs!-AyE+ZD4XA{}@)vhexCb(XmU7 zhQO$dWrOO_=M+-tF@rxA?ec7AG~)D$vzdkJr}0DIfNLyj5L`F*lh5-McaBF5swgKe zg`$d--dA*?cx?RRFX}DUDif?`Gcj(u_J1AtzL}Y#k44HzX|IY(b@}D4 z&^qA##`XjgX`BuLz!rB@MEYya#QuJ8GPoOd95Q$+S5#S|{W6!tDOL5t z^dIeZ`(;k$EUZ-0DG6f=c`DslqjbJATcJgt{(G!O|FSn^ZH z&L;}$)4NRpU&){vL5!bMX%YhL0aqqyFyA_ZQ3V-+F@VZb-XrVoC`Vb;gjeCsK)c>I zvmawTk2u|j0E16@y#Y4`GqDRL2+!4_(yEe_b+SWk z{D2er%{{HP8tI}{QPHl8j6b=KGE=$cz%%QsRJSG^AS4Cp2}XZ!Slf^~oh1N5yC8Gy z4cP=$$V2IQG~cfb?H{)C!qyOJy_b2n7;eQJ4UY=s8>lD`?AnrBLZT`>FUFL=TC+{p z*ffgf8*|Wny#V{SDniQJdK~qKMsHe7n3L@|)>Aa4`VF|B=fnY6db7Q`$9ULCF6`%q z0L2T=u;MgL+EMGvQb*3kgkSxP94&4`+NNq#zgXHsL@&nsKDZaP3Km%k)Em5;d*l|o z56&pnmg1HE?s(3~#B@b1qf+N<$Q5MHIORMWE)ND;Oalqrp?lyU7tw_J@SU*4Cy6O7 z`Hgr^Qlya{=4e)uaAzN@W7M=)H5ETUC?`#!twFA=RIsP_CY?LUG_d({o2YBE5z^Rs z#c}E|Hav6Cs=vtr?s_Kl!(Ljgd20V?mf-f%DC)&Rt}DtQRZah1xptVMysq`TE$3-r zD%qauHI6(UnIg_*^_Z2nQ*8CSTfb46uPO|e`(RyNAL`p-`+kpv!cn)q(V?l^4d`?C zu2E*DOmHIU*`1L_<^{U!i*Ah-Vd$_?7dQN zE+5R*%4bYnxX4-xxtWRkgFNof${$%b^?6k<400JYMQ}phVZ^&1kt7@~{Dm0I+z%_R zcHbKLSPk_h^K%KWzoGc!^Jf`2syR--OH8 ziaEQt43w8vRdH@_cz) z-hn!dvs~h5)P;55QBMc)HAET1-4|YZ+^L|T;2dj(lWusqCi#N)gJ_x<_H~7%iwO%W ztG=#p@QjrRbYkv-%4{B)zQEs{dy}t+?WCy_D!<~&S&DCnK?Q7!!Q5?ZCD?w>Cysh3 z;a6~~*U7@fax$qg%OHaiHB=IW3$RNPZa1YC!(_B6r zM%kU=WjP$XgY^i0e!s%g(fYz0sT+IS>_I8~Y*#!g8Mw}-v;2AeD0^GbGoiOHpVF<* z{1+&cF;?<{LeJ3~`OoU~5yEKENI<*6SCaTH*WjbvYK3oq6X~K-?c@W+WEh#q6{M z;Bl9JSy!%DsCyvbd71^Ia4$#4V?3Z8e)}iL>?EOoXR3g=NW?K=>78zksZK$Zg)PLz zJBEx|nQI{C&Ag@7-*4Pa!JbG70s|#^F8ld`cgxe+Bda_Zv>_I$Q#H!f8f@#WVm4^d z_PT?za+`XaB()!Dx^%>HK~MzAj?E9pKa@0o$U!l<4Lo)FGAen+G^+zp$(+B6Tbatj z428vkB-~|ezPB-By;=Myq96vGeLu_tk+r^Qgp*-wRbxl+n!-S7LS9=Y`mi*nov;-p z3Ytndhn>GcFsxf&K;NS0trhahBX*DhWJi3sl8~as`K|;vnWGnz^)zrci)ZDgjpmue zFwn&d>x7}Fq@0~ox<12GDn$lpIiecZvGaWNhN{GB*@(R z^hr7Ag-1sK84*guJupyGm!CDe?;!in$t5y!26m>)p_YV3XNy}T8(j?P^fg^LGcUXI zv{PB)MK-8jkj^yA40~$6y`zzL_uG*8`S*Z!hO>246>-wQ)65HxPY$~y(j^nie8U5Q zVn~WrEj>8j(I0IdY9{eD)YXH1D~b*X2JDbXg=%&EfV zjx|?KH_hkeKQBo7=i6D%SK}L+;VK0bcU;((iHROsu96dSl%UvuD1Zu%D{vOuq+5I* z+#-K*61%<3%Zp{O1F-xU&8@uX)GIRgq}u}&&QfV=kq*DaF}!U+QqncW^xAjyv(=+= zmukww0&_<(SUs(ux5~xD!!xAG$`u6@*FBD#Z7UvCZh)k1vm{#N&Tm*OjP}-K0%*}i zl7}iVHQXL1@yf=CqnPb?Gb8TrG6Q+iiD+Eg=|B}VuiftBvjaZXyCkk7ExJOtbX}WU zV_+%9pDweF&Az=6p{iR|2&vMLh|rLB4Y@nGk9lfHGU`~}caqr6dZg$WXy-R1u%_cU z*~|P+o@^A%G5tz|qswFjbvkFhh%yUHX>GP?`7Y}KcIcoW);sHX!>YEs9^+d&d)^=5 zt^B@toO1GjguCL58Xl6|nU)>N%}D)_MLkH$!#C?CBJas|3$C`)d_b>IPS9_wb9c9T3Qorstx1aeb^T5c7 zOm~Zx6%*&r>@q_dAF&ZsdE@X5F5L?qG8agYZqQVLkpH3`$kNCivC5pNo}O-J-*PlE z-@1Kmv!vD3SSTx(Uv;`9kO86WKOP8!*u1W53VA{L+2LX0_1DhM9oh5ilP|lB$opdG z`m=}P(?67Jf`2H*&$p|;WjClw4UPTZMW&FYq=(%7#O@|F7X1P7w>!QvKOKptRwUkM zpiSXfH17O~O7lTj9AZtScz$r`cvHis1f2{clH;HtKxGm0m%-!TS9Q}XJ+z#ib;ejj zzoz(T$H6J1wZ}nd8WpLm)_+xc#PkJ}XEq8LY1u|;j!wBJKIYZORm$^7opm{7$tT=L z!W))mZzEdy3qWo#fowPUazYT7ae{H$Fl+QCEeX2(_PN(?W$|WK(X@PeesL8%6FB9p zfJbbtc`vF*fo=vMU*ogqseCvb#gqxbNw?KAu2t938yHg1r5=A^gb<$5ETxA^Wc`zM-HG!!fe_&;9I05t}UN$jSS zKJKB_eLJ*Nr?Y6fg2HK;@%Q})J{~{yut&t)YxK#KFWq)A?yr~=bp6(sX2V~$605; z*giog`)J1#^K1SvUBsOjYBSGt+6g<~hVFuXI4)X9sZ@r5wBh!2Mp1_mpl(1ifkAFjTey}sTdG^XLH*TH{g29 z0j+~|x>fW!m&uG8wNH|WzB2lNHw0pgbxOUitX7KmS~$)}V_AimRmAjoe>rb~1+$mi z)?sC_ZQA}i*p>CNpip3l=C9^yjr^`NTRh3N3Kpw=9)&v_0*o}CHdb43RxD6_QH8F{ z(wY@A( zdQUe*@_D4uqNO_a=I#q8aFkrODKdae&y>;x#&0cPu3ET+yt@fmue67@)9!mJm9KrM znHCe=6g8jEpJixpZ48Hmm_G16UPKK!#rhidHTf1ctt<|~&-6|!BsSttoeOOw;Kn}9 zggoX>u)xM}9>=M?C{cS_>{lCaoibTV$<_9hdJDBz+K~5muj&!(HNd3r7XXbc?fOvt zUYimVRM|Hld0LrF9rK{NLgmS-+up06IK~+f5f8%Nl1M?Hvi7j81EjMBA{fqjVr=;S zR7>-tzq9^i`%FwY)v||}DLL}}bSUzDM+e_qaK@L`-A$t@?#qQ{jl*rsfIk)>sb-ZS z5<^}$UX~R~6n}9yM`T7?Zl%q|>#4q{D*sk-@UJZIML(Rmcbxbz=~*OAy`}vE+jTOe zq3sul?|i9z7K-f{$f-2-pVZfmvnXVKjQq)_}7_SbX&tlYTG9j_=%ZCL;7&1FG8t&p4DuyM0YGjh% zibb_$j^0!J1oKKziZ3{!sG0R8^QNf1SS>FiZgBaYE&W@Hs<)NBFm^?5feW30vWUCU zY+$gn&`CWmF{&*Z!Z~;-Tw$52c(ilqdM|;57x*vXA_X-{HK&ij;g?I@evEOe#}SMJ zFR(}rta6!;FM_ zK2W$0>k>=S9=C~TGWLrrXEK;FmbO=gLi)9ncSnlMZT*~%cgm$A!SbQIN2bJbVV@|6uLXw%>1^p^NmxD4#^<3A z<=`FV56%NOIR;zJVyr+J$te(aNsBQ%WB*RUi>tT)P+B_0qllXc!S7okH?`oV&!Z!- zK~+>F4)C558#XtqAQ7f+yXb=uDWv{gS5%1&I(wrpc%PVGa&Wsl zCS02HRn>NX>Wz@a&56)t!iFC!*X)kbtwn}-v4`<;tScQ@w&QoX`AmROg z252$YUx$Q)|3e8OPxY+k5ZMrjc5?Hf&4>?vkW7ySTVf@2k}^8!4(e!1%L^pL)WB^` zlp7oDYX!t|c4My0>`ctC65%YdbTRM{dF4QZZa)`PHffCWY}}Ge3POhtZf( zp#C{IHTYk=0|p%q%)@*dTh&qo1j(6H$u6Lgg7tvwKhW(4vItFF|88 z*DxhYQRv1n4;1ROcX5HAp-JI}!G{GcH(EcI@K4cp*EHe!I%Omu0x$T7wFi#}(o+|* zx<6PZ60RT4Y3B4{sI2XLy$c^CB`_1%kzJEuyYBTsc5#8m~+(BmQ4lzT^Io+%U!WvZt50J9(TRu8Ji znYLd_vyoBleA^=%L=pV10meL(y;ZCE`(^occs_>jeU`*%ZskNfo0faXpTv0s>L$Tv znN;bF+4drev|(X1{F0QF#>hRE<@0r&&903Md1x?OuCn{mAjos+_B1-X3<{G^?fJIf zw=92ahc|Uov){jL{mjygdfcV$U#a>n#1Y!GHyrP`HG5PV$5n8~Qt-I`$i1Tw>ckd4 z8K*F)dtssA1?RBWo>EhNz^F-J!q?XwfpcUvCVu#mjeeT%aiaZgkCJj#sNC8QDd%AJ zG++0ad~u~UWSzG&47QRv>HUY|VQKM*^pVO!MrFM5+2}O8)diMG*bZ9Qbo_;;D~6S3dcGblj8JM_2}B3XP#qyP&ONB zD)Vxo%oe0}bB*G{IJlRNC+}Tf*b1i-vbEdI8c_m9(!F?M_AKJdCDKBnQ4S{SJQ-_%#UX!Az^d{4Huc-{$%KBX{*Q ztyc%>fxszM7fR>nQ4ftngz8Fa80d|>iEI2=^C+fXReeNn3~e7YP>AH zhc8gK_v$B>ZF$q8HMQSpkz&#))&4ch}JRh5MldWC?EWh9*C6lLrPMDL3`` z$E59T)Fb&^eO!y}fHX&6Hr+49Bjy6lnt59$pAQ{$m|ks%L-2e!SxvSU_MRF3p>%@y zMG5W=yOnXYrC;{Gb9681;r401af32ZY}PUv{QxBX0h)WwO=K%k9FFNUrVO5CUuN~< zMbQugY1jGBBE2>IDh6XGmi50#=P{?F+s4^&L;Zff)=f-Y*tN*@olx^BM|xG}1w^dl zfgo*&_3Z&=!v`xvu3r!3t)l9bt5af{yC>U~^(ckhwnxL>uz>LU0|+5gQ`=^~mPK8Q zKN!rhm%lxtxs%M&Z9|6HM2e&s1zD)<^9?;yMrD$kX{YFiDdz5yQ8^)8`S-w{=?S-0 zIHw_npbF7XWK8jT1ioKkvu)J?IrZ@1_TZSpc=oZJPJVa z{0yxaC{X5T4YnXXw8O^wFl?%R?ptDkGo`Pm`&3Q}BWP=d%BB`O?ZompWh#oq)bJEG znIicQ7qv(w?6C|!0$21DkC5XSgxZI2N z4<&yQ`}tz_&FDe8-8iii^5Q?=t*Gv=n3F+NP>*BEmvt*;VMYdsE#uE$JZMVXT15?1 znw?5FGs8lAe~VoC*egXpV0{kf`PuZa>hUsXJ5f`xC0MbF`)$ECikUx4KgWUUaSF+f znS$^VAjnK;FZ;P}IVg+0^u|n4pT_Qakfw$Lu?*iWDqe)R)(haTd$?6v&+YCKxo3l3 z{E6`xHgafs?UbsaZUW%7R!d@P$@+p&*y!&W1*kU7p8{E}nt|05`Z|3RTA##_Qs5p$ z$%TUpjAny$ZrG~vxsaC;EAx}>*oT>H=WRC$n;l`P!7WydUHb>A(s`oPa=9|#*iW|U zMf+HINko)`9tq}7m(N3fxDs%h0L`Wg>MAcMFZVe|$Qz5dM1&q7EEFmGE&H`TtKxRa zZSgnL{q5A}njxEKxC;iKa5@5h6G*{CJ>oDvt$oDS?r?2Uc(I;&T_0dLtdmS`Q+Kw`U}GBw`;FpH}|_-{sgf3AtvLnb2C>&3_zcU)Zz zam7G>aHQ=)4S`UFiMB*NUBpi}TL*zVOKqhI!X1I6C}%$GM?XWwGF}^ zB^O?09LtaSNOq@(O-Tt&h|Ln%AJ2RUT4GLMANzbM%3fnPXcqc2V4gZYZmvgqF;7j= z_+l@Ry)?|mt@G`UQ+hgzh#P&K`n-wVXO|mrhuuWpOS$b zTk*DB41!8kNR3ykuTc*(RC(zGcrujuwKHS(OWFy-4fK7v*i%d6go@QSjD(#ICqH7K zO1cP8AMaWXjAa_q6GTBD%+eu;9zRoUdUs#rw^ zg)jN#N$p<@M#oZ{T?hGcY}3DD>4M((U{3nW#FB}<(lai#ptjc3!%OXLrc@dB7s7uS zf8{QKVd#aujGk}9!>bwnA&qeNKTI@lZW6_b!mO z7X9km$zy5B)qgM+9S{q3Hf3n`Ww$w$%|GqLDY!abIJ*A*^x?OzyvqZM%oJfV0g|K#F6B z+ql`vel$R*O&MoKOn=kXsh2z{w63J6F2hSR=8Wqa1A3R=#Bf$c3YSH}C6YlSnq?{Y zyqP+4z^9ubuqA!TsK(SfnL;hBMB4ldJKQg@geD$3+pDS;q~v}I^;ng=H@wkOCK$dT z=#(YP9+jCfjTL5g*B(!$F#Voh^@Spj97WOFc*?>Gve&)7kDIQDA zjs5+%v)1AF7@>l~qUUb_(S$nhm?03Rj_kv4Jcr4R!ZIM1I_IJ?2e!{% zkjYHhEr=nNyBgdroL`Z*JF&jIS45*P+N?0lLyHI zk38k~Z0)G?ipFDeUFgfZH_-5}oKZ3i@G#qen? z!>4(27_>2JvhPimtUOrY+> z?@~4>;X5u3pJNc|pis%fAlJ~BYaiWb4E_iC)c|@#L>GuJnIOQe&{pUa@5Wqqs$kro}D|!(7LP$$$I5WhfwI_UD01Xs99=jn@cN{#;&R1 zb7GZhaA^*>Lho! zLz#v|Kg*P6;Tm%;#rq<`;{y>-e#q)IlXA1fW3pd2&!b%bW1w@#!_#-SsW);ooe+TmaYj#vBVJ<3NAARCk!iS)C2$LCIy@_q=pV5p6xd2$;wHrQ$ zL87ZqD@$&rkb~yvI39&>hCII)q^opIu>3P_^SnO;r0NA$KI|Yz7X9Qq>=#?Hiue2l zj;wX302wSKmdL?|cPIZHcgJk0EOI=4k6~H&NE@?f`7CF@JMO(33q+*squ+sdrgFxA z+RZ{j00*W2oyL&=uN{y2Q_7?J2c6q5zi!p|4x7g7n#9@uq0BC=ZryfV5^g<`T&h3h z{zDnen2&fSc3;*yxBppNo29I9hRM+b=B}yjd9^ziCQXg z;q;o}W9T}~hOOOye-Ll5;bO%mdeo=(smqp{hr#hRpa7yC1joJ`LhDl@wD=PLRI)I ztOF0ogotJN>jQXTkUUR__qP?429-1VeV{eu@rbHFpeV<9XxeN*#>n^ojgj|L7ig%} zL7&@@fA0p<$D+^iHmUOCCqNzryxch0!+bqOly3D0DnODR(4)%3Ixpx0Ao!|2-elvDne) zxKvy=mPXaZqVY=sh*!RK;~lro{}rCD>N!Mw{h#-Rp3v=^%&H=LIb`5i%w|=?ppT&Q zlFp@qxI#v7Ly{U<8K*62>o-zjcDZVHuSzg|Gg4cF-tK<~WQ!~DC;$9^wo_(4?0MQV zKlmqqer9^r$|(C(l}WPzA!Q}wPVnhggLU+^{r}B_;p1m^G_C*Lg(SQ@o7i@fpbW&rZ zmSzD5`-@c)ozcsRe=Ru(dx6B^3Ys3qTHDQX2HAx|L(*{O`8g@1HlP@R|0*O85QgFrEr!R#Htvqp~__CV%=P2 z!LgA`Zs7IDDe=g-(8{|EX4OD)dA<5r(Awa^(7Mxe&lV9Fa>qqu!Dat)((LN>25768}Q@qh;yM{{AcyHTU~i|I{4vlb(>)9IpXYh`v^SDOrE5pXV9<0$6lG@<#+M zWbH^BvOw~&E=w(evL}mIig2vBQKPf(6#V;0V=UGDlpvr*d~^Lq7LkQ?tQvo3om!s; z_gV#BWY=^wHfmLHXkhi-sx)=7pfLc3vWMf5x<~iA8cG42aBB{zAUnEwKifR%26SEg19E$9Hb1Uz!STTV~2Qu1fd`7XmW~ ztzJ>ju8-{2iBRVAp8@Egk|I7`BCNv+TmMtRTcl3QM-*F?e$$!)(Gt9g*;)?9dVD2^ zLi<mLZ;d@krD?9b!p_#TL3{butN(@iH=J&0=JgIZOKe$`4(+x1 z*J(qQ2f6UURr7QY_sA1=ysthbZ{k)OyE7I6)qNFan|x6^&#aTA$(xNX?|HgWU;J5; z+lrisUBy+`7c?)mL(KR7(kINf(nOP*VqfTeO0o5Faby*pYadM)JcLY&{$gm9$81*{Us>~zQ)FSot#(gg;u`aXkgpG0EZE%WiEj0nU zrA?jGqv|DOI*gSAM9MRA5m`N{b%}Eq{C{evx7s92sIzQZ7;F^SE&u#jU+a@u`ulzg z#2I>&Pr)$DzYgud^d)z{SH?w@^h9`6SXZ`ZbCkzfPAx4kqgSo?#92Xgf4rpKt~7Aq zPOxCg;fd$iZWXy-RN8}v@ROOJ)BCZUqK|J?y0CI;!A|x0gr^UJeR0L4>j7G zCT?}{VnraBq+{1p*p=gJdQ}wsRAUcss6t^iBw$ zVu4>R6n#o5UA5^81bl_i$t69oGHxOJaUlqV2x_d zgC?OBMLNUS_$xzKe3{_HmYq;yt>GOvZdKk`M-PU8f`Y%T2K6n~zOsHdy%wKz^y)}j zoD+7a)5nMHd3Pc>-mjhYS0l~rtU-BoO+9a@{-FqeJOT(1X}pUi3c*IHP)bYUXwK~} z-D17sY`MP{XXrM>;2+f#1yK0-DL4Ad-CC1W$!sjWX5Vj+RKYdfv&63rnX6a=EG7%x z@JYaB-IJdEyPv=}NsqouejBp)W10U@$~c{s*`r~8Mt*nXt;)!9)>mYnGi|8Rv)&z2 z@)$k*DE`cEcwRAbzuW_)pXB49-qV;pW2l@yA#uLtNoVtSKtW}Ubw|ODn`)O&Ae)U1 zBwChG?Af$}A2cVJ<`T771g<|XXJH$)x|jWJQ$2krL;|4XF7YaE?X0>+nQx({D4$)) zLBdEbfdVj^Z@B;&LP%TE;n-QXVXbVpqF1+Pa0P5-oNj7D!6%RT5X>q4m zp?HA+L91wi;ts_n1b0h|dy0jkDTUy{U0bwxaY*nWMS?qlzWLvK?z!)|UotDn%FJZe zB)`4)W54$XYg7!n7sO7Kcfg4H;jq*ps`U9HWE#qKYNw4n8G zXSLbdW;pqVm%n$6eK_!T~E{1g0i9dF5xFt8M>>%*1 zEW0X%`mgBUV@KD8M__?oJ1-)4OqGc>Yi9|4IK7sa6_Mah}wc(6pY4i7+T+UFb*M`k!1rDh8oU!-rGbCehD3 zzP<&~J%|N9^JXHgTpKf|RZq#Im$lvveFW3*?nJ1#wK|kL$PMaWy`0V%fqN7!%=WN> zGMPIZ-sC?xCe%+7h7fxm3TG>8$DZeP4Cx+iPuh33&NOM^n$PBKGgrw3Z}+wr$F)W0 z#0MjZ7Y&@hJyv*hr8CwuQTjsRF|Ot8da!3*_n>w~t7KhUKc=~@1?_1+qq+HjfQsPb zomWKv>+!#y{MUxnEqF+3%}8PwD_F{}Cgx4KIC98#=Nrep&uW2kUaBZ7KUy8=tfcCb zA{)7}(xN8O=|Bw(#isuQ; z>Vh6={Ce5wV5KW3GjW}bV(ri@l=F--XEPoRCV4K}WhORR0hp^*vwN5Pc8X#NJB`n~ z^SOWatJ`U8kOipliQe!v_)&oB{>C?yianeAp)Kkxzh_3U4%r}Bnd*MeS@O;QgO5je(mYhp;e77`5Q)5lS zSh<0-1wrbXecJs`(qMs|TH?zQfwX-NmctvvE1_^vor6w>mbVYhqADHt%8&HG6SL)9aF52HiOkHu z4w0piOPRsv>;YIMB{k%vo%cG7KF!;Q)Cze2&Q^@)cHN=LOFCYFS4=$qz|<}W~8MNjS_PJ5{MJT5d{A|*-`u0(gI9XLci_O?t)O@WT_*gaB3@q z3#=bz1h`uNxRfK!7(tT;xSk`Eg8|*CO7b^+$n9EN+Q}=-?V~m~yjRHTVs@$dyZUn@ zYl%URb%j6a5LXVZ<%BsVeSjK+m@#Y7b*YfO8Z^3N87cR?q53An^M=33udXe4gr^sa z&|3r+dgHl*e~ETfvfp!COWOzQ`PyAOZ)#;2`%-7DFz5+-v-f^`JUjZq?KE%hd5Zp9 zm}hxeLTqQdRGqk%gMS>&m8XP{VZ$NOT>Av4oCWdVGwJM9#Ub&y%~0&jsZu_&_(zPY zRq4gA73|%9fij$E5u8foeT&XCzf*bH?pb$F>IBx9MdnWA8+yNis)LSD!4CLH_x0n|eL77N5IE4c9!#jK(4@ zJ%z6!Dr2&Gn`f36eqcncc(S=KRNI&Sah3b~_!RBL^W|ENMY*MwW7heE$+ikBXS2m7-^6?r3dk#Kf2+20+oG^1m2#^YHVePARb$`lc;{T0K0ClE z5KeTz+xb!=szKG@p%4K@E2V** z&ve2zKZ#%U3T=-SG6Sf2hyS_zLMPmj>juH z@Rc$*2EO~t*QqXe?Fq@v#>lg58NuK#c_t2hA4~x@e*3!b5`R3Hw~k*WZK3}{3XNEM zI_$o3bUB`!k-Goq~YtHZuB0oc7{ zAI|x{KEv|yq%=G(d-1z|Kx(awq~fe{N$zw>4~SV4&e z>Ado4E0c!pmb`n)q3`?k(k5CE*Fu@mqhILag`|C3P)|hZg{5qT>-nA`3UKca?eJ5w z)eegHmgkEcldw}TX;~+#_ksO#O~l9aSH*RV&Z1EN{tc?;=Of?Nbj`4wo=*eiT59q7 zw`l>KK!LDr=7**v;AHcGwPMz(ZZGiCp|z(YL_)yY6?$lAYk`xUZlzy^FqmH$nLjD0 z1ixw=uTxc$DUSR8^?a63E1wZs8 zMyujWICRA&;Xi^;L1^>;Y)3n;pe<(j*_ZR+o?PgSA)fRaurI59MvI?VmG-cnu9M%! z1Fj+|A&*%qj^r}}|Erka?EqB}2WlJwrb7`I5T&L`&rF@9z5U&bS?6!NYI7VZAKh*b z%Vk2^h%h?{ zrIN!jE$vln0X}B*;oIQdyRPC-``rD?`Sm=avh{hCibUHLaL7u>dEIis~y-mwBq^ghwEO(0N*c9-&Ng<3;Wpg^XHa1AvyqF-TT4``Wq5Q z(a#dTO7mfDKnHVOAypb2(eY~7dYV{ow?izLyX&LY@G|^Z^&l<-r<8Xv5*x4rl9jS2 znhVnu!FE=Dx-(Dr_>ruJKT488*Y&WFYj2LJX5^)0V9HnWLAvEr$T`nl585>U z?8xreP>aI)VxEa4@yOw)!ms+%_8b0i`=1I8G$sn%%BzmA zQSlEI#QgG>(goYf+z$!$zZAz6OMOE;>Ztm?&^9%_5s^scj?J5P0u2%P$k~5$FLtXJIXQ4xBAl85x_hJ45%n?6S{G7&k#gB&#Slys*ClBRDJr; z(>l=4#qFW);%$?xJbBZFE_Ja^RpWXn#t( zQqfbU46)L6v4d2xv-!hVEa!aQO<ZKQy)}gu8Nj;ko0kW|As(=$ecVZ0;4xY;P zAEk^5w>jWVjDv^|SNa+(i)=S4Luhmyb>Oh9D)Sk;c|ecIM1fV z3u>|OgSzO6v?o%|$udo8dHWpgikH+UK&|}B!!u*!!yS(mNti(-wD=SnEi3JQlj&!C z*ml~~foh}dBqrb?_8+T~<|HhFC{1H^-&q*JHL88kTp69Qc6&ivNV zXjJxzbM#@ui4geC5doQ_xTvXq2 zd^rU)B{M01BX~1W=HLIGWcr<4_hS(e3gN0KMJwU-1%=0kL~m!}^d4t)w07JpksPQp z!y8^PW{cOYBJU|(*e$~!=G_U9dE0%<)<$>Cs6X{lVr~|f&*&@uPVu8J*7Q%oVzfQ< zd7BTgIXUbbOc1e!A7J2iNll(a8k}awC z3AqK%^<$%%E;Kj4Hl6&SFXCy3^igt(WKg5Pp`3T#toLvE?U%?~@i`s&XlAK1H8~Bo z@=vfM)N)!B-Kr*Ut(~i8Q`GATR82M)ppB4CAH>uy}VCP!pmTwjtJZd3U zeEoUFCh=GNVXvWg72S@Z4A)6}gmQadRPa121Lk6G1xm8zo#EjNx_#>4;uUY8vJ>#= zH9;KnK{&6@`kO?UErBN|NRb#*sdfoxv;V|>wwR7cEHN;9xD2*6$Ur~gUE2*y`ZdUs z+0?6HgrdThvT+n@-1XHG5PSXn+xSq@3#l}ewPim$;VcKE4)yJUtnafa)!zulyw(dl z%&^d}VAeykC^4jBH;w;1mza|EWKS$g3FuVo3S^7Ezw-0+jrzOBV?N6M;#Dcd&^n)~ zu?hid_QxdoHip36yH%3NiFGBnh<7VOEj{Cb3iVr5vM>OAibeuASfJ#375oVdy?|GN5sF#nw5a-Rj^792cSqU?4z zzd!0@N&=}hMY#{_>MD#qKMTyv$bCm4o;LvjQh9n=aBW;X6DWUiv(kl!dOMZUVETHP z{_sUWPLHd)Aw7fgYuQ0kJt~lqcxH>K`jE5!i{XJVtBDu@Lue#<}&i_}5(&RYuv^P2`YU z$XX{g>W$pTamqgG+7#IDk#pGq<%8Wc3HdoW#_=V6J3eA#k-#dNPv6UZH5)&ZhtNv);oOIoB zO*!`$pe;7;S|Y1!!|R=}pX;qD1a4;S1zvu+MG_6aAoX6RK=|>QdGWfZUh1a#TyZS) ztZt3#XKsLgpv(7%joXq%^qid6RB@3UM4X$UFcLu;j#oI=0 z_5=HG`+VNVYjib_WSoCQnF!!WDWo&e%%czIm)NDPi0As~kruYyqXoN5iesLGl7-Dm zMvD&x@*He*bnSZ|(cf}&BV`}E8iSN$Rb6}llW#qJp73M2hah1|7}j_VPSuS>%Pr=C zXe&xTMlf>PPv%cmF~L{$BdU8x7+@dOq}E?i3WV@C$Hh^|zFw8@!!x&kq`U;4yO2EzS5Y)^?F@BHO7>P45&YD|R1f6;5c#3Qrp_ zNm$eFTCYx()|tS&NWwJ{y3N7IruEl&4#}BDj5$H8%XeSAVA!a>Eo85EjJYn;FBdlM zi-~igeD~0;(uytLdgNu?^rT4RgwF;z$C)qM#+0X#r^5I)^0ULDL{5nK@C zf8jiH=c9G|LF|06i8BUxH7(ld{$5^Iz1a|6TeMuiK6c{Nc?gea=kaa$rKmPjwtJ#V z6OL%F%kZ^sr2Q&>VclT5>#BrO2skev5G$TYYw-z!iqe}Q{R3-i!R@HaALMgOcp6Nu zgAL+hMAfr;0^7B7{GNB?c$XnCu3D;7LULX+gy}JG%k;GPg?5T`fu8~1JD`?VsD^X2 z5VFE^@Q>i;0aAW*A5U8tgm0ezBT%^{FB!#O+K}Mfn_R`qG)Uq?FupZ70{FsjTXXSA z;RPKgt1c^DQ@4soX^|bhrMJ|VaI2X<))FRj{Dqfd{UXCHR}uWKf$UrDu#7m%>T&{= zKhO5?Y``+hJRz}fNz7Ap=`NHTIJ{*u$!xfNI|NC`Cn~o`4tCVwvpkg#$yZZun8)rp{TLVW^37C?wM?dX>UyXUtm72-IJ5}|>i4tdb=9%c3;=-B zTF3teNv$$9ry5!o{Yh)^S-6hTT0jQ*3nez#tfYf+rh-KYv5ro#0Uko1V!b!yAFN1r zOeZVV>C$wK)6!r|K9?-w+>-Go?UJ@|`C2cgX6fQ!sjp_fdPgo#9gU*W@9Q@Q%qm1m zht@BBJB)MF)V>4M&sHr}c`PsLNIxa{>F>(CIY4S4&);a^N=Wttmal8+Ni9~6kq@lU z{hEM}&f48oSth&vbU5-Crs&rj(eN}pZI0tl??#gxZ*8d#LO;WJyGj8!hc~uTXq(8Cy(?4{oQ0@bapuD9$ zKw(t>zM#JsGum;OPcSw(Y}$;z=@vcd;*tYgodjFf=WzWVWPgxcxqKYcY(O7iID*K? z(lK8shH*<4o*L=czj!}h{GzAD3GH^7n-LlM=~^xpT!^Ruo zA^*3U|DUxz&%HhKIgsK6z-4aFR8$i>RN0YnwRlKEHKfIiJihyI`LrTpWLqUiB11aA zEV!prjLn$$%nJ~gm3(4VYsz<~JK;I&1mOEeKDX`~Zn~F{wH+Q~a!gxrq6U*~mWQFr0??X8lPwm_ zPmks)-m-E?{w8e2SszL%w4|j0Mt%4YX*)6uk+v%?O|uu9XHEYIk}#!sn|~7d8*Y_r zrqG*lxr$?XK8*P#y~eowm5Q9?MMq$zZ~Je?JeTI~yTZiPwYa#mt>j(4WT1H)v~YX0 zXj$TRP#XuicBD0&*#N%b&BU`KuTlgd=<7xqnqz0glI8|9WHNJS@rMLO6L zUR_|V{d8>4p}+u>m@=tFq0#~gxx|fej?QPd38wM*=Rh^QkDh(Ulhb(dv)lcT4c7t1 z_6&Z8p_~tY<-H>dx#v78dwuw}AY+$H9PWXfloPUdn~P;uCyBM^w-oL!u2&kfvvrS6 zXtL!z-Pux|m8deC^HPje74^;R@$tTLSEYg7nnWzl8RjPnB!69BN>9NlblGkaU=zWoJ`j z6#ZpY=WQLa_!w*hZ<*2RkgI`I{0PnFqms? z^z{eR5qDhQx_2@9pCLG5 zy&vHc-GNif_s2blX(lvl>S27b-`4drUTA!)8f7D(4h*?#mGy$XI-|M1x7N|!ur@!r z4entyVcZegb)MlBKSb-pkUHdU_F-2b-`Mv;$6y^?M!Roe%sKryqz=}X%j5$v2TSZD z>?^7(HbC1?d{qq(AC2ohbtrgibr$W+t-HXT^6>G!b;G%u&MQ5Y$LB_zUadM96=C?k z9rq4hP7NNuIB@BPN6InfERt6{W`G-?s5#umjfoQv-_Q3-P{f(6-?FzI3M@b)VM=0~IpaXjoun1y?U;yh%UeF!QbfNE z$1{)dHh;QofEw^jDX8)%Wq(mcPsePa^cmpfBtzEf+` zR$7fjMKU!%3I(0}z)U7viiy(PO^2g>tmyM@eApOWD@g&Iq^;@*=~c*XyzM+8IrYm1KAb{r;d{l&k$PV3iQJzTy=qpbhsc6r@jQ0lWX&&vfNYZz62m>qXk98a zkHJr3#4BC8yKVlSDSDCj^XCRGGFK`M67rpY)ZWYnDTQ7mzQMo!h zKF8SEhwG+x=1(JhccMu!|B13G#<5-LWTR%I@luMVE)T~wL#t5lPzw@zoH=EjEM5v> z4*gb6f8W_Edno^Y(42Mu`%%XM05EV)J$pn^{~~aDX2(9z0_1lF98GsCe331fcmH#d zcZkl~r)BGe)aGJO+ZDUq0F4WdQpdw3<6jQQZH%FPPh=v9^OYid>Rs_qw4iX8OxgF` zn%n{LudtpPbBx+e)7&l7fkH(Uk+lI9EQR?!J`d_{dVbnOQ;kL&YW9&9$yv7f&&X^t zE;u_jHTk*Zo<@W&yF9tje_eTy79qoh@HKuj*5876&4c;rk0dchlPEu*4NIVNH^2l` z$O~Aa{Hx|pgx)S|u;N=rQ4f$u*{s9Ur9l_cv!_PJgZJ^#iNbxr#0^TqqgBO+`J~wX zZ3k1&SBV=apI_t=sE%&w=Msgx;%;Ohy*~^3g0Mvo6UArxaqr0C_J}w48R^K|G*Vp< zeWL>9y9N_Du4SJ5KLvkUfo@)Y<>vBnC-i324Rukb&h-;zi{_jaUo%_rRgru9lP2w$ zao!uxcQtK)PJCUgXu8zfYHydI8sim|TE`rICkrC;CIglcuj!ye4@^{}H^QF2u#*>sV;`KZ37mINZ(XDa+FKO-WFu5PYcf2LI}s~i1bN*#>IW_H5a}eeD?wzdGZX@ zPChH2yD}4^)gV*Rb!<`KGvDd3S_QC(UYs7fa0kKS9cEa?ycvS`a^m^F;YsomKPp&V zuFERO7V*rS=V_NhJK9Hp(*zDYk3#@}Uq|t0k_3r8G74&0fs@%Uvf{0jSqo@+(@qPAm12cdF8dxshsCsfTruGcpWw$Q z$V&Lg(M^h7&sa~Em7(mdt&aQe^|VV6mA~SEBS2}Gbs3qhQB0h3OJkiUzINk)%k(>p z_i1%&Dv#rB!?KXt9H zmC1q`Q6Hb0rKTnIxEGkiaw-h>LvFgp1+&4zOU5%J!er+OQ^Sjhy<1~@8yB{{aqA6n zlj@StUU%7@KZRikk`Zc~=gAZ4ayg2T=3?Db>j+~q^(-5navQZCobq4v4mhyfqn)ni zPlcy6C|j{7O*}2heIG+^OiQU&@6$GS}V>$C)K{Ehwnx2^${Kf z+l~oloH$_|W*86Hr!h4)`#_%QEQC=*Hhvbbd!m7Yy&O9SsUs}F;?C2)+=ya}P z2GDVq<*oG{7266Lus=iY{l!JS`P-_gsOi+EBvWvEc6`gQPCo`q|GmksI;U5;lY>>D zmnj0BMQJ+qlD2okEqEt1Si_^YYuV2|<1kCBn4v@psaK`fl$N{2FcU3STo>(CTB@49 zs8NYV|JHigNkK);?8jVX(r6-U0+ukHOtD6lHm}=A#U6*53G&!O42w4FSv%~4 z)a!I=>r&}3OAg4O+Cil*9e+Jp=*LbZ>+Z=yqnrWy@k+idSivWR7%rV)-M`DOlU8z$ zUM8rmq5O_}zeYq!P5vI~cfCn+S=Cu5Dtw2Q`+Q-yk}Y9)KvM@2b0aA(e2Fq?j^BC~ zPcOXS*61#39)5x7@oj}hyLxR61P@S6mT0RT4G89AqvL^zzQ4g=ei{<80)8Lr z*wI}ps}aUac^&j!My|M!C?Fggv#cpUI;U8P!8=+{f-FM8KKRBPi1{@zJ0sC=2mExNw3k+<)T4Ki!l z_663{r1)A=>#!G|7As~9X3W=#wVxf4Nev9QGi_1Qafr&bF=@Q`XwqwCRhwlEbrj|I z@;%h!O)BPk02^?W8BJA13Hb@6w4RgF&?K+mWECGC%Q#uC+xW03?kxrQIXU4h4@~21 zPUCqw-__eROd(h9=yBWV#h=Alv3-`;+&33k?qjlaH0B?&d7<*dOZYgmB})fE-<7_N zS=7Q<+b;81!)hnS79{S75Zt z<3E0&^|Z@&%f{ZIopnSOreiYW^rlV2zACFE@MuHxJZKTLxM<9BA~G*@HKCGL9m&zf zJvhi>yn{r7F0*o?P-b729|HDw(Lt(Olg=57l)mlOnhIaObgsF3=j60cUCH^Kj2mLyb8f4cbbzWijSJeABKFe*)pZW$#NU$+&c3PhpJL*`>Wf*>9S7yy z?x03ZcgvPQ#lDJ0hqMub0=pd5lljdCryx2^Pie@!Fi}Fljo+4L^q}ZaGT+eOnQoPO z1~D6cSwoHUvA_-z2u(IKc5jhaX4=T&@KO)-?UUnp9)s7ydxl92>w>cRswz0ZZzsUS zrXmcGc=)Qt9zQIzg*Ynx8m_s?{C%8BB<+puTZx&V>@^@ieXSsgf*4(8>9*C%R@9xT z;H@~}@JvV@L_`<|h{Z2EOgS_V{i~t6GxxK=oH6w7(UI}GRpMcwX5VU?qvRh&CZ7i0 zsP7MSDJlu>{2{*K2rU^YR}INRrywGKpq;S|>Js2nmr^;7Xop_<0^XO(Tt+{X?US@& zQT-KpGOzH6p4{wBcCG5L)tTjFZKxpNZQazn{*#)7@4IPx-wnk45qdS08thwgXv$%DWS1r>xwR^zPo(G zIW!_ZXH_#Dvi}H9l9v$QCc|`sk($P;igSkk!G{hCM?<+5#JVDv()j<&R69CNoyin9;G_+f=?J?CA_|LFX)H9;Spf78 zI=COJ8ZR6*IWWUI9N?_C{}aix_%9@Hecs{!B6;2NtX|N{i%}KQC;6}_bKl>cBWnq= zZZT^kezGMS-V>*GQ?AsvrP>+|cnB{q`8qh0$Ix2ovu(TteQVR5^~^{VK7q+hCrwBv zsKuczcIa4i04sL*XfrJBlc`BLaT5mzu_86C#XvKI3(|2$VpKlc#p`+&r4;;;4trHeV9 zf@Ay=3|}h|PJbbgmB1{7dq|gW^cQ6EnMEdnQlFxf4&O65CGkTz%e(QSc&cp7XVK}f zQ|d?)l!3IV!kM;lA7A$u%fw&yueEyBZY^A+@e;Dj!X_Mc6O#qiRJxI5NS0T}fr6*Df-UV{Kb2TUxU@ z{CUKR9c&Vt&KBh?DcLU&XVvb&bH?t^QF4F{Z%;o+xKf=xB{Nr=B#x?m`y}E_NaRiR zQ+5jf@_h@vA4ww48-4Mu(#s@#YR`K?HM!Ii8!aiEX7(_YBusYZL!(vIH`cRweNJWV zq+_0iK-TeHBu=tf=d4gG`$y8o_GySRzY28*$lx1gqqX?_YEA0>g)zrczPUicmPvdM zWXBx89}TH5F9^kcO@j{Dqn$73bbl_sM)%lmp>>RkgUAbSSptbKidS~j-l{feH{wWn)+)B2(k_!?^+7ilhD)4Xm4IZy?C+YQb@@AIpo!`aeVhv zyo;tn-#ajv{3E=JuZ+XM;jC(Lu(BZ2uJ#^hG`qr>Vq#qGSC*f6QpZ5=pA=Y?w=Cw& z;KHKNA&2bHW4dqOR)gy z>jgK|?OwnoUJU0U)}Tet>Q3488ZY4aEJU3RG8_Dk@h%^jFqw;90VySVfBE_o`&ivw z!ulXc%{tR4DS6uqhFZkyH2^#6-Mv*ol@i0@qXSzBFHLpa(gJICCOgmV)P7tv+19o< zXD1n0lj=Ud{{HN`>=lq`%Pb@&fMRXzByv~&z{Rj7v)fE$ye|H2m%fqi_v(76YSg^n z`BlW(BVy-|@D}LCC&ht<(lko@zn+?bD7Ze3^58pk)w@MxSgyuHpr;+~7F2Ew=h*!;n;N-3J0hl(cZv88>bdg@>p$4Sbt{|oO*yWu@ zV@LQh-E|$UH@!tIl2zl6SQ~rqo`8hbr17=71;X%`3meRq%+d6X`ja~i;q;dt8A7gA zh`hQlQvfm}o;uZUp3;iOzKe>ric$CO^L|aHa%gbM7ykGYQkOx;D0ioJLO|@A59D*r zJTxp=eO6L-Yg1<38|*&&aajf&ttRc4*y~0()oH3w+KFL< z$t2H);&krv`7UBYbEI4QrJLHdOs_Iw6xWUvy+Zu0~g6D29Vo%ievURwl`=7Tt^)YebZ=YgIQc z5d{Vxuy*g$f<(3?%s5~?Ggv9-6aftEXfD;FVZnuAUeXK2)B?OTa{Bb3?C&a`{O`=u zue1~V9H(>c9?0gL8; z3s~&_kAOu+_Ez>k0+xxJI*PMNxNaPttX&wQ#0;6Wr6) zD?KX0DeE?TXtO>I7Mb@dDO<0VJLjjB(HUpci;9^z;6=q@^W8LO*c zx%JJ|(YG9tCd;mblGIyP!jeuOF1P>FvE#F)DkO)5soJs`cxPIiDOyf_q$(~P6{?d>jTs`L?iIv+=#e)6Dg*CzE}mMnhE5uMX^qxr`~uROmI2GX zSC>%iLQywQY)WB}suLph^0!K7qL1LkH_9?vO7XTOndEj;TdX3Fkf>b}jzZJVZC$I4)FAamaKG(kbGl?9bY2{c31JB+WG`QQ;w)M)j< z9Y&Mw2x0nEvB_czsnCY=4d;^fw$rrNmgpu!?T6L3aJ%i^$9#&P8dw+)bXyPT*#mym z^!~&+c>i|9yQbtu#HG%Nclb^4t0Ln1Cc}_i_a~0mjhQ=e9RAPYHbGqRDc)kdRr1 zdmW-0>r!htipU=;D|t02t}ho!*n&{W;bzFn^KEw6_B}ZSRO5bV7RnhVmaSsf^DgaQ z=e`mPKa_}EWO_v zY+Uf8%AdP;P1i|OZ#KN2nEXrXY99EW^pIXa@FY&8`75!~+%FuNzf4tWLW_P}@vU7X z9%t6D;Zvu+@`+iX^Jk4bWtLc_u7``tz}();&pzjP_LjG)H|RCD-083IPW1$UcIv!V z8sCva&WKfpX3siB_nQIdkDKO;vCs|Vk-&vZ56Ma!yBg!iYWVe=sWqCa-f&pZT6L<$ z9)uVDAmJ*NTOr?E${7`?CwksL9i6se!;=5m`qM;-utUnRk%PbmM~XHBYt&@raP(pl7+y$6L<#CQOBDq{xYP zDE zd!a0}6Kk}wsL4Flj&Ko^IZk=WlHG?4*6r~#m4VP(@aV;+@_sX_Ov_KT=};_(=GDl- zBdd;o9gMKoy)epuNwvxN(5@*;<@U(YY1~E!%ZLDr_p)&Un@eLC9H<^}m z`~U~Q^GM08$Vj(TH(hGS<5XVHc|XLU0%d&OKIha)tL|zFhiy=TMsKaC(+-&iIgv_= zuJW*Is)ufh>0Ix26<$&0&1)gg-wCcfCgCcl51b9x3W zkTQ|z{yKc9v&qlp#P1;W6)IB5xq7pYyW@ZC5UdwCeUG?iD9O;7#mykbAX4*<`ut(w z;KDzGpB-dAuS-zqzrl=uWaMQhwH@trRj-RyTz4pzzmo>ox!yQfUko&zfuSQs<5|LR zZ5T^dL6fPXmvoPp*={{#FvwVGsPg0}tK|_)r4RyLR%%+06m}u_h zq#oA(oesQbs3Me(5dukLA4iT4AS4fi#Pgf<7-l-MnzNi^KecmRcz}P*&Ua^&r+ZJ_ zB-uW+Nl=^5#itd+Rc_u&_qEflHaFFaWGzxszSlm(U&t^_e|}3Ks~lKpkYo9%jA67f zILAC9OYeEOzMQhOhk^+TKPSG61JwP2$L=k-+GC#Ug-|UV#bJQJ zJqQ96zuM~Z#QG9p@W=B&GmlF_D=t-~BK26>Y`(PLOXXZkML0`7y#JX00Z>o7M=E+M z&d9Z(;s@&dG>8Re51Z+g$8CbHJW!u-T{TpX%fjKt zYTFGi&%U{N_R?8@DdXxYbL9dq9Qfg{%)1-tv<-`yi%&8N;5=Q`8T)znzb+0`BfY14S@3amd9bEv7lq~RO1H7!P5Tipc9XgUmKtK)lEA?Y;M$- zlmr35j@rDcqi>2YQX{B1a;TvPIlb+C;wgHvK%5+Qbo#=Unk#8QtX*OhWWT?5ojo0W zu>b2kL$;b_X3Tw$OME6++R8Qbf~cL=M{D|pFU>6Y?oVu#jGVMOG( zepGkzQt1By&adYG3pf|SX#5}GT=gRJph5l6E_ycytN||sY`Vh+LKRKoU{sfrpGAkQpvNMfc>@RFovlFqxOR@c zOT&Ig^T)S*zAmFl=Uok!qK-~^&2=o+j!mRYV$w}?+pmxglkq1(k5bfM2dY;5+)f(Z z_z*@exCgKu1zr!(dGG7``A{b!+*U8wnldy)qj)>;3p1xdq zX#G-t-`Z||jRHu2pT+-*3vCT6 zTb}j=dC8Sz7&KH_5mv?+yqh7bRnj3{^ZQJybvfIs@y=_Jt)r^SbwyR!_XZ|SSRaN1bx7+sbS17l=kXczVRbZh84y>)i+25t;84T!9EO(6F$Sf zyy+oI64lA95?4s5V$S+UKq=-T|0YA}L>egQof--$yG&`{$}%&XWfft3Xza>=!ivlta`@pffYS=u_9{3=hv3Trp9`c z;8sxC7J0$!g2ME)_@R+ZSdU{FwwjwJNi2+qyL=uWJH|}(<#s8U|Mm5AW23nq$bGz0 zSLR(t{7u~vuW2UFTF$Ph(=rF3)sjeN*N&@?UTPm?ct0drw2~?hjBV&mOg*_=ltT1Po)n z&}fpHKX^*MdzlB_M3vdq{=S9%U4UxuVoiU$HYjXs!d>_z%m(kEBu{){DK5SKU zLqUJ2vln?T;ho88#anLVDR=iK@0QoM8QmGW(he0wQ?(|4oDo`aBS!&9`kyzpym#&H zXO!*ZSD%0Oa~tFY;9L@G5JhV4LeoAm*kn(Y>7N^aUy4ZN5LLVzxA~Nh%_+WMCKa z-ig4x*mrpx5no=a!$(f{1 zw6_{x6$))bWjlC$*hMhDJMH-5UFEPy*3{A5l3-~83W*JWs_OlrdM#H_&KsR0nn0uy zogwCca+pRkF<2`zcRD7oDu>w2|7vErXZLxBKl8{fuEG)4XJvb^JtLKUQfV;CS^u=z zkXoBbNTBl3-EKxEn$%mTb??1ftcD2di)^35?E`yNJEA$P&?!kz7^?qSVt6^;ZcCiU zAT60w{B>uL{f7P@0jt8s_NH;HAhvL_%yZDq4P0>H`(;C8z07{3ns8*xfC%;7_4~_x zrBJ9mV=%>>@tmX7X7>)Gq?JakGTG4K)(YwcSA5s|7ly*7KXvPYPxSee=aluHecDq~Wee~7V~#%6V)_z%G6TIDY}WA{1{g0B#d%6Kx%@V7 z8IM)g-VPev8z~|jS95%7ctKoQ4$GL6<+W^TtwcFzVybdtde&#dd~c7FGCuW!Eqf1j zEt?Kf$L6I78O6dSdn4pXTFJY8eulUY{ap3G;4feE9Z6o#4OC(fe$L?Q9R-VF z@M^0kI6eE5qooD4I!g2?fnr4XGDsz<9Hphq$9F0hgXidWUkLmokk{|HAYQ_lOW#(k zwg|OeSDY>h?hD}_MB`1uqYsR4gDW5h)E&LhQwa53(8_Jg`U0Ng{kaOVQYA+M8J*g{ zy^BZq{`Y6)X98O;5%_m2|Hsb%5nvRrI%0O)@tjuEqdh#<_tWqImM7-nNUO~~57YM? zWfG;}+gnCbL3_9RRlw!Q)a|(ctpEQHIgX&`e{1FcTmSO^*UYo(+>Wx=%6GXC;lxA# zKeo;?sLeL~^0c(j;_j5<60EpW+}#OMoB#wfp?(SCH-QA(MJLTQ{XLfdW zXZCA8WhPIa>%Px*&hN;~7dFG5gwyt|!cda=6#rC?V)|Bqe=PLsxd!Rh9Qh|8x{QOn zzRj_eUmLd*-iva)lH+eSzWg&mL_q-ov0m9nuYj88iC_Qc`|5XIEC#&qJUBx5aNhu5 z5RgH=OXJjas^bphb<+oQF*Ss9X2%b`uM@u>(^bxkuBtg|jRvIN{}@FtJDlxoYLIMJ zC>a!TulF)B=9$EqAKO1%54fspoU!!UPcH1@Yq(Z%e)pxzu|vw0#O*`q($5B+Kx8;s zhijyb-4voT?`Wdq;*S4+k9WL)Ag-RBY)Yv@yB6r)MA$ilT-32zx^5V`C)X~wRbwR5 zBjN|(kT6j$dTvzH`U|kI8l6#L4_`1P5ySE{zwW}`4nSLqCAwD&QG>qYLRSKn=a9s6 z#jDHzvH~Kzb9zVhB(7wU80m3qc!;UbiiqYNMYrlsI@Aj|k6th59S0xNA?=9WFwBqM zlzGk9Ka2V@&QiXPIQrztuVH0yHb*=Ehg87z{diJ0s;=dT@txOwbb#dqt^v+E)k4{A zNCN-AsPlg)=M)r3kFw&jgo=4qm!F+&V(q*cBisyf!Zl{B>-etH;z#h=_erP%NND#? z4P`$9Q|(v7w1ZEI%ld>w62DF}f7|pb&m=;v9-7!P7-qrWca#vcbvrFHI(*U@HU&LL zE5@(XB;hNNk}I$mmVA#pFr4X=R8kTai);SaaAQ5%a@!VHG{H!CSO=J6cu%6U0*&UR4IQ8WUTwqR1PS_nJ zkBT@Sa8}=NoVb?SH7wu5UJzSVhX!||EB0uXez;2d??Hu*rv5%{YJ-^A80)Iup;lT$ z#Rajdy3Whf&TuynRK=@4jg7USwe6B2!{RO@;1u8NHI79J?R0nTBOw9Pa-jDDfKN;n zVK7g8sMwy+eF)eZK_DaFrK7|zTpKHI3wNHPH^6w{61b0+;#MAjM%%UTr?G~1_CBO4 zMh}fW>Ek8P*2vS7{pwjpZ2GY_Cfe`0-wZO4z@&h~g`6>E?Of}uDcmF=_igHy#|v!- z7J~kW%@}HLLfIqb`fdj}v^eaR=y*#}0oIn(v@{2>+_$ z+Uw1lE*JRAv~H*%y1#0coi@hG#9coNZ7^UjKHfsaQhRyNHZHx>*5H-m;a)k=_E`M8 zma=t2ZM070jC?bvtU=0KS1qj*6v=GsK010&LLoHSx$aU+Rg3h#)r_x9&%$@0M zs8+35^ZYQq6Jw`BOr^d|*j)o4cCn%;ltT8wn4`Z*DMG@m!4Y|viT?FNnuoSldKm=+ zzd^)mASk&}3C}mtGWL%kEUbYrskk&Xb6L^jpb}TzBWF=858Y|ER#D9zaM9~T_FlcG zQFv%S(mOsxf79)ZtjiCbd;XZrl&9Q)Zup1U7vpV8{x0|HfP!P<6nFQ9j2>*hZ5hp; zUt1*AH+_(#SQ$Ek?Z+8$DWl!OrI4>WY`~jPM`9$E)o1!wFZjW&G(oU8T ztTb?YsKZ&DjBL+~#igA5q!_-$wm8;i7Tr4@BlHAVK z9jOtF``~N&P+a1x&^dD^B1jz8#*8L=STt0ln=Wj9m9kF7E{Ri{>eBS+rwXbs*eoQ6 z&GAySmRB#;+Wu7v!@}tr{bM7K=Q8j%x(=^x~{(HFp?EA$H!8qg!GeFS;}S zL=Q(h+p-nQI{kUCpOmnXJ^lAjLtpN24$QvO8YmYSP%$WnQmqT*`-e1Flsyvf5Wf%* zZ=c7tp_cq@crr=e0@J^2=jHD;lb=-0+ku zl)W$m(K*(a+r?RRmXM>4jHYO2AR-cGlrIJ3q!kv=4x6zf=$!0-;9Mx)bJ#gKWkyRI zb_-L6@-i_ssMV{@kR0=f>aIUpG0&PA4gEm-*&9sByZM2ySsB{=iV5WM3{AQ$4_eRl zkexkR{;0<1T1UTiP6X0yAVVmHFzW9n;zlU~tW#)Hum&I7EPOb*3E==Um~HBLuS7d*OH3 zJ!zra*@Zpvrg>6ko|^rK9CV|~ z4A`-Yx5O!4xeX4VvhG72HlKCNz_TVtwG4!QcxjOSde*=^9&i#J%=dCHe#yJE-19(c;Jb8?LEyahJF zVZ0wZ`QuiM?gKziFz-8iTd0MNg)?=O0wcx+KIwbakE@*CnG05|!|SJ}$FogCjP4$Y zZFkLoNd3`$jjfHa5mVSZE$|(n35FB@ACgCtxZyc;hfU=NTH#h_|Cn%}%Q4wNFjS#j zkw3!`^n5+)Lr_6-K&eKkQIy%JO9hZWxS_Psu9_(^(&9jDj3#_LJHY8=JOMsYuiy|%fQv8jSRDqQQJA<*@c*tEW>L1L( zSHk(iwU3xgCrD|l-R@5QmW^hQErt9pl<+Lkr{BN;-yErnn!Ywrj&~%Ykw0xpQ7L)N zpK(f@RE$?@Q#_CiJ36+En3zAY?|px4!Ro(4wfgJmI%@D@u{#ubKiL$5_2s*kVsuic zl%S5nO7WHBDR{dx#Gm&uXf%NDOzTD-RM55c8Kt=%hQWAn_(CQSS!V=$cw?iIaPOYW%22b1`_s>f>PQxT?} zQ+ne19}=+`*Xy(i)uniZcmoe0!QPLlv1+!GEk9#qhWguY68O?fe9iArm)r%41)swA z1oLIhf(iod>^|Auj)X5?FCBXf>N*JqT)_oLoQ6t;IdBEG@_m>VbJ9pQJLyh$$#3wd zwBoX)`VO14WQ}rF9fI98;e7P-g7fyu>H|{>acfFoFHMjBByZvZ(IgMfUw%o0-!xpN zmR!MCM2zfBD{DX9%Bya3-&@D&IypSr^iqB7U^g@#BD@c|Q2cle1{zmO=~eV~=XN$I*g z-gcwpBLZd}X@sK_h6U7>IQV?M~R*EVWs3n+hborXKS>!FY=ZRE<-$vvYf*x zI?0~2IYSIpMM=7XCH2eu2~lgepmXSoPq~3n=nPN0U|XWiYDt(oiz?FVnS$K{I+{x= z+oNRWmOU*3dW^vs=F46Bz}*YSc~C1~eaMz$(64VjRW^_Tf03eynQs&`uf;i_qWR|v z6aoqJl|iynBA$ZfA1=)t5{>QC-Nf*#QkE(z&e+*8S8I%0`5t!ldzmsCA=hvG+X4K9 z>wCq*_BjWiSpHS}Vp;`wfb)+5VrjM=#(C~7zOKsB&bvAB!o7lzveT#)0KV-==9{-NU+wXO1kkkF$ltTZqGVrSusklG20IB4VM*vB85|TO zDNA8d)V15zPk|Re$D>R1*H&cmmmja|!1e_BQX>bXBx&lOQ1r+Z{sK%vq#Ry9N@PuO zU3(2#@2`Qzq;i}^p!Or>*2_A6%+A;et zh+{DhQHJK>QH*djt7bWu9NnK#SI>aI`HT!v#Du~~g1IT&2weF_XEWh>PdedGoY!&b zm;`T?X>me=+EuYT4X+EbZf0TD zAkWsVAIrQIaagq$qGjo)KMdh1FyBUdK;kh*NCR5ccT={k9y`jTKtBWJf7zvNCR(YNH?|Wg4f!LZt z>1T0mb=H&j2}A2%9>iR#QzdQTKCJfjF5X){x`+BlQB@MQ(<(JfA3Zh}0 zy0dHT>30CPSo2s-Z37zGuthmqcoT0_A(5->$Fn8g?&72;O@ee!m z1={D;_@NsuH`E=~VW89XWs$tkIT-?y&e_NO8QEQryHbj~azkUh{Zbv!oPjJ#%L{ zXuqeUd$g=m8(8VEgsHJLyp=sIq{PJci)C0|%yG@P^>8j(MhV+fcuS0$SoqE&lj5c% zI&rmWSYtKb_HJfz$dO_MqXDRZ`8~yL1bP7T%paX;4;`Ip1^!Go4ZZbKsnk=NVTW=T z0+ovFs4RjMUZMd`7>#%*x=Unl(S^Z|!8;mD0Ohi3>f=>Fd3EJ)++LFrW><1Cv(o zklXDiT=tAdSnsB8V z9^qJ(irQUJx_8FP;alqDC_1_`mXd+bPPys6iS~XH61Ubi5vL*)WA=OzwRw8sY z&*1B0Fb4FdPgB>hH5~`EP8qgOORJbrVgZ;NSD?W7^mFL0tWYa?u|MBL%X*_Lg?mYb z=aa+CSL7e@@3*vfapZRd&NFqX^zC%5#n#p*%qlU*@-z8SIKj7X$FHPO-WH?Rs{)Zx zNob0TMk;bQEDZbH46Ivx(7nC|zQ1BkmiyU@!EGb%Q;BqKbXCY+Hm=uR;j&;Dm*#d( z^lWR~Q0LruQCThO^Q7kn%7Ybk54ID`CoRi4Vl6Q;((jrOem(e{lxPRGwwwWmyb?wn zo^wg14KUCK-#aJ1eTuSkcmFV3yI>KpRSrvsGV5ufu~iaC)E(T@XT$_geoFqkH>v4z zRSlyliB=#+v?buqY+iQc6#Q+8?Ir8T+&AVK3QGFvZ-L_+TlxJesjDJA{ytXgo(+sW zCH~zoEQdJwMwm?(0BE}9ws(HVDZ)9P2tH=E7S2rB+2B3U4I!U``yBxq;_`X3V_u0b zHbOVF7s^%PEe2L8N{6(O)G-aT*K|fjpf``S#^Y$6uM`&`7o4iyLdP%Ao;n)NR1#wa}p@IdwOPBEWoiPu!`CCkZ zzW38zuB=4YBgm2_OuJS_F8nA+I7{O~`*Bu8?j^AV_2*Gf?6F(1Qo3z3WWv!*CR!lK zXv~#c%zG$O(BcqgrmkiWdl-DJd?FBXdw9!c4%X6cHY+ljU|V}RYPLz&<$%j6XF?CP z1X>LTFr{}l($b1@o;`mM>hJeNZVl(!gjo$zVxyFxD-mOs*@KoN3gO zzBxZ(=vbniVOyhYi>w^8BM_4`!tVJezkba{$8;hC? zxq&q`g=sL)#K~P-&@=)qquj(eh9kVEqv#@1<&$I#$t@&EPOB6S`s)qLdDiYTPf2NU z(7V@LpuJ~y+cZG5gJ2o!-@Kk0_R4Cs$UHl`|IOXOUaq-2=&3dU-TjBO^pwBWy|TI{ zqS(Do-(~&oEasfiacvbvRY)sVe+ZPLUOZYS%q-%1;h}ah9_PI6hqqz000HkMk`fKi zEpMa5pCvcN>TnY8TTSewQ$qBa`I~hZNg&>Z-5j4hQ4VB3Zc&P>&1|Fc3wfH>5L~M& zvDM;|uF9>Ojz>Y0Rf6y}4Jq{^+sHT9JS65$=w^P)&GC;L&|1E|pw{1K%@@@4;oPBV z)S*kR{I$k&d*s`-8Mnlt8Qjmo7(wj7#{Iq}nxBKtjysutxMHVY$hy(KhD0zWM6{Y1)(602fhpP1T>0_Q3sM?zt&wd#!c{`JiHmFb~8 z|Bx(xibquZ6;GT1kL?$tjY$cgbGWUnM2|^uX(qeBxpbRWO=WK}l{R`_9OQ_7m|k8H zSNtzgMIu`$^T}$PQfw%5FJ6heI$fsUlF1$RJ+crj(Os24)vCN*W&-@dQQVd)2yepG z(QEtI*l^i}q6>N#9W4uaz%P~&N%->*P`z~k4xcE#;y5MTj{A5_g-81G#nA?wqc4G> zJ5ulqM#>QHl_c*(z>O!Fgvgs&5!HQL8wK-u_PWns8oj?x0S0Hjo^j>Aufp=Cz*g+m zo88PbJ{!-n#B`>Xqu==)aUGOfv30wNY&0#+{Z|}QJoNo*KK(%-vtvM=d5Da~oBEmc zF=OW|Zf^FA7s$%EAjN`9Dby_v5(63*T56m>80^G-k$x(S;pIvXoi8j{HX6Z7rN0>y z2_tYpCKB=8CEA&9EH|D@vb5xeY%cHKYWeBZneM_R>;hXEM{MKF;ciV zBW(;07gN5yX|o%f^@iqNX9Q2{h-vlOstQC|qiiY+8*(M>iO47m-kyyq>X#+%{hhRVOl^c8v-N+tesMT^+QRsa?FZ1~<+bdDoyRY55Kg3VOw~Kmg@w_{wOPWHGSUpb zk}opt*5Zf0yHwA0iZP1Xz!k$kUMHO1ywu5BPp$lWuLm&a{YP|udZ)4erU^I^pD0Cb znx-pF{%3d>S%=BkzWR6c7~fueu`2hYvFLN z`G^Xg4=U5ij!Ben7eqY)>_9fOOilT{oJn8TONQIc)^;|lty3|Q$~J{EQ#r6rp@H-< zWgEk`(f5(iNCJp|l+X^D^N;$DwL!fkz(d?tL2b^1_4=u=TJCYWZJI;qS!|Jvs}rM@ zc{F_+9N}%?o2PE8X@efhD7t%0MQI#4n~*-(ls)Wh6NZO6eQ)vytB^%;$%e#XM0SL~hIR`(uV{D?s}adD-X`@bJl%e^Tej zaarOv(h}ws>ONOWK|uFkApap*I+FGIID)a7e;t}ocU)~KU6_=XNP)@*XOPUpN0RQH zhabt!Q>0zvIk5@b1)Bj%uJS|ebY2@lVpP5eeIU;IVyq*5qI9M0KriYsWgI|q(nwy+ zZk3fQk4IVPw%dtS)5(qXbS~B|I$+&O zVF0u>XPvr$LkwHF^U3)@o=RKr_A*Z$Xz}??_J;>|uMM@Dc@YW! z6pi(@6^n_eWwx3jrWmesXqg!0C;&)o{{P!zv#;ZtZN7Q z-+8als=BQ=Q@Z%cAWfSyVOc_Z+ZVYiP96Q|qD5Kfm<}1A-}&$Mpv~hC0EJ8Fc~1cG zamvC7c9IUqg zH(y7E2J)w`3)h+ARk6?nnn4MNQ{Do{87$;2-atK35|%72kBdYd0{wTx!i zU)Z)eh)kUK<%&FG)>Q~IkTd<@)9V|w;>VQ7^3SDGp3l{jk7|9{7$Q=?Y~jT1ZJcAo z(GI5i)4m15ePtfphW~o0`D%PrugQDHGR_cOx|2tXKkr{IKChIIPD8^^|8n^ z%-!A@o58G6wtD|n<25nEX+Y$rY?f#rFE71i^@dXI&h#PU_e0II zqQ|hJ*75yV*PfYkj~q!-Fco~t@f~j0yJoG9&=w(Jv1^wY+PotaL4`6O|FVTm=;@<6 zM}MizuR1>yEhmOItGSB043uv!VVB#;t2_!ZN3!33{kmV=j)T0}T+ zI9O-)7SKdn1M_k*i!8JVb4OFmGnW%}-_B&x`O%zrVy_wp*iU*S@5Dyz_T8{yrXNG$ z**V4!uDxQ+)8Ly4+(Y8XVi}kD#)e}WNT}JBRfr;XDxKZpH(7}>C@{G+W4yFQ0l+;b z;`hwsD?8W0^Z=VYHX(1klzGkdV9(z4x&_)oBc+q%C%dZyiVZB^fkXEUxV{45fWq`A z>ec>#vE>zP0d^A~4OhS3Ef7uH#jgUD^XXvnH!FQ^P?4YyT?ApC+Kl%B(}BDnfhVtyH6iCujgCoQR%Ykg&0wJ(vpieR@ojB$%Dwa$oM0Y)#WLQ zPSgUtmvMDx=QADZnPprwNokqN=vfdc_#TM&r!~71+bMJOpLi$3G&JnRBqt99q+@*L zvnMzAVfxd$byuH`_w-0;ZHLz4Jw@%|^1F$()srs*7tzOtrV)7~BhCa>dH6`!1*b;@UTB00hSAbuZ$)oZ`bv$@g^$nvVBX8z`_44FVNG?e!JZGy^9Lv+RtD!|V z8^TuShqcr(RM@qzxGkWO&w`xdI(dqkq~AE+rIdD9{n)h?w=C85>B}5%G`Z){Ebczw z*Lt3N?Rab2&#!dWS~0GfoX5uONs)6DGIM!9QW2SR|9!`}G9FADM4=-T-4kKRt}_+` zD_%{Tvgz^$#(w`K%gla{WX@*+D`86B+2<=BvR(FrcSilwxbW+nt(~BocA3r^SWF*R zJ?VSH(#u3Ai#2CGL3;ZNrQy+hU7r6)H1%^>8#QfkKs3R5Wq}v%+?8E+ZONwFL)Zq+ zXH6$PE&FSSJ#dF{MX<~nr-c@mlHH-_eb#&y+oX%hBI{4BP?qq6!5!K|qtm+6)qM{` z0^V|2^m4AR-=ml04L?3={z_KwEC(rKaozIf6Xn~?j?~RrM)d=&%=W&(RLc1Ap1(7S zdcJK)7H-YxCrV6MpC~i3CoZR-RU!Dj&cwR?j`&$b{;e#*&bibTMU1QPaqze|iaXetD--N?rrI7S_2Bi){$hLC8H6y{*!oi-9Dj1Ad`JHw zjenOE&rFr;a*{fX`-xfspD*4g5r}(4`>v)WoGp=E1 zXzwWucJ;Z8Q+_Na+A&`%sJFelo2lhVs3n2y%Pf|EF`^|rK`nPt&8l!w%z_tw+420u zfullDg5IAHG_a519{2N8=Ch7j2XY}+`wS+E>gtXN#!W>C#G4SFlt1z7@LHio;%&Uc zl2fm||J`nvxzpPxJzm8`%{@7~ymJdiTf>*`(Nr9AXEexa;+1b7>7PLX5eot# zKiR`W*ZjJWLpWt3&~JW%)m)~|tdoo7dILEaUO&1a@(;_#OGzss?7B~nIFt-eY&wXx zLo|91j!O3?>BzoXBXa(*i*7u%=M{Ixe{@&U?6Q)p)z^ujOMd8xDVukKcQn`TC!E zuoXI6As>!&NQJ~O9@pFc9Hr(17!q$8L*8kCR>`!zW@C3Js@*!nWoT=FHTeiGU80>< z_L_7or}!7hq9`#+McvlB)23P7(K`-|*Re{gBKrRPBJ>C;qGulF>o0$il3-}(C%$27ay$T68jan-`4bYt*}(y2a4SeA1T}ld9BrPATZ#DPa`w0-klG#*I!&m znm0G9`;#1Pp4EK?gXj!=%XP*1_9Ey6^aj;Ye4Ok%Fqb4 z!GE`%K9w^!M-vwa{YNe_*(SAh>Z;Uqi5)6po?>5ODCKbn7=-ZjC!9jq*bT`;FoF!Y z;_v|n)ud(AhQnjHq)WgY(d@uivSWXu%aqQ|l`*>+oeK&aJK`sf$c_;YiaQVP0R({Y zZ0cLj0Nuz{o0QWoMQnY!q0%o#W7uQt;GS`bQ0o^SNksVl` zK0Qw=|B~Z^d669{?<%2$d%aahWFdM=IJUn6S^7_@b!Z>P6cv6`g8=MdsHb%2&}VsH zjfN;ft~jFO)}I)@!J19)5>=U9mKqqEfz}&6$K(;>R+X_!F)NU{7c!mj(GS4k4z+4Q684`DB|A#kT0*wk{P(3H)cMT3rGG*d2@!o?1vuYhHxV`B0@ zBq4H1QMoNDL|}SnBFrCaK?D?ljQyQkg+GGT(#d-Eg{=X2OwQC3PzG&_Etf17fNl9O z5hf-E&@$ECp17o#Fweb6T#(;IUa~hcW)&ZI&|XyJ`@dYX^**(QBORb|hnoCBVqX56 zA;@Tv{_t3;!q_7o=pCXgt@)sP_l5-{Cy~-sLoZI0tC>7pBR!uSKvrbP$KR$3t{v)>I{!_`8`Ey1wfw@iDB9lE<|YW>756EEyw&AWLJ(O=J${cZdB zKI@@2bD%3lqS{#Ifyi`RD`3MZv^m`--?MZ;2sJQZ^VciSrD~}o*WYEeNZ$DtAXD=0 zniu6Pi;mJ~!9;a6v4T1w_PA6UBepN;N_nf~ye%?Zw3sVloSl5rBnL1%uZRP^>e&aH zdEgHyz7kuRK$HZoj=c1r%ocdF$Xh@(p>1nkh3h=5vATb4rHvn-Ls(N*hOuMXz5(ly z@(buU+V4m@X}nWil1)cZ?&F(0z+c-n&~j{3=;TMuZ*+1IzIlbe?v4%me|wYk=UH{c z%(cw2r*x0)lUv0a5z$(pObAe5Alm3fCRAeZ+R|YI?Jwx53Tp2*hRgu+1yH!eVYFbBZ zJ_gk@h4TA-bEBa+rTj@~wc$)<+JYkv4v-y~d?A{`F#{xr;KnfJtX_r5lU>DHUnU=+ z#oJ+&z5O{eXl?Gi%FL7LZ~|O>$+;Z64}{M9U}M=P9N+OPLsAqHg)K0TbN66@h5@o(dNW=t5LCobo-&HWu^ZRM^FuN+AOM2A- zfPRX=UnX1bX^f%UB;3`XLrIZ?xD86i`g?_1^#9DBh@9iq;Q&8yRrAD4f2nV)XGeP4 zZz&$1JzJXl_&o_EE{q6R>81&zJ&0I5AO6%au zmZ3Gw*)x5rTfKxcFD{@(4G*tBuT2208wa(1) zi_=gQwCj{u;@~6tb&TKnfoxf;Y zguXVg-zEIfP0hLVHaVMQ9DQmyzQUKj9Td(C33>MZI+anCq{H=lzqAP0SQDgJW8cXu zv9h%7-uxA&Nmdeca8^qv-dkbUb+Yc;x~?aE^=1WC*^=Mct)|UxGxh^O|8` zlA)6~kA=v0W6eJ^>Gddk^#2@AUXL@yjel4@ugHiY$mSIt&z}HW_QDCi7H|VLwqMJZ zoGew`;%I0?U5q(~m(^}-!WD(m1^MJzu=dTN`YfU$noOd)v|o+QwCFS)?!Oy<{Xsr7 zQK8TbSq2@cuw-_GQ-Los`qP8fMsoiyhvnE5T$Y%k`&CQ2#^6yl{~71bbdAv~D}%xp zwj7tvw|UP}eb{0fm&<9j!^S~xA{ptN230>UtMUHW%xKQ8Zf!n-WB*IKDMwYTYriz9 zcC;$fudwnIpSHrK5xWJty&Ifp-8)`6G*B6^wkH!Emy?^nQBm4{9~WLX@pi-DMJ#fy z(h+ikwrKud;**!XS4k!TEYaLYzT$cg=s%SItEQVLS||Nd=OppL zu@3k-dPF7S@9=nGvh^S#m61`yk)THFf<@YtxYhG1cmEeVoa0M7Lv7_+*~SafLJ!Rk zdcqAm|9<_?zcjiH3|4TP08WXKKA0-cLe3pd2#nT~_J>a_|5&7GZ)E*~tGFnZ<>z8) zXN?D`VS}c}2(DM;SSN$328YpqiNxn!al_`ASH4<>&VXmm`m5p3UrqNUkkgldwxY!8 zNG{!_lRMMNkyR%gwX}LPbCc@8SY!c6sn^mTN=5!+k?UD= zZB$b|T~~A)?QB-`;157|pMspm=OiuzHRH(NPKAvlqdxu!9-}kQJI}#tzpNdA(@&dz zow+fl>Nb2olJ^vrmb=K7YcfWpjP1-?0Ln6FWNN*G96-GCnF0F6WAu>xQjUlY`rxhS z2eK3WBV9fK>$29`Qjcgq;xJ=yhBv-hlt3hBJf0DCz(|p~y9c$P*I4dF2q+ya5Bm%1 zVxOiqt1dD8Y2bv-lf398mF3onTwNps%qVR6i+3&E4lpIn|$WO4t|=5 zc=_nJHTJ%a1KU>Uk87zRsKtI!6|$vycNLB|3c;nY1PD;2YIw3efFOU(4XsnG+%fi{HBed99&8N7? zbgjN`wVXASfGTz0HxQdJNuf4Oci%(U{v4K#N3|W6fBF9W^!LJTj$o%w5GmLOb|lVj z%TS+e!XGBRwc|AMFbBme2CU}pa4b{x>cL5xC+m#SdtUJx<|ZX7hPK8;+0NLvU^4NN z*MpYHwCp)C&OdYqK1byipgpI&Quvx)QpSaCU-TE|9g5LSf*BL9CKN8|qt?sI`?@RB z=yRE2p7){e=jhPZ6c5tJT^qtwt_~+hAIdM$`~0c1gDNqf3uUwbrp39UXcBmoGi&nOLLq3>(qNbiquc;Frd6 zJrs|%V`+|WA!TW?m*o8&)R*izxrQbY2acE^_ZFg`lNH?!y5D1LyA)Rc2o4?D+iti! z66Y@g5swnCuUfIEYd4&<^9m(n^TDQZ8c!go3U+s-G$hsF?=VCQJ?;BwOo-U=Wps%N zUIv6)&7GCaO4)Dw@g4L$1-D70p78G}7ZZ8vKB8c%@#scSru5Lvzm9p2c}V; z5K#+JrGCagSKo3K#z*iF`Ys8xLtdn|11M8vlwK1})+O7D$&rUf!QiyP&%wV%0%!``(FIDGmM0LS z7l(&X=uTEZU+o0sDK5f||DvG0X7$a#G`{Rl>CzxLNf*vz*YP+@baVKoW6USOg;hm< zu0A@ZV~=;U+}sO)IiioJU{&dZ83Ekrr|s_7Ue@>;aqwaRh%kR?(vFHk1QC+?$QX=( zF{*G#26yR!${u`rmPKRSy?yyhS-HK&a8|GC;xNqMdhRSugNAzC$x4~aM~3xhjbi2Q zdZ!Eg-~b+=`@5`NZr@yS4=63sZHthSX^a@4`JuY#MH)V#HVd_XZY?cs;uU79D6?#8 zgMB@x&-<0jbp26cDNt1AeZx$r*7xd*n$`6#jB&HbLAj=gw{3x6A0v7w5Eoy$yVu0?l)OwJ#2~LsMQsQI`sS=la%v?KiM-1L7Ye2 zz%>OBVJ{m2iu$?*{%|SQo5!H|uRHDbnnrgj#;Y(7Hq!3l=?e(IO0qd(I(DU zDq>Gvn+RB9+ri_)!PAe&9Lc0g{xSbLjOmr8%68MN?|E)2L?L9rw?O1nZFPNWmSXh8 zU6bg1ys+N#S2AOch5*l|=7r&sKa%5x@t~h=-K{eU^*fC`Es?z5Soddjc?=bA?O)A) zGq6@gcfUBD+Qum;;CY~4I{jWgfjT}OU3NU@qI?0PFq3S&qNKl$SPLQAExw{#Kg4ha zj)8MlhpC#b9jPU}Ol26B8a|;dRFc-orb-CH5SAtuBx{(O< zRZRcm8jSq+LeBRAS@G7C=v)NK=D<}sC0Di1VQ(Jbn0i}$!8}NZqaCF4BL+vJ>)j^_ z)N-Hj;pp#i{+&Yig(t)E;*5UWO%m zGS2c$Idb8Jd70_P?l`v5c`90|T>{=>I=b0gyEek9FL}py6bcZ2l0NRbIGa1`t0D2V zf7@Ko&?of;GglJthVMJ}Sy(%ov%YM3cJouK(c*PqO{Nd?6UbzA)+Ok56f8O^MeT`M zrj~n;yhhB22;$(zil-HGUvFfq)qOENQa@@W@?~_lRN6@f;fq_szSf z)+jWYEPv4TJpD*T4Yzcf97^Sw2T-6|?FTn@F5ywnQP`v5DHr0Fk#umtQt)U7= zej4ps>&RM2LVP?H-6}vPGL!Po;?60tu0im5V@Y^BEKaO&8xUFs~^M-6(!BtQV@e`r}Tnvqelsl?Vwg49OrX@br0d z1a6t%xU8D@C8wKLM&^v+Eln(-wRR1{D)Q0dmr@>RcVh)leHqjRW=%Hu?qbcPRE_*T zS@1}I0jewsv~w@|amGvOvdsiOP3H0W@J64tjH}S`*|nPM%Wap&snK*PGuM=gL!o_0 z6v_JjzH7vGtRX1tHJG)(R^7pauC;EqtU{VBEAz>B#p46}wkJhp#R8hMT0)Ld%7N1C zsl!fdYgKbYT?_5Wf@=?*vzV;xfEC&j#Rce!bDw!c^t+C64{c^t2Hq|mS6-qQCqQ|Z z2)92!<3s+>O?ME2gl`KUk*m!VcqCwr1G*+^$Pi-i{<96gYGK2d74@pQ%IH; ziO@)A-^#z+5iQ9iTa`6y32Z5|Y_0B=&2`1|L1NKtW{czE8rhSN!^qH-por3FP|TUC za_#}3pf(8>+T#qI5TG4&mwKlbC@IM&qf8#gx6&pFY{jX|S47JF*tYBP$}t|k8+V{4 z28In;KJF}|(g%_c(I_Us#P$LtS^$C@U7^F zUG2U_E0w9w_Fv*02<+Vq`mlqV&yS8zKWtoE?U`x(;keubN{#INvzy>?Udmwgwp0q4y zj^i{Rw!CF#d;0R@++~Gpyfo$;t{QIIF#HL04_~K3{n)4AFpm0)wq=&jkajU|dNR^K z$F_bY2;GZ*rQcrPq<&^ivWblT<)(IawqNyU9ExAeo~KviE_cv0%|72x{0~A{3<=nd~N4-t}QcNZO3s#?8bg zEynx)-7UpjZwsCeDcU0Kqz<>cTcZ8)TplN?HrEQ*5JiQ=w~AZ{@g(dvsvs>Wmq^cm zF7dQ-fAy%#ci`uZJ1Myz(y4Ar$oO3i59TU&jnJ9XA}Z()1{Z3;{BQY#J!hUuc84@w zS7*xdnYYy_UC*^cHN&I`$KjIiBKho-ir4QJ@-fy_u$FD=5i*T&s8e6MQry!^x^9 z`Da-mew|J1hS6=sswkA#rg=^_|HjJiO#yr#z_w5Bh0Jpj4g%*ov99;G&=KmS@@x5T zZ37k3dEN9q9qFas|71cIWTYN?O->ozZ*OF$HO8ctE`M%~7wHZjebX<`n&S5 z>2I42@^qpH^|{MIkcbCk_=^PL*bN6?0+$j|;oCUwQ9Ne!MuES7a6S%{yKXzZP7C?U zRz>*`@QO!z$QmTc)y65+dvLw~tOTIi!a9W`oiM?0dC!mRPg1qA7TV-Wj*0C>PcmZc z@C1_fV!u+Hn)=_?3n`}8Da8=zBtW{KWsDi@{Uqn|T@uL!x2O#mJ`-3Z45EhJ<@9Yx z@wA_QxQQe2tW=#jW34+?^a1)*Nngq?ns^G_4DK8Pr7(_0)?$}(6-WbY61+sfq!lfT zEI%||s+bvMbFwaewZeOn()VM4hb|S~s6k@LFGiP|c`Y2_>o7}$)MXLbcqJiMj^d9BoCMC} zPB6Q=6ilB@DEbN-u1+hY1)#o|mKupwZW+s-p754lV5XGQoMw-OQ?>l?&8yi#7TJN# z9cxyO*L#SRG|4II`cNTGE;TYCSDvMM=_p@}Ww!oO8_54#OxZuO(Tc%w(wc6r#%pQ( z`3NTP`>+g!B_Wb-JH3Ww%d48pD=Wvgvbzibw=nhifqUh>Xs#F=sB?rG{zmr(_KWnf z<&&jTM)WsIX=@4mM-!)kiw*(Cq6%fde<9_IH!c}|kgVry1dG>}VLyy_^yAv+x|#q_)4+OQV%n|IuCDWsY;U)37s<@2;Vp zGBmvA{mGw2KTXbniN8+wSPJ;xshXfb&FuZqq*s;O&>!?ad;wNmR;MINAHMT%e(LYz0Nx8oPG8_)Bb*#?KcOmk{Y=|X-A)g81CG#!XybS=lU8y&xnotC;n=< zfNO6y?XR3SR2Mzl;m=U%P+ghN^MXbeM4n}rWBuY3@Z;IR5Ynd`NBjKQIo$R89anpg zzw3xIwW$ukJQRsyP6uwpylg#YDU`NiEe1Ba$&-p2=1cRhEL^|0mqX%s3R|$Nch99? ziGqIheVDR~p^B)#wtJtWA#8O9w+px%V%@qk+ajKPbB7C zOG)P@>PzhleQ>Gy*zVR7wyS2pWT)(FARbDrHrpo1I&35Gu$eRci2kGM%Uk{*zbfBV z6V6U?vue4MU)DBJ^aVrnn zUtgfJgExK(9jcw0>VOLqDlKfBZ?_-J_jOD!N~=nA`=jWK zqV>O@T2&b*^zA9KQ<0&CN69yn^w?laFHPuf=3~Y;HKwHPCsqgJ*!EGu=VHZ-y?d|? z&vhMb7Hi1A79<>~arF5^q~BN*)H0*EO)WqF>*5(0F{p<=WMAiRK%W zluf;(svcRZ*1}e-mEDB@QJ#A&9#1`!ynoGCd2u)Xjq0n-KUDW1 z@M;3xY#}drWIApSH=6b4XiMUsB*%Iidg+hU^334y#tS~#@3WiV&vtDezeOJscU5lg zls>(&elk7Cq8M}X`PHo1Yi{zzYo&P{F;$J1WMoeEgASlc$( zA1SZRxS!=(=N`5Cb!uRNec|gA$>tjF{k@YuC*FKrvXz_W*K7T*_LPh_Dmd^*z;&PR z?W-E?pvp3AB+8Dyrn*!*Ub~mSHR8McQ*)T(mtrukj2~Zk%BOC>NEHtFnsc{e%nyc; zbF;GTVes>dW5?K&1`gS*}t!?hqwKGh$Q0qH{3z{ zD|MW@*R^%2-cO=?rGeym>C@LTQVk4tXW!BB3}I_O9(458y^IZ=f_Gw;&H|DT9-a~F zHrO?!w?8e|5&p}QGq*d$K4-rk4KHBlH*Bkjbe-QKgm>h%Zp9pA1e}KU42?&XKe$6& z-CPnI2lkyz4{fKeZvT7T$hTql0LHVkt3zU=ze%9|ID3C0D0%)kx=unb>dDu z;iqIno$HuGrw)&<^DyEWgmFFUH+n+G8RhGoI{1euOS23qk}Ceu@dxD^k<7{5(y`~N zdSEI`iFv{XZ_+tl{m>nt4kUGJbSSfN42)8VoM7iBFHAVGGVTJFIKLj)zG9Mm43I4q z^EvRa94)2wXV|?1&#-WyA7b9IVqzzkA*{4(&B7dtulD`IET(UKVjiouSuy#St#OCd zegyv0iyo1U5UFf+HrxYN1Jt}%`o>W*g+^U!kG~8tYoT$0GoD6BGM;^)=8Ih@Txd`q z3&Ac^mNRB^RlCJ3OCi;98p-lVeUVjA>Cc%9MK0ZjmYI< z#-ApCijYx@RP}J6%=S0IBA3!n`l%%9GtO4x;xek9q#eFl9BCkwPQ!z8+Z>*`I|^44 zc{*0WEF4(!2EA2rR92V1p37V`La*HG!|qSE>0}}KgE2iyPyU1r7;51pC&yBYXpXRG zIU98Ut|6w(VcAqFkf4yPh=-IbCJU5XQZ9je=DfSqH!ZdoOg|JXj zqVy@T1qfpMgfOq8hP*{Gjfi}fT|LkQQ?Zoy@Zie zN%IG}mhMiX!Bj*xiBw74TuppD=+&b{i&snrwA4JBHhMuj6Vf*G-(!R+^1(2?2&FN` z2A->o4`HarBM}4jL!c)|%58S)^@lmOSF9ujYlXsT^1#{;*hMnGb z4jQ$pa?i1!P%+c#u{?fXU0BJSlgUDHe4%&JFRLDD4>&El38r%o-@^yj_GY7Sh<>y{ zG1+Z&YNzB7>H$LL&~#k5km@&l3~{>)&FFe+In6r{sLIxIaYDoJll0|YC*|nE-?D(( zCYU~$Q3wtmPB4)E)9#TMGTcF<Q)15(11m#S9f$?X%I4j$g1c~i{-27vya47zHn?27}e)^Ldh2B%Md!h<)nZYq2AN!IQDeLy%_sF@ z>{<&|4xm&9O09z)EKk{j4i2`9UJio!!?%zUK%{7)_1zNk-}PTXdC0^U5`h&Hb%r~R zsW5}-##+4#K}SNmG>PfuspdKSRdQUf$e^Wr_I9$;=@S0zt0W3k#sg2o8_j~$;A;av znt3z+?9vvVO>PMLi3MuilqJlcxVVu*Xjw5?IuCAA)A8`Y2#k}mp#pY-u~v7hBhm0I zzo}r@IXzsccc-VZMzFIfT=5*>V2|ZMtgbPITn(af^yEAu7rqcZV?5+9z7#{5hoX-+ z;H#3xzDINN)D$4bDp1p8%9x5)r{mkNSC)OSuzZ8WCwDM$2Be@bkL1w=JT*2#$HXxa z5g4A^n5^<=g<@#Y^7KtkMpd&F{Teb9O$g!QZh-YQom8X;pdz(9d8R|PJlu1RUzaph zb5{;TiKEFV^$*DYj%nPv)jAvz?m|1$Cw7dnIONb6X$G@Pgqmc%b^i2Q1DPW$+}4cu zb@`kmoj`yo(CrnIE~(;j0y#&@^9bWkwI>p5CWh*nE(9YoHr^JZF$F%=wRc&TM`yA# zDskUnkL{J_9V@N{O#wd^kOVO<%eWS7BW18%jl zgLv^>0_XsLSM7yGgHgC={8jWP3K(>+Dd5{q=F05&>;%a&tt8xH1b}cVuj5z=OFT}` zqzwZxpa;@@q2-E6W5;-dwy(+I7$HF9obfkOV{~t;G-*ucLLZ>NY3yZLUmWsi<87{! zaSVLE6i9~`Rs1T)_7J_z`)M0J;%03EA?W1_dM~S+rReG{LNC8OgXIS0XJUd(%!;6^ znqUlhT0wtPqnm_e9fhF-qB(ElF3b^lMCbK?>YH#s#Kyad*^3RZ#w&EF&d}WX)R34z zRt;nTwdC<20Mi0sxs#y3rkbfBqg@gq1ZMI&OOn5gJtl6nMqV^Su3C9B0FM($V-XsC z4Qm{)s5*VX~>G%3a+KM`U1WzopuU|a3cD23YyGXBv(9_sGQzu;J46! zX>WlHRWuPQ;i}D%aAQFB?8DgHS5Zg;T3Y?$h$6=8_q08^V?P{cpn - SetHandler server-status - Order deny,allow - Deny from all - Allow from 10.88.88.150 127.0.0.1 ::1 - diff --git a/ansible-check_mk/roles/webservers/handlers/main.yml b/ansible-check_mk/roles/webservers/handlers/main.yml deleted file mode 100644 index df85424..0000000 --- a/ansible-check_mk/roles/webservers/handlers/main.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: restart httpd - service: name=httpd state=restarted - tags: - - httpd - notify: - - cmk_discovery - - cmk_apply - -- name: cmk_discovery - command: curl 'http://{{ omdhost }}/{{ omdsite }}/check_mk/webapi.py?action=discover_services&_username={{ automationuser }}&_secret={{ autosecret }}&mode=refresh' -d 'request={"hostname":"{{ inventory_hostname }}"}' - tags: - - check_mk_agent - - check_mk_discovery - -- name: cmk_apply - command: curl 'http://{{ omdhost }}/{{ omdsite }}/check_mk/webapi.py?action=activate_changes&_username={{ automationuser }}&_secret={{ autosecret }}&mode=specific' -d 'request={"sites":["{{ omdsite }}"]}' - tags: - - check_mk_agent - - check_mk_discovery diff --git a/ansible-check_mk/roles/webservers/tasks/main.yml b/ansible-check_mk/roles/webservers/tasks/main.yml deleted file mode 100644 index 13f45a8..0000000 --- a/ansible-check_mk/roles/webservers/tasks/main.yml +++ /dev/null @@ -1,36 +0,0 @@ ---- -- name: make sure httpd is installed - yum: name=httpd state=latest - tags: httpd - -- name: enable httpd - service: name=httpd enabled=yes state=started - tags: - - httpd - -- name: enable http status - copy: src=../files/status.conf.j2 dest=/etc/httpd/conf.d/status.conf backup=yes mode=0644 - notify: - - restart httpd - tags: - - http_status - - cmk_discovery - - cmk_apply - -- name: add apache_status plugin - get_url: url=http://{{ omdhost }}/{{ omdsite }}/check_mk/agents/plugins/apache_status dest=/usr/lib/check_mk_agent/plugins/apache_status mode=0755 - tags: - - apache_status - notify: - - cmk_discovery - - cmk_apply - -- name: copy images to sites - copy: src=../files/konf.jpg dest=/var/www/html/ mode=0644 - tags: - - webcontent - -- name: copy index.html to sites - template: src=../templates/index.html.j2 dest=/var/www/html/index.html mode=0644 - tags: - - webcontent diff --git a/ansible-check_mk/roles/webservers/templates/index.html.j2 b/ansible-check_mk/roles/webservers/templates/index.html.j2 deleted file mode 100644 index b91c123..0000000 --- a/ansible-check_mk/roles/webservers/templates/index.html.j2 +++ /dev/null @@ -1,16 +0,0 @@ - - -Welcome to the 2ND Check_MK Conference! - - - - -
-
-Welcome to the 2ND Check_MK Conference! -
- -

Im running on {{ inventory_hostname }}.

-

Running on {{ ansible_os_family }} ;-}

- - diff --git a/ansible-check_mk/site.yml b/ansible-check_mk/site.yml deleted file mode 100644 index 8431a9f..0000000 --- a/ansible-check_mk/site.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- include: bootstrap.yml -- include: webservers.yml -- include: loadbalancers.yml -- include: omd.yml diff --git a/ansible-check_mk/webservers.yml b/ansible-check_mk/webservers.yml deleted file mode 100644 index bab7828..0000000 --- a/ansible-check_mk/webservers.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# file: webservers.yml -- hosts: webservers - vars_files: [roles/common/vars/usersandpsks.yml, roles/omd/vars/main.yml] - roles: - - common - - webservers