2 Created on Mar 17, 2014 6 @link: http://hierarchical-cluster-engine.com/ 7 @copyright: Copyright © 2013-2014 IOIX Ukraine 8 @license: http://hierarchical-cluster-engine.com/license/ 26 logger = logging.getLogger(__name__)
27 testResources = [{
"id":1010,
"cpu":10,
"io":10,
"ramR":10,
"ramV":10,
"swap":10,
"disk":10,
"uDate":55,
28 "state":dtm.EventObjects.Resource.STATE_ACTIVE,
"cpuCores":4,
"threads":77,
"processes":88},
29 {
"id":1020,
"cpu":20,
"io":20,
"ramR":20,
"ramV":20,
"swap":20,
"disk":20,
"uDate":55,
30 "state":dtm.EventObjects.Resource.STATE_ACTIVE,
"cpuCores":16,
"threads":77,
"processes":88},
31 {
"id":1030,
"cpu":30,
"io":30,
"ramR":30,
"ramV":30,
"swap":30,
"disk":30,
"uDate":95,
32 "state":dtm.EventObjects.Resource.STATE_ACTIVE,
"cpuCores":12,
"threads":77,
"processes":88},
33 {
"id":1050,
"cpu":50,
"io":50,
"ramR":50,
"ramV":50,
"swap":50,
"disk":50,
"uDate":145,
34 "state":dtm.EventObjects.Resource.STATE_UNDEFINED,
"cpuCores":4,
"threads":77,
"processes":88},
35 {
"id":1010,
"cpu":40,
"io":40,
"ramR":40,
"ramV":40,
"swap":40,
"disk":40,
"uDate":15,
36 "state":dtm.EventObjects.Resource.STATE_ACTIVE,
"cpuCores":6,
"threads":77,
"processes":88}]
43 self.
config = ConfigParser.ConfigParser()
45 self.
config.read(
"./dtmd.ini")
48 BaseServerManager.ADMIN_CONNECT_ENDPOINT)
61 ret.cpu = localTestResources[idx][
"cpu"]
62 ret.io = localTestResources[idx][
"io"]
63 ret.ramR = localTestResources[idx][
"ramR"]
64 ret.ramV = localTestResources[idx][
"ramV"]
65 ret.swap = localTestResources[idx][
"swap"]
66 ret.disk = localTestResources[idx][
"disk"]
67 ret.uDate = localTestResources[idx][
"uDate"]
68 ret.state = localTestResources[idx][
"state"]
69 ret.cpuCores = localTestResources[idx][
"cpuCores"]
70 ret.threads = localTestResources[idx][
"threads"]
71 ret.processes = localTestResources[idx][
"processes"]
78 self.
config.get(self.
moduleName, ResourcesManager.RESOURCE_MANAGER_SERV_CONFIG_NAME))
80 except ConfigParser.NoSectionError:
81 logger.error(
">>> TasksDataManager can't read config - Section Error")
82 except ConfigParser.NoOptionError:
83 logger.error(
">>> TasksDataManager can't read config - Option Error")
96 localResourcesList = []
98 localResourcesList.append(localResources)
99 event = self.
eventBuilder.build(EVENT.UPDATE_RESOURCES_DATA, localResourcesList)
102 self.assertTrue(self.
recvEvent !=
None,
">>> ret reply_event is None")
103 self.assertTrue(self.
recvEvent.eventObj !=
None,
">>> ret reply_event_obj is None")
104 self.assertTrue(len(self.
recvEvent.eventObj.statuses) == 1,
">>> ret reply_event_obj size is wrong")
105 self.assertTrue(self.
recvEvent.eventType == EVENT.UPDATE_RESOURCES_DATA_RESPONSE,
106 ">>> reply_event event.eventType is wrong")
108 localResourcesList = []
110 localResourcesList.append(localResources)
112 localResourcesList.append(localResources)
114 localResourcesList.append(localResources)
115 event = self.
eventBuilder.build(EVENT.UPDATE_RESOURCES_DATA, localResourcesList)
118 self.assertTrue(self.
recvEvent !=
None,
">>> ret reply_event is None")
119 self.assertTrue(self.
recvEvent.eventObj !=
None,
">>> ret reply_event_obj is None")
120 self.assertTrue(len(self.
recvEvent.eventObj.statuses) == 3,
">>> ret reply_event_obj size is wrong")
121 self.assertTrue(self.
recvEvent.eventType == EVENT.UPDATE_RESOURCES_DATA_RESPONSE,
122 ">>> reply_event event.eventType is wrong")
124 localResourcesList = []
126 localResourcesList.append(localResources)
127 event = self.
eventBuilder.build(EVENT.UPDATE_RESOURCES_DATA, localResourcesList)
130 self.assertTrue(self.
recvEvent !=
None,
">>> ret reply_event is None")
131 self.assertTrue(self.
recvEvent.eventObj !=
None,
">>> ret reply_event_obj is None")
132 self.assertTrue(len(self.
recvEvent.eventObj.statuses) == 1,
">>> ret reply_event_obj size is wrong")
133 self.assertTrue(self.
recvEvent.eventType == EVENT.UPDATE_RESOURCES_DATA_RESPONSE,
134 ">>> reply_event event.eventType is wrong")
136 event = self.
eventBuilder.build(EVENT.GET_AVG_RESOURCES,
None)
139 self.assertTrue(self.
recvEvent !=
None,
">>> ret reply_event is None")
140 self.assertTrue(self.
recvEvent.eventObj !=
None,
">>> ret reply_event_obj is None")
141 self.assertTrue(self.
recvEvent.eventType == EVENT.GET_AVG_RESOURCES_RESPONSE,
142 ">>> reply_event event.eventType is wrong")
144 compareVal = (testResources[1][
"cpu"] + testResources[2][
"cpu"] + testResources[4][
"cpu"]) / 3
145 self.assertTrue(self.
recvEvent.eventObj.cpu == compareVal,
">>> cpuAVG wrong")
146 compareVal = (testResources[1][
"io"] + testResources[2][
"io"] + testResources[4][
"io"]) / 3
147 self.assertTrue(self.
recvEvent.eventObj.io == compareVal,
">>> ioAVG wrong")
148 compareVal = (testResources[1][
"ramR"] + testResources[2][
"ramR"] + testResources[4][
"ramR"]) / 3
149 self.assertTrue(self.
recvEvent.eventObj.ramR == compareVal,
">>> ramRAVG wrong")
150 compareVal = (testResources[1][
"ramV"] + testResources[2][
"ramV"] + testResources[4][
"ramV"]) / 3
151 self.assertTrue(self.
recvEvent.eventObj.ramV == compareVal,
">>> ramVAVG wrong")
152 compareVal = (testResources[1][
"swap"] + testResources[2][
"swap"] + testResources[4][
"swap"]) / 3
153 self.assertTrue(self.
recvEvent.eventObj.swap == compareVal,
">>> swapAVG wrong")
154 compareVal = (testResources[1][
"disk"] + testResources[2][
"disk"] + testResources[4][
"disk"]) / 3
155 self.assertTrue(self.
recvEvent.eventObj.disk == compareVal,
">>> diskAVG wrong")
156 compareVal = (testResources[1][
"cpuCores"] + testResources[2][
"cpuCores"] + testResources[4][
"cpuCores"]) / 3
157 self.assertTrue(self.
recvEvent.eventObj.cpuCores == compareVal,
">>> cpuCores wrong")
158 compareVal = (testResources[1][
"threads"] + testResources[2][
"threads"] + testResources[4][
"threads"]) / 3
159 self.assertTrue(self.
recvEvent.eventObj.threads == compareVal,
">>> threads wrong")
160 compareVal = (testResources[1][
"processes"] + testResources[2][
"processes"] + testResources[4][
"processes"]) / 3
161 self.assertTrue(self.
recvEvent.eventObj.processes == compareVal,
">>> processes wrong")
162 self.assertTrue(self.
recvEvent.eventObj.uDate == testResources[4][
"uDate"] ,
">>> diskAVG wrong")
165 if __name__ ==
"__main__":
Class contents ResourcesManager module implementation.
def fillLocalResources(self, localTestResources, idx)
Resource event object, represents resource's data fields .
Class hides routines of bulding connection objects.
def testFunctional1(self)