2026/04/03 05:20:06 maxprocs: Updating GOMAXPROCS=1: determined from CPU quota 2026-04-03 05:20:06.096733 I | rookcmd: starting Rook v1.14.5 with arguments '/usr/local/bin/rook ceph operator' 2026-04-03 05:20:06.096770 I | rookcmd: flag values: --enable-machine-disruption-budget=false, --help=false, --kubeconfig=, --log-level=INFO 2026-04-03 05:20:06.096772 I | cephcmd: starting Rook-Ceph operator 2026-04-03 05:20:06.218352 I | cephcmd: base ceph version inside the rook operator image is "ceph version 18.2.2 (531c0d11a1c5d39fbfe6aa8a521f023abf3bf3e2) reef (stable)" 2026-04-03 05:20:06.226269 I | op-k8sutil: ROOK_CURRENT_NAMESPACE_ONLY="false" (env var) 2026-04-03 05:20:06.226332 I | operator: watching all namespaces for Ceph CRs 2026-04-03 05:20:06.226474 I | operator: setting up schemes 2026-04-03 05:20:06.229849 I | operator: setting up the controller-runtime manager 2026-04-03 05:20:06.230400 I | ceph-cluster-controller: successfully started 2026-04-03 05:20:06.232674 I | op-k8sutil: ROOK_DISABLE_DEVICE_HOTPLUG="false" (env var) 2026-04-03 05:20:06.232687 I | ceph-cluster-controller: enabling hotplug orchestration 2026-04-03 05:20:06.232701 I | ceph-nodedaemon-controller: successfully started 2026-04-03 05:20:06.232713 I | ceph-block-pool-controller: successfully started 2026-04-03 05:20:06.232730 I | ceph-object-store-user-controller: successfully started 2026-04-03 05:20:06.232745 I | ceph-object-realm-controller: successfully started 2026-04-03 05:20:06.232763 I | ceph-object-zonegroup-controller: successfully started 2026-04-03 05:20:06.232773 I | ceph-object-zone-controller: successfully started 2026-04-03 05:20:06.232862 I | ceph-object-controller: successfully started 2026-04-03 05:20:06.232887 I | ceph-file-controller: successfully started 2026-04-03 05:20:06.232905 I | ceph-nfs-controller: successfully started 2026-04-03 05:20:06.232928 I | ceph-rbd-mirror-controller: successfully started 2026-04-03 05:20:06.232948 I | ceph-client-controller: successfully started 2026-04-03 05:20:06.232959 I | ceph-filesystem-mirror-controller: successfully started 2026-04-03 05:20:06.232972 I | operator: rook-ceph-operator-config-controller successfully started 2026-04-03 05:20:06.232986 I | ceph-csi: rook-ceph-operator-csi-controller successfully started 2026-04-03 05:20:06.233055 I | op-bucket-prov: rook-ceph-operator-bucket-controller successfully started 2026-04-03 05:20:06.233069 I | ceph-bucket-topic: successfully started 2026-04-03 05:20:06.233078 I | ceph-bucket-notification: successfully started 2026-04-03 05:20:06.233094 I | ceph-bucket-notification: successfully started 2026-04-03 05:20:06.233102 I | ceph-fs-subvolumegroup-controller: successfully started 2026-04-03 05:20:06.233108 I | blockpool-rados-namespace-controller: successfully started 2026-04-03 05:20:06.233115 I | ceph-cosi-controller: successfully started 2026-04-03 05:20:06.233131 I | operator: starting the controller-runtime manager 2026-04-03 05:20:06.368685 I | op-k8sutil: ROOK_WATCH_FOR_NODE_FAILURE="true" (default) 2026-04-03 05:20:06.641852 I | op-k8sutil: ROOK_CEPH_COMMANDS_TIMEOUT_SECONDS="15" (configmap) 2026-04-03 05:20:06.641883 I | op-k8sutil: ROOK_LOG_LEVEL="INFO" (configmap) 2026-04-03 05:20:06.641906 I | op-k8sutil: ROOK_ENABLE_DISCOVERY_DAEMON="false" (configmap) 2026-04-03 05:20:06.644566 I | op-k8sutil: ROOK_CEPH_ALLOW_LOOP_DEVICES="false" (configmap) 2026-04-03 05:20:06.644590 I | operator: rook-ceph-operator-config-controller done reconciling 2026-04-03 05:20:06.704928 I | ceph-csi: successfully created csi config map "rook-ceph-csi-config" 2026-04-03 05:20:06.704984 I | op-k8sutil: ROOK_CSI_DISABLE_DRIVER="false" (configmap) 2026-04-03 05:20:06.705830 I | ceph-csi: CSI Ceph RBD driver disabled 2026-04-03 05:20:06.705852 I | op-k8sutil: removing daemonset csi-rbdplugin if it exists 2026-04-03 05:20:06.710599 I | op-k8sutil: removing deployment csi-rbdplugin-provisioner if it exists 2026-04-03 05:20:06.716938 I | ceph-csi: successfully removed CSI Ceph RBD driver 2026-04-03 05:20:06.716952 I | ceph-csi: CSI CephFS driver disabled 2026-04-03 05:20:06.716956 I | op-k8sutil: removing daemonset csi-cephfsplugin if it exists 2026-04-03 05:20:06.718886 I | op-k8sutil: removing deployment csi-cephfsplugin-provisioner if it exists 2026-04-03 05:20:06.724224 I | ceph-csi: successfully removed CSI CephFS driver 2026-04-03 05:20:06.724243 I | ceph-csi: CSI NFS driver disabled 2026-04-03 05:20:06.724250 I | op-k8sutil: removing daemonset csi-nfsplugin if it exists 2026-04-03 05:20:06.725908 I | op-k8sutil: removing deployment csi-nfsplugin-provisioner if it exists 2026-04-03 05:20:06.731109 I | ceph-csi: successfully removed CSI NFS driver 2026-04-03 05:20:27.006061 I | ceph-spec: adding finalizer "cephcluster.ceph.rook.io" on "ceph" 2026-04-03 05:20:27.010957 I | ceph-spec: adding finalizer "cephobjectstore.ceph.rook.io" on "ceph" 2026-04-03 05:20:27.013027 I | clusterdisruption-controller: deleted all legacy node drain canary pods 2026-04-03 05:20:27.022748 I | ceph-cluster-controller: reconciling ceph cluster in namespace "openstack" 2026-04-03 05:20:27.023325 I | ceph-spec: parsing mon endpoints: instance=10.96.240.200:6789 2026-04-03 05:20:27.023339 I | ceph-spec: updating obsolete maxMonID 0 to actual value 76846025234 2026-04-03 05:20:27.023489 I | op-k8sutil: ROOK_OBC_WATCH_OPERATOR_NAMESPACE="true" (configmap) 2026-04-03 05:20:27.023500 I | op-k8sutil: ROOK_OBC_PROVISIONER_NAME_PREFIX="" (default) 2026-04-03 05:20:27.023505 I | op-bucket-prov: ceph bucket provisioner launched watching for provisioner "openstack.ceph.rook.io/bucket" 2026-04-03 05:20:27.024089 I | op-bucket-prov: successfully reconciled bucket provisioner I0403 05:20:27.024357 1 manager.go:135] "msg"="starting provisioner" "logger"="objectbucket.io/provisioner-manager" "name"="openstack.ceph.rook.io/bucket" 2026-04-03 05:20:27.048546 I | ceph-spec: parsing mon endpoints: instance=10.96.240.200:6789 2026-04-03 05:20:27.048575 I | ceph-spec: updating obsolete maxMonID 0 to actual value 76846025234 2026-04-03 05:20:27.048595 I | ceph-spec: found the cluster info to connect to the external cluster. will use "client.admin" to check health and monitor status. mons=map[instance:0xc001926000] 2026-04-03 05:20:27.048615 I | ceph-spec: detecting the ceph image version for image harbor.atmosphere.dev/quay.io/ceph/ceph:v18.2.7... 2026-04-03 05:20:27.049970 I | op-k8sutil: CSI_ENABLE_HOST_NETWORK="true" (configmap) 2026-04-03 05:20:27.049985 I | op-k8sutil: CSI_DISABLE_HOLDER_PODS="true" (configmap) 2026-04-03 05:20:27.808712 I | ceph-spec: parsing mon endpoints: instance=10.96.240.200:6789 2026-04-03 05:20:27.808740 I | ceph-spec: updating obsolete maxMonID 0 to actual value 76846025234 2026-04-03 05:20:28.010736 I | op-k8sutil: ROOK_CSI_ENABLE_RBD="false" (configmap) 2026-04-03 05:20:28.010757 I | op-k8sutil: ROOK_CSI_ENABLE_CEPHFS="false" (configmap) 2026-04-03 05:20:28.010761 I | op-k8sutil: ROOK_CSI_ENABLE_NFS="false" (configmap) 2026-04-03 05:20:28.010765 I | op-k8sutil: ROOK_CSI_ALLOW_UNSUPPORTED_VERSION="false" (default) 2026-04-03 05:20:28.010769 I | op-k8sutil: CSI_FORCE_CEPHFS_KERNEL_CLIENT="true" (configmap) 2026-04-03 05:20:28.010772 I | op-k8sutil: CSI_GRPC_TIMEOUT_SECONDS="150" (configmap) 2026-04-03 05:20:28.010777 I | op-k8sutil: CSI_CEPHFS_LIVENESS_METRICS_PORT="9081" (default) 2026-04-03 05:20:28.010780 I | op-k8sutil: CSIADDONS_PORT="9070" (default) 2026-04-03 05:20:28.010784 I | op-k8sutil: CSI_RBD_LIVENESS_METRICS_PORT="9080" (default) 2026-04-03 05:20:28.010787 I | op-k8sutil: CSI_ENABLE_LIVENESS="false" (default) 2026-04-03 05:20:28.010790 I | op-k8sutil: CSI_PLUGIN_PRIORITY_CLASSNAME="system-node-critical" (configmap) 2026-04-03 05:20:28.010794 I | op-k8sutil: CSI_PROVISIONER_PRIORITY_CLASSNAME="system-cluster-critical" (configmap) 2026-04-03 05:20:28.010799 I | op-k8sutil: CSI_ENABLE_OMAP_GENERATOR="false" (configmap) 2026-04-03 05:20:28.010803 I | op-k8sutil: CSI_ENABLE_RBD_SNAPSHOTTER="true" (configmap) 2026-04-03 05:20:28.010806 I | op-k8sutil: CSI_ENABLE_CEPHFS_SNAPSHOTTER="true" (configmap) 2026-04-03 05:20:28.010809 I | op-k8sutil: CSI_ENABLE_NFS_SNAPSHOTTER="true" (configmap) 2026-04-03 05:20:28.014481 I | op-k8sutil: CSI_ENABLE_CSIADDONS="false" (configmap) 2026-04-03 05:20:28.014493 I | op-k8sutil: CSI_ENABLE_TOPOLOGY="false" (configmap) 2026-04-03 05:20:28.014497 I | op-k8sutil: CSI_ENABLE_ENCRYPTION="false" (configmap) 2026-04-03 05:20:28.014500 I | op-k8sutil: CSI_ENABLE_METADATA="false" (configmap) 2026-04-03 05:20:28.014504 I | op-k8sutil: CSI_CEPHFS_PLUGIN_UPDATE_STRATEGY="RollingUpdate" (default) 2026-04-03 05:20:28.014507 I | op-k8sutil: CSI_CEPHFS_PLUGIN_UPDATE_STRATEGY_MAX_UNAVAILABLE="1" (default) 2026-04-03 05:20:28.014510 I | op-k8sutil: CSI_NFS_PLUGIN_UPDATE_STRATEGY="RollingUpdate" (default) 2026-04-03 05:20:28.014514 I | op-k8sutil: CSI_RBD_PLUGIN_UPDATE_STRATEGY="RollingUpdate" (default) 2026-04-03 05:20:28.014517 I | op-k8sutil: CSI_RBD_PLUGIN_UPDATE_STRATEGY_MAX_UNAVAILABLE="1" (default) 2026-04-03 05:20:28.014520 I | op-k8sutil: CSI_PLUGIN_ENABLE_SELINUX_HOST_MOUNT="false" (configmap) 2026-04-03 05:20:28.014522 I | ceph-csi: Kubernetes version is 1.28 2026-04-03 05:20:28.014525 I | op-k8sutil: CSI_LOG_LEVEL="" (default) 2026-04-03 05:20:28.014528 I | op-k8sutil: CSI_SIDECAR_LOG_LEVEL="" (default) 2026-04-03 05:20:28.014531 I | op-k8sutil: CSI_LEADER_ELECTION_LEASE_DURATION="" (default) 2026-04-03 05:20:28.014533 I | op-k8sutil: CSI_LEADER_ELECTION_RENEW_DEADLINE="" (default) 2026-04-03 05:20:28.014536 I | op-k8sutil: CSI_LEADER_ELECTION_RETRY_PERIOD="" (default) 2026-04-03 05:20:28.219678 I | op-k8sutil: ROOK_CSI_CEPH_IMAGE="quay.io/cephcsi/cephcsi:v3.11.0" (configmap) 2026-04-03 05:20:28.219867 I | op-k8sutil: ROOK_CSI_REGISTRAR_IMAGE="registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.1" (configmap) 2026-04-03 05:20:28.219901 I | op-k8sutil: ROOK_CSI_PROVISIONER_IMAGE="registry.k8s.io/sig-storage/csi-provisioner:v4.0.1" (configmap) 2026-04-03 05:20:28.219921 I | op-k8sutil: ROOK_CSI_ATTACHER_IMAGE="registry.k8s.io/sig-storage/csi-attacher:v4.5.1" (configmap) 2026-04-03 05:20:28.219944 I | op-k8sutil: ROOK_CSI_SNAPSHOTTER_IMAGE="registry.k8s.io/sig-storage/csi-snapshotter:v7.0.2" (configmap) 2026-04-03 05:20:28.219979 I | op-k8sutil: ROOK_CSI_RESIZER_IMAGE="registry.k8s.io/sig-storage/csi-resizer:v1.10.1" (configmap) 2026-04-03 05:20:28.220012 I | op-k8sutil: ROOK_CSI_KUBELET_DIR_PATH="/var/lib/kubelet" (default) 2026-04-03 05:20:28.220034 I | op-k8sutil: ROOK_CSIADDONS_IMAGE="quay.io/csiaddons/k8s-sidecar:v0.8.0" (configmap) 2026-04-03 05:20:28.220059 I | op-k8sutil: CSI_TOPOLOGY_DOMAIN_LABELS="" (default) 2026-04-03 05:20:28.220080 I | op-k8sutil: ROOK_CSI_CEPHFS_POD_LABELS="" (default) 2026-04-03 05:20:28.220104 I | op-k8sutil: ROOK_CSI_NFS_POD_LABELS="" (default) 2026-04-03 05:20:28.220120 I | op-k8sutil: ROOK_CSI_RBD_POD_LABELS="" (default) 2026-04-03 05:20:28.220144 I | op-k8sutil: CSI_CLUSTER_NAME="" (default) 2026-04-03 05:20:28.220167 I | op-k8sutil: ROOK_CSI_IMAGE_PULL_POLICY="IfNotPresent" (configmap) 2026-04-03 05:20:28.220195 I | op-k8sutil: CSI_CEPHFS_KERNEL_MOUNT_OPTIONS="" (default) 2026-04-03 05:20:28.220213 I | op-k8sutil: CSI_CEPHFS_ATTACH_REQUIRED="true" (configmap) 2026-04-03 05:20:28.220229 I | op-k8sutil: CSI_RBD_ATTACH_REQUIRED="true" (configmap) 2026-04-03 05:20:28.220251 I | op-k8sutil: CSI_NFS_ATTACH_REQUIRED="true" (configmap) 2026-04-03 05:20:28.220268 I | op-k8sutil: CSI_DRIVER_NAME_PREFIX="rook-ceph" (default) 2026-04-03 05:20:28.224029 I | op-k8sutil: CSI_ENABLE_VOLUME_GROUP_SNAPSHOT="true" (configmap) 2026-04-03 05:20:28.224068 I | ceph-csi: skipping csi version check, since unsupported versions are allowed or csi is disabled 2026-04-03 05:20:28.224084 I | ceph-csi: CSI Ceph RBD driver disabled 2026-04-03 05:20:28.224099 I | op-k8sutil: removing daemonset csi-rbdplugin if it exists 2026-04-03 05:20:28.225909 I | op-k8sutil: removing deployment csi-rbdplugin-provisioner if it exists 2026-04-03 05:20:28.411372 I | ceph-csi: successfully removed CSI Ceph RBD driver 2026-04-03 05:20:28.411401 I | ceph-csi: CSI CephFS driver disabled 2026-04-03 05:20:28.411409 I | op-k8sutil: removing daemonset csi-cephfsplugin if it exists 2026-04-03 05:20:28.416126 I | op-k8sutil: removing deployment csi-cephfsplugin-provisioner if it exists 2026-04-03 05:20:28.612404 I | ceph-csi: successfully removed CSI CephFS driver 2026-04-03 05:20:28.612437 I | ceph-csi: CSI NFS driver disabled 2026-04-03 05:20:28.612444 I | op-k8sutil: removing daemonset csi-nfsplugin if it exists 2026-04-03 05:20:28.614396 I | op-k8sutil: removing deployment csi-nfsplugin-provisioner if it exists 2026-04-03 05:20:28.811981 I | ceph-csi: successfully removed CSI NFS driver 2026-04-03 05:20:43.803056 I | ceph-spec: detected ceph image version: "18.2.7-0 reef" 2026-04-03 05:20:43.803079 I | ceph-cluster-controller: validating ceph version from provided image 2026-04-03 05:20:43.810166 I | ceph-spec: parsing mon endpoints: instance=10.96.240.200:6789 2026-04-03 05:20:43.810198 I | ceph-spec: updating obsolete maxMonID 0 to actual value 76846025234 2026-04-03 05:20:43.815882 I | cephclient: writing config file /var/lib/rook/openstack/openstack.config 2026-04-03 05:20:43.815990 I | cephclient: generated admin config in /var/lib/rook/openstack 2026-04-03 05:20:44.384170 E | cephver: external cluster ceph version is a major version higher "18.2.7-0 reef" than the local cluster "0.0.0-0 ", consider upgrading 2026-04-03 05:20:44.973955 I | ceph-cluster-controller: cluster "openstack": version "18.2.7-0 reef" detected for image "harbor.atmosphere.dev/quay.io/ceph/ceph:v18.2.7" 2026-04-03 05:20:45.069317 I | ceph-cluster-controller: creating "rook-config-override" configmap 2026-04-03 05:20:45.072566 I | ceph-cluster-controller: creating "rook-ceph-config" secret 2026-04-03 05:20:45.098832 I | ceph-cluster-controller: external cluster identity established 2026-04-03 05:20:45.098859 I | cephclient: getting or creating ceph auth key "client.csi-rbd-provisioner" 2026-04-03 05:20:45.937160 I | cephclient: getting or creating ceph auth key "client.csi-rbd-node" 2026-04-03 05:20:46.538006 I | cephclient: getting or creating ceph auth key "client.csi-cephfs-provisioner" 2026-04-03 05:20:47.148587 I | cephclient: getting or creating ceph auth key "client.csi-cephfs-node" 2026-04-03 05:20:48.342827 I | ceph-csi: created kubernetes csi secrets for cluster "openstack" 2026-04-03 05:20:48.349001 I | ceph-cluster-controller: successfully updated csi config map 2026-04-03 05:20:48.349017 I | cephclient: getting or creating ceph auth key "client.crash" 2026-04-03 05:20:48.452624 I | clusterdisruption-controller: all PGs are active+clean. Restoring default OSD pdb settings 2026-04-03 05:20:48.452657 I | clusterdisruption-controller: creating the default pdb "rook-ceph-osd" with maxUnavailable=1 for all osd 2026-04-03 05:20:48.462291 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:20:49.554463 I | ceph-nodedaemon-controller: created kubernetes crash collector secret for cluster "openstack" 2026-04-03 05:20:49.557840 I | ceph-cluster-controller: enabling ceph mon monitoring goroutine for cluster "openstack" 2026-04-03 05:20:49.557867 I | ceph-cluster-controller: ceph status check interval is 1m0s 2026-04-03 05:20:49.557873 I | ceph-cluster-controller: enabling ceph status monitoring goroutine for cluster "openstack" 2026-04-03 05:20:49.673565 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:20:50.952031 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:20:57.091564 I | ceph-spec: parsing mon endpoints: instance=10.96.240.200:6789 2026-04-03 05:20:57.091608 I | ceph-spec: updating obsolete maxMonID 0 to actual value 76846025234 2026-04-03 05:20:57.091629 I | ceph-spec: detecting the ceph image version for image harbor.atmosphere.dev/quay.io/ceph/ceph:v18.2.7... 2026-04-03 05:20:58.759281 I | ceph-spec: detected ceph image version: "18.2.7-0 reef" 2026-04-03 05:21:00.257391 I | ceph-object-controller: reconciling object store deployments 2026-04-03 05:21:00.274281 I | ceph-object-controller: ceph object store gateway service running at 10.99.227.110 2026-04-03 05:21:00.274335 I | ceph-object-controller: reconciling object store pools 2026-04-03 05:21:03.806836 I | cephclient: reconciling replicated pool ceph.rgw.control succeeded 2026-04-03 05:21:04.738759 I | cephclient: creating a new crush rule for changed deviceClass ("default"-->"") on crush rule "ceph.rgw.control" 2026-04-03 05:21:04.738797 I | cephclient: updating pool "ceph.rgw.control" failure domain from "osd" to "osd" with new crush rule "ceph.rgw.control_osd" 2026-04-03 05:21:04.738806 I | cephclient: crush rule "ceph.rgw.control" will no longer be used by pool "ceph.rgw.control" 2026-04-03 05:21:06.836253 I | cephclient: Successfully updated pool "ceph.rgw.control" failure domain to "osd" 2026-04-03 05:21:06.836290 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.control" 2026-04-03 05:21:11.348268 I | cephclient: reconciling replicated pool ceph.rgw.meta succeeded 2026-04-03 05:21:12.293643 I | cephclient: creating a new crush rule for changed deviceClass ("default"-->"") on crush rule "ceph.rgw.meta" 2026-04-03 05:21:12.293677 I | cephclient: updating pool "ceph.rgw.meta" failure domain from "osd" to "osd" with new crush rule "ceph.rgw.meta_osd" 2026-04-03 05:21:12.293685 I | cephclient: crush rule "ceph.rgw.meta" will no longer be used by pool "ceph.rgw.meta" 2026-04-03 05:21:14.391877 I | cephclient: Successfully updated pool "ceph.rgw.meta" failure domain to "osd" 2026-04-03 05:21:14.391912 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.meta" 2026-04-03 05:21:18.429214 I | cephclient: reconciling replicated pool ceph.rgw.log succeeded 2026-04-03 05:21:19.647254 I | clusterdisruption-controller: all "host" failure domains: []. osd is down in failure domain: "". active node drains: false. pg health: "cluster is not fully clean. PGs: [{StateName:active+clean Count:17} {StateName:unknown Count:8}]" 2026-04-03 05:21:19.652268 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:21:20.266450 I | cephclient: creating a new crush rule for changed deviceClass ("default"-->"") on crush rule "ceph.rgw.log" 2026-04-03 05:21:20.266486 I | cephclient: updating pool "ceph.rgw.log" failure domain from "osd" to "osd" with new crush rule "ceph.rgw.log_osd" 2026-04-03 05:21:20.266494 I | cephclient: crush rule "ceph.rgw.log" will no longer be used by pool "ceph.rgw.log" 2026-04-03 05:21:20.870874 I | clusterdisruption-controller: all "host" failure domains: []. osd is down in failure domain: "". active node drains: false. pg health: "cluster is not fully clean. PGs: [{StateName:active+clean Count:17} {StateName:unknown Count:8}]" 2026-04-03 05:21:20.875226 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:21:22.505183 I | cephclient: Successfully updated pool "ceph.rgw.log" failure domain to "osd" 2026-04-03 05:21:22.505246 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.log" 2026-04-03 05:21:26.544393 I | cephclient: reconciling replicated pool ceph.rgw.buckets.index succeeded 2026-04-03 05:21:27.477557 I | cephclient: creating a new crush rule for changed deviceClass ("default"-->"") on crush rule "ceph.rgw.buckets.index" 2026-04-03 05:21:27.477592 I | cephclient: updating pool "ceph.rgw.buckets.index" failure domain from "osd" to "osd" with new crush rule "ceph.rgw.buckets.index_osd" 2026-04-03 05:21:27.477600 I | cephclient: crush rule "ceph.rgw.buckets.index" will no longer be used by pool "ceph.rgw.buckets.index" 2026-04-03 05:21:29.589331 I | cephclient: Successfully updated pool "ceph.rgw.buckets.index" failure domain to "osd" 2026-04-03 05:21:29.589363 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.buckets.index" 2026-04-03 05:21:33.670623 I | cephclient: reconciling replicated pool ceph.rgw.buckets.non-ec succeeded 2026-04-03 05:21:34.573309 I | cephclient: creating a new crush rule for changed deviceClass ("default"-->"") on crush rule "ceph.rgw.buckets.non-ec" 2026-04-03 05:21:34.573343 I | cephclient: updating pool "ceph.rgw.buckets.non-ec" failure domain from "osd" to "osd" with new crush rule "ceph.rgw.buckets.non-ec_osd" 2026-04-03 05:21:34.573352 I | cephclient: crush rule "ceph.rgw.buckets.non-ec" will no longer be used by pool "ceph.rgw.buckets.non-ec" 2026-04-03 05:21:36.743978 I | cephclient: Successfully updated pool "ceph.rgw.buckets.non-ec" failure domain to "osd" 2026-04-03 05:21:36.744020 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.buckets.non-ec" 2026-04-03 05:21:36.830560 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:21:40.778978 I | cephclient: reconciling replicated pool ceph.rgw.otp succeeded 2026-04-03 05:21:41.698323 I | cephclient: creating a new crush rule for changed deviceClass ("default"-->"") on crush rule "ceph.rgw.otp" 2026-04-03 05:21:41.698405 I | cephclient: updating pool "ceph.rgw.otp" failure domain from "osd" to "osd" with new crush rule "ceph.rgw.otp_osd" 2026-04-03 05:21:41.698424 I | cephclient: crush rule "ceph.rgw.otp" will no longer be used by pool "ceph.rgw.otp" 2026-04-03 05:21:43.855716 I | cephclient: Successfully updated pool "ceph.rgw.otp" failure domain to "osd" 2026-04-03 05:21:43.855831 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.otp" 2026-04-03 05:21:47.895779 I | cephclient: reconciling replicated pool .rgw.root succeeded 2026-04-03 05:21:48.787460 I | cephclient: creating a new crush rule for changed deviceClass ("default"-->"") on crush rule ".rgw.root" 2026-04-03 05:21:48.787485 I | cephclient: updating pool ".rgw.root" failure domain from "osd" to "osd" with new crush rule ".rgw.root_osd" 2026-04-03 05:21:48.787489 I | cephclient: crush rule ".rgw.root" will no longer be used by pool ".rgw.root" 2026-04-03 05:21:50.466187 I | clusterdisruption-controller: all "host" failure domains: []. osd is down in failure domain: "". active node drains: false. pg health: "cluster is not fully clean. PGs: [{StateName:active+clean Count:72} {StateName:unknown Count:6} {StateName:creating+peering Count:2} {StateName:active+clean+scrubbing Count:1}]" 2026-04-03 05:21:50.470772 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:21:50.964418 I | cephclient: Successfully updated pool ".rgw.root" failure domain to "osd" 2026-04-03 05:21:50.964451 I | cephclient: setting pool property "pg_num_min" to "8" on pool ".rgw.root" 2026-04-03 05:21:52.042662 I | clusterdisruption-controller: all "host" failure domains: []. osd is down in failure domain: "". active node drains: false. pg health: "cluster is not fully clean. PGs: [{StateName:active+clean Count:72} {StateName:unknown Count:6} {StateName:creating+peering Count:2} {StateName:active+clean+scrubbing Count:1}]" 2026-04-03 05:21:52.047365 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:21:56.100667 I | cephclient: reconciling replicated pool ceph.rgw.buckets.data succeeded 2026-04-03 05:21:57.004259 I | cephclient: creating a new crush rule for changed deviceClass ("default"-->"") on crush rule "ceph.rgw.buckets.data" 2026-04-03 05:21:57.004294 I | cephclient: updating pool "ceph.rgw.buckets.data" failure domain from "osd" to "osd" with new crush rule "ceph.rgw.buckets.data_osd" 2026-04-03 05:21:57.004303 I | cephclient: crush rule "ceph.rgw.buckets.data" will no longer be used by pool "ceph.rgw.buckets.data" 2026-04-03 05:21:59.146984 I | cephclient: Successfully updated pool "ceph.rgw.buckets.data" failure domain to "osd" 2026-04-03 05:21:59.147024 I | ceph-object-controller: configuring object store "ceph" 2026-04-03 05:21:59.760700 I | ceph-object-controller: Object store "ceph": realm=ceph, zonegroup=ceph, zone=ceph 2026-04-03 05:21:59.970931 I | ceph-object-controller: committing changes to RGW configuration period for CephObjectStore "openstack/ceph" 2026-04-03 05:22:00.365876 I | ceph-object-controller: configuration for object-store ceph is complete 2026-04-03 05:22:00.365922 I | ceph-object-controller: creating object store "ceph" in namespace "openstack" 2026-04-03 05:22:00.370499 I | cephclient: getting or creating ceph auth key "client.rgw.ceph.a" 2026-04-03 05:22:00.948989 I | ceph-object-controller: setting rgw config flags 2026-04-03 05:22:00.949017 I | op-config: setting "client.rgw.ceph.a"="rgw_zone"="ceph" option to the mon configuration database 2026-04-03 05:22:01.391876 I | op-config: successfully set "client.rgw.ceph.a"="rgw_zone"="ceph" option to the mon configuration database 2026-04-03 05:22:01.391916 I | op-config: setting "client.rgw.ceph.a"="rgw_zonegroup"="ceph" option to the mon configuration database 2026-04-03 05:22:01.863369 I | op-config: successfully set "client.rgw.ceph.a"="rgw_zonegroup"="ceph" option to the mon configuration database 2026-04-03 05:22:01.863407 I | op-config: setting "client.rgw.ceph.a"="rgw_run_sync_thread"="true" option to the mon configuration database 2026-04-03 05:22:02.320629 I | op-config: successfully set "client.rgw.ceph.a"="rgw_run_sync_thread"="true" option to the mon configuration database 2026-04-03 05:22:02.320662 I | op-config: setting "client.rgw.ceph.a"="rgw_log_nonexistent_bucket"="true" option to the mon configuration database 2026-04-03 05:22:02.754124 I | op-config: successfully set "client.rgw.ceph.a"="rgw_log_nonexistent_bucket"="true" option to the mon configuration database 2026-04-03 05:22:02.754158 I | op-config: setting "client.rgw.ceph.a"="rgw_log_object_name_utc"="true" option to the mon configuration database 2026-04-03 05:22:03.215772 I | op-config: successfully set "client.rgw.ceph.a"="rgw_log_object_name_utc"="true" option to the mon configuration database 2026-04-03 05:22:03.215849 I | op-config: setting "client.rgw.ceph.a"="rgw_enable_usage_log"="true" option to the mon configuration database 2026-04-03 05:22:03.676955 I | op-config: successfully set "client.rgw.ceph.a"="rgw_enable_usage_log"="true" option to the mon configuration database 2026-04-03 05:22:03.677338 I | ceph-object-controller: object store "ceph" deployment "rook-ceph-rgw-ceph-a" created 2026-04-03 05:22:03.721463 I | ceph-object-controller: enabling rgw dashboard 2026-04-03 05:22:05.746475 I | ceph-object-controller: created object store "ceph" in namespace "openstack" 2026-04-03 05:22:05.747248 I | ceph-object-controller: setting the dashboard api secret key 2026-04-03 05:22:06.388477 I | ceph-object-controller: done setting the dashboard api secret key 2026-04-03 05:22:21.031218 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:22:23.246847 I | clusterdisruption-controller: all "host" failure domains: []. osd is down in failure domain: "". active node drains: false. pg health: "cluster is not fully clean. PGs: [{StateName:active+clean Count:81} {StateName:peering Count:1}]" 2026-04-03 05:22:23.251336 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:22:23.610257 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:22:36.180351 E | ceph-object-controller: failed to reconcile CephObjectStore "openstack/ceph". failed to create object store deployments: failed to get COSI user "cosi": Get "http://rook-ceph-rgw-ceph.openstack.svc:80/admin/user?format=json&uid=cosi": dial tcp 10.99.227.110:80: i/o timeout 2026-04-03 05:22:36.202621 I | ceph-spec: parsing mon endpoints: instance=10.96.240.200:6789 2026-04-03 05:22:36.202647 I | ceph-spec: updating obsolete maxMonID 0 to actual value 76846025234 2026-04-03 05:22:36.202664 I | ceph-spec: detecting the ceph image version for image harbor.atmosphere.dev/quay.io/ceph/ceph:v18.2.7... 2026-04-03 05:22:36.743981 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:22:37.318792 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:22:38.714884 I | ceph-spec: detected ceph image version: "18.2.7-0 reef" 2026-04-03 05:22:40.184561 I | ceph-object-controller: reconciling object store deployments 2026-04-03 05:22:40.233659 I | ceph-object-controller: ceph object store gateway service running at 10.99.227.110 2026-04-03 05:22:40.233684 I | ceph-object-controller: reconciling object store pools 2026-04-03 05:22:41.584492 I | cephclient: application "rgw" is already set on pool "ceph.rgw.control" 2026-04-03 05:22:41.584523 I | cephclient: reconciling replicated pool ceph.rgw.control succeeded 2026-04-03 05:22:42.478019 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.control" 2026-04-03 05:22:44.617218 I | cephclient: application "rgw" is already set on pool "ceph.rgw.meta" 2026-04-03 05:22:44.617257 I | cephclient: reconciling replicated pool ceph.rgw.meta succeeded 2026-04-03 05:22:45.503209 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.meta" 2026-04-03 05:22:47.717667 I | cephclient: application "rgw" is already set on pool "ceph.rgw.log" 2026-04-03 05:22:47.717697 I | cephclient: reconciling replicated pool ceph.rgw.log succeeded 2026-04-03 05:22:48.647399 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.log" 2026-04-03 05:22:50.663593 I | cephclient: application "rgw" is already set on pool "ceph.rgw.buckets.index" 2026-04-03 05:22:50.663630 I | cephclient: reconciling replicated pool ceph.rgw.buckets.index succeeded 2026-04-03 05:22:52.148210 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.buckets.index" 2026-04-03 05:22:52.165667 I | clusterdisruption-controller: all "host" failure domains: []. osd is down in failure domain: "". active node drains: false. pg health: "cluster is not fully clean. PGs: [{StateName:active+clean Count:108} {StateName:peering Count:1}]" 2026-04-03 05:22:52.169956 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:22:55.051387 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:22:56.556639 I | cephclient: application "rgw" is already set on pool "ceph.rgw.buckets.non-ec" 2026-04-03 05:22:56.556671 I | cephclient: reconciling replicated pool ceph.rgw.buckets.non-ec succeeded 2026-04-03 05:22:57.426677 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.buckets.non-ec" 2026-04-03 05:22:59.815786 I | cephclient: application "rgw" is already set on pool "ceph.rgw.otp" 2026-04-03 05:22:59.815820 I | cephclient: reconciling replicated pool ceph.rgw.otp succeeded 2026-04-03 05:23:00.729276 I | cephclient: setting pool property "pg_num_min" to "8" on pool "ceph.rgw.otp" 2026-04-03 05:23:02.962396 I | cephclient: application "rgw" is already set on pool ".rgw.root" 2026-04-03 05:23:02.962426 I | cephclient: reconciling replicated pool .rgw.root succeeded 2026-04-03 05:23:03.866863 I | cephclient: setting pool property "pg_num_min" to "8" on pool ".rgw.root" 2026-04-03 05:23:06.033440 I | cephclient: application "rgw" is already set on pool "ceph.rgw.buckets.data" 2026-04-03 05:23:06.033474 I | cephclient: reconciling replicated pool ceph.rgw.buckets.data succeeded 2026-04-03 05:23:07.003462 I | ceph-object-controller: configuring object store "ceph" 2026-04-03 05:23:07.243882 I | ceph-object-controller: Object store "ceph": realm=ceph, zonegroup=ceph, zone=ceph 2026-04-03 05:23:07.444908 I | ceph-object-controller: there are no changes to commit for RGW configuration period for CephObjectStore "openstack/ceph" 2026-04-03 05:23:07.444934 I | ceph-object-controller: configuration for object-store ceph is complete 2026-04-03 05:23:07.444939 I | ceph-object-controller: creating object store "ceph" in namespace "openstack" 2026-04-03 05:23:07.450253 I | cephclient: getting or creating ceph auth key "client.rgw.ceph.a" 2026-04-03 05:23:08.039409 I | ceph-object-controller: setting rgw config flags 2026-04-03 05:23:08.039448 I | op-config: setting "client.rgw.ceph.a"="rgw_log_nonexistent_bucket"="true" option to the mon configuration database 2026-04-03 05:23:08.520838 I | op-config: successfully set "client.rgw.ceph.a"="rgw_log_nonexistent_bucket"="true" option to the mon configuration database 2026-04-03 05:23:08.520878 I | op-config: setting "client.rgw.ceph.a"="rgw_log_object_name_utc"="true" option to the mon configuration database 2026-04-03 05:23:09.426412 I | op-config: successfully set "client.rgw.ceph.a"="rgw_log_object_name_utc"="true" option to the mon configuration database 2026-04-03 05:23:09.426438 I | op-config: setting "client.rgw.ceph.a"="rgw_enable_usage_log"="true" option to the mon configuration database 2026-04-03 05:23:10.343801 I | op-config: successfully set "client.rgw.ceph.a"="rgw_enable_usage_log"="true" option to the mon configuration database 2026-04-03 05:23:10.343855 I | op-config: setting "client.rgw.ceph.a"="rgw_zone"="ceph" option to the mon configuration database 2026-04-03 05:23:11.048195 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:23:11.220549 I | op-config: successfully set "client.rgw.ceph.a"="rgw_zone"="ceph" option to the mon configuration database 2026-04-03 05:23:11.220594 I | op-config: setting "client.rgw.ceph.a"="rgw_zonegroup"="ceph" option to the mon configuration database 2026-04-03 05:23:11.677500 I | op-config: successfully set "client.rgw.ceph.a"="rgw_zonegroup"="ceph" option to the mon configuration database 2026-04-03 05:23:11.677548 I | op-config: setting "client.rgw.ceph.a"="rgw_run_sync_thread"="true" option to the mon configuration database 2026-04-03 05:23:12.122488 I | op-config: successfully set "client.rgw.ceph.a"="rgw_run_sync_thread"="true" option to the mon configuration database 2026-04-03 05:23:12.123039 I | ceph-object-controller: object store "ceph" deployment "rook-ceph-rgw-ceph-a" created 2026-04-03 05:23:12.140364 I | ceph-object-controller: object store "ceph" deployment "rook-ceph-rgw-ceph-a" already exists. updating if needed 2026-04-03 05:23:12.149676 I | op-k8sutil: deployment "rook-ceph-rgw-ceph-a" did not change, nothing to update 2026-04-03 05:23:12.153444 I | ceph-object-controller: config map "rook-ceph-rgw-ceph-mime-types" for object store "ceph" already exists, not overwriting 2026-04-03 05:23:12.159251 I | ceph-object-controller: enabling rgw dashboard 2026-04-03 05:23:13.268640 I | ceph-object-controller: created object store "ceph" in namespace "openstack" 2026-04-03 05:23:14.310537 I | ceph-object-controller: creating COSI user "cosi" 2026-04-03 05:23:14.397447 I | ceph-spec: created ceph *v1.Secret object "rook-ceph-object-user-ceph-cosi" 2026-04-03 05:23:14.969195 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:23:22.740212 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:23:25.630397 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:23:53.333542 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:23:56.453779 I | clusterdisruption-controller: all "host" failure domains: []. osd is down in failure domain: "". active node drains: false. pg health: "cluster is not fully clean. PGs: [{StateName:active+clean Count:105} {StateName:clean+premerge+peered Count:1}]" 2026-04-03 05:23:56.457899 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:23:58.569187 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:24:23.907192 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:24:27.029817 I | clusterdisruption-controller: all "host" failure domains: []. osd is down in failure domain: "". active node drains: false. pg health: "cluster is not fully clean. PGs: [{StateName:active+clean Count:114} {StateName:unknown Count:9} {StateName:peering Count:2}]" 2026-04-03 05:24:27.033375 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:24:44.726904 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:24:54.476704 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:24:57.603507 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:25:25.064944 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:25:28.171649 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:25:30.853868 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:25:55.621577 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:25:58.736203 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:26:16.980256 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:26:26.180353 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:26:29.301095 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:26:56.755271 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:26:59.855846 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:27:03.379122 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:27:27.332238 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:27:30.425491 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:27:49.536229 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:27:57.900160 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:28:00.992725 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:28:28.459320 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:28:31.575294 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:28:35.692429 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:28:59.055443 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:29:02.158670 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:29:21.814888 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:29:29.635015 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:29:32.733667 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:30:00.213823 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:30:03.308793 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:30:07.981861 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:30:30.777837 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:30:33.878828 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:30:54.171232 W | op-mon: external cluster mon count is 1, consider adding new monitors. 2026-04-03 05:31:01.352607 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:31:04.429684 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:31:31.948901 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:31:34.992735 I | clusterdisruption-controller: reconciling osd pdb reconciler as the allowed disruptions in default pdb is 0 2026-04-03 05:31:40.292869 W | op-mon: external cluster mon count is 1, consider adding new monitors.