def get_id(self, name, username): try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" tmp_ret = self.list() id = filter(lambda i: i["name"] == name, tmp_ret["flavors"]) except Exception, err: id = 1 dlog("Flavor.get_id err:%s" % err, lever="ERROR")
def get_id(self, name,username): try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" tmp_ret = self.list() id = filter(lambda i: i["name"] == name, tmp_ret["flavors"]) except Exception,err: id = 1 dlog("Flavor.get_id err:%s"%err,lever="ERROR")
def find_parent(self): ''' 找到当前主机所在的快照节点 :return: ''' try: tmp_ret = DbVmSnap.objects.get(vm_id=self.vm_id, status=1) ret = tmp_ret.image_name except ObjectDoesNotExist, err: ret = 2 dlog("Vm_snap.find_parent warning:%s" % err, lever="WARNING")
def find_parent(self): ''' 找到当前主机所在的快照节点 :return: ''' try: tmp_ret = DbVmSnap.objects.get(vm_id=self.vm_id, status=1) ret = tmp_ret.image_name except ObjectDoesNotExist,err: ret = 2 dlog("Vm_snap.find_parent warning:%s"%err,lever="WARNING")
def list(self, vm_id,username): ret = 0 try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" path = url_volume_attach_list.format(project_id=project_id,vm_id=vm_id) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = "" ret = send_request(method, IP_nova, PORT_nova, path, params, head) except Exception,err: ret = 1 dlog("Volume_attach.list err:%s"%err,lever="ERROR")
def show_detail(self, image_id,username): ret = 0 try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" path = url_image_action.format(project_id=project_id,image_id=image_id) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = '' ret = send_request(method, IP_nova, PORT_nova, path, params, head) assert ret != 1, "send_request error" except Exception,err: ret = 1 dlog("Image.show_detail err:%s"%err,lever="ERROR")
def list_detail(self, username): ret = 0 try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" path = url_image_list_detail.format(project_id=project_id) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = '' ret = send_request(method, IP_nova, PORT_nova, path, params, head) assert ret != 1, "send_request error" except Exception, err: ret = 1 dlog("Image.list_detail err:%s" % err, lever="ERROR")
def list(self, vm_id, username): ret = 0 try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" path = url_volume_attach_list.format(project_id=project_id, vm_id=vm_id) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = "" ret = send_request(method, IP_nova, PORT_nova, path, params, head) except Exception, err: ret = 1 dlog("Volume_attach.list err:%s" % err, lever="ERROR")
def list_detail(self,username): ret = 0 try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" # path = "/v2.1/%s/flavors/detail" % self.project_id path = url_flavor_list_detail.format(project_id=project_id) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = "" ret = send_request(method, IP_nova, PORT_nova, path, params, head) assert ret != 1, "send_request error" except Exception,err: ret = 1 dlog("Flavor.list_detail err:%s"%err,lever="ERROR")
def show_detail(self, flavor_id, username): ret = 0 try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" # path = "/v2.1/%s/flavors/%s" % (self.project_id, flavor_id) path = url_flavor_action.format(project_id=project_id, flavor_id=flavor_id) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = "" ret = send_request(method, IP_nova, PORT_nova, path, params, head) assert ret != 1, "send_request error" except Exception, err: ret = 1 dlog("Flavor")
def list(self, query_dict={},username=""): ret = 0 try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" path = url_image_list.format(project_id=project_id) if query_dict: query_str = urllib.urlencode(query_dict) path = "%s?%s" % (path, query_str) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = '' ret = send_request(method, IP_nova, PORT_nova, path, params, head) assert ret != 1, "send_request error" except Exception,err: ret = 1 dlog("Image.list err:%s"%err,lever="ERROR")
def exec_cmd(self, cmd): ''' :param cmd: :return:2 表示操作的表不存在 ''' ret = 0 self.conn_mysql() cmd = cmd.encode("utf8") try: self.command.execute(cmd) self.conn.commit() ret = self.command.fetchall() self.command.close() self.conn.close() except MySQLdb.ProgrammingError,err: dlog("Db.exec_cmd faild err:%s"%err,lever="ERROR") if err.args[0] == 1146: ret = 2
def list_detail(self,username): ''' 虚拟卷详细信息 :return: ''' try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" path = url_volume_list_detail.format(project_id=project_id) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = '' ret = send_request(method, IP_nova, PORT_nova, path, params, head) assert ret != 1, "send_request error" except Exception,err: ret = 1 dlog("Volume.list_detail err:%s"%err,lever="ERROR")
def list(self, query_dict={}, username=""): ret = 0 try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" path = url_image_list.format(project_id=project_id) if query_dict: query_str = urllib.urlencode(query_dict) path = "%s?%s" % (path, query_str) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = '' ret = send_request(method, IP_nova, PORT_nova, path, params, head) assert ret != 1, "send_request error" except Exception, err: ret = 1 dlog("Image.list err:%s" % err, lever="ERROR")
def exec_cmd(self, cmd): ''' :param cmd: :return:2 表示操作的表不存在 ''' ret = 0 self.conn_mysql() cmd = cmd.encode("utf8") try: self.command.execute(cmd) self.conn.commit() ret = self.command.fetchall() self.command.close() self.conn.close() except MySQLdb.ProgrammingError, err: dlog("Db.exec_cmd faild err:%s" % err, lever="ERROR") if err.args[0] == 1146: ret = 2
def list_detail(self, query_dict=None, username=""): ''' 列出虚拟机详细信息 :param query_list:查询的条件{"name":"","ip":"","status":"",........} :return: ''' ret = 0 try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" path = url_vm_list_detail.format(project_id=project_id) if query_dict: query_str = urllib.urlencode(query_dict) path = "%s?%s" % (path, query_str) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = '' ret = send_request(method, IP_nova, PORT_nova, path, params, head) assert ret != 1, "send_request error" except Exception, err: ret = 1 dlog("Vm_manage.list_detail err:%s" % err, lever="ERROR")
def list_detail(self, query_dict=None,username=""): ''' 列出虚拟机详细信息 :param query_list:查询的条件{"name":"","ip":"","status":"",........} :return: ''' ret = 0 try: token = self.token_dict[username] project_id = self.project_id_dict[username] assert token != "", "not login" path = url_vm_list_detail.format(project_id=project_id) if query_dict: query_str = urllib.urlencode(query_dict) path = "%s?%s" % (path, query_str) method = "GET" head = {"Content-Type": "application/json", "X-Auth-Token": token} params = '' ret = send_request(method, IP_nova, PORT_nova, path, params, head) assert ret != 1, "send_request error" except Exception,err: ret = 1 dlog("Vm_manage.list_detail err:%s"%err,lever="ERROR")