-
Notifications
You must be signed in to change notification settings - Fork 23
FF10163: Database migration failed: Dirty database version 1 #66
Copy link
Copy link
Open
Description
Issue
The core firefly pod won't start.
I'm getting the following error when I run kubectl logs firefly006-0
[2023-02-05T22:15:10.300Z] INFO default-firefly006: Project Firefly
[2023-02-05T22:15:10.300Z] INFO default-firefly006: © Copyright 2021 Kaleido, Inc.
Error: FF10163: Database migration failed: FF10163: Database migration failed: Dirty database version 1. Fix and force version.
Usage:
firefly [flags]
firefly [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
showconfig List out the configuration options
version Prints the version info
Flags:
-f, --config string config file
-h, --help help for firefly
Use "firefly [command] --help" for more information about a command.
FF10163: Database migration failed: FF10163: Database migration failed: Dirty database version 1. Fix and force version.
Background
The command I'm using to deploy is the following
helm install firefly006 -f values.yaml --version 0.5.6 oci://ghcr.io/hyperledger/helm/firefly
and the result is
Pulled: ghcr.io/hyperledger/helm/firefly:0.5.6
Digest: sha256:f81b19748d05322a16f7e996327c96bcdc3ce9dfbf1b89c9b5e1250482927f06
NAME: firefly006
LAST DEPLOYED: Sun Feb 5 17:09:07 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
1. Get the FireFly URL by running these commands:
export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=firefly,app.kubernetes.io/instance=firefly006" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace default $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
export FF_URL="http://127.0.0.1:8080"
kubectl --namespace default port-forward $POD_NAME 8080:$CONTAINER_PORT &
echo "Visit $FF_URL/api to explore the API via Swagger"
echo "Visit $FF_URL/ui to use explorer UI"
2. Assuming the FireFly smart contracts have been properly deployed and registered on the chain, you can register your FireFly node's organization via the API:
curl -X POST -d '{}' -H 'Content-Type: application/json" $FF_URL/api/v1/network/register/node/organization
3. Wait until your organization then registered, you can confirm its registration by listing the orgs:
curl -X GET $FF_URL/api/v1/network/organizations
4. Once the org is registered, you can register the node itself:
curl -X POST -d '{}' -H 'Content-Type: application/json" $FF_URL/api/v1/network/register/node
5. Lastly, confirm the node has been registered:
curl -X GET $FF_URL/api/v1/network/nodes
Configuration
In my values.yaml files I have
- Provided a valid
config.postgresUrlvalue and I believe it is correct because the message is NOT complaining about failing to connect, it is complaining about a dirty database- The password was provided in the following format (I'm showing this to prove that I DID include the database in URL):
postgres://REDACTEDUserName:REDACTEDPassword@redacted-server-name.postgres.database.azure.com/firefly006?sslmode=require
- The password was provided in the following format (I'm showing this to prove that I DID include the database in URL):
- Set
config.postgresAutomigrate=true - Set
core.jobs.postgresMigrations.enabled=true - Left commented out
core.jobs.postgresMigrations.extraEnvbecause this is not necessary ifconfig.postgresUrlhas been provided- If both
config.postgresUrlANDcore.jobs.postgresMigrations.extraEnvare provided then thehelm install...command fails withError: YAML parse error on firefly/templates/core/job-migrations.yaml: error converting YAML to JSON: yaml: line 84: did not find expected key
- If both
The PostgresSQL database I'm deploying to is a complete fresh instance of Azure Database for PostgreSQL flexible server with PostgreSQL version 14.6 on which the only action I have taken is to add a new database named firefly006,
Goal
I'm trying to use the helm charts to create my own fresh instance of Firefly.
Questions
- Is there a way to make these charts generate the necessary DB schema as part of the install?
- If there isn't a way, where can I find the documentation to learn how to generate the schema so my
helm install...command will successfully start up a Firefly instance?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels