Skip to content

Bug flag provided but not defined (csi-snapshotter v8.2.0 + rook 1.16.0) #15219

Open
@warstrolo

Description

** Bug Report **

Container csi-snapshotter keep crashing

Expected behavior:

It should not

How to reproduce it (minimal and precise):
Install rook v1.16.0
Define external cluster
=> two deployment using csi-snapshoter v8.2.0 fails.

Logs to submit:

flag provided but not defined: -enable-volume-group-snapshots 2024-12-23T16:30:54.823755853+01:00 Usage of /csi-snapshotter: 2024-12-23T16:30:54.823760058+01:00 -add_dir_header 2024-12-23T16:30:54.823762755+01:00 If true, adds the file directory to the header of the log messages 2024-12-23T16:30:54.823764924+01:00 -alsologtostderr 2024-12-23T16:30:54.823767013+01:00 log to standard error as well as files (no effect when -logtostderr=true) 2024-12-23T16:30:54.823769050+01:00 -csi-address string 2024-12-23T16:30:54.823771084+01:00 Address of the CSI driver socket. (default "/run/csi/socket") 2024-12-23T16:30:54.823773138+01:00 -extra-create-metadata 2024-12-23T16:30:54.823775201+01:00 If set, add snapshot metadata to plugin snapshot requests as parameters. 2024-12-23T16:30:54.823777219+01:00 -feature-gates value 2024-12-23T16:30:54.823779297+01:00 Comma-seprated list of key=value pairs that describe feature gates for alpha/experimental features. Options are: 2024-12-23T16:30:54.823785688+01:00 AllAlpha=true\|false (ALPHA - default=false) 2024-12-23T16:30:54.823787731+01:00 AllBeta=true\|false (BETA - default=false) 2024-12-23T16:30:54.823789725+01:00 CSIVolumeGroupSnapshot=true\|false (BETA - default=false) 2024-12-23T16:30:54.823791749+01:00 -groupsnapshot-name-prefix string 2024-12-23T16:30:54.823794217+01:00 Prefix to apply to the name of a created group snapshot (default "groupsnapshot") 2024-12-23T16:30:54.823796245+01:00 -groupsnapshot-name-uuid-length int 2024-12-23T16:30:54.823801303+01:00 Length in characters for the generated uuid of a created group snapshot. Defaults behavior is to NOT truncate. (default -1) 2024-12-23T16:30:54.823803547+01:00 -http-endpoint :8080 2024-12-23T16:30:54.823805830+01:00 The TCP network address where the HTTP server for diagnostics, including metrics and leader election health check, will listen (example: :8080). The default is empty string, which means the server is disabl
--
  | ed. Only one of `--metrics-address` and `--http-endpoint` can be set. 2024-12-23T16:30:54.823808659+01:00 -kube-api-burst int 2024-12-23T16:30:54.823810861+01:00 Burst to use while communicating with the kubernetes apiserver. Defaults to 10. (default 10) 2024-12-23T16:30:54.823812890+01:00 -kube-api-qps float
Mon, Dec 23 2024 4:30:54 pm | QPS to use while communicating with the kubernetes apiserver. Defaults to 5.0. (default 5)
Mon, Dec 23 2024 4:30:54 pm | -kubeconfig string 2024-12-23T16:30:54.823819010+01:00 Absolute path to the kubeconfig file. Required only when running out of cluster. 2024-12-23T16:30:54.823821114+01:00 -leader-election 2024-12-23T16:30:54.823823157+01:00 Enables leader election. 2024-12-23T16:30:54.823825170+01:00 -leader-election-lease-duration duration 2024-12-23T16:30:54.823827507+01:00 Duration, in seconds, that non-leader candidates will wait to force acquire leadership. Defaults to 15 seconds. (default 15s) 2024-12-23T16:30:54.823829580+01:00 -leader-election-namespace string 2024-12-23T16:30:54.823831629+01:00 The namespace where the leader election resource exists. Defaults to the pod namespace if not set. 2024-12-23T16:30:54.823833691+01:00 -leader-election-renew-deadline duration 2024-12-23T16:30:54.823835730+01:00 Duration, in seconds, that the acting leader will retry refreshing leadership before giving up. Defaults to 10 seconds. (default 10s) 2024-12-23T16:30:54.823837831+01:00 -leader-election-retry-period duration 2024-12-23T16:30:54.823839895+01:00 Duration, in seconds, the LeaderElector clients should wait between tries of actions. Defaults to 5 seconds. (default 5s) 2024-12-23T16:30:54.823856198+01:00 -log_backtrace_at value 2024-12-23T16:30:54.823986406+01:00 when logging hits line file:N, emit a stack trace 2024-12-23T16:30:54.823996492+01:00 -log_dir string 2024-12-23T16:30:54.824003434+01:00 If non-empty, write log files in this directory (no effect when -logtostderr=true) 2024-12-23T16:30:54.824006877+01:00 -log_file string 2024-12-23T16:30:54.824010974+01:00 If non-empty, use this log file (no effect when -logtostderr=true) 2024-12-23T16:30:54.824014404+01:00 -log_file_max_size uint 2024-12-23T16:30:54.824018057+01:00 Defines the maximum size a log file can grow to (no effect when -logtostderr=true). Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800) 2024-12-23T16:30:54.824021
  | 419+01:00 -logtostderr 2024-12-23T16:30:54.824024843+01:00 log to standard error instead of files (default true) 2024-12-23T16:30:54.824028104+01:00 -metrics-address :8080 2024-12-23T16:30:54.824031668+01:00 (deprecated) The TCP network address where the prometheus metrics endpoint will listen (example: :8080). The default is empty string, which means metrics endpoint is disabled. Only one of `--metrics-address` and `--http-endpoint` can be set.
Mon, Dec 23 2024 4:30:54 pm | -metrics-path /metrics
Mon, Dec 23 2024 4:30:54 pm | The HTTP path where prometheus metrics will be exposed. Default is /metrics. (default "/metrics") 2024-12-23T16:30:54.824059871+01:00 -node-deployment
Mon, Dec 23 2024 4:30:54 pm | Enables deploying the sidecar controller together with a CSI driver on nodes to manage snapshots for node-local volumes. 2024-12-23T16:30:54.824069145+01:00 -one_output 2024-12-23T16:30:54.824073182+01:00 If true, only write logs to their native severity level (vs also writing to each lower severity level; no effect when -logtostderr=true) 2024-12-23T16:30:54.824076529+01:00 -resync-period duration 2024-12-23T16:30:54.824079782+01:00 Resync interval of the controller. Default is 15 minutes (default 15m0s) 2024-12-23T16:30:54.824083185+01:00 -retry-interval-max duration 2024-12-23T16:30:54.824087218+01:00 Maximum retry interval of failed volume snapshot creation or deletion. Default is 5 minutes. (default 5m0s) 2024-12-23T16:30:54.824090568+01:00 -retry-interval-start duration 2024-12-23T16:30:54.824096451+01:00 Initial retry interval of failed volume snapshot creation or deletion. It doubles with each failure, up to retry-interval-max. Default is 1 second. (default 1s) 2024-12-23T16:30:54.824099891+01:00 -skip_headers 2024-12-23T16:30:54.824103387+01:00 If true, avoid header prefixes in the log messages 2024-12-23T16:30:54.824106521+01:00 -skip_log_headers 2024-12-23T16:30:54.824109772+01:00 If true, avoid headers when opening log files (no effect when -logtostderr=true) 2024-12-23T16:30:54.824113575+01:00 -snapshot-name-prefix string 2024-12-23T16:30:54.824116942+01:00 Prefix to apply to the name of a created snapshot (default "snapshot") 2024-12-23T16:30:54.824120241+01:00 -snapshot-name-uuid-length int 2024-12-23T16:30:54.824123562+01:00 Length in characters for the generated uuid of a created snapshot. Defaults behavior is to NOT truncate. (default -1)
Mon, Dec 23 2024 4:30:54 pm | -stderrthreshold value 2024-12-23T16:30:54.824130505+01:00 logs at or above this threshold go to stderr when writing to files and stderr (no effect when -logtostderr=true or -alsologtostderr=true) (default 2)
Mon, Dec 23 2024 4:30:54 pm | -timeout duration 2024-12-23T16:30:54.824137105+01:00 The timeout for any RPCs to the CSI driver. Default is 1 minute. (default 1m0s) 2024-12-23T16:30:54.824140446+01:00 -v value 2024-12-23T16:30:54.824144138+01:00 number for the log level verbosity 2024-12-23T16:30:54.824155403+01:00 -version
Mon, Dec 23 2024 4:30:54 pm | Show version. 2024-12-23T16:30:54.824162281+01:00 -vmodule value 2024-12-23T16:30:54.824165653+01:00 comma-separated list of pattern=N settings for file-filtered logging 2024-12-23T16:30:54.824168914+01:00 -worker-threads int 2024-12-23T16:30:54.824172249+01:00 Number of worker threads. (default 10)

kubernetes-csi/external-snapshotter#1194

If I'm reading this right the feature on v8.2.0 was moved from --enable-volume-group-snapshots to feature-gate to --feature-gates=CSIVolumeGroupSnapshot=true

So to fix this atm you have to edit the deployment to change the option on the csi-snapshotter

Environment:

  • Rook version (use rook version inside of a Rook Pod): v1.16.0 - latest charts
  • Storage backend version (e.g. for ceph do ceph -v): N/A
  • Kubernetes version (use kubectl version): v1.28
  • Kubernetes cluster type (e.g. Tectonic, GKE, OpenShift): Rancher Governement

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions