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
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
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)
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
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
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
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)
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
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
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)
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
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