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()
Esempio n. 3
0
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_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()
Esempio n. 5
0
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()
Esempio n. 6
0
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 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()
Esempio n. 9
0
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()