def switch_dns_forward(databaseinfra, source_object_list, ip_attribute_name, dns_attribute_name, equivalent_atribute_name, workflow_dict): for source_object in source_object_list: old_ip = source_object.__getattribute__(ip_attribute_name) dns = source_object.__getattribute__(dns_attribute_name) source_object.__setattr__(dns_attribute_name, old_ip) target_object = source_object.__getattribute__( equivalent_atribute_name) new_ip = target_object.__getattribute__(ip_attribute_name) target_object.__setattr__(dns_attribute_name, dns) LOG.info("Changing {}: from {} to {}".format(dns, old_ip, new_ip)) DNSAPIProvider.update_database_dns_content(databaseinfra=databaseinfra, dns=dns, old_ip=old_ip, new_ip=new_ip) source_object.save() target_object.save() workflow_dict['objects_changed'].append({ 'source_object': source_object, 'ip_attribute_name': ip_attribute_name, 'dns_attribute_name': dns_attribute_name, 'equivalent_atribute_name': equivalent_atribute_name, })
def do(self): for instance in self.host.instances.all(): old_instance = instance.future_instance DNSAPIProvider.update_database_dns_content( self.infra, old_instance.dns, old_instance.address, instance.address ) instance.dns = old_instance.dns old_instance.dns = old_instance.address old_instance.save() instance.save() if self.instance.id == instance.id: self.instance.dns = instance.dns old_host = self.host.future_host self.host.hostname = old_host.hostname old_host.hostname = old_host.address old_host.save() self.host.save() if self.infra.endpoint and old_host.address in self.infra.endpoint: self.infra.endpoint = self.infra.endpoint.replace( old_host.address, self.host.address ) self.infra.save()
def switch_dns_forward(databaseinfra, source_object_list, ip_attribute_name, dns_attribute_name, equivalent_atribute_name, workflow_dict): for source_object in source_object_list: old_ip = source_object.__getattribute__(ip_attribute_name) dns = source_object.__getattribute__(dns_attribute_name) source_object.__setattr__(dns_attribute_name, old_ip) target_object = source_object.__getattribute__( equivalent_atribute_name) new_ip = target_object.__getattribute__(ip_attribute_name) target_object.__setattr__(dns_attribute_name, dns) LOG.info("Changing {}: from {} to {}".format(dns, old_ip, new_ip)) DNSAPIProvider.update_database_dns_content( databaseinfra=databaseinfra, dns=dns, old_ip=old_ip, new_ip=new_ip) source_object.save() target_object.save() workflow_dict['objects_changed'].append({ 'source_object': source_object, 'ip_attribute_name': ip_attribute_name, 'dns_attribute_name': dns_attribute_name, 'equivalent_atribute_name': equivalent_atribute_name, })
def undo(self, workflow_dict): LOG.info("Running undo...") try: databaseinfra = workflow_dict['databaseinfra'] vip_ip = get_vip_ip_from_databaseinfra(databaseinfra=databaseinfra) databaseinfraattr = workflow_dict['source_secondary_ips'][0] dnslist = DatabaseInfraDNSList.objects.filter( dns__startswith="{}.".format(databaseinfra.name), type=FOXHA) if dnslist: infradns = dnslist[0] infradns.type = FLIPPER infradns.save() DNSAPIProvider.update_database_dns_content( databaseinfra=databaseinfra, dns=infradns.dns, old_ip=vip_ip, new_ip=databaseinfraattr.ip) if 'objects_changed' in workflow_dict: for object_changed in workflow_dict['objects_changed']: switch_dns_backward( databaseinfra=databaseinfra, source_object_list=[ object_changed['source_object'], ], ip_attribute_name=object_changed['ip_attribute_name'], dns_attribute_name=object_changed[ 'dns_attribute_name'], equivalent_atribute_name=object_changed[ 'equivalent_atribute_name']) return True switch_dns_backward( databaseinfra=databaseinfra, source_object_list=workflow_dict['source_hosts'], ip_attribute_name='address', dns_attribute_name='hostname', equivalent_atribute_name='future_host') switch_dns_backward( databaseinfra=databaseinfra, source_object_list=workflow_dict['source_instances'], ip_attribute_name='address', dns_attribute_name='dns', equivalent_atribute_name='future_instance') return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0020) workflow_dict['exceptions']['traceback'].append(traceback) return False
def update_host_dns(self, origin_host, destiny_host): DNSAPIProvider.update_database_dns_content(self.infra, origin_host.hostname, origin_host.address, destiny_host.address) destiny_host.hostname = origin_host.hostname origin_host.hostname = origin_host.address origin_host.save() destiny_host.save()
def do(self, workflow_dict): try: databaseinfra = workflow_dict['databaseinfra'] LOG.info("Creating dns for VIP...") vip_ip = get_vip_ip_from_databaseinfra(databaseinfra=databaseinfra) vip_dns = add_dns_record(databaseinfra=databaseinfra, name=databaseinfra.name, ip=vip_ip, type=FOXHA) LOG.info("Updating databaseinfra endpoint...") databaseinfra.endpoint_dns = "{}:{}".format(vip_dns, 3306) databaseinfra.save() workflow_dict['databaseinfra'] = databaseinfra LOG.info("Creating dns for hosts...") for host_name in zip(workflow_dict['hosts'], workflow_dict['names']['vms']): host = host_name[0] host.hostname = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=host_name[1], ip=host.address, type=HOST) host.save() LOG.info("Creating dns for instances...") for instance_name in zip(workflow_dict['instances'], workflow_dict['names']['vms']): instance = instance_name[0] instance.dns = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=instance_name[1], ip=instance.address, type=INSTANCE) instance.save() LOG.info("Calling dnsapi provider...") DNSAPIProvider.create_database_dns( databaseinfra=workflow_dict['databaseinfra']) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0007) workflow_dict['exceptions']['traceback'].append(traceback) return False
def do(self, workflow_dict): try: LOG.info("Creating dns for hosts...") for host_name in zip(workflow_dict['hosts'], workflow_dict['names']['vms']): host = host_name[0] LOG.info("Updating host dns - host: {}".format(host)) host.hostname = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=host_name[1], ip=host.address, type=HOST) host.save() LOG.info("DNS host updated - dns: {}".format(host.hostname)) LOG.info("Creating dns for instances...") for instance_name in zip(workflow_dict['instances'], workflow_dict['names']['vms']): instance = instance_name[0] LOG.info( "Updating instance dns - instance: {}".format(instance)) instance.dns = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=instance_name[1], ip=instance.address, type=INSTANCE) instance.save() LOG.info("DNS instance updated - dns: {}".format(instance.dns)) if workflow_dict['qt'] == 1: LOG.info("Updating databaseinfra dns endpoint") databaseinfra = workflow_dict['databaseinfra'] databaseinfra.endpoint_dns = instance.dns + \ ':%i' % instance.port databaseinfra.save() workflow_dict['databaseinfra'] = databaseinfra LOG.info("Calling dnsapi provider...") DNSAPIProvider.create_database_dns( databaseinfra=workflow_dict['databaseinfra']) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0007) workflow_dict['exceptions']['traceback'].append(traceback) return False
def undo(self, workflow_dict): LOG.info("Running undo...") try: DNSAPIProvider.update_database_dns_ttl(databaseinfra=workflow_dict['databaseinfra'], ttl=None) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0020) workflow_dict['exceptions']['traceback'].append(traceback) return False
def do(self, workflow_dict): try: LOG.info("Creating dns for hosts...") for host_name in zip(workflow_dict['hosts'], workflow_dict['names']['vms']): host = host_name[0] LOG.info("Updating host dns - host: {}".format(host)) host.hostname = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=host_name[ 1], ip=host.address, type=HOST) host.save() LOG.info("DNS host updated - dns: {}".format(host.hostname)) LOG.info("Creating dns for instances...") for instance_name in zip(workflow_dict['instances'], workflow_dict['names']['vms']): instance = instance_name[0] LOG.info("Updating instance dns - instance: {}".format(instance)) instance.dns = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=instance_name[ 1], ip=instance.address, type=INSTANCE) instance.save() LOG.info("DNS instance updated - dns: {}".format(instance.dns)) if workflow_dict['qt'] == 1: LOG.info("Updating databaseinfra dns endpoint") databaseinfra = workflow_dict['databaseinfra'] databaseinfra.endpoint_dns = instance.dns + \ ':%i' % instance.port databaseinfra.save() workflow_dict['databaseinfra'] = databaseinfra LOG.info("Calling dnsapi provider...") DNSAPIProvider.create_database_dns( databaseinfra=workflow_dict['databaseinfra']) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0007) workflow_dict['exceptions']['traceback'].append(traceback) return False
def do(self, workflow_dict): try: LOG.info("Calling dnsapi provider...") DNSAPIProvider.update_database_dns_ttl(databaseinfra=workflow_dict['databaseinfra'], ttl=5) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0020) workflow_dict['exceptions']['traceback'].append(traceback) return False
def undo(self, workflow_dict): LOG.info("Running undo...") try: DNSAPIProvider.update_database_dns_ttl( databaseinfra=workflow_dict['databaseinfra'], ttl=None) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0020) workflow_dict['exceptions']['traceback'].append(traceback) return False
def do(self, workflow_dict): try: LOG.info("Calling dnsapi provider...") DNSAPIProvider.update_database_dns_ttl( databaseinfra=workflow_dict['databaseinfra'], ttl=60) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0020) workflow_dict['exceptions']['traceback'].append(traceback) return False
def undo(self, workflow_dict): try: DNSAPIProvider.remove_database_dns( environment=workflow_dict["environment"], databaseinfraid=workflow_dict["databaseinfra"].id ) DatabaseInfraDNSList.objects.filter(databaseinfra=workflow_dict["databaseinfra"].id).delete() return True except Exception: traceback = full_stack() workflow_dict["exceptions"]["error_codes"].append(DBAAS_0007) workflow_dict["exceptions"]["traceback"].append(traceback) return False
def update_instance_dns(self, origin_instance, destiny_instance): DNSAPIProvider.update_database_dns_content(self.infra, origin_instance.dns, origin_instance.address, destiny_instance.address) destiny_instance.dns = origin_instance.dns origin_instance.dns = origin_instance.address origin_instance.save() destiny_instance.save() if self.instance.id == origin_instance.id: self.instance.dns = origin_instance.dns if self.instance.id == destiny_instance.id: self.instance.dns = destiny_instance.dns if self.instance.future_instance.id == origin_instance.id: self.instance.future_instance.dns = origin_instance.dns if self.instance.future_instance.id == destiny_instance.id: self.instance.future_instance.dns = destiny_instance.dns
def do(self, workflow_dict): try: databaseinfra = workflow_dict['databaseinfra'] vip_ip = get_vip_ip_from_databaseinfra(databaseinfra=databaseinfra) databaseinfraattr = workflow_dict['source_secondary_ips'][0] infradns = DatabaseInfraDNSList.objects.get( dns__startswith="{}.".format(databaseinfra.name), type=FLIPPER) infradns.type = FOXHA infradns.save() DNSAPIProvider.update_database_dns_content( databaseinfra=databaseinfra, dns=infradns.dns, old_ip=databaseinfraattr.ip, new_ip=vip_ip) workflow_dict['objects_changed'] = [] switch_dns_forward( databaseinfra=databaseinfra, source_object_list=workflow_dict['source_hosts'], ip_attribute_name='address', dns_attribute_name='hostname', equivalent_atribute_name='future_host', workflow_dict=workflow_dict) switch_dns_forward( databaseinfra=databaseinfra, source_object_list=workflow_dict['source_instances'], ip_attribute_name='address', dns_attribute_name='dns', equivalent_atribute_name='future_instance', workflow_dict=workflow_dict) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0020) workflow_dict['exceptions']['traceback'].append(traceback) return False
def undo(self, workflow_dict): try: DNSAPIProvider.remove_database_dns( environment=workflow_dict['environment'], databaseinfraid=workflow_dict['databaseinfra'].id) DatabaseInfraDNSList.objects.filter( databaseinfra=workflow_dict['databaseinfra'].id).delete() return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0007) workflow_dict['exceptions']['traceback'].append(traceback) return False
def do(self): LOG.info('Creating DNS for {}'.format(self.instance)) host = self.instance.hostname host.hostname = add_dns_record(databaseinfra=self.databaseinfra, name=self.instance.vm_name, ip=host.address, type=HOST) host.save() self.instance.dns = add_dns_record(databaseinfra=self.databaseinfra, name=self.instance.vm_name, ip=self.instance.address, type=INSTANCE) self.instance.save() DNSAPIProvider.create_database_dns_for_ip( databaseinfra=self.databaseinfra, ip=self.instance.address)
def do(self): for instance in self.host.instances.all(): DNSAPIProvider.update_database_dns_content(self.infra, instance.dns, instance.address, self.host.address) instance.address = self.host.address instance.save() DNSAPIProvider.update_database_dns_content(self.infra, self.host.hostname, self.instance.address, self.host.address) if self.infra.endpoint and self.instance.address in self.infra.endpoint: self.infra.endpoint = self.infra.endpoint.replace( self.instance.address, self.host.address) self.infra.save() self.instance.address = self.host.address
def do(self, workflow_dict): try: for infra_attr in workflow_dict['source_secondary_ips']: if not infra_attr.is_write: LOG.info("Calling dnsapi provider...") DNSAPIProvider.remove_database_dns( environment=workflow_dict['environment'], databaseinfraid=workflow_dict['databaseinfra'].id, dns=infra_attr.dns) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0020) workflow_dict['exceptions']['traceback'].append(traceback) return False
def update_host_dns(self, origin_host, destiny_host): for instance in self.instances: DNSAPIProvider.update_database_dns_content(self.infra, instance.dns, origin_host.address, destiny_host.address) DNSAPIProvider.update_database_dns_content(self.infra, origin_host.hostname, origin_host.address, destiny_host.address) destiny_host.hostname = origin_host.hostname origin_host.hostname = origin_host.address origin_host.save() destiny_host.save() if self.infra.endpoint and origin_host.address in self.infra.endpoint: self.infra.endpoint = self.infra.endpoint.replace( origin_host.address, destiny_host.address) self.infra.save()
def update_host_dns(self, origin_host, destiny_host): for instance in self.instances: DNSAPIProvider.update_database_dns_content( self.infra, instance.dns, origin_host.address, destiny_host.address ) DNSAPIProvider.update_database_dns_content( self.infra, origin_host.hostname, origin_host.address, destiny_host.address ) destiny_host.hostname = origin_host.hostname origin_host.hostname = origin_host.address origin_host.save() destiny_host.save() if self.infra.endpoint and origin_host.address in self.infra.endpoint: self.infra.endpoint = self.infra.endpoint.replace( origin_host.address, destiny_host.address ) self.infra.save()
def switch_dns_backward(databaseinfra, source_object_list, ip_attribute_name, dns_attribute_name, equivalent_atribute_name): for source_object in source_object_list: target_object = source_object.__getattribute__(equivalent_atribute_name) old_ip = target_object.__getattribute__(ip_attribute_name) dns = target_object.__getattribute__(dns_attribute_name) target_object.__setattr__(dns_attribute_name, old_ip) new_ip = source_object.__getattribute__(ip_attribute_name) source_object.__setattr__(dns_attribute_name, dns) LOG.info("Changing {}: from {} to {}".format(dns, old_ip, new_ip)) DNSAPIProvider.update_database_dns_content( databaseinfra=databaseinfra, dns=dns, old_ip=old_ip, new_ip=new_ip) target_object.save() source_object.save()
def switch_dns_backward(databaseinfra, source_object_list, ip_attribute_name, dns_attribute_name, equivalent_atribute_name): for source_object in source_object_list: target_object = source_object.__getattribute__( equivalent_atribute_name) old_ip = target_object.__getattribute__(ip_attribute_name) dns = target_object.__getattribute__(dns_attribute_name) target_object.__setattr__(dns_attribute_name, old_ip) new_ip = source_object.__getattribute__(ip_attribute_name) source_object.__setattr__(dns_attribute_name, dns) LOG.info("Changing {}: from {} to {}".format(dns, old_ip, new_ip)) DNSAPIProvider.update_database_dns_content(databaseinfra=databaseinfra, dns=dns, old_ip=old_ip, new_ip=new_ip) target_object.save() source_object.save()
def undo(self): LOG.info('Running undo of CreateDNS') DNSAPIProvider.remove_databases_dns_for_ip( databaseinfra=self.databaseinfra, ip=self.instance.address)
def do(self, workflow_dict): try: LOG.info("Creating dns for hosts...") for host_name in zip(workflow_dict['hosts'], workflow_dict['names']['vms']): host = host_name[0] host.hostname = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=host_name[1], ip=host.address, type=HOST) host.save() instances_redis = [] instances_sentinel = [] for instance in workflow_dict['instances']: if instance.instance_type == Instance.REDIS_SENTINEL: instances_sentinel.append(instance) else: instances_redis.append(instance) LOG.info("Creating dns for instances...") for instance_name in zip(instances_redis, workflow_dict['names']['vms']): instance = instance_name[0] instance.dns = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=instance_name[1], ip=instance.address, type=INSTANCE) instance.save() if workflow_dict['qt'] == 1: LOG.info("Updating databaseinfra dns endpoint") databaseinfra = workflow_dict['databaseinfra'] databaseinfra.endpoint_dns = instance.dns + \ ':%i' % instance.port databaseinfra.save() workflow_dict['databaseinfra'] = databaseinfra LOG.info("Creating dns for sentinel instances...") for instance_name in zip(instances_sentinel, workflow_dict['names']['vms']): instance = instance_name[0] instance.dns = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=instance_name[1], ip=instance.address, type=INSTANCE, database_sufix='sentinel') instance.save() LOG.info("Calling dnsapi provider...") DNSAPIProvider.create_database_dns( databaseinfra=workflow_dict['databaseinfra']) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0007) workflow_dict['exceptions']['traceback'].append(traceback) return False
def do(self, workflow_dict): try: if 'databaseinfraattr' in workflow_dict: LOG.info("Creating dns for databaseinfraattr...") for infra_attr in workflow_dict['databaseinfraattr']: if infra_attr.is_write: dnsname = workflow_dict['databaseinfra'].name else: dnsname = workflow_dict['databaseinfra'].name + '-r' dnsname = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=dnsname, ip=infra_attr.ip, type=FLIPPER) infra_attr.dns = dnsname infra_attr.save() if infra_attr.is_write: LOG.info("Updating databaseinfra dns endpoint") databaseinfra = workflow_dict['databaseinfra'] databaseinfra.endpoint_dns = infra_attr.dns + ':%i' % 3306 databaseinfra.save() workflow_dict['databaseinfra'] = databaseinfra LOG.info("Creating dns for hosts...") for host_name in zip(workflow_dict['hosts'], workflow_dict['names']['vms']): host = host_name[0] host.hostname = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=host_name[1], ip=host.address, type=HOST) host.save() LOG.info("Creating dns for instances...") for instance_name in zip(workflow_dict['instances'], workflow_dict['names']['vms']): instance = instance_name[0] instance.dns = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=instance_name[1], ip=instance.address, type=INSTANCE) instance.save() if workflow_dict['qt'] == 1: LOG.info("Updating databaseinfra dns endpoint") databaseinfra = workflow_dict['databaseinfra'] databaseinfra.endpoint_dns = instance.dns + ':%i' % instance.port databaseinfra.save() workflow_dict['databaseinfra'] = databaseinfra LOG.info("Calling dnsapi provider...") DNSAPIProvider.create_database_dns( databaseinfra=workflow_dict['databaseinfra']) return True except Exception, e: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0007) workflow_dict['exceptions']['traceback'].append(traceback) return False
def do(self, workflow_dict): try: if 'databaseinfraattr' in workflow_dict: LOG.info("Creating dns for databaseinfraattr...") for infra_attr in workflow_dict['databaseinfraattr']: if infra_attr.is_write: dnsname = workflow_dict['databaseinfra'].name else: dnsname = workflow_dict['databaseinfra'].name + '-r' dnsname = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=dnsname, ip=infra_attr.ip, type=FLIPPER) infra_attr.dns = dnsname infra_attr.save() if infra_attr.is_write: LOG.info("Updating databaseinfra dns endpoint") databaseinfra = workflow_dict['databaseinfra'] databaseinfra.endpoint_dns = infra_attr.dns + \ ':%i' % 3306 databaseinfra.save() workflow_dict['databaseinfra'] = databaseinfra LOG.info("Creating dns for hosts...") for host_name in zip(workflow_dict['hosts'], workflow_dict['names']['vms']): host = host_name[0] host.hostname = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=host_name[ 1], ip=host.address, type=HOST) host.save() LOG.info("Creating dns for instances...") for instance_name in zip(workflow_dict['instances'], workflow_dict['names']['vms']): instance = instance_name[0] instance.dns = add_dns_record( databaseinfra=workflow_dict['databaseinfra'], name=instance_name[ 1], ip=instance.address, type=INSTANCE) instance.save() if workflow_dict['qt'] == 1: LOG.info("Updating databaseinfra dns endpoint") databaseinfra = workflow_dict['databaseinfra'] databaseinfra.endpoint_dns = instance.dns + \ ':%i' % instance.port databaseinfra.save() workflow_dict['databaseinfra'] = databaseinfra LOG.info("Calling dnsapi provider...") DNSAPIProvider.create_database_dns( databaseinfra=workflow_dict['databaseinfra']) return True except Exception: traceback = full_stack() workflow_dict['exceptions']['error_codes'].append(DBAAS_0007) workflow_dict['exceptions']['traceback'].append(traceback) return False
def do(self, workflow_dict): try: LOG.info("Creating dns for hosts...") for host_name in zip(workflow_dict["hosts"], workflow_dict["names"]["vms"]): host = host_name[0] host.hostname = add_dns_record( databaseinfra=workflow_dict["databaseinfra"], name=host_name[1], ip=host.address, type=HOST ) host.save() instances_redis = [] instances_sentinel = [] for instance in workflow_dict["instances"]: if instance.instance_type == Instance.REDIS_SENTINEL: instances_sentinel.append(instance) else: instances_redis.append(instance) LOG.info("Creating dns for instances...") for instance_name in zip(instances_redis, workflow_dict["names"]["vms"]): instance = instance_name[0] instance.dns = add_dns_record( databaseinfra=workflow_dict["databaseinfra"], name=instance_name[1], ip=instance.address, type=INSTANCE, ) instance.save() if workflow_dict["qt"] == 1: LOG.info("Updating databaseinfra dns endpoint") databaseinfra = workflow_dict["databaseinfra"] databaseinfra.endpoint_dns = instance.dns + ":%i" % instance.port databaseinfra.save() workflow_dict["databaseinfra"] = databaseinfra LOG.info("Creating dns for sentinel instances...") for instance_name in zip(instances_sentinel, workflow_dict["names"]["vms"]): instance = instance_name[0] instance.dns = add_dns_record( databaseinfra=workflow_dict["databaseinfra"], name=instance_name[1], ip=instance.address, type=INSTANCE, database_sufix="sentinel", ) instance.save() LOG.info("Calling dnsapi provider...") DNSAPIProvider.create_database_dns(databaseinfra=workflow_dict["databaseinfra"]) return True except Exception: traceback = full_stack() workflow_dict["exceptions"]["error_codes"].append(DBAAS_0007) workflow_dict["exceptions"]["traceback"].append(traceback) return False
def update_vip_dns(self, origin_vip, destiny_vip): if origin_vip and destiny_vip: vip_dns = self.infra.endpoint_dns.split(':')[0] DNSAPIProvider.update_database_dns_content(self.infra, vip_dns, origin_vip.vip_ip, destiny_vip.vip_ip)