Exemple #1
0
    def test01_monitor(self):
        client = MongoClient("mongodb://127.0.0.1/%s"%MONITOR_DB)
        mgmt_db = client.get_default_database()

        up_oper = mgmt_db[DBK_NOTIFICATIONS].find({DBK_NOTIFY_TOPIC: 'UpgradeNodeOperation call'})
        self.assertEqual(up_oper.count(), 0)

        events = mgmt_db[DBK_NOTIFICATIONS].find({DBK_NOTIFY_TOPIC: 'NodeUp'})
        self.assertEqual(events.count(), 3)

        #p = subprocess.Popen(['/usr/bin/python', './fabnet_core/bin/fri-caller', 'TopologyCognition', ADDRESSES[0], '{}', 'async'])
        key_storage = init_keystore(KS_PATH, KS_PASSWD)
        client = FriClient(key_storage)
        packet_obj = FabnetPacketRequest(method='TopologyCognition')
        ret_code, msg = client.call(ADDRESSES[0], packet_obj)
        self.assertEqual(ret_code, 0, msg)
        time.sleep(2)

        nodes_info = mgmt_db[DBK_NODES].find({})
        self.assertEqual(nodes_info.count(), 4)

        #for node in nodes_info:
        #    print node

        node_info = mgmt_db[DBK_NODES].find_one({DBK_NODEADDR: ADDRESSES[0]})
        self.assertEqual(node_info[DBK_NODEADDR], ADDRESSES[0])
        self.assertEqual(node_info[DBK_ID], 'NODE1900')
        self.assertTrue(node_info[DBK_STATUS]==1)
        self.assertTrue(len(node_info[DBK_UPPERS]) >= 2)
        self.assertTrue(node_info[DBK_SUPERIORS] >= 2)
        self.assertTrue(float(node_info[DBK_STATISTIC]['SystemInfo']['loadavg_10']) > 0)