def chargeback_report_custom(assign_compute_custom_rate, provider): # Create a Chargeback report based on a custom Compute rate; Queue the report title = 'report_' + assign_compute_custom_rate data = { 'menu_name': title, 'title': title, 'base_report_on': 'Chargeback for Projects', 'report_fields': [ 'Archived', 'Chargeback Rates', 'Fixed Compute Metric', 'Cpu Cores Used Cost', 'Cpu Cores Used Metric', 'Network I/O Used', 'Network I/O Used Cost', 'Fixed Compute Cost 1', 'Fixed Compute Cost 2', 'Memory Used', 'Memory Used Cost', 'Provider Name', 'Fixed Total Cost', 'Total Cost' ], 'filter_show_costs': 'Project', 'provider': provider.name, 'project': 'All Container Projects' } report = CustomReport(is_candu=True, **data) report.create() logger.info('QUEUING CUSTOM CHARGEBACK REPORT FOR {} PROVIDER'.format( provider.name)) report.queue(wait_for_finish=True) yield list(report.get_saved_reports()[0].data) report.delete()
def chargeback_report_custom(vm_ownership, assign_custom_rate, provider): # Create a Chargeback report based on a custom rate; Queue the report owner = vm_ownership data = { 'menu_name': 'cb_custom_' + provider.name, 'title': 'cb_custom' + provider.name, 'base_report_on': 'Chargeback for Vms', 'report_fields': ['Memory Used', 'Memory Used Cost', 'Owner', 'CPU Used', 'CPU Used Cost', 'Disk I/O Used', 'Disk I/O Used Cost', 'Network I/O Used', 'Network I/O Used Cost', 'Storage Used', 'Storage Used Cost'], 'filter': { 'filter_show_costs': 'Owner', 'filter_owner': owner, 'interval_end': 'Today (partial)' } } report = CustomReport(is_candu=True, **data) report.create() logger.info('Queuing chargeback report with custom rate for {} provider'.format(provider.name)) report.queue(wait_for_finish=True) yield list(report.get_saved_reports()[0].data.rows) report.delete()
def metering_report(vm_ownership, provider): # Create a Metering report based on VM owner; Queue the report. owner = vm_ownership data = { 'menu_name': 'cb_' + provider.name, 'title': 'cb_' + provider.name, 'base_report_on': 'Metering for VMs', 'report_fields': ['Owner', 'Memory Used', 'CPU Used', 'Disk I/O Used', 'Network I/O Used', 'Storage Used', 'Existence Hours Metric', 'Metering Used Metric'], 'filter': { 'filter_show_costs': 'Owner', 'filter_owner': owner, 'interval_end': 'Today (partial)' } } report = CustomReport(is_candu=True, **data) report.create() logger.info('Queuing Metering report for {} provider'.format(provider.name)) report.queue(wait_for_finish=True) yield list(report.get_saved_reports()[0].data.rows) report.delete()
def chargeback_report_default(vm_ownership, assign_compute_default_rate, provider): # Create a Chargeback report based on the default Compute rate; Queue the report. owner = vm_ownership data = { 'menu_name': 'cb_' + provider.name, 'title': 'cb_' + provider.name, 'base_report_on': 'Chargeback for Vms', 'report_fields': [ 'Memory Used', 'Memory Used Cost', 'Owner', 'CPU Used', 'CPU Used Cost', 'Disk I/O Used', 'Disk I/O Used Cost', 'Network I/O Used', 'Network I/O Used Cost' ], 'filter_show_costs': 'Owner', 'filter_owner': owner, 'interval_end': 'Today (partial)' } report = CustomReport(is_candu=True, **data) report.create() logger.info('QUEUING DEFAULT CHARGEBACK REPORT FOR {} PROVIDER'.format( provider.name)) report.queue(wait_for_finish=True) yield list(report.get_saved_reports()[0].data[0].rows) report.delete()
def report_vms(setup_first_provider): report = CustomReport( menu_name=generate_random_string(), title=generate_random_string(), base_report_on="Virtual Machines", report_fields=[ version.pick({ version.LOWEST: "Provider : Name", "5.3": "Cloud/Infrastructure Provider : Name", }), "Cluster : Name", "Datastore : Name", "Hardware : Number of CPUs", "Hardware : RAM", "Host : Name", "Name", ] ) report.create() report.queue(wait_for_finish=True) yield pick( filter( lambda i: len(i[ version.pick({ version.LOWEST: "Provider : Name", "5.3": "Cloud/Infrastructure Provider Name", }) ].strip()) > 0, list(report.get_saved_reports()[0].data.rows)), 2) report.delete()
def chargeback_report_custom(vm_ownership, assign_custom_rate, interval): """Create a Chargeback report based on a custom rate; Queue the report""" owner = vm_ownership data = { 'menu_name': interval, 'title': interval, 'base_report_on': 'Chargeback for Vms', 'report_fields': [ 'Memory Used', 'Memory Used Cost', 'Owner', 'CPU Used', 'CPU Used Cost', 'Disk I/O Used', 'Disk I/O Used Cost', 'Network I/O Used', 'Network I/O Used Cost', 'Storage Used', 'Storage Used Cost' ], 'filter': { 'filter_show_costs': 'Owner', 'filter_owner': owner, 'interval_end': 'Today (partial)' } } report = CustomReport(is_candu=True, **data) report.create() logger.info('Queuing chargeback report for {} rate'.format(interval)) report.queue(wait_for_finish=True) if not list(report.get_saved_reports()[0].data.rows): pytest.skip('Empty report') else: yield list(report.get_saved_reports()[0].data.rows) if report.exists: report.delete()
def report_vms(infra_provider): report = CustomReport(menu_name=fauxfactory.gen_alphanumeric(), title=fauxfactory.gen_alphanumeric(), base_report_on="Virtual Machines", report_fields=[ "Provider : Name", "Cluster / Deployment Role : Name", "Datastore : Name", "Hardware : Number of CPUs", "Hardware : RAM", "Host / Node : Name", "Name", ]) report.create() report.queue(wait_for_finish=True) yield sample( filter(lambda i: len(i["Provider Name"].strip()) > 0, list(report.get_saved_reports()[0].data.rows)), 2) report.delete()
def chargeback_report_default(vm_ownership, assign_compute_default_rate, provider): # Create a Chargeback report based on the default Compute rate; Queue the report. owner = vm_ownership data = {'menu_name': 'cb_' + provider.name, 'title': 'cb_' + provider.name, 'base_report_on': 'Chargeback for Vms', 'report_fields': ['Memory Used', 'Memory Used Cost', 'Owner', 'CPU Used', 'CPU Used Cost', 'Disk I/O Used', 'Disk I/O Used Cost', 'Network I/O Used', 'Network I/O Used Cost'], 'filter_show_costs': 'Owner', 'filter_owner': owner, 'interval_end': 'Today (partial)'} report = CustomReport(is_candu=True, **data) report.create() logger.info('QUEUING DEFAULT CHARGEBACK REPORT FOR {} PROVIDER'.format(provider.name)) report.queue(wait_for_finish=True) yield list(report.get_saved_reports()[0].data[0].rows) report.delete()
def report_vms(setup_first_provider): report = CustomReport( menu_name=fauxfactory.gen_alphanumeric(), title=fauxfactory.gen_alphanumeric(), base_report_on="Virtual Machines", report_fields=[ "Cloud/Infrastructure Provider : Name", "Cluster / Deployment Role : Name", "Datastore : Name", "Hardware : Number of CPUs", "Hardware : RAM", "Host / Node : Name", "Name", ] ) report.create() report.queue(wait_for_finish=True) yield sample( filter( lambda i: len(i["Cloud/Infrastructure Provider Name"].strip()) > 0, list(report.get_saved_reports()[0].data.rows)), 2) report.delete()
def chargeback_report_custom(assign_compute_custom_rate, provider): # Create a Chargeback report based on a custom Compute rate; Queue the report title = 'report_' + assign_compute_custom_rate data = {'menu_name': title, 'title': title, 'base_report_on': 'Chargeback Container Images', 'report_fields': ['Archived', 'Chargeback Rates', 'Fixed Compute Metric', 'Cpu Cores Used Cost', 'Cpu Cores Used Metric', 'Network I/O Used', 'Network I/O Used Cost', 'Fixed Compute Cost 1', 'Fixed Compute Cost 2', 'Memory Used', 'Memory Used Cost', 'Provider Name', 'Fixed Total Cost', 'Total Cost'], 'filter_show_costs': 'Container Image', 'provider': provider.name} report = CustomReport(is_candu=True, **data) report.create() logger.info('QUEUING CUSTOM CHARGEBACK REPORT FOR CONTAINER IMAGE') report.queue(wait_for_finish=True) yield list(report.get_saved_reports()[0].data) report.delete()
def report_vms(setup_first_provider): report = CustomReport(menu_name=fauxfactory.gen_alphanumeric(), title=fauxfactory.gen_alphanumeric(), base_report_on="Virtual Machines", report_fields=[ version.pick({ version.LOWEST: "Provider : Name", "5.3": "Cloud/Infrastructure Provider : Name", }), version.pick({ version.LOWEST: "Cluster : Name", "5.4.0.0.24": "Cluster / Deployment Role : Name", }), "Datastore : Name", "Hardware : Number of CPUs", "Hardware : RAM", version.pick({ version.LOWEST: "Host : Name", "5.4.0.0.24": "Host / Node : Name", }), "Name", ]) report.create() report.queue(wait_for_finish=True) yield sample( filter( lambda i: len(i[version. pick({ version.LOWEST: "Provider : Name", "5.3": "Cloud/Infrastructure Provider Name", })].strip()) > 0, list(report.get_saved_reports()[0].data.rows)), 2) report.delete()