コード例 #1
0
ファイル: consul_manager.py プロジェクト: tsuru/rpaas
 def add_server_upstream(self, instance_name, upstream_name, server):
     if not server:
         return
     servers = self.list_upstream(instance_name, upstream_name)
     if isinstance(server, list):
         for idx, _ in enumerate(server):
             server[idx] = ":".join(map(str, filter(None, host_from_destination(server[idx]))))
         servers |= set(server)
     else:
         server = ":".join(map(str, filter(None, host_from_destination(server))))
         servers.add(server)
     self._save_upstream(instance_name, upstream_name, servers)
コード例 #2
0
 def add_server_upstream(self, instance_name, upstream_name, server):
     if not server:
         return
     servers = self.list_upstream(instance_name, upstream_name)
     if isinstance(server, list):
         for idx, _ in enumerate(server):
             server[idx] = ":".join(
                 map(str, filter(None, host_from_destination(server[idx]))))
         servers |= set(server)
     else:
         server = ":".join(
             map(str, filter(None, host_from_destination(server))))
         servers.add(server)
     self._save_upstream(instance_name, upstream_name, servers)
コード例 #3
0
ファイル: consul_manager.py プロジェクト: tsuru/rpaas
 def remove_server_upstream(self, instance_name, upstream_name, server):
     servers = self.list_upstream(instance_name, upstream_name)
     if isinstance(server, list):
         for idx, _ in enumerate(server):
             server[idx] = ":".join(map(str, filter(None, host_from_destination(server[idx]))))
         servers -= set(server)
     else:
         server = ":".join(map(str, filter(None, host_from_destination(server))))
         if server in servers:
             servers.remove(server)
     if len(servers) < 1:
         self._remove_upstream(instance_name, upstream_name)
     else:
         self._save_upstream(instance_name, upstream_name, servers)
コード例 #4
0
 def remove_server_upstream(self, instance_name, upstream_name, server):
     servers = self.list_upstream(instance_name, upstream_name)
     if isinstance(server, list):
         for idx, _ in enumerate(server):
             server[idx] = ":".join(
                 map(str, filter(None, host_from_destination(server[idx]))))
         servers -= set(server)
     else:
         server = ":".join(
             map(str, filter(None, host_from_destination(server))))
         if server in servers:
             servers.remove(server)
     if len(servers) < 1:
         self._remove_upstream(instance_name, upstream_name)
     else:
         self._save_upstream(instance_name, upstream_name, servers)
コード例 #5
0
ファイル: consul_manager.py プロジェクト: tsuru/rpaas
 def write_location(self, instance_name, path, destination=None, content=None, router_mode=False,
                    bind_mode=False, https_only=False):
     if content:
         content = content.strip()
     else:
         upstream, _ = host_from_destination(destination)
         upstream_server = upstream
         if bind_mode:
             upstream = "rpaas_default_upstream"
         content = self.config_manager.generate_host_config(path, destination, upstream, router_mode, https_only)
         if router_mode:
             upstream_server = None
         self.add_server_upstream(instance_name, upstream, upstream_server)
     self.client.kv.put(self._location_key(instance_name, path), content)
コード例 #6
0
 def write_location(self,
                    instance_name,
                    path,
                    destination=None,
                    content=None,
                    router_mode=False,
                    bind_mode=False):
     if content:
         content = content.strip()
     else:
         upstream, _ = host_from_destination(destination)
         upstream_server = upstream
         if bind_mode:
             upstream = "rpaas_default_upstream"
         content = self.config_manager.generate_host_config(
             path, destination, upstream, router_mode)
         if router_mode:
             upstream_server = None
         self.add_server_upstream(instance_name, upstream, upstream_server)
     self.client.kv.put(self._location_key(instance_name, path), content)