-
Notifications
You must be signed in to change notification settings - Fork 181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mounting fargate volume using EFS doesn't create sub directories #79
Comments
Hey @Kidist-Abraham , Thanks for reaching out to us. I will assume you are using ECS Fargate since you are talking about task. Can you share the general idea of you task definition? Is the root cause of the issue due to the PV is not fully mounted before some directories operation? Thanks. |
Hey @Cappuccinuo, thanks for the response.
This error comes after the container is already started. This is the first and only log |
Hey @Kidist-Abraham , Thanks for the explanation.
Thanks. |
Hey @Kidist-Abraham , I can reproduce the issue. Do you have specific reason to mount fs to /nix/store? {
"readOnly": null,
"containerPath": "/nix/store",
"sourceVolume": "node-config"
} Since when I test the cardano-node docker, I found that the config file is under that path, if you mount fs to that path, the docker cannot find the config file. [ec2-user@ip-172-31-43-114 ~]$ docker run -v /data -e NETWORK=testnet inputoutput/cardano-node:1.18.0
Starting cardano-node run: /nix/store/442brx5kpqdx9z9ccdd5z3zi5km56i05-cardano-node-exe-cardano-node-1.18.0/bin/cardano-node run
--config /nix/store/dfidzx8ggnj6sgzkz8ay7n225sy9nin3-config-0.json
--database-path /data/db
--topology /nix/store/dpajyi2vaychwps1x7d20c2ddls4kf62-topology.yaml
--host-addr 127.0.0.1
--port 3001
--socket-path /ipc/node.socket
..or, once again, in a single line:
/nix/store/442brx5kpqdx9z9ccdd5z3zi5km56i05-cardano-node-exe-cardano-node-1.18.0/bin/cardano-node run --config /nix/store/dfidzx8ggnj6sgzkz8ay7n225sy9nin3-config-0.json --database-path /data/db --topology /nix/store/dpajyi2vaychwps1x7d20c2ddls4kf62-topology.yaml --host-addr 127.0.0.1 --port 3001 --socket-path /ipc/node.socket
Listening on http:https://127.0.0.1:12798
[a0356538:cardano.node.release:Notice:5] [2020-10-09 07:35:00.37 UTC] CardanoProtocol
[a0356538:cardano.node.networkMagic:Notice:5] [2020-10-09 07:35:00.37 UTC] NetworkMagic 1097911063
[a0356538:cardano.node.version:Notice:5] [2020-10-09 07:35:00.37 UTC] 1.18.0
[a0356538:cardano.node.commit:Notice:5] [2020-10-09 07:35:00.37 UTC] e8fb486e44aceb4b9962d7b3b76849becd510820
[a0356538:cardano.node.ChainDB:Info:5] [2020-10-09 07:35:00.38 UTC] Opened imm db with immutable tip at Origin and epoch 0
[a0356538:cardano.node.ChainDB:Info:5] [2020-10-09 07:35:00.38 UTC] Opened vol db
[a0356538:cardano.node.ChainDB:Info:5] [2020-10-09 07:35:00.38 UTC] Replaying ledger from genesis
[a0356538:cardano.node.ChainDB:Info:5] [2020-10-09 07:35:00.38 UTC] Opened lgr db We can see that the docker default config file is I changed the task definition part to "containerDefinitions": [
{
...
// Remove the Command to create the /nix/store
"mountPoints": [
...
{
"readOnly": null,
"containerPath": "/test/store",
"sourceVolume": "node-config"
},
...
],
...
"name": "node"
}, And now the node can be launched, while the wallet cannot because Failed to parse genesis configuration. You may want to check the filepath given via --genesis and make sure it points to a valid JSON genesis file. Here's (perhaps) some helpful hint: GenesisDataIOError /config/0gdqdymj06c31f35xshw1g85bgrbh3wl-testnet-byron-genesis.json: openBinaryFile: does not exist (No such file or directory) I think this is due to my fs does not have |
@Cappuccinuo |
Why? The container is mounting /nix/store to |
In the definition,
In my understanding for the container definition, sourceVolume ( containerPath is the path on the container to mount the volume at, in your case, it is the /nix/store. If you mount the fs to the path /nix/store, the folder content will be override by your fs content, that is why I say |
Shouldn't the fs content be overridden by the content in the container instead? |
we are also facing same issue we are mounting efs to all our task def and use efs as central logging directory so we want every application log there logs in separate application . like we are trying to mount like this
problem is here that we need to create the subdirectories in efs manually |
I have the same issue as you do |
We are planing to use AWS EFS as persistent storage for our container on fargate service. The problem we are encountering is, all the directories the container uses needs to be ready prior to running the task. Or else, there will be a
file not found
error while the task runs. There was no sunch problem when we run the task using the non-persistent storage. Is there any work around for this?The text was updated successfully, but these errors were encountered: