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'])
Beispiel #2
0
    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'])
Beispiel #5
0
    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'])
Beispiel #6
0
    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]
            ]))
Beispiel #9
0
    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'])
Beispiel #11
0
    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'])