def on_get(self, req, resp, name):
"""
Handles GET (or "status") requests for a Cluster restart.
: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 restarted.
:type name: str
"""
if not util.etcd_cluster_exists(name):
self.logger.info(
'Restart GET requested for nonexistent cluster {0}'.format(
name))
resp.status = falcon.HTTP_404
return
try:
store_manager = cherrypy.engine.publish('get-store-manager')[0]
cluster_restart = store_manager.get(ClusterRestart.new(name=name))
except:
# Return "204 No Content" if we have no status,
# meaning no restart is in progress. The client
# can't be expected to know that, so it's not a
# client error (4xx).
self.logger.debug((
'Restart GET requested for {0} but no restart '
'has ever been executed.').format(name))
resp.status = falcon.HTTP_204
return
resp.status = falcon.HTTP_200
req.context['model'] = cluster_restart
评论列表
文章目录