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