コード例 #1
0
 def post(self, request, id, action):
     """Execute a action of the Containers."""
     if action == 'start':
         return client.container_start(request, id)
     elif action == 'stop':
         timeout = request.DATA.get("timeout") or 10
         return client.container_stop(request, id, timeout)
     elif action == 'restart':
         timeout = request.DATA.get("timeout") or 10
         return client.container_restart(request, id, timeout)
     elif action == 'pause':
         return client.container_pause(request, id)
     elif action == 'unpause':
         return client.container_unpause(request, id)
     elif action == 'execute':
         command = request.DATA.get("command")
         return client.container_execute(request, id, command)
     elif action == 'kill':
         signal = request.DATA.get("signal") or None
         return client.container_kill(request, id, signal)
     elif action == 'attach':
         return client.container_attach(request, id)
     elif action == 'resize':
         width = request.DATA.get("width") or 500
         height = request.DATA.get("height") or 400
         return client.container_resize(request, id, width, height)
     elif action == 'network_attach':
         return client.container_network_attach(request, id)
     elif action == 'network_detach':
         return client.container_network_detach(request, id)
コード例 #2
0
 def get_context_data(self, **kwargs):
     context = super(SerialConsoleView, self).get_context_data(**kwargs)
     context['page_title'] = self.kwargs['container_id']
     try:
         console_url = client.container_attach(self.request,
                                               self.kwargs['container_id'])
         context["console_url"] = console_url
         context["protocols"] = "['binary', 'base64']"
     except Exception:
         context["error_message"] = "Cannot get console for container %s." \
             % self.kwargs['container_id']
     return context