oracle / oracle/oracle-database-operator
Failed to validate Wallet: read-only file system
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 192
- Forks
- 69
- Avg merge
- 16h 13m
- Merged PRs (30d)
- 1
Description
Fresh installation of OKE (v1.32.1) using the OraOperator add-on.
Syncing with existing ADB:
apiVersion: database.oracle.com/v1alpha1
kind: AutonomousDatabase
metadata:
name: my-release-adb-s
namespace: my-release
spec:
action: "Sync"
details:
id: ocid1.autonomousdatabase.oc1....
wallet:
name: my-release-adb-tns-admin-1
password:
k8sSecret:
name: my-release-adb-wallet-pass-1
ociConfig:
configMapName: my-release-oci-config
ADB resource in AVAILABLE state, with no details and secret my-release-adb-tns-admin-1 not created.
Logs on controller pod:
ERROR controllers.database.AutonomousDatabase.validateWallet.manageError
Error occured {"Namespace/Name": {"name":"my-release-adb-s","namespace":"my-release"},
---> "error": "Failed to validate Wallet: open /tmp/wallet1208873634.zip: read-only file system"}
github.com/oracle/oracle-database-operator/controllers/database.(*AutonomousDatabaseReconciler).manageError
/workspace/controllers/database/autonomousdatabase_controller.go:392
github.com/oracle/oracle-database-operator/controllers/database.(*AutonomousDatabaseReconciler).Reconcile
/workspace/controllers/database/autonomousdatabase_controller.go:320
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile
/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:116
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler
/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:303
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem
/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:263
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2
/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:224
Manual Workaround
Edited the deployments/oracle-database-operator-controller-manager and added:
volumeMounts:
- mountPath: /tmp
name: tmp
...
volumes:
- emptyDir: {}
name: tmp
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with controllers/database/autonomousdatabase_controller.go around the validateWallet error at line 392 and the reconciliation path at line 320, then inspect the oracle-database-operator-controller-manager deployment. Verify wallet validation when /tmp is read-only and compare it with the reported emptyDir mount; done means the ADB reaches AVAILABLE with details and the wallet secret is created.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100