@@ -44,15 +44,31 @@ def get_response(self):
4444 获取返回值
4545 :return:
4646 """
47+
48+ response_data = {}
49+ err = None
4750 request = self .set_request ()
4851 try :
49-
5052 response = self .client .do_action_with_exception (request )
5153 response_data = json .loads (str (response , encoding = "utf8" ))
52- return response_data
5354 except Exception as e :
54- # print(e)
55- return e
55+ err = e
56+ return response_data , err
57+
58+ # def get_response(self):
59+ # """
60+ # 获取返回值
61+ # :return:
62+ # """
63+ # request = self.set_request()
64+ # try:
65+ #
66+ # response = self.client.do_action_with_exception(request)
67+ # response_data = json.loads(str(response, encoding="utf8"))
68+ # return response_data
69+ # except Exception as e:
70+ # # print(e)
71+ # return e
5672
5773 # print(response_data)
5874
@@ -61,25 +77,24 @@ def get_server_count(self):
6177 获取机器总数
6278 :return:
6379 """
64-
65- try :
66- response = self .get_response ()
67- count = response ['TotalCount' ]
68- return count
69- except TypeError as e :
70- print (e )
80+ response_data , err = self .get_response ()
81+ if err != None :
82+ ins_log .read_log ('error' , err )
7183 return False
84+ count = response_data ['TotalCount' ]
85+ return count
7286
7387 def get_server_info (self ):
7488 """
7589 获取服务器信息
7690 :return:
7791 """
78- response = self .get_response ()
79- if not response :
92+ response_data , err = self .get_response ()
93+ if err != None :
94+ ins_log .read_log ('error' , err )
8095 return False
8196 try :
82- ret = response ['Instances' ]['Instance' ]
97+ ret = response_data ['Instances' ]['Instance' ]
8398 except (KeyError , TypeError ):
8499 ins_log .read_log ('error' , '可能是因为SecretID/SecretKey配置错误,没法拿到配置,请检查下配置' )
85100 # print('[Error]: 可能是因为SecretID/SecretKey配置错误,没法拿到配置,请检查下配置')
@@ -90,7 +105,7 @@ def get_server_info(self):
90105 try :
91106 asset_data ['hostname' ] = i .get ('InstanceName' )
92107 except (KeyError , TypeError ):
93- asset_data ['hostname' ] = i .get ('InstanceId' ) #取不到给instance_id
108+ asset_data ['hostname' ] = i .get ('InstanceId' ) # 取不到给instance_id
94109 asset_data ['region' ] = i .get ('ZoneId' )
95110 asset_data ['instance_id' ] = i .get ('InstanceId' )
96111 asset_data ['instance_type' ] = i .get ('InstanceType' )
@@ -110,7 +125,7 @@ def get_server_info(self):
110125 except (KeyError , IndexError ):
111126 asset_data ['public_ip' ] = i ['EipAddress' ]['IpAddress' ]
112127 except Exception :
113- asset_data ['public_ip' ] = 'Null'
128+ asset_data ['public_ip' ] = asset_data [ 'private_ip' ]
114129
115130 asset_data ['os_type' ] = i .get ('OSType' )
116131 asset_data ['os_name' ] = i .get ('OSName' )
@@ -128,11 +143,9 @@ def sync_cmdb(self):
128143 if not server_list :
129144 ins_log .read_log ('info' , 'Not fount server info' )
130145 return False
131- with DBContext ('r ' ) as session :
146+ with DBContext ('w ' ) as session :
132147 for server in server_list :
133- private_ip = server .get ('private_ip' )
134- if server .get ('public_ip' ) == 'Null' :
135- ip = private_ip
148+ ip = server .get ('public_ip' )
136149 instance_id = server .get ('instance_id' , 'Null' )
137150 hostname = server .get ('hostname' , instance_id )
138151 if hostname == '' or not hostname :
0 commit comments