def set_tenant_storage():
    storage_data = {'storage_cb': True, 'storage': 0.01}
    reset_storage_data = {'storage_cb': False}
    roottenant = Tenant.get_root_tenant()
    roottenant.set_quota(**storage_data)
    yield
    roottenant.set_quota(**reset_storage_data)
def set_tenant_vm():
    vm_data = {'vm_cb': True, 'vm': 1}
    reset_vm_data = {'vm_cb': False}
    roottenant = Tenant.get_root_tenant()
    roottenant.set_quota(**vm_data)
    yield
    roottenant.set_quota(**reset_vm_data)
def set_tenant_cpu():
    cpu_data = {'cpu_cb': True, 'cpu': 2}
    reset_cpu_data = {'cpu_cb': False}
    roottenant = Tenant.get_root_tenant()
    roottenant.set_quota(**cpu_data)
    yield
    roottenant.set_quota(**reset_cpu_data)
def set_tenant_memory():
    memory_data = {'memory_cb': True, 'memory': 2}
    reset_memory_data = {'memory_cb': False}
    roottenant = Tenant.get_root_tenant()
    roottenant.set_quota(**memory_data)
    yield
    roottenant.set_quota(**reset_memory_data)
예제 #5
0
def set_tenant_vm():
    vm_data = {'vm_cb': True, 'vm': 1}
    reset_vm_data = {'vm_cb': False}
    roottenant = Tenant.get_root_tenant()
    roottenant.set_quota(**vm_data)
    yield
    roottenant.set_quota(**reset_vm_data)
예제 #6
0
def set_tenant_storage():
    storage_data = {'storage_cb': True, 'storage': 1}
    reset_storage_data = {'storage_cb': False}
    roottenant = Tenant.get_root_tenant()
    roottenant.set_quota(**storage_data)
    yield
    roottenant.set_quota(**reset_storage_data)
예제 #7
0
def set_tenant_memory():
    memory_data = {'memory_cb': True, 'memory': 2}
    reset_memory_data = {'memory_cb': False}
    roottenant = Tenant.get_root_tenant()
    roottenant.set_quota(**memory_data)
    yield
    roottenant.set_quota(**reset_memory_data)
예제 #8
0
def set_tenant_cpu():
    cpu_data = {'cpu_cb': True, 'cpu': 2}
    reset_cpu_data = {'cpu_cb': False}
    roottenant = Tenant.get_root_tenant()
    roottenant.set_quota(**cpu_data)
    yield
    roottenant.set_quota(**reset_cpu_data)
예제 #9
0
def test_tenant_quota_max_cpu_check(
        provisioner, prov_data, template_name, provider, request, vm_name, bug):
    """ Test Tenant Quota-Max CPU by UI.

    Prerequisities:
        * A provider set up, supporting provisioning in CFME

    Steps:
        * Set the tenant quota for cpu by UI emforcement
        * Open the provisioning dialog.
        * Apart from the usual provisioning settings, set CPU greater then tenant quota cpu.
        * Submit the provisioning request and wait for it to finish.
        * Visit the requests page. The last message should state quota validation message.

    Metadata:
        test_flag: provision
    """
    cpu_data = {'cpu_cb': True, 'cpu': 2}
    roottenant = Tenant.get_root_tenant()
    roottenant.set_quota(**cpu_data)
    note = ('template {} to vm {} on provider {}'.format(template_name, vm_name, provider.key))
    prov_data["vm_name"] = vm_name
    prov_data["num_sockets"] = "8"
    prov_data["notes"] = note

    provisioner(template_name, prov_data)

    # nav to requests page to check quota validation
    row_description = 'Provision from [{}] to [{}]'.format(template_name, vm_name)
    cells = {'Description': row_description}
    row, __ = wait_for(requests.wait_for_request, [cells],
                    fail_func=sel.refresh, num_sec=500, delay=20)
    # BUG - https://bugzilla.redhat.com/show_bug.cgi?id=1364381
    # TODO: update assert message once the above bug is fixed.
    # assert row.last_message.text == 'Request exceeds maximum allowed for the following: \
    # (cpu - Used: 526 plus requested: 8 exceeds quota: 3))'
    assert row.reason.text == "Quota Exceeded"