Producer issue 1.29 docker "CARDANO_BLOCK_PRODUCER=false"

I am testing the 1.29 image.
My producer starts as a relay.

I use the same docker run command as before but the kes part seems to be ignored:

In the logs these 3 shelley options are missing and my node is running as a relay:

docker run

docker run -d --restart always --name cardano-producer -v /home/cardano/cardano-config:/configuration -v /cardano/data:/data  \
      inputoutput/cardano-node:1.29.0 run \
      --shelley-kes-key configuration/hot-keys/kes.skey \
      --shelley-vrf-key configuration/hot-keys/vrf.skey \
      --shelley-operational-certificate configuration/hot-keys/node.cert \
      --config /configuration/mainnet-config.json \
      --topology /configuration/mainnet-topology.json \
      --database-path /data/db \
      --socket-path /data/ipc \
      --port 6000 \


Running the cardano node ...
cardano-node run --config /configuration/mainnet-config.json --topology /configuration/mainnet-topology.json --database-path /data/db --socket-path /data/ipc --host-addr --port 6000
Listening on

Thanks for your help

Please create a github issue for that - I’ll look into it.

BTW, in line with Docker standards, you can now configure the container like this

docker run --detach \
    --name=testbp \
    --hostname=testbp \
    --restart=always \
    -p 3001:3001 \
    -e CARDANO_NETWORK=testnet \
    -e CARDANO_TOPOLOGY="/var/cardano/config/testnet-topology.json" \
    -e CARDANO_SHELLEY_KES_KEY="/var/cardano/config/keys/kes.skey" \
    -e CARDANO_SHELLEY_VRF_KEY="/var/cardano/config/keys/vrf.skey" \
    -e CARDANO_SHELLEY_OPERATIONAL_CERTIFICATE="/var/cardano/config/keys/node.cert" \
    -v testnet-bprod-keys:/var/cardano/config/keys  \
    -v testnet-bprod-config:/var/cardano/config  \
    -v /mnt/disks/data00/testdat:/opt/cardano/data \
    -v node-ipc:/opt/cardano/ipc \
    nessusio/cardano-node:${CARDANO_NODE_VERSION:-dev} run

Still, for backward compatibility your (old) command should still work. If it doesn’t we’ll need a github issue.

Thank you for the informations.
Someone has already opened an issue :

I just spent some hours working through the exact same issue. My setup started out like the OPs and ended up like tomdx’s. However, what ultimately resolved it for me when upgrading from 1.27.0 to 1.29.0 was adding:

docker run -d \
**--workdir /configuration \**
**-v ${CARDANO_HOME}:/configuration \**
inputoutput/cardano-node run

Otherwise, it just continually leaves off bp parameters and starts as a relay (and no other errors). You can see that in the OP’s post.

If setting -e CARDANO_BLOCK_PRODUCER=true before adding the -v and --workdir parameters, then it just fails to run with the following error:

cardano-node: /opt/cardano/keys/vrf.skey: getFileStatus: does not exist (No such file or directory)

(Despite the file being exactly at that path, working previously, and seemingly no matter what else I tried, which seemed like a million things.)

Anyway, this is my first post here, so somewhat guessing on (i.e. testing out) the markup language too. Hope this helps someone save some time upgrading if stuck. Otherwise, my relay’s were the fastest, smoothest upgrades ever. Kudos to those responsible for the docker image overall.

Update (next day): In cleaning up my mess today, I remembered that at some point in the process after adding the -v and --workdir params, I was able to finally receive an error that somewhat made sense:

VRF private key file /keys/vrf.skey has “other” file permissions. Please remove all “other” file permissions.

(Again, despite working previously, and despite all the other files having the EXACT same permissions and not encountering the same issue.)

The fix for that issue is described here:
Vrf.skey Has Other File Permissions

That might have been why part of the initial command didn’t work and simply ignored all the bp params (without error). However, I like Tomdx’s formatting and being in line with Docker’s standards and it was what I mentioned above that made that style formatting work for me. With that being said, I don’t fully understand all the -v in and outs either. Therefore, there’s probably some other formatting a person could use to eliminate the --workdir param? However, without it, I was getting yaml errors.