def on_get(self, req, resp, name): """ Handles retrieval of an existing Cluster. :param req: Request instance that will be passed through. :type req: falcon.Request :param resp: Response instance that will be passed through. :type resp: falcon.Response :param name: The name of the Cluster being requested. :type name: str """ key = util.etcd_cluster_key(name) etcd_resp, error = cherrypy.engine.publish('store-get', key)[0] if error: resp.status = falcon.HTTP_404 return cluster = Cluster(**json.loads(etcd_resp.value)) if not cluster: resp.status = falcon.HTTP_404 return self._calculate_hosts(cluster) # Have to set resp.body explicitly to include Hosts. resp.body = cluster.to_json_with_hosts() resp.status = falcon.HTTP_200
def on_get(self, req, resp, name): """ Handles retrieval of an existing Cluster. :param req: Request instance that will be passed through. :type req: falcon.Request :param resp: Response instance that will be passed through. :type resp: falcon.Response :param name: The name of the Cluster being requested. :type name: str """ key = '/commissaire/clusters/{0}'.format(name) try: etcd_resp = self.store.get(key) self.logger.info( 'Request for cluster {0}.'.format(name)) self.logger.debug('{0}'.format(etcd_resp)) except etcd.EtcdKeyNotFound: self.logger.info( 'Request for non-existent cluster {0}.'.format(name)) resp.status = falcon.HTTP_404 return cluster = Cluster(**json.loads(etcd_resp.value)) self._calculate_hosts(cluster) # Have to set resp.body explicitly to include Hosts. resp.body = cluster.to_json_with_hosts() resp.status = falcon.HTTP_200
def on_get(self, req, resp, name): """ Handles retrieval of an existing Cluster. :param req: Request instance that will be passed through. :type req: falcon.Request :param resp: Response instance that will be passed through. :type resp: falcon.Response :param name: The name of the Cluster being requested. :type name: str """ key = util.etcd_cluster_key(name) etcd_resp, error = cherrypy.engine.publish('store-get', key)[0] if error: resp.status = falcon.HTTP_404 return cluster = Cluster(**json.loads(etcd_resp.value)) if not cluster: resp.status = falcon.HTTP_404 return self._calculate_hosts(cluster) # Have to set resp.body explicitly to include Hosts. resp.body = cluster.to_json_with_hosts() resp.status = falcon.HTTP_200