コード例 #1
0
    def run(self):
        logging.info("thread threadGetSkydiveFlows starttime %d",
                     int(time.time() * 1000.0))
        err = ""
        restclient = RESTClient(SKYDIVE_IP + ":" + SKYDIVE_PORT)
        gremlinFlow = "G.Flows().Has('Application', 'TCP')"
        flows = restclient.lookup(gremlinFlow)
        dfOldFlows = json_normalize(flows)
        frames = []
        time_out = time.time() + TIME_OUT
        while (self.collectFlows) & (time.time() < time_out):
            flows = restclient.lookup(gremlinFlow)
            df = json_normalize(flows)
            if (not df.empty) & (not dfOldFlows.empty):
                cond = df['UUID'].isin(dfOldFlows['UUID']) == True
                df.drop(df[cond].index, inplace=True)
            if not df.empty:
                frames.append(df)
            sleep(1)
        if time.time() >= time_out:
            err = "Error: skydive time out"
            logging.info(err)

        df = pd.DataFrame()
        if len(frames) > 0:
            df = pd.concat(frames, sort=False)
            df = df.drop_duplicates()
            df = df.sort_values("Metric.Last", ascending=True)
            df = df.drop_duplicates(subset="UUID", keep='last')
        self._return = (df, err)
コード例 #2
0
ファイル: tests.py プロジェクト: quangtamle/NSM_lab
    def test_injections(self):
        restclient = RESTClient("localhost:8082",
                                scheme=self.schemeHTTP,
                                username=self.username,
                                password=self.password,
                                insecure=True)

        nodes = restclient.lookup("G.V().Has('Name', 'eth0')")

        testnode = nodes[0]["Metadata"]["TID"]

        query = "G.V().Has('TID', '" + testnode + "')"
        num_injections_before = len(restclient.injection_list())

        injection_response = restclient.injection_create(query,
                                                         query,
                                                         count=1000)

        num_injections_after = len(restclient.injection_list())

        self.assertEqual(num_injections_after, num_injections_before + 1,
                         "injection creation didn't succeed")

        restclient.injection_delete(injection_response.uuid)

        num_injections_after_deletion = len(restclient.injection_list())

        self.assertEqual(num_injections_after_deletion, num_injections_before,
                         "injection deletion didn't succeed")