Ejemplo n.º 1
0
def test_recover_from_expired_token(aggregator):
    # First api answers with 403 to force the check to re-authenticate
    unauthentified_response = MagicMock(status_code=403)
    # Api answer when a request is being made to the login endpoint
    login_response = MagicMock()
    # Third api answer, when the check retries the initial endpoint but is now authenticated
    valid_response = MagicMock()
    valid_response.json = MagicMock(return_value={"foo": "bar"})
    session = MagicMock()
    session.send = MagicMock(
        side_effect=[unauthentified_response, login_response, valid_response])

    session_wrapper = SessionWrapper(aci_url=common.ACI_URL,
                                     log=MagicMock(),
                                     session=session,
                                     apic_cookie="cookie")

    api = Api(common.ACI_URLS,
              common.USERNAME,
              password=common.PASSWORD,
              sessions=[session_wrapper])
    api._refresh_sessions = False

    data = api.make_request("")
    # Assert that we retrieved the value from `valid_response.json()`
    assert data == {"foo": "bar"}

    session_calls = session.send._mock_call_args_list
    # Assert that the first call was to the ACI_URL
    assert session_calls[0].args[0].url == common.ACI_URL + "/"
    # Assert that the second call was to the login endpoint
    assert 'aaaLogin.xml' in session_calls[1].args[0].url
    # Assert that the last call was to the ACI_URL again
    assert session_calls[2].args[0].url == common.ACI_URL + "/"
Ejemplo n.º 2
0
def test_cisco(aggregator, session_mock):
    cisco_aci_check = CiscoACICheck(CHECK_NAME, {}, {})
    api = Api(ACI_URLS, USERNAME, PASSWORD, log=cisco_aci_check.log)
    api.sessions = [session_mock]
    api._refresh_sessions = False
    cisco_aci_check._api_cache[hash_mutable(CONFIG)] = api

    cisco_aci_check.check(CONFIG)
Ejemplo n.º 3
0
def test_cisco(aggregator, session_mock):
    cisco_aci_check = CiscoACICheck(conftest.CHECK_NAME, {}, {})
    api = Api(conftest.ACI_URLS, conftest.USERNAME,
              password=conftest.PASSWORD, log=cisco_aci_check.log, sessions=[session_mock])
    api._refresh_sessions = False
    cisco_aci_check._api_cache[hash_mutable(conftest.CONFIG)] = api

    cisco_aci_check.check(conftest.CONFIG)
Ejemplo n.º 4
0
def test_cisco(aggregator):
    cisco_aci_check = CiscoACICheck(common.CHECK_NAME, {}, {})
    api = Api(common.ACI_URLS,
              cisco_aci_check.http,
              common.USERNAME,
              password=common.PASSWORD,
              log=cisco_aci_check.log)
    api.wrapper_factory = common.FakeSessionWrapper
    cisco_aci_check._api_cache[hash_mutable(common.CONFIG)] = api

    cisco_aci_check.check(common.CONFIG)
Ejemplo n.º 5
0
def test_recover_from_expired_token(aggregator, api_kwargs):
    # First api answers with 403 to force the check to re-authenticate
    unauthentified_response = MagicMock(status_code=403)
    # Api answer when a request is being made to the login endpoint
    login_response = MagicMock()
    # Third api answer, when the check retries the initial endpoint but is now authenticated
    valid_response = MagicMock()
    valid_response.json = MagicMock(return_value={"foo": "bar"})
    http = MagicMock()
    http.post = MagicMock(side_effect=[login_response])
    http.get = MagicMock(side_effect=[unauthentified_response, valid_response])

    session_wrapper = SessionWrapper(aci_url=common.ACI_URL,
                                     http=http,
                                     log=MagicMock())
    session_wrapper.apic_cookie = "cookie"

    api = Api(common.ACI_URLS, http, common.USERNAME, **api_kwargs)

    api.sessions = {common.ACI_URL: session_wrapper}

    data = api.make_request("")

    # Assert that we retrieved the value from `valid_response.json()`
    assert data == {"foo": "bar"}

    get_calls = http.get._mock_call_args_list
    post_calls = http.post._mock_call_args_list

    # Assert that the first call was to the ACI_URL
    assert get_calls[0].args[0] == common.ACI_URL
    if 'password' in api_kwargs:
        # Assert that the second call was to the login endpoint
        assert 'aaaLogin.xml' in post_calls[0].args[0]

    # Assert that the last call was to the ACI_URL again
    assert get_calls[1].args[0] == common.ACI_URL

    # Assert session correctly renewed
    assert len(api.sessions) == 1  # check the number of sessions doesn't grow
    assert api.sessions[
        common.ACI_URL] != session_wrapper  # check session renewed

    # Assert cookie to check the session changed
    assert get_calls[0].kwargs['headers']['Cookie'] == 'cookie'
    assert get_calls[1].kwargs['headers']['Cookie'] != 'cookie'
Ejemplo n.º 6
0
def test_tenant_end_to_end(aggregator, session_mock):
    check = CiscoACICheck(conftest.CHECK_NAME, {}, {})
    api = Api(conftest.ACI_URLS, conftest.USERNAME, conftest.PASSWORD, log=check.log, sessions=[session_mock])
    api._refresh_sessions = False
    check._api_cache[hash_mutable(conftest.CONFIG_WITH_TAGS)] = api

    check.check(conftest.CONFIG_WITH_TAGS)

    tags = ['project:cisco_aci', 'tenant:DataDog']
    # TODO pretty much everything is 0 and without hostname??
    metric_name = 'cisco_aci.tenant.ingress_bytes.multicast.rate'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.egress_bytes.multicast.rate'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.multicast.rate'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.health'
    aggregator.assert_metric(metric_name, value=99.0, tags=tags, hostname='')

    metric_name = 'cisco_aci.tenant.overall_health'
    aggregator.assert_metric(metric_name, value=99.0, tags=tags, hostname='')

    metric_name = 'cisco_aci.tenant.egress_pkts.unicast.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.egress_pkts.unicast.rate'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.application.fault_counter'
    aggregator.assert_metric(metric_name, value=0.0, tags=['application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.fault_counter'
    aggregator.assert_metric(metric_name, value=4.0, tags=tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_bytes.flood.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.unicast.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.egress_bytes.unicast.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.egress_pkts.multicast.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.flood.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.egress_bytes.unicast.rate'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.egress_bytes.multicast.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_bytes.unicast.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.drop.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.capacity.apic.fabric_node.utilized'
    aggregator.assert_metric(metric_name, value=0.0, tags=['project:cisco_aci', 'cisco'], hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.multicast.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.egress_pkts.multicast.rate'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_bytes.drop.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_bytes.unicast.rate'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_bytes.multicast.cum'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.unicast.rate'
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Pay',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-MiscAppVMs',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Inv',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ord',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Ecomm',
                                                           'application:DtDg-AP1-EcommerceApp'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti2',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jetty_Controller',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:DtDg-Jeti1',
                                                           'application:DtDg-AP2-Jeti'] + tags, hostname='')
    aggregator.assert_metric(metric_name, value=0.0, tags=['endpoint_group:Test-EPG',
                                                           'application:DtDg-test-AP'] + tags, hostname='')

    # Assert coverage for this check on this instance
    aggregator.assert_all_metrics_covered()
Ejemplo n.º 7
0
def test_capacity_mocked(aggregator):
    check = CiscoACICheck(common.CHECK_NAME, {}, {})
    api = Api(common.ACI_URLS,
              check.http,
              common.USERNAME,
              password=common.PASSWORD,
              log=check.log)
    api.wrapper_factory = common.FakeCapacitySessionWrapper
    check._api_cache[hash_mutable(common.CONFIG_WITH_TAGS)] = api

    check.check(common.CONFIG_WITH_TAGS)

    tags = ['cisco', 'project:cisco_aci']
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.bridge_domain.utilized',
        value=44.0,
        tags=['fabric_pod_id:1', 'node_id:101'] + tags,
        hostname='pod-1-node-101',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.bridge_domain.utilized',
        value=1.0,
        tags=['fabric_pod_id:1', 'node_id:201'] + tags,
        hostname='pod-1-node-201',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.bridge_domain.utilized',
        value=1.0,
        tags=['fabric_pod_id:1', 'node_id:202'] + tags,
        hostname='pod-1-node-202',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.bridge_domain.utilized',
        value=34.0,
        tags=['fabric_pod_id:1', 'node_id:102'] + tags,
        hostname='pod-1-node-102',
    )
    aggregator.assert_metric('cisco_aci.capacity.apic.endpoint_group.utilized',
                             value=205.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric(
        'cisco_aci.capacity.apic.private_network.utilized',
        value=85.0,
        tags=tags,
        hostname='')
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.bridge_domain.limit',
        value=3500.0,
        tags=['fabric_pod_id:1', 'node_id:101'] + tags,
        hostname='pod-1-node-101',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.bridge_domain.limit',
        value=3500.0,
        tags=['fabric_pod_id:1', 'node_id:201'] + tags,
        hostname='pod-1-node-201',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.bridge_domain.limit',
        value=3500.0,
        tags=['fabric_pod_id:1', 'node_id:202'] + tags,
        hostname='pod-1-node-202',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.bridge_domain.limit',
        value=3500.0,
        tags=['fabric_pod_id:1', 'node_id:102'] + tags,
        hostname='pod-1-node-102',
    )
    aggregator.assert_metric('cisco_aci.capacity.apic.tenant.utilized',
                             value=90.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.endpoint_group.utilized',
        value=94.0,
        tags=['fabric_pod_id:1', 'node_id:101'] + tags,
        hostname='pod-1-node-101',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.endpoint_group.utilized',
        value=0.0,
        tags=['fabric_pod_id:1', 'node_id:201'] + tags,
        hostname='pod-1-node-201',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.endpoint_group.utilized',
        value=0.0,
        tags=['fabric_pod_id:1', 'node_id:202'] + tags,
        hostname='pod-1-node-202',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.endpoint_group.utilized',
        value=78.0,
        tags=['fabric_pod_id:1', 'node_id:102'] + tags,
        hostname='pod-1-node-102',
    )
    aggregator.assert_metric('cisco_aci.capacity.apic.endpoint_group.limit',
                             value=15000.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.endpoint_group.limit',
        value=3500.0,
        tags=['fabric_pod_id:1', 'node_id:101'] + tags,
        hostname='pod-1-node-101',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.endpoint_group.limit',
        value=3500.0,
        tags=['fabric_pod_id:1', 'node_id:201'] + tags,
        hostname='pod-1-node-201',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.endpoint_group.limit',
        value=3500.0,
        tags=['fabric_pod_id:1', 'node_id:202'] + tags,
        hostname='pod-1-node-202',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.endpoint_group.limit',
        value=3500.0,
        tags=['fabric_pod_id:1', 'node_id:102'] + tags,
        hostname='pod-1-node-102',
    )
    aggregator.assert_metric('cisco_aci.capacity.apic.endpoint.limit',
                             value=180000.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric('cisco_aci.capacity.apic.endpoint.utilized',
                             value=76.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric('cisco_aci.capacity.apic.bridge_domain.utilized',
                             value=154.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric('cisco_aci.capacity.apic.vmware_domain.limit',
                             value=5.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric('cisco_aci.capacity.apic.private_network.limit',
                             value=3000.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.vrf.utilized',
        value=32.0,
        tags=['fabric_pod_id:1', 'node_id:101'] + tags,
        hostname='pod-1-node-101',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.vrf.utilized',
        value=4.0,
        tags=['fabric_pod_id:1', 'node_id:201'] + tags,
        hostname='pod-1-node-201',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.vrf.utilized',
        value=4.0,
        tags=['fabric_pod_id:1', 'node_id:202'] + tags,
        hostname='pod-1-node-202',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.vrf.utilized',
        value=27.0,
        tags=['fabric_pod_id:1', 'node_id:102'] + tags,
        hostname='pod-1-node-102',
    )
    aggregator.assert_metric('cisco_aci.capacity.apic.contract.limit',
                             value=1000.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric(
        'cisco_aci.capacity.apic.azure_domain.endpoint_group.limit',
        value=9000.0,
        tags=tags,
        hostname='')
    aggregator.assert_metric('cisco_aci.capacity.apic.fabric_node.limit',
                             value=200.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric('cisco_aci.capacity.apic.bridge_domain.limit',
                             value=15000.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric('cisco_aci.capacity.apic.fabric_node.utilized',
                             value=2.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric('cisco_aci.capacity.apic.tenant.limit',
                             value=3000.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.vrf.limit',
        value=800.0,
        tags=['fabric_pod_id:1', 'node_id:101'] + tags,
        hostname='pod-1-node-101',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.vrf.limit',
        value=800.0,
        tags=['fabric_pod_id:1', 'node_id:201'] + tags,
        hostname='pod-1-node-201',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.vrf.limit',
        value=800.0,
        tags=['fabric_pod_id:1', 'node_id:202'] + tags,
        hostname='pod-1-node-202',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.leaf.vrf.limit',
        value=800.0,
        tags=['fabric_pod_id:1', 'node_id:102'] + tags,
        hostname='pod-1-node-102',
    )
    aggregator.assert_metric(
        'cisco_aci.capacity.apic.vmware_domain.endpoint_group.limit',
        value=15000.0,
        tags=tags,
        hostname='')
    aggregator.assert_metric('cisco_aci.capacity.apic.azure_domain.limit',
                             value=5.0,
                             tags=tags,
                             hostname='')
    aggregator.assert_metric('cisco_aci.capacity.apic.service_graph.limit',
                             value=600.0,
                             tags=tags,
                             hostname='')
Ejemplo n.º 8
0
def test_tenant_mocked(aggregator):
    check = CiscoACICheck(common.CHECK_NAME, {}, {})
    api = Api(common.ACI_URLS,
              check.http,
              common.USERNAME,
              password=common.PASSWORD,
              log=check.log)
    api.wrapper_factory = common.FakeTenantSessionWrapper
    check._api_cache[hash_mutable(common.CONFIG_WITH_TAGS)] = api

    check.check(common.CONFIG_WITH_TAGS)

    tags = ['project:cisco_aci', 'tenant:DataDog']
    metric_name = 'cisco_aci.tenant.ingress_bytes.multicast.rate'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.egress_bytes.multicast.rate'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.multicast.rate'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.health'
    aggregator.assert_metric(metric_name, value=99.0, tags=tags, hostname='')

    metric_name = 'cisco_aci.tenant.overall_health'
    aggregator.assert_metric(metric_name, value=99.0, tags=tags, hostname='')

    metric_name = 'cisco_aci.tenant.egress_pkts.unicast.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.egress_pkts.unicast.rate'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.application.fault_counter'
    aggregator.assert_metric(metric_name,
                             value=0.0,
                             tags=['application:DtDg-AP1-EcommerceApp'] + tags,
                             hostname='')
    aggregator.assert_metric(metric_name,
                             value=0.0,
                             tags=['application:DtDg-AP2-Jeti'] + tags,
                             hostname='')
    aggregator.assert_metric(metric_name,
                             value=0.0,
                             tags=['application:DtDg-test-AP'] + tags,
                             hostname='')

    metric_name = 'cisco_aci.tenant.fault_counter'
    aggregator.assert_metric(metric_name, value=4.0, tags=tags, hostname='')

    metric_name = 'cisco_aci.tenant.ingress_bytes.flood.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.unicast.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.egress_bytes.unicast.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.egress_pkts.multicast.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.flood.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.egress_bytes.unicast.rate'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.egress_bytes.multicast.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.ingress_bytes.unicast.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.drop.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.capacity.apic.fabric_node.utilized'
    aggregator.assert_metric(metric_name,
                             value=0.0,
                             tags=['project:cisco_aci', 'cisco'],
                             hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.multicast.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.egress_pkts.multicast.rate'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.ingress_bytes.drop.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.ingress_bytes.unicast.rate'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.ingress_bytes.multicast.cum'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    metric_name = 'cisco_aci.tenant.ingress_pkts.unicast.rate'
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Pay', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-MiscAppVMs',
            'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Inv', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Ord', 'application:DtDg-AP1-EcommerceApp'] +
        tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Ecomm', 'application:DtDg-AP1-EcommerceApp'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti2', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=[
            'endpoint_group:DtDg-Jetty_Controller', 'application:DtDg-AP2-Jeti'
        ] + tags,
        hostname='',
    )
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:DtDg-Jeti1', 'application:DtDg-AP2-Jeti'] + tags,
        hostname='')
    aggregator.assert_metric(
        metric_name,
        value=0.0,
        tags=['endpoint_group:Test-EPG', 'application:DtDg-test-AP'] + tags,
        hostname='')

    # Assert coverage for this check on this instance
    aggregator.assert_all_metrics_covered()
Ejemplo n.º 9
0
    unauthentified_response = MagicMock(status_code=403)
    # Api answer when a request is being made to the login endpoint
    login_response = MagicMock()
    # Third api answer, when the check retries the initial endpoint but is now authenticated
    valid_response = MagicMock()
    valid_response.json = MagicMock(return_value={"foo": "bar"})
    http = MagicMock()
    http.post = MagicMock(side_effect=[login_response])
    http.get = MagicMock(side_effect=[unauthentified_response, valid_response])

    session_wrapper = SessionWrapper(aci_url=common.ACI_URL,
                                     http=http,
                                     log=MagicMock())
    session_wrapper.apic_cookie = "cookie"

    api = Api(common.ACI_URLS, http, common.USERNAME, **api_kwargs)

    api.sessions = {common.ACI_URL: session_wrapper}

    data = api.make_request("")

    # Assert that we retrieved the value from `valid_response.json()`
    assert data == {"foo": "bar"}

    get_calls = http.get._mock_call_args_list
    post_calls = http.post._mock_call_args_list

    # Assert that the first call was to the ACI_URL
    assert get_calls[0].args[0] == common.ACI_URL
    if 'password' in api_kwargs:
        # Assert that the second call was to the login endpoint