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 + "/"
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)
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)
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()
def test_capacity_end_to_end(aggregator, session_mock): check = CiscoACICheck(common.CHECK_NAME, {}, {}) api = Api(common.ACI_URLS, common.USERNAME, password=common.PASSWORD, log=check.log, sessions=[session_mock]) api._refresh_sessions = False 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='')