py
def main():
session = get_session(db='srpdb')
args = get_parse_args(session)
data = cmdb_query()
insert_report_data(data, 'ExportArrayToLegacy')
date_stamp = datetime.datetime.utcnow().strftime("%Y_%m_%d")
fn = f'ArraytoLegacy121_{date_stamp}.csv'
folder = os.path.join(settings['REPORTDIR'], 'CMDB', 'ArraytoLegacy121')
make_folder(folder)
src_fn = os.path.join(folder, fn)
dst_fn = f'StorageCMDB/ArraytoLegacy121.csv'
with open(src_fn, 'w', encoding='utf-8', newline='') as csvfile:
headers = [
'Region',
'Country',
'DC',
'Hall',
'Environment',
'Array',
'Array Family',
'Array Model',
'Comment',
'Purpose',
'Legacy'
]
writer = csv.DictWriter(csvfile, fieldnames=headers, quoting=csv.QUOTE_ALL, dialect='excel')
writer.writeheader()
for _key in data:
row = _key
writer.writerow(row)
print(src_fn)
if args.sftp:
for _role in ['PROD', 'DEV']:
put(
source_file=src_fn,
remote_file=dst_fn,
sftp_server=settings['SPDW_SFTP'][_role]['server'],
send_zipped=False,
delete_on_success=False,
aim_obj=dict(
aim_object=settings['SPDW_SFTP'][_role]['aim_object'],
aim_safe=settings['SPDW_SFTP'][_role]['aim_safe'],
aim_app=settings['SPDW_SFTP'][_role]['aim_app']
)
)
archive_file(src_fn, archive_name=os.path.basename(src_fn))
------------------------------------------------------
def main():
session = get_session(db='srpdb_prod')
args = get_parse_args(session)
spdw_host_summary = cache_spdw_host_summary(session)
normalized_volume_summary = get_normalized_volume_summary(session, args.date)
host_summary = get_host_summary(session, spdw_host_summary, args.date)
insert_report_data(host_summary, 'ExportBusinessUtilization')
enrich_row_with_normalized_data(session, host_summary, normalized_volume_summary, args.date)
print(len(host_summary))
date_stamp = datetime.datetime.strptime(str(args.date), "%Y%m%d").strftime("%Y_%m_%d")
folder = os.path.join(settings['REPORTDIR'], 'CMDB', 'BusinessUtilisation')
make_folder(folder)
fn = f'BusinessUtilisation_{date_stamp}.csv'
src_fn = os.path.join(folder, fn)
dst_fn = 'StorageCMDB/BusinessUtilisation.csv'
with open(src_fn, 'w', newline='') as csvfile:
headers = [
'Array Serial Number(s)',
'Array',
'Array Type',
'Hostname',
'Host Type',
'Hosts Sharing Capacity',
'Primary Presented Non-Chargeable Capacity (GB)',
'Primary Used Non-Chargeable Capacity (GB)',
'Primary Chargeable Capacity - Normalized (GB)',
'Primary Used Capacity - Normalized (GB)',
'Region',
'Country',
'DC',
'Hall',
'Environment',
'Purpose',
'Comment',
'Legacy'
]
writer = csv.DictWriter(csvfile, fieldnames=headers, quoting=csv.QUOTE_ALL, dialect='excel')
writer.writeheader()
for _key in host_summary:
row = host_summary[_key]
row['Primary Presented Non-Chargeable Capacity (GB)'] = float(round(row['Allocated'] / 1024 / 1024 / 1024,0))
row['Primary Used Non-Chargeable Capacity (GB)'] = float(round(row['Used'] / 1024 / 1024 / 1024,0))
row['Primary Chargeable Capacity - Normalized (GB)'] = float(round(row['normalized_volume_size'] / 1024 / 1024 / 1024,0))
row['Primary Used Capacity - Normalized (GB)'] = float(round(row['normalized_volume_used'] / 1024 / 1024 / 1024,0))
row['Primary Used Capacity - Normalized (GB)'] = float(round(row['normalized_volume_dehydrated'] / 1024 / 1024 / 1024,0))
row['Environment'] = row['State']
row['Comment'] = row['Description']
row['Legacy'] = row['ChargeBackTier']
del row['Allocated']
del row['Used']
del row['normalized_volume_size']
del row['normalized_volume_used']
del row['normalized_volume_dehydrated']
del row['State']
del row['Description']
del row['ChargeBackTier']
writer.writerow(row)
print(src_fn)
if args.sftp:
for _role in ['DEV', 'PROD']:
put(
source_file=src_fn,
remote_file=dst_fn,
sftp_server=settings['SPDW_SFTP'][_role]['server'],
send_zipped=False,
delete_on_success=False,
aim_obj=dict(
aim_object=settings['SPDW_SFTP'][_role]['aim_object'],
aim_safe=settings['SPDW_SFTP'][_role]['aim_safe'],
aim_app=settings['SPDW_SFTP'][_role]['aim_app']
)
)
archive_file(src_fn, archive_name=os.path.basename(src_fn))