-
Bug
-
Resolution: Done-Errata
-
Normal
-
4.19
-
Quality / Stability / Reliability
-
False
-
-
None
-
Important
-
None
-
None
-
Approved
-
None
-
Done
-
Release Note Not Required
-
None
-
None
-
None
-
None
-
None
Description of problem:
IBM Cloud has a IBM Cloud CAPI argument for metrics-bind-addr, which it appears is being dropped in a future cluster-api release. Drop the argument now to account for when this argument is no longer available.
Version-Release number of selected component (if applicable):
4.19
How reproducible:
100%
Steps to Reproduce:
1. Update IBM Cloud CAPI and Cluster-API components (Cluster-API to 1.9.3) 2. Attempt to create cluster for IBM Cloud, using CAPI support
Actual results:
time="2025-01-24T20:50:00Z" level=info msg="Running process: ibmcloud infrastructure provider with args [--provider-id-fmt=v2 -v=2 --metrics-bind-addr=0 --health-addr=127.0.0.1:35849 --leader-elect=false --webhook-port=44443 --webhook-cert-dir=/tmp/envtest-serving-certs-3963032230 --namespace=openshift-cluster-api-guests --kubeconfig=/root/cluster-deploys/capi-drop-v1-1/.clusterapi_output/envtest.kubeconfig]" time="2025-01-24T20:50:00Z" level=debug msg="unknown flag: --metrics-bind-addr" time="2025-01-24T20:50:00Z" level=debug msg="Usage of cluster-deploys/capi-drop-v1-1/cluster-api/cluster-api-provider-ibmcloud:" time="2025-01-24T20:50:00Z" level=debug msg=" --add_dir_header If true, adds the file directory to the header of the log messages" time="2025-01-24T20:50:00Z" level=debug msg=" --alsologtostderr log to standard error as well as files (no effect when -logtostderr=true)" time="2025-01-24T20:50:00Z" level=debug msg=" --diagnostics-address string The address the diagnostics endpoint binds to. Per default metrics are served via https and withauthentication/authorization. To serve via http and without authentication/authorization set --insecure-diagnostics. If --insecure-diagnostics is not set the diagnostics endpoint also serves pprof endpoints and an endpoint to change the log level. (default \":8443\")" time="2025-01-24T20:50:00Z" level=debug msg=" --health-addr string The address the health endpoint binds to. (default \":9440\")" time="2025-01-24T20:50:00Z" level=debug msg=" --insecure-diagnostics Enable insecure diagnostics serving. For more details see the description of --diagnostics-address." time="2025-01-24T20:50:00Z" level=debug msg=" --kubeconfig string Paths to a kubeconfig. Only required if out-of-cluster." time="2025-01-24T20:50:00Z" level=debug msg=" --leader-elect Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager." time="2025-01-24T20:50:00Z" level=debug msg=" --log-flush-frequency duration Maximum number of seconds between log flushes (default 5s)" time="2025-01-24T20:50:00Z" level=debug msg=" --log-json-info-buffer-size quantity [Alpha] In JSON format with split output streams, the info messages can be buffered for a while to increase performance. The default value of zero bytes disables buffering. The size can be specified as number of bytes (512), multiples of 1000 (1K), multiples of 1024 (2Ki), or powers of those (3M, 4G, 5Mi, 6Gi). Enable the LoggingAlphaOptions feature gate to use this." time="2025-01-24T20:50:00Z" level=debug msg=" --log-json-split-stream [Alpha] In JSON format, write error messages to stderr and info messages to stdout. The default is to write a single stream to stdout. Enable the LoggingAlphaOptions feature gate to use this." time="2025-01-24T20:50:00Z" level=debug msg=" --log-text-info-buffer-size quantity [Alpha] In text format with split output streams, the info messages can be buffered for a while to increase performance. The default value of zero bytes disables buffering. The size can be specified as number of bytes (512), multiples of 1000 (1K), multiples of 1024 (2Ki), or powers of those (3M, 4G, 5Mi, 6Gi). Enable the LoggingAlphaOptions feature gate to use this." time="2025-01-24T20:50:00Z" level=debug msg=" --log-text-split-stream [Alpha] In text format, write error messages to stderr and info messages to stdout. The default is to write a single stream to stdout. Enable the LoggingAlphaOptions feature gate to use this." time="2025-01-24T20:50:00Z" level=debug msg=" --log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)" time="2025-01-24T20:50:00Z" level=debug msg=" --log_dir string If non-empty, write log files in this directory (no effect when -logtostderr=true)" time="2025-01-24T20:50:00Z" level=debug msg=" --log_file string If non-empty, use this log file (no effect when -logtostderr=true)" time="2025-01-24T20:50:00Z" level=debug msg=" --log_file_max_size uint 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)" time="2025-01-24T20:50:00Z" level=debug msg=" --logging-format string Sets the log format. Permitted formats: \"json\" (gated by LoggingBetaOptions), \"text\". (default \"text\")" time="2025-01-24T20:50:00Z" level=debug msg=" --logtostderr log to standard error instead of files (default true)" time="2025-01-24T20:50:00Z" level=debug msg=" --namespace string Namespace that the controller watches to reconcile cluster-api objects. If unspecified, the controller watches for cluster-api objects across all namespaces." time="2025-01-24T20:50:00Z" level=debug msg=" --one_output If true, only write logs to their native severity level (vs also writing to each lower severity level; no effect when -logtostderr=true)" time="2025-01-24T20:50:00Z" level=debug msg=" --provider-id-fmt string ProviderID format is used set the Provider ID format for Machine (default \"v2\")" time="2025-01-24T20:50:00Z" level=debug msg=" --service-endpoint string Set custom service endpoint in semi-colon separated format: ${ServiceRegion1}:${ServiceID1}=${URL1},${ServiceID2}=${URL2};${ServiceRegion2}:${ServiceID1}=${URL1}" time="2025-01-24T20:50:00Z" level=debug msg=" --skip_headers If true, avoid header prefixes in the log messages" time="2025-01-24T20:50:00Z" level=debug msg=" --skip_log_headers If true, avoid headers when opening log files (no effect when -logtostderr=true)" time="2025-01-24T20:50:00Z" level=debug msg=" --stderrthreshold severity 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)" time="2025-01-24T20:50:00Z" level=debug msg=" --sync-period duration The minimum interval at which watched resources are reconciled. (default 10m0s)" time="2025-01-24T20:50:00Z" level=debug msg=" --tls-cipher-suites strings Comma-separated list of cipher suites for the webhook server and metrics server (the latter only if --insecure-diagnostics is not set to true). If omitted, the default Go cipher suites will be used. " time="2025-01-24T20:50:00Z" level=debug msg=" Preferred values: TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256. " time="2025-01-24T20:50:00Z" level=debug msg=" Insecure values: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_RC4_128_SHA." time="2025-01-24T20:50:00Z" level=debug msg=" --tls-min-version string The minimum TLS version in use by the webhook server and metrics server (the latter only if --insecure-diagnostics is not set to true)." time="2025-01-24T20:50:00Z" level=debug msg=" Possible values are VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. (default \"VersionTLS12\")" time="2025-01-24T20:50:00Z" level=debug msg=" -v, --v Level number for the log level verbosity (default 0)" time="2025-01-24T20:50:00Z" level=debug msg=" --vmodule pattern=N,... comma-separated list of pattern=N settings for file-filtered logging (only works for text log format)" time="2025-01-24T20:50:00Z" level=debug msg=" --webhook-cert-dir string The webhook certificate directory, where the server should find the TLS certificate and key. (default \"/tmp/k8s-webhook-server/serving-certs/\")" time="2025-01-24T20:50:00Z" level=debug msg=" --webhook-port int The webhook server port the manager will listen on. (default 9443)" time="2025-01-24T20:50:00Z" level=debug msg="unknown flag: --metrics-bind-addr"
Expected results:
Successful cluster deployment using updated IBM Cloud CAPI
Additional info:
IBM Cloud CAPI needs to be updated to resolve known bugs. in the process of doing this, this requires updating Cluster-API to 1.9.3 https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/commit/ffa141c7edd53a58396403b7c0e3995c91580161 However, this appears to cause issues with the current IBM Cloud CAPI arguments within IPI, metrics-bind-addr. IBM Cloud is working on a patch to drop that argument, to allow for updating IBM Cloud CAPI to a newer level for bug fixes.
- links to
-
RHEA-2024:11038 OpenShift Container Platform 4.19.z bug fix update