Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hide experimental checkpoint features on Windows #1094

Merged
merged 2 commits into from
Jun 1, 2018

Commits on May 31, 2018

  1. Mark checkpoint feature as Linux-only, and homogenize error messages

    This patch adds annotations to mark the checkpoint commands as Linux only, which
    hides them if the daemon is running a non-matching operating-system type;
    
    Before:
    
        docker
    
        Usage:	docker COMMAND
    
        A self-sufficient runtime for containers
    
        ...
    
        Management Commands:
          config      Manage Docker configs
          container   Manage containers
          image       Manage images
    
    After:
    
        docker
    
        Usage:	docker COMMAND
    
        A self-sufficient runtime for containers
    
        ...
    
        Management Commands:
          checkpoint  Manage checkpoints
          config      Manage Docker configs
          container   Manage containers
          image       Manage images
    
    This change also prints errors when attempting to use checkpoint commands or
    flags if the feature is not supported by the Daemon's operating system;
    
        $ docker checkpoint --help
        docker checkpoint is only supported on a Docker daemon running on linux, but the Docker daemon is running on windows
    
        $ docker checkpoint create --help
        docker checkpoint create is only supported on a Docker daemon running on linux, but the Docker daemon is running on windows
    
        $ docker checkpoint ls --help
        docker checkpoint ls is only supported on a Docker daemon running on linux, but the Docker daemon is running on windows
    
        $ docker checkpoint rm --help
        docker checkpoint rm is only supported on a Docker daemon running on linux, but the Docker daemon is running on windows
    
        $ docker container start --checkpoint=foo mycontainer
        "--checkpoint" requires the Docker daemon to run on linux, but the Docker daemon is running on windows
    
        $ docker container start --checkpoint-dir=/foo/bar mycontainer
        "--checkpoint-dir" requires the Docker daemon to run on linux, but the Docker daemon is running on windows
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed May 31, 2018
    Configuration menu
    Copy the full SHA
    1df6b68 View commit details
    Browse the repository at this point in the history
  2. YAML docs: add os_type property on flags and (sub)commands

    This patch adds an `os_type` property in the generated YAML docs, both for
    commands, and for flags;
    
    Note that the ostype annotation on flags can have multiple values set,
    however, multiple values are currently not used (and unlikely will).
    
    To simplify usage of the os_type property in the YAML, and for consistency with
    the same property for commands, we're only using the first ostype that's set.
    
    ```yaml
    command: docker checkpoint create
    short: Create a checkpoint from a running container
    long: Create a checkpoint from a running container
    usage: docker checkpoint create [OPTIONS] CONTAINER CHECKPOINT [flags]
    pname: docker checkpoint
    plink: docker_checkpoint.yaml
    options:
    - option: checkpoint-dir
      value_type: string
      description: Use a custom checkpoint storage directory
      deprecated: false
      experimental: false
      experimentalcli: false
      kubernetes: false
      swarm: false
    - option: leave-running
      value_type: bool
      default_value: "false"
      description: Leave the container running after checkpoint
      deprecated: false
      experimental: false
      experimentalcli: false
      kubernetes: false
      swarm: false
    deprecated: false
    min_api_version: "1.25"
    experimental: true
    experimentalcli: false
    kubernetes: false
    swarm: false
    os_type: windows
    ```
    
    ```yaml
    command: docker container start
    short: Start one or more stopped containers
    long: Start one or more stopped containers
    usage: docker container start [OPTIONS] CONTAINER [CONTAINER...] [flags]
    pname: docker container
    plink: docker_container.yaml
    options:
    - option: attach
      shorthand: a
      value_type: bool
      default_value: "false"
      description: Attach STDOUT/STDERR and forward signals
      deprecated: false
      experimental: false
      experimentalcli: false
      kubernetes: false
      swarm: false
    - option: checkpoint
      value_type: string
      description: Restore from this checkpoint
      deprecated: false
      experimental: true
      experimentalcli: false
      kubernetes: false
      swarm: false
      os_type: linux
    - option: checkpoint-dir
      value_type: string
      description: Use a custom checkpoint storage directory
      deprecated: false
      experimental: true
      experimentalcli: false
      kubernetes: false
      swarm: false
      os_type: linux
    - option: detach-keys
      value_type: string
      description: Override the key sequence for detaching a container
      deprecated: false
      experimental: false
      experimentalcli: false
      kubernetes: false
      swarm: false
    - option: interactive
      shorthand: i
      value_type: bool
      default_value: "false"
      description: Attach container's STDIN
      deprecated: false
      experimental: false
      experimentalcli: false
      kubernetes: false
      swarm: false
    deprecated: false
    experimental: false
    experimentalcli: false
    kubernetes: false
    swarm: false
    ```
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed May 31, 2018
    Configuration menu
    Copy the full SHA
    be035a0 View commit details
    Browse the repository at this point in the history