예제 #1
0
def setup_for_alerts(request, alerts, event=None, vm_name=None, provider=None):
    """This function takes alerts and sets up CFME for testing it. If event and further args are
    not specified, it won't create the actions and policy profiles.

    Args:
        request: py.test funcarg request
        alerts: Alert objects
        event: Event to hook on (VM Power On, ...)
        vm_name: VM name to use for policy filtering
        provider: funcarg provider
    """
    alert_profile = explorer.VMInstanceAlertProfile(
        "Alert profile for {}".format(vm_name), alerts)
    alert_profile.create()
    request.addfinalizer(alert_profile.delete)
    alert_profile.assign_to("The Enterprise")
    if event is not None:
        action = explorer.Action("Evaluate Alerts for {}".format(vm_name),
                                 "Evaluate Alerts", alerts)
        action.create()
        request.addfinalizer(action.delete)
        policy = explorer.VMControlPolicy(
            "Evaluate Alerts policy for {}".format(vm_name),
            scope="fill_field(VM and Instance : Name, INCLUDES, {})".format(
                vm_name))
        policy.create()
        request.addfinalizer(policy.delete)
        policy_profile = explorer.PolicyProfile(
            "Policy profile for {}".format(vm_name), [policy])
        policy_profile.create()
        request.addfinalizer(policy_profile.delete)
        policy.assign_actions_to_event(event, [action])
        provider.assign_policy_profiles(policy_profile.description)
        request.addfinalizer(lambda: provider.unassign_policy_profiles(
            policy_profile.description))
예제 #2
0
def setup_for_alerts(request, alerts, event, vm_name, provider):
    """This function takes alerts and sets up CFME for testing it

    Args:
        request: py.test funcarg request
        alerts: Alert objects
        event: Event to hook on (VM Power On, ...)
        vm_name: VM name to use for policy filtering
        provider: funcarg provider_data
    """
    setup_provider(provider.key)
    alert_profile = explorer.VMInstanceAlertProfile(
        "Alert profile for %s" % vm_name, alerts)
    alert_profile.create()
    request.addfinalizer(alert_profile.delete)
    alert_profile.assign_to("The Enterprise")
    action = explorer.Action("Evaluate Alerts for %s" % vm_name,
                             "Evaluate Alerts", alerts)
    action.create()
    request.addfinalizer(action.delete)
    policy = explorer.VMControlPolicy(
        "Evaluate Alerts policy for %s" % vm_name,
        scope="fill_field(VM and Instance : Name, INCLUDES, %s)" % vm_name)
    policy.create()
    request.addfinalizer(policy.delete)
    policy_profile = explorer.PolicyProfile("Policy profile for %s" % vm_name,
                                            [policy])
    policy_profile.create()
    request.addfinalizer(policy_profile.delete)
    policy.assign_actions_to_event(event, [action])
    prov = Provider(provider.data["name"])
    prov.assign_policy_profiles(policy_profile.description)