Bug 1709239 - Remove gitrepo volume from CLI examples as it is not supported
Summary: Remove gitrepo volume from CLI examples as it is not supported
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: oc
Version: 4.1.0
Hardware: Unspecified
OS: Unspecified
medium
low
Target Milestone: ---
: 4.2.0
Assignee: Sally
QA Contact: zhou ying
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-05-13 09:05 UTC by Liang Xia
Modified: 2019-10-16 06:28 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-10-16 06:28:42 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift oc pull 75 0 None None None 2019-08-28 17:07:31 UTC
Red Hat Product Errata RHBA-2019:2922 0 None None None 2019-10-16 06:28:57 UTC

Description Liang Xia 2019-05-13 09:05:55 UTC
Description of problem:
Gitrepo volume is not supported since 3.11 (https://bugzilla.redhat.com/show_bug.cgi?id=1613677#c5),
should remove them from CLI examples.

Version-Release number of selected component (if applicable):
Client Version: version.Info{Major:"4", Minor:"1+", GitVersion:"v4.1.0", GitCommit:"2d35f238a", GitTreeState:"clean", BuildDate:"2019-05-12T19:46:37Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
openshift-clients-4.1.0-201905121530.git.0.2d35f23.el7.x86_64

How reproducible:
Always

Steps to Reproduce:
1. $ oc set volumes --help


Actual results:
$ oc set volumes --help
Update volumes on a pod template

 This command can add, update or remove volumes from containers for any object that has a pod template (deployment
configs, replication controllers, or pods). You can list volumes in pod or any object that has a pod template. You can
specify a single object or multiple, and alter volumes on all containers or just those that match a given name.

 If you alter a volume setting on a deployment config, a deployment will be triggered. Changing a replication controller
will not affect running pods, and you cannot change a pod's volumes once it has been created.

 Volume types include:

  *  emptydir (empty directory) default : A directory allocated when the pod is created on a local host, is removed when
the pod is deleted and is not copied across servers
  *  hostdir (host directory): A directory with specific path on any host (requires elevated privileges)
  *  persistentvolumeclaim or pvc (persistent volume claim): Link the volume directory in the container to a persistent
volume claim you have allocated by name - a persistent volume claim is a request to allocate storage. Note that if your
claim hasn't been bound, your pods will not start.
  *  secret (mounted secret): Secret volumes mount a named secret to the provided directory.

 For descriptions on other volume types, see https://docs.openshift.com

Aliases:
volumes, volume

Usage:
  oc set volumes RESOURCE/NAME --add|--remove|--list [flags]

Examples:
  # List volumes defined on all deployment configs in the current project
  oc set volume dc --all
  
  # Add a new empty dir volume to deployment config (dc) 'registry' mounted under
  # /var/lib/registry
  oc set volume dc/registry --add --mount-path=/var/lib/registry
  
  # Use an existing persistent volume claim (pvc) to overwrite an existing volume 'v1'
  oc set volume dc/registry --add --name=v1 -t pvc --claim-name=pvc1 --overwrite
  
  # Remove volume 'v1' from deployment config 'registry'
  oc set volume dc/registry --remove --name=v1
  
  # Create a new persistent volume claim that overwrites an existing volume 'v1'
  oc set volume dc/registry --add --name=v1 -t pvc --claim-size=1G --overwrite
  
  # Change the mount point for volume 'v1' to /data
  oc set volume dc/registry --add --name=v1 -m /data --overwrite
  
  # Modify the deployment config by removing volume mount "v1" from container "c1"
  # (and by removing the volume "v1" if no other containers have volume mounts that reference it)
  oc set volume dc/registry --remove --name=v1 --containers=c1
  
  # Add new volume based on a more complex volume source (Git repo, AWS EBS, GCE PD,
  # Ceph, Gluster, NFS, ISCSI, ...)
  oc set volume dc/registry --add -m /repo --source=<json-string>

Options:
      --add=false: If true, add volume and/or volume mounts for containers
      --all=false: If true, select all resources in the namespace of the specified resource types
      --allow-missing-template-keys=true: If true, ignore any errors in templates when a field or map key is missing in
the template. Only applies to golang and jsonpath output formats.
      --claim-class='': StorageClass to use for the persistent volume claim
      --claim-mode='ReadWriteOnce': Set the access mode of the claim to be created. Valid values are ReadWriteOnce
(rwo), ReadWriteMany (rwm), or ReadOnlyMany (rom)
      --claim-name='': Persistent volume claim name. Must be provided for persistentVolumeClaim volume type
      --claim-size='': If specified along with a persistent volume type, create a new claim with the given size in
bytes. Accepts SI notation: 10, 10G, 10Gi
      --configmap-name='': Name of the persisted config map. Must be provided for configmap volume type
      --confirm=false: If true, confirm that you really want to remove multiple volumes
  -c, --containers='*': The names of containers in the selected pod templates to change - may use wildcards
      --default-mode='': The default mode bits to create files with. Can be between 0000 and 0777. Defaults to 0644.
      --dry-run=false: If true, only print the object that would be sent, without sending it.
  -f, --filename=[]: Filename, directory, or URL to files to use to edit the resource
      --local=false: If true, set image will NOT contact api-server but run locally.
  -m, --mount-path='': Mount path inside the container. Optional param for --add or --remove
      --name='': Name of the volume. If empty, auto generated for add operation
  -o, --output='': Output format. One of:
json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.
      --overwrite=false: If true, replace existing volume source with the provided name and/or volume mount for the
given resource
      --path='': Host path. Must be provided for hostPath volume type
      --read-only=false: Mount volume as ReadOnly. Optional param for --add or --remove
  -R, --recursive=false: Process the directory used in -f, --filename recursively. Useful when you want to manage
related manifests organized within the same directory.
      --remove=false: If true, remove volume and/or volume mounts for containers
      --secret-name='': Name of the persisted secret. Must be provided for secret volume type
  -l, --selector='': Selector (label query) to filter on
      --source='': Details of volume source as json string. This can be used if the required volume type is not
supported by --type option. (e.g.: '{"gitRepo": {"repository": <git-url>, "revision": <commit-hash>}}')
      --sub-path='': Path within the local volume from which the container's volume should be mounted. Optional param
for --add or --remove
      --template='': Template string or path to template file to use when -o=go-template, -o=go-template-file. The
template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
  -t, --type='': Type of the volume source for add operation. Supported options: emptyDir, hostPath, secret, configmap,
persistentVolumeClaim

Use "oc options" for a list of global command-line options (applies to all commands).



Expected results:
Examples using gitrepo should be removed.


Additional info:
https://bugzilla.redhat.com/show_bug.cgi?id=1613677#c5

Comment 1 Maciej Szulik 2019-05-13 09:54:27 UTC
Minor issue, not blocking 4.1, I'm moving this to 4.2

Comment 3 zhou ying 2019-09-09 02:38:32 UTC
Confirmed with latest oc client, the issue has fixed:
[root@dhcp-140-138 ~]# oc version
Client Version: v4.2.0

[root@dhcp-140-138 ~]# oc set volumes --help
Update volumes on a pod template

 This command can add, update or remove volumes from containers for any object that has a pod template (deployment
configs, replication controllers, or pods). You can list volumes in pod or any object that has a pod template. You can
specify a single object or multiple, and alter volumes on all containers or just those that match a given name.

 If you alter a volume setting on a deployment config, a deployment will be triggered. Changing a replication controller
will not affect running pods, and you cannot change a pod's volumes once it has been created.

 Volume types include:

  *  emptydir (empty directory) default : A directory allocated when the pod is created on a local host, is removed when
the pod is deleted and is not copied across servers
  *  hostdir (host directory): A directory with specific path on any host (requires elevated privileges)
  *  persistentvolumeclaim or pvc (persistent volume claim): Link the volume directory in the container to a persistent
volume claim you have allocated by name - a persistent volume claim is a request to allocate storage. Note that if your
claim hasn't been bound, your pods will not start.
  *  secret (mounted secret): Secret volumes mount a named secret to the provided directory.

 For descriptions on other volume types, see https://docs.openshift.com

Aliases:
volumes, volume

Usage:
  oc set volumes RESOURCE/NAME --add|--remove|--list [flags]

Examples:
  # List volumes defined on all deployment configs in the current project
  oc set volume dc --all
  
  # Add a new empty dir volume to deployment config (dc) 'myapp' mounted under
  # /var/lib/myapp
  oc set volume dc/myapp --add --mount-path=/var/lib/myapp
  
  # Use an existing persistent volume claim (pvc) to overwrite an existing volume 'v1'
  oc set volume dc/myapp --add --name=v1 -t pvc --claim-name=pvc1 --overwrite
  
  # Remove volume 'v1' from deployment config 'myapp'
  oc set volume dc/myapp --remove --name=v1
  
  # Create a new persistent volume claim that overwrites an existing volume 'v1'
  oc set volume dc/myapp --add --name=v1 -t pvc --claim-size=1G --overwrite
  
  # Change the mount point for volume 'v1' to /data
  oc set volume dc/myapp --add --name=v1 -m /data --overwrite
  
  # Modify the deployment config by removing volume mount "v1" from container "c1"
  # (and by removing the volume "v1" if no other containers have volume mounts that reference it)
  oc set volume dc/myapp --remove --name=v1 --containers=c1
  
  # Add new volume based on a more complex volume source (AWS EBS, GCE PD,
  # Ceph, Gluster, NFS, ISCSI, ...)
  oc set volume dc/myapp --add -m /data --source=<json-string>

Options:
      --add=false: If true, add volume and/or volume mounts for containers
      --all=false: If true, select all resources in the namespace of the specified resource types
      --allow-missing-template-keys=true: If true, ignore any errors in templates when a field or map key is missing in
the template. Only applies to golang and jsonpath output formats.
      --claim-class='': StorageClass to use for the persistent volume claim
      --claim-mode='ReadWriteOnce': Set the access mode of the claim to be created. Valid values are ReadWriteOnce
(rwo), ReadWriteMany (rwm), or ReadOnlyMany (rom)
      --claim-name='': Persistent volume claim name. Must be provided for persistentVolumeClaim volume type
      --claim-size='': If specified along with a persistent volume type, create a new claim with the given size in
bytes. Accepts SI notation: 10, 10G, 10Gi
      --configmap-name='': Name of the persisted config map. Must be provided for configmap volume type
      --confirm=false: If true, confirm that you really want to remove multiple volumes
  -c, --containers='*': The names of containers in the selected pod templates to change - may use wildcards
      --default-mode='': The default mode bits to create files with. Can be between 0000 and 0777. Defaults to 0644.
      --dry-run=false: If true, only print the object that would be sent, without sending it.
  -f, --filename=[]: Filename, directory, or URL to files to use to edit the resource
  -k, --kustomize='': Process the kustomization directory. This flag can't be used together with -f or -R.
      --local=false: If true, set image will NOT contact api-server but run locally.
  -m, --mount-path='': Mount path inside the container. Optional param for --add or --remove
      --name='': Name of the volume. If empty, auto generated for add operation
  -o, --output='': Output format. One of:
json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-file.
      --overwrite=false: If true, replace existing volume source with the provided name and/or volume mount for the
given resource
      --path='': Host path. Must be provided for hostPath volume type
      --read-only=false: Mount volume as ReadOnly. Optional param for --add or --remove
  -R, --recursive=false: Process the directory used in -f, --filename recursively. Useful when you want to manage
related manifests organized within the same directory.
      --remove=false: If true, remove volume and/or volume mounts for containers
      --secret-name='': Name of the persisted secret. Must be provided for secret volume type
  -l, --selector='': Selector (label query) to filter on
      --source='': Details of volume source as json string. This can be used if the required volume type is not
supported by --type option. (e.g.: '{"nfs": {"path": "/tmp","server":"172.17.0.2"}}')
      --sub-path='': Path within the local volume from which the container's volume should be mounted. Optional param
for --add or --remove
      --template='': Template string or path to template file to use when -o=go-template, -o=go-template-file. The
template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].
  -t, --type='': Type of the volume source for add operation. Supported options: emptyDir, hostPath, secret, configmap,
persistentVolumeClaim

Comment 4 errata-xmlrpc 2019-10-16 06:28:42 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2019:2922


Note You need to log in before you can comment on or make changes to this bug.