def ports(self, service_ports):
     port_repo.delete_service_port(self.tenant.tenant_id, self.service.service_id)
     if service_ports:
         ports = []
         for item in service_ports:
             item.pop("ID")
             ports.append(TenantServicesPort(**item))
         port_repo.bulk_create(ports)
Beispiel #2
0
    def _save_components(self):
        """
        create new components
        """
        component_sources = []
        envs = []
        ports = []
        http_rules = []
        http_rule_configs = []
        volumes = []
        config_files = []
        probes = []
        extend_infos = []
        monitors = []
        graphs = []
        service_group_rels = []
        labels = []
        for cpt in self.new_components:
            component_sources.append(cpt.component_source)
            envs.extend(cpt.envs)
            ports.extend(cpt.ports)
            http_rules.extend(cpt.http_rules)
            http_rule_configs.extend(cpt.http_rule_configs)
            volumes.extend(cpt.volumes)
            config_files.extend(cpt.config_files)
            if cpt.probes:
                probes.extend(cpt.probes)
            if cpt.extend_info:
                extend_infos.append(cpt.extend_info)
            monitors.extend(cpt.monitors)
            graphs.extend(cpt.graphs)
            service_group_rels.append(cpt.service_group_rel)
            labels.extend(cpt.labels)
        components = [cpt.component for cpt in self.new_components]

        service_repo.bulk_create(components)
        service_source_repo.bulk_create(component_sources)
        env_var_repo.bulk_create(envs)
        port_repo.bulk_create(ports)
        domain_repo.bulk_create(http_rules)
        configuration_repo.bulk_create(http_rule_configs)
        volume_repo.bulk_create(volumes)
        config_file_repo.bulk_create(config_files)
        probe_repo.bulk_create(probes)
        extend_repo.bulk_create(extend_infos)
        service_monitor_repo.bulk_create(monitors)
        component_graph_repo.bulk_create(graphs)
        service_group_relation_repo.bulk_create(service_group_rels)
        service_label_repo.bulk_create(labels)