예제 #1
0
 def get_discovery_url(self, cluster):
     if hasattr(cluster, 'discovery_url') and cluster.discovery_url:
         if getattr(cluster, 'master_count', None) is not None:
             self.validate_discovery_url(cluster.discovery_url,
                                         cluster.master_count)
         else:
             self.validate_discovery_url(cluster.discovery_url, 1)
         discovery_url = cluster.discovery_url
     else:
         discovery_endpoint = (
             CONF.cluster.etcd_discovery_service_endpoint_format %
             {'size': cluster.master_count})
         try:
             discovery_url = requests.get(discovery_endpoint).text
         except req_exceptions.RequestException as err:
             LOG.error(six.text_type(err))
             raise exception.GetDiscoveryUrlFailed(
                 discovery_endpoint=discovery_endpoint)
         if not discovery_url:
             raise exception.InvalidDiscoveryURL(
                 discovery_url=discovery_url,
                 discovery_endpoint=discovery_endpoint)
         else:
             cluster.discovery_url = discovery_url
     return discovery_url
예제 #2
0
 def get_discovery_url(self, cluster, cluster_template=None):
     if hasattr(cluster, 'discovery_url') and cluster.discovery_url:
         self.validate_discovery_url(cluster.discovery_url,
                                     cluster.master_count)
         discovery_url = cluster.discovery_url
     else:
         discovery_endpoint = (
             CONF.cluster.etcd_discovery_service_endpoint_format % {
                 'size': cluster.master_count
             })
         try:
             proxies = self.get_proxies(discovery_endpoint,
                                        cluster_template)
             discovery_request = requests.get(discovery_endpoint,
                                              proxies=proxies)
             if discovery_request.status_code != requests.codes.ok:
                 raise exception.GetDiscoveryUrlFailed(
                     discovery_endpoint=discovery_endpoint)
             discovery_url = discovery_request.text
         except req_exceptions.RequestException as err:
             LOG.error(err)
             raise exception.GetDiscoveryUrlFailed(
                 discovery_endpoint=discovery_endpoint)
         if not discovery_url:
             raise exception.InvalidDiscoveryURL(
                 discovery_url=discovery_url,
                 discovery_endpoint=discovery_endpoint)
         else:
             cluster.discovery_url = discovery_url
     return discovery_url
예제 #3
0
 def get_discovery_url(self, cluster):
     if hasattr(cluster, 'discovery_url') and cluster.discovery_url:
         # NOTE(flwang): The discovery URl does have a expiry time,
         # so better skip it when the cluster has been created.
         if not cluster.master_addresses:
             self.validate_discovery_url(cluster.discovery_url,
                                         cluster.master_count)
         discovery_url = cluster.discovery_url
     else:
         discovery_endpoint = (
             CONF.cluster.etcd_discovery_service_endpoint_format % {
                 'size': cluster.master_count
             })
         try:
             discovery_request = requests.get(discovery_endpoint)
             if discovery_request.status_code != requests.codes.ok:
                 raise exception.GetDiscoveryUrlFailed(
                     discovery_endpoint=discovery_endpoint)
             discovery_url = discovery_request.text
         except req_exceptions.RequestException as err:
             LOG.error(err)
             raise exception.GetDiscoveryUrlFailed(
                 discovery_endpoint=discovery_endpoint)
         if not discovery_url:
             raise exception.InvalidDiscoveryURL(
                 discovery_url=discovery_url,
                 discovery_endpoint=discovery_endpoint)
         else:
             cluster.discovery_url = discovery_url
     return discovery_url
예제 #4
0
 def get_discovery_url(self, bay):
     if hasattr(bay, 'discovery_url') and bay.discovery_url:
         discovery_url = bay.discovery_url
     else:
         discovery_endpoint = (
             cfg.CONF.bay.etcd_discovery_service_endpoint_format % {
                 'size': bay.master_count
             })
         discovery_url = requests.get(discovery_endpoint).text
         if not discovery_url:
             raise exception.InvalidDiscoveryURL(
                 discovery_url=discovery_url,
                 discovery_endpoint=discovery_endpoint)
         else:
             bay.discovery_url = discovery_url
     return discovery_url
예제 #5
0
 def get_discovery_url(self, bay):
     if hasattr(bay, 'discovery_url') and bay.discovery_url:
         discovery_url = bay.discovery_url
     else:
         discovery_endpoint = (
             cfg.CONF.bay.etcd_discovery_service_endpoint_format %
             {'size': bay.master_count})
         try:
             discovery_url = requests.get(discovery_endpoint).text
         except Exception as err:
             LOG.error(six.text_type(err))
             raise exception.GetDiscoveryUrlFailed(
                 discovery_endpoint=discovery_endpoint)
         if not discovery_url:
             raise exception.InvalidDiscoveryURL(
                 discovery_url=discovery_url,
                 discovery_endpoint=discovery_endpoint)
         else:
             bay.discovery_url = discovery_url
     return discovery_url