firefly icon indicating copy to clipboard operation
firefly copied to clipboard

Failed to pass "Fabric Test Network" tutorial

Open yizhihuaqi opened this issue 1 year ago • 8 comments

When I executed

ff init fabric test1 \
  --ccp "${HOME}/org1_ccp.yml" \
  --msp "organizations" \
  --ccp "${HOME}/org2_ccp.yml" \
  --msp "organizations" \
  --channel mychannel \
  --chaincode firefly

, it reported error.

Error: no version for docker-compose has been detected

so the following operation are not successful. After I modified the "~/.firefly/stacks/test1/docker-compose.override.yml" file, I executed

ff start test1 -b -v

and the error was as follows:

ERROR: for firefly_core_0  Container "64dc5b6558c7" is unhealthy.
ERROR: for firefly_core_1  Container "de81c4e47781" is unhealthy.
Encountered errors while bringing up the project.

Then I executed

docker logs 64dc5b6558c7

,it prints:

Copyright (C) 2021 Kaleido
Licensed under the Apache License, Version 2.0
Version:  (Build Date: 2024-01-25T22:47:36Z)

time="2024-06-22T09:29:21Z" level=info msg="Can't read config: read /fabconnect/fabconnect.yaml: is a directory, will rely on environment variables and command line arguments for required configurations\n"
Error: Must provide REST Gateway client configuration path

and I find "~/.firefly/stacks/test1/runtime/blockchain/fabconnect.yaml" is a empty directory rather than a file. I haven't solved this problem yet. Below is my docker and docker compose version.

Docker version 26.1.4, build 5650f9b
Docker Compose version v2.28.0

yizhihuaqi avatar Jun 22 '24 09:06 yizhihuaqi

Thanks for raising this - I have seen someone on Discord call out the same problem that the fabconnect.yaml becomes a directory instead of a file!

A few things that would help me:

  • What OS are you running?
  • What permissions have you given the CLI?
  • This Error: no version for docker-compose has been detected will be fixed by a recent PR https://github.com/hyperledger/firefly-cli/pull/307

EnriqueL8 avatar Jun 26 '24 09:06 EnriqueL8

@EnriqueL8 Thank you for your reply. There are details you mentioned:

  1. The OS version is: Ubuntu 20.04.6 LTS, Linux 6.1.84
  2. The Cli permissions are: -rwxrwxr-x 1 daqi daqi 30042818 Jun 23 09:04 ff
  3. I saw the PR you mentioned, then manually compiled the latest version of cli, and installed a docker-compose, but still encountered this problem. I wonder if there's something else wrong or I did some wrong operations. Thanks again.

yizhihuaqi avatar Jun 26 '24 09:06 yizhihuaqi

@yizhihuaqi Can you clear the stack and recreate it now that you fixed the docker part? It might have created the file originally and then a second init might have a caused other problems with the filesystem

EnriqueL8 avatar Jun 26 '24 09:06 EnriqueL8

@EnriqueL8 I deleted all stacks and the .firefly directory, then init ff again and still got the error. Error: no version for docker-compose has been detected

yizhihuaqi avatar Jun 26 '24 12:06 yizhihuaqi

Interesting - I just fixed a bug that was swallowing errors through that docker-compose error! Do you mind trying again with a latest build?

EnriqueL8 avatar Jul 17 '24 13:07 EnriqueL8

same problem with (mac M1)

ff version
{
  "Version": "1.3.2",
  "Commit": "14e7721bf8cca1fc6b2b217d00a5d79926a17af2",
  "Date": "2024-10-03T11:35:44Z",
  "License": "Apache-2.0"
}
ff init fabric dev2  --ccp "${HOME}/test/org1_ccp.yml"  --msp "organizations" --channel mychannel  --chaincode firefly
initializing new FireFly stack...
Error: no version for docker-compose has been detected
Usage:
  ff init fabric [stack_name] [member_count] [flags]

Flags:
      --ccp stringArray      Path to the ccp.yaml file for an org in your Fabric network
      --chaincode string     The name given to the FireFly chaincode when it was deployed
      --channel string       The name of the Fabric channel on which the FireFly chaincode has been deployed
      --custom-pin-support   Configure the blockchain listener to listen for BatchPin events from any chaincode on the channel
  -h, --help                 help for fabric
      --msp stringArray      Path to the MSP directory for an org in your Fabric network

Global Flags:
      --ansi string                          control when to print ANSI control characters ("never"|"always"|"auto") (default "auto")
      --connector-config string              The path to a yaml file containing extra config for the blockchain connector
      --consensus string                     Consensus algorithm to use. Options are [clique raft ibft qbft] (default "clique")
      --core-config string                   The path to a yaml file containing extra config for FireFly Core
  -d, --database string                      Database type to use. Options are: [sqlite3 postgres] (default "sqlite3")
      --environment-vars stringToString      Common environment variables to set on all containers in FireFly stack (default [])
  -e, --external int                         Manage a number of FireFly core processes outside of the docker-compose stack - useful for development and debugging
  -p, --firefly-base-port int                Mapped port base of FireFly core API (1 added for each member) (default 5000)
      --ipfs-mode string                     Set the mode in which IFPS operates. Options are: [private public] (default "private")
  -m, --manifest string                      Path to a manifest.json file containing the versions of each FireFly microservice to use. Overrides the --release flag.
      --multiparty                           Enable or disable multiparty mode (default true)
      --node-name stringArray                Node name
      --org-name stringArray                 Organization name
      --private-transaction-manager string   Private Transaction Manager to use. Options are: [none tessera] (default "none")
      --prometheus-enabled                   Enables Prometheus metrics exposition and aggregation to a shared Prometheus server
      --prometheus-port int                  Port for the shared Prometheus server (default 9090)
      --prompt-names                         Prompt for org and node names instead of using the defaults
      --ptm-base-port int                    Mapped port base of private transaction manager (10 added for each member) (default 4100)
  -r, --release string                       Select the FireFly release version to use. Options are: [stable head alpha beta rc] (default "latest")
      --remote-node-deploy                   Enable or disable deployment of FireFly contracts on remote nodes
      --request-timeout int                  Custom request timeout (in seconds) - useful for registration to public chains
      --sandbox-enabled                      Enables the FireFly Sandbox to be started with your FireFly stack (default true)
  -s, --services-base-port int               Mapped port base of services (100 added for each member) (default 5100)
  -t, --token-providers stringArray          Token providers to use. Options are: [none erc1155 erc20_erc721] (default [erc20_erc721])
  -v, --verbose                              verbose log output

Error: no version for docker-compose has been detected

shen running ff start got in fabconnect

time="2024-12-30T09:12:34Z" level=info msg="Can't read config: read /fabconnect/fabconnect.yaml: is a directory, will rely on environment variables and command line arguments for required configurations\n"
Error: Must provide REST Gateway client configuration path

If ignored when we start the stack i get that fabconnect.yaml is folder @EnriqueL8 not fixed in last build

bellaj avatar Dec 29 '24 22:12 bellaj

@EnriqueL8 I have created a PR to fix the issue! please check

bellaj avatar Jan 02 '25 21:01 bellaj

Thanks @bellaj !

EnriqueL8 avatar Jan 06 '25 10:01 EnriqueL8

We can close this one

EnriqueL8 avatar Jul 02 '25 13:07 EnriqueL8