示例#1
0
 def start(self):
     manager = managers.by_name(self.manager, self.config)
     try:
         manager.start_host(self.id)
     except Exception as e:
         log.error("Error trying to start host '{}' in '{}': {}".format(self.id, self.manager, e))
         raise e
示例#2
0
 def stop(self, forced=False):
     manager = managers.by_name(self.manager, self.config)
     try:
         manager.stop_host(self.id, forced)
     except Exception as e:
         log.error("Error trying to stop host '{}' in '{}': {}".format(self.id, self.manager, e))
         raise e
示例#3
0
文件: host.py 项目: carriercomm/hm
 def destroy(self):
     manager = managers.by_name(self.manager, self.config)
     try:
         manager.destroy_host(self.id)
     except Exception as e:
         log.error("Error trying to destroy host '{}' in '{}': {}".format(self.id, self.manager, e))
     self.storage().remove_host(self.id)
示例#4
0
 def destroy(self):
     manager = managers.by_name(self.manager, self.config)
     try:
         manager.destroy_host(self.id)
     except Exception as e:
         log.error("Error trying to destroy host '{}' in '{}': {}".format(self.id, self.manager, e))
     self.storage().remove_host(self.id)
示例#5
0
文件: host.py 项目: digideskio/hm
 def restore(self):
     manager = managers.by_name(self.manager, self.config)
     try:
         manager.restore_host(self.id)
     except Exception as e:
         log.error("Error trying to restore host '{}' in '{}': {}".format(self.id, self.manager, e))
         raise e
示例#6
0
文件: host.py 项目: tsuru/hm
 def stop(self, forced=False):
     manager = managers.by_name(self.manager, self.config)
     try:
         manager.stop_host(self.id, forced)
     except Exception as e:
         log.error("Error trying to stop host '{}' in '{}': {}".format(self.id, self.manager, e))
         raise e
示例#7
0
文件: host.py 项目: tsuru/hm
 def tag_vm(self, tags, project_id=None):
     manager = managers.by_name(self.manager, self.config)
     try:
         manager.tag_vm(tags, self.id, project_id)
     except Exception as e:
         log.error("Error trying to tag host '{}' in '{}': {}".format(self.id, self.manager, e))
         raise e
示例#8
0
文件: host.py 项目: tsuru/hm
 def restore(self, reset_template=False, reset_tags=False):
     manager = managers.by_name(self.manager, self.config)
     try:
         manager.restore_host(self.id, reset_template, reset_tags)
     except Exception as e:
         log.error("Error trying to restore host '{}' in '{}': {}".format(self.id, self.manager, e))
         raise e
示例#9
0
 def destroy(self):
     manager = self._manager()
     try:
         manager.destroy_load_balancer(self)
     except Exception as e:
         log.error("Error trying to destroy load balancer name: '{}' id: '{}' in '{}': {}".format(
             self.name, self.id, self.manager, e))
     self.storage().remove_load_balancer(self.name)
示例#10
0
文件: host.py 项目: renatosis/hm
 def tag_vm(self, tags, project_id=None):
     manager = managers.by_name(self.manager, self.config)
     try:
         manager.tag_vm(tags, self.id, project_id)
     except Exception as e:
         log.error("Error trying to tag host '{}' in '{}': {}".format(
             self.id, self.manager, e))
         raise e
示例#11
0
文件: host.py 项目: renatosis/hm
 def restore(self, reset_template=False, reset_tags=False):
     manager = managers.by_name(self.manager, self.config)
     try:
         manager.restore_host(self.id, reset_template, reset_tags)
     except Exception as e:
         log.error("Error trying to restore host '{}' in '{}': {}".format(
             self.id, self.manager, e))
         raise e
示例#12
0
 def destroy(self):
     manager = self._manager()
     try:
         manager.destroy_load_balancer(self)
     except Exception as e:
         log.error(
             "Error trying to destroy load balancer name: '{}' id: '{}' in '{}': {}"
             .format(self.name, self.id, self.manager, e))
     self.storage().remove_load_balancer(self.name)
示例#13
0
 def _create_vip(self, name, vip_config):
     vip_id = None
     client_evip = EnvironmentVIP.EnvironmentVIP(self.networkapi_endpoint,
                                                 self.networkapi_user,
                                                 self.networkapi_password)
     evip = client_evip.search(ambiente_p44_txt=vip_config.environment_p44,
                               cliente_txt=vip_config.client,
                               finalidade_txt=vip_config.finality)
     client_ip = Ip.Ip(self.networkapi_endpoint, self.networkapi_user,
                       self.networkapi_password)
     vip_ip = client_ip.get_available_ip4_for_vip(
         evip["environment_vip"]["id"], u"tsuru hm {0}".format(name))
     try:
         client_vip = Vip.Vip(self.networkapi_endpoint,
                              self.networkapi_user,
                              self.networkapi_password)
         request = client_vip.add(
             id_ipv4=vip_ip["ip"]["id"],
             id_ipv6=None,
             id_healthcheck_expect=vip_config.healthcheck_expect,
             finality=vip_config.finality,
             client=vip_config.client,
             environment=vip_config.environment_p44,
             cache=vip_config.cache,
             method_bal=vip_config.lb_method,
             persistence=vip_config.persistence,
             healthcheck_type=u"HTTP",
             healthcheck=vip_config.healthcheck,
             timeout="5",
             host="{0}.hm.tsuru".format(name),
             maxcon=vip_config.maxconn,
             areanegocio=vip_config.business_area,
             nome_servico=vip_config.service_name,
             l7_filter=None,
             reals=[],
             reals_prioritys=[],
             reals_weights=[],
             ports=vip_config.port_mapping)
         vip_id = request["requisicao_vip"]["id"]
         log.debug(u"VIP request %s successfully created." % vip_id)
         client_vip.validate(vip_id)
         client_vip.criar(vip_id)
         address = "{oct1}.{oct2}.{oct3}.{oct4}".format(**vip_ip["ip"])
         return vip_id, vip_ip["ip"]["id"], address
     except Exception as e:
         if vip_id:
             try:
                 client_vip.remove_script(vip_id)
                 client_vip.remover(vip_id)
             except Exception as exc:
                 args = [str(a) for a in exc.args]
                 error = "".join(args)
                 log.error("Failed to remove the VIP {0}: {1}".format(
                     vip_id, error))
         client_ip.delete_ip4(vip_ip["ip"]["id"])
         raise e
示例#14
0
 def _create_vip(self, name, vip_config):
     vip_id = None
     client_evip = EnvironmentVIP.EnvironmentVIP(
         self.networkapi_endpoint,
         self.networkapi_user,
         self.networkapi_password)
     evip = client_evip.search(ambiente_p44_txt=vip_config.environment_p44,
                               cliente_txt=vip_config.client,
                               finalidade_txt=vip_config.finality)
     client_ip = Ip.Ip(self.networkapi_endpoint, self.networkapi_user,
                       self.networkapi_password)
     vip_ip = client_ip.get_available_ip4_for_vip(evip["environment_vip"]["id"],
                                                  u"tsuru hm {0}".format(name))
     try:
         client_vip = Vip.Vip(self.networkapi_endpoint, self.networkapi_user,
                              self.networkapi_password)
         request = client_vip.add(id_ipv4=vip_ip["ip"]["id"],
                                  id_ipv6=None,
                                  id_healthcheck_expect=vip_config.healthcheck_expect,
                                  finality=vip_config.finality,
                                  client=vip_config.client,
                                  environment=vip_config.environment_p44,
                                  cache=vip_config.cache,
                                  method_bal=vip_config.lb_method,
                                  persistence=vip_config.persistence,
                                  healthcheck_type=u"HTTP",
                                  healthcheck=vip_config.healthcheck,
                                  timeout="5",
                                  host="{0}.hm.tsuru".format(name),
                                  maxcon=vip_config.maxconn,
                                  areanegocio=vip_config.business_area,
                                  nome_servico=vip_config.service_name,
                                  l7_filter=None,
                                  reals=[],
                                  reals_prioritys=[],
                                  reals_weights=[],
                                  ports=vip_config.port_mapping)
         vip_id = request["requisicao_vip"]["id"]
         log.debug(u"VIP request %s successfully created." % vip_id)
         client_vip.validate(vip_id)
         client_vip.criar(vip_id)
         address = "{oct1}.{oct2}.{oct3}.{oct4}".format(**vip_ip["ip"])
         return vip_id, vip_ip["ip"]["id"], address
     except Exception as e:
         if vip_id:
             try:
                 client_vip.remove_script(vip_id)
                 client_vip.remover(vip_id)
             except Exception as exc:
                 args = [str(a) for a in exc.args]
                 error = "".join(args)
                 log.error("Failed to remove the VIP {0}: {1}".format(vip_id, error))
         client_ip.delete_ip4(vip_ip["ip"]["id"])
         raise e