def test_counter_agg(self): logging.info("%%% Running test_counter_agg %%%") uvevn = MakeUVEVirtualNetwork(None, "abc-corp:vn-00", "previous", in_tpkts=4) uvevn2 = MakeUVEVirtualNetwork(uvevn, "abc-corp:vn-00", "10.10.10.11", in_tpkts=7) uvevn3 = UVEServer.merge_previous( uvevn2, "abc-corp:vn-00", "UVEVirtualNetwork", "in_tpkts", uvevn["abc-corp:vn-00"]['UVEVirtualNetwork']['in_tpkts'] ["previous"]) pa = ParallelAggregator(uvevn3) res = pa.aggregate("abc-corp:vn-00", False) logging.info(json.dumps(res, indent=4, sort_keys=True)) uvetest = MakeUVEVirtualNetwork(None, "abc-corp:vn-00", "sample", in_tpkts=15) in_tpkts = uvetest["abc-corp:vn-00"]['UVEVirtualNetwork']['in_tpkts'][ "sample"] self.assertEqual(in_tpkts, res['UVEVirtualNetwork']['in_tpkts'])
def test_map_union_agg(self): logging.info("*** Running test_map_union_agg ***") uvevn = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "10.10.10.10", mstr={2:"xxx", 3:"yyy"}, ) uvevn2 = MakeUVEVirtualNetwork( uvevn, "abc-corp:vn-00", "10.10.10.11", mstr={3:"xxx", 4:"yyy"}, ) pa = ParallelAggregator(uvevn2) res = pa.aggregate("abc-corp:vn-00", False) logging.info(json.dumps(res, indent=4, sort_keys=True)) uvetest = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "10.10.10.11", mstr={"10.10.10.10:2":"xxx", "10.10.10.10:3":"yyy",\ "10.10.10.11:3":"xxx", "10.10.10.11:4":"yyy"} ) cn = uvetest["abc-corp:vn-00"]['UVEVirtualNetwork'][ 'mstr']["10.10.10.11"] self.assertEqual(sorted(cn['map']['element']), sorted(res['UVEVirtualNetwork']['mstr']['map']['element']))
def test_sum_agg(self): logging.info("%%% Running test_sum_agg %%%") uvevn = MakeUVEVirtualNetwork(None, "abc-corp:vn-00", "10.10.10.10", total_virtual_machines=4) uvevn2 = MakeUVEVirtualNetwork(uvevn, "abc-corp:vn-00", "10.10.10.11", total_virtual_machines=7) uvetest = MakeUVEVirtualNetwork(None, "abc-corp:vn-00", "10.10.10.10", total_virtual_machines=11) pa = ParallelAggregator(uvevn2) res = pa.aggregate("abc-corp:vn-00", False) logging.info(json.dumps(res, indent=4, sort_keys=True)) cnt1 = uvetest["abc-corp:vn-00"]['UVEVirtualNetwork'][ 'total_virtual_machines']["10.10.10.10"] self.assertEqual(cnt1, res['UVEVirtualNetwork']['total_virtual_machines'])
def test_struct_sum_agg(self): logging.info("%%% Running test_struct_sum_agg %%%") uvevn = MakeUVEVirtualNetwork(None, "abc-corp:vn-00", "10.10.10.10", ifstats={ "name": "foo", "inbytes": 4 }) uvevn2 = MakeUVEVirtualNetwork(uvevn, "abc-corp:vn-00", "10.10.10.11", ifstats={"inbytes": 7}) uvetest = MakeUVEVirtualNetwork(None, "abc-corp:vn-00", "10.10.10.10", ifstats={"inbytes": 11}) pa = ParallelAggregator(uvevn2) res = pa.aggregate("abc-corp:vn-00", False) logging.info(json.dumps(res, indent=4, sort_keys=True)) cnt1 = uvetest["abc-corp:vn-00"]['UVEVirtualNetwork']['ifstats'][ "10.10.10.10"] self.assertEqual(cnt1, res['UVEVirtualNetwork']['ifstats'])
def test_list_union_agg(self): logging.info("*** Running test_list_union_agg ***") uvevn = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "10.10.10.10", connected_networks=["vn-00"], ) uvevn2 = MakeUVEVirtualNetwork( uvevn, "abc-corp:vn-00", "10.10.10.11", connected_networks=["vn-01", "vn-02", "vn-03"], ) pa = ParallelAggregator(uvevn2) res = pa.aggregate("abc-corp:vn-00", False) logging.info(json.dumps(res, indent=4, sort_keys=True)) for elem in res['UVEVirtualNetwork']['connected_networks']['list']: if elem[0] != '@': res['UVEVirtualNetwork']['connected_networks'][ 'list'][elem] = \ sorted(res['UVEVirtualNetwork'][ 'connected_networks']['list'][elem]) uvetest = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "10.10.10.11", connected_networks=["vn-00", "vn-01", "vn-02", "vn-03"], ) cn = uvetest["abc-corp:vn-00"]['UVEVirtualNetwork'][ 'connected_networks']["10.10.10.11"] self.assertEqual(cn, res['UVEVirtualNetwork']['connected_networks'])
def test_simple(self): logging.info("*** Running test_simple ***") uvevn = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "10.10.10.10", attached_policies=[ ("100", "allow-some"), ("200", "deny-others")], connected_networks=["vn-01", "vn-02", "vn-03"], in_stats=[("vn-01", "1000"), ("vn-02", "1800")], ) pa = ParallelAggregator(uvevn) res = pa.aggregate("abc-corp:vn-00", False) logging.info(json.dumps(res, indent=4, sort_keys=True))
def test_append_agg(self): logging.info("%%% Running test_append_agg %%%") uvevn = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "previous", in_stats=[("vn-01", "1000"), ("vn-02", "1800")], ) uvevn2 = MakeUVEVirtualNetwork( uvevn, "abc-corp:vn-00", "10.10.10.11", in_stats=[("vn-02", "1200"), ("vn-03", "1500")], ) uveprev = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "10.10.10.10", in_stats=[("vn-01", "1000"), ("vn-03", "1700")], ) uvevn3 = UVEServer.merge_previous( uvevn2, "abc-corp:vn-00", "UVEVirtualNetwork", "in_stats", uveprev["abc-corp:vn-00"]['UVEVirtualNetwork']['in_stats'] ["10.10.10.10"]) pa = ParallelAggregator(uvevn3) res = pa.aggregate("abc-corp:vn-00", False) logging.info(json.dumps(res, indent=4, sort_keys=True)) res['UVEVirtualNetwork']['in_stats']["list"]["VnStats"] = \ sorted(res['UVEVirtualNetwork']['in_stats']["list"]["VnStats"]) uvetest = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "sample", in_stats=[("vn-01", "2000"), ("vn-02", "3000"), ("vn-03", "3200")], ) uvetest["abc-corp:vn-00"]["UVEVirtualNetwork"]["in_stats"][ "sample"]["list"]["VnStats"] = \ sorted(uvetest["abc-corp:vn-00"]["UVEVirtualNetwork"][ "in_stats"]["sample"]["list"]["VnStats"]) in_stats = uvetest["abc-corp:vn-00"]["UVEVirtualNetwork"]["in_stats"][ "sample"] self.assertEqual(in_stats, res['UVEVirtualNetwork']['in_stats'])
def test_default_agg(self): logging.info("%%% Running test_default_agg %%%") uvevn = MakeUVEVirtualNetwork(None, "abc-corp:vn-00", "10.10.10.10", attached_policies=[("100", "allow-some"), ("200", "deny-others") ], total_acl_rules=4) uvevn2 = MakeUVEVirtualNetwork(uvevn, "abc-corp:vn-00", "10.10.10.11", attached_policies=[ ("100", "allow-some"), ("200", "deny-others") ], total_acl_rules=5) pa = ParallelAggregator(uvevn2) res = pa.aggregate("abc-corp:vn-00", False) logging.info(json.dumps(res, indent=4)) attached_policies = \ uvevn["abc-corp:vn-00"]['UVEVirtualNetwork'][ 'attached_policies']["10.10.10.10"] self.assertEqual(attached_policies, res['UVEVirtualNetwork']['attached_policies'][0][0]) self.assertEqual( sorted(["10.10.10.10", "10.10.10.11"]), sorted(res['UVEVirtualNetwork']['attached_policies'][0][1:])) acl1 = uvevn["abc-corp:vn-00"]['UVEVirtualNetwork']['total_acl_rules'][ "10.10.10.10"] acl2 = uvevn2["abc-corp:vn-00"]['UVEVirtualNetwork'][ 'total_acl_rules']["10.10.10.11"] self.assertEqual( sorted([acl1, acl2], key=lambda k: k['#text']), sorted([ res['UVEVirtualNetwork']['total_acl_rules'][0][0], res['UVEVirtualNetwork']['total_acl_rules'][1][0] ], key=lambda k: k['#text'])) self.assertEqual( sorted(["10.10.10.10", "10.10.10.11"]), sorted([ res['UVEVirtualNetwork']['total_acl_rules'][0][1], res['UVEVirtualNetwork']['total_acl_rules'][1][1] ]))
def test_default_agg(self): print "*** Running test_default_agg ***" uvevn = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "10.10.10.10", attached_policies=[ ("100", "allow-some"), ("200", "deny-others")], total_acl_rules=4 ) uvevn2 = MakeUVEVirtualNetwork( uvevn, "abc-corp:vn-00", "10.10.10.11", attached_policies=[ ("100", "allow-some"), ("200", "deny-others")], total_acl_rules=5 ) pa = ParallelAggregator(uvevn2) res = pa.aggregate("abc-corp:vn-00", False) attached_policies = \ uvevn["abc-corp:vn-00"]['UVEVirtualNetwork'][ 'attached_policies']["10.10.10.10"] self.assertEqual(attached_policies, res['UVEVirtualNetwork']['attached_policies'][0][0]) self.assertEqual( sorted(["10.10.10.10", "10.10.10.11"]), sorted(res['UVEVirtualNetwork']['attached_policies'][0][1:])) acl1 = uvevn["abc-corp:vn-00"]['UVEVirtualNetwork'][ 'total_acl_rules']["10.10.10.10"] acl2 = uvevn2["abc-corp:vn-00"]['UVEVirtualNetwork'][ 'total_acl_rules']["10.10.10.11"] self.assertEqual( sorted([acl1, acl2]), sorted([res['UVEVirtualNetwork']['total_acl_rules'][0][0], res['UVEVirtualNetwork']['total_acl_rules'][1][0]])) self.assertEqual( sorted(["10.10.10.10", "10.10.10.11"]), sorted([res['UVEVirtualNetwork']['total_acl_rules'][0][1], res['UVEVirtualNetwork']['total_acl_rules'][1][1]])) print json.dumps(res, indent=4, sort_keys=True)
def test_append_agg(self): logging.info("%%% Running test_append_agg %%%") uvevn = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "10.10.10.10", in_stats=[("vn-01", "1000"), ("vn-02", "1800")], ) uvevn2 = MakeUVEVirtualNetwork( uvevn, "abc-corp:vn-00", "10.10.10.11", in_stats=[("vn-02", "1200"), ("vn-03", "1500")], ) pa = ParallelAggregator(uvevn2) res = pa.aggregate("abc-corp:vn-00", False) logging.info(json.dumps(res, indent=4, sort_keys=True)) res['UVEVirtualNetwork']['in_stats']["list"]["VnStats"] = \ sorted(res['UVEVirtualNetwork']['in_stats']["list"]["VnStats"], key = lambda k:k['bytes']['#text']) uvetest = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "sample", in_stats=[("vn-01", "1000"), ("vn-02", "3000"), ("vn-03", "1500")], ) uvetest["abc-corp:vn-00"]["UVEVirtualNetwork"]["in_stats"][ "sample"]["list"]["VnStats"] = \ sorted(uvetest["abc-corp:vn-00"]["UVEVirtualNetwork"][ "in_stats"]["sample"]["list"]["VnStats"], key = lambda k:k['bytes']['#text']) in_stats = uvetest["abc-corp:vn-00"]["UVEVirtualNetwork"]["in_stats"][ "sample"] self.assertEqual(in_stats, res['UVEVirtualNetwork']['in_stats'])
def test_href_agg(self): logging.info("*** Running test_href_agg ***") uvevn = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "10.10.10.10", ifs=["host1:eth0"], ) pa = ParallelAggregator(uvevn, {"ObjectIf":"if"}) res = pa.aggregate("abc-corp:vn-00", True, "127.0.0.1:8081") logging.info(json.dumps(res, indent=4, sort_keys=True)) uvetest = MakeUVEVirtualNetwork( None, "abc-corp:vn-00", "10.10.10.10", ifs=[{"name":"host1:eth0", "href":"127.0.0.1:8081/analytics/uves/if/host1:eth0?cfilt=mystruct"}], ) cn = OpServerUtils.uve_attr_flatten( uvetest["abc-corp:vn-00"]['UVEVirtualNetwork'][ "ifs"]["10.10.10.10"]) self.assertEqual(cn, res['UVEVirtualNetwork']['ifs'])