You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running ff start, the CLI still pulls the latest image from the server, overwriting the local image.
This seems to be due to a duplication in the PullStack method here. It first iterates the images defined in the manifest, and does properly skip those tagged as local. But then it goes on to pull the latest for all images defined by the blockchain and token plugins, defeating the purpose of the earlier loop.
Side node: because it first pulls all the images defined in the manifest, it will pull images even if you're ultimately not using them (ie it pulls fabconnect even if your blockchain provider is Ethereum).
Conclusion from all this: we need better "pull" logic to intersect the info from these two places - it should only pull the Dockers actually used in the stack, but it should also honor the versions and "local" flag defined for those images in the manifest.
The text was updated successfully, but these errors were encountered:
awrichar
added a commit
to kaleido-io/firefly-cli
that referenced
this issue
Feb 8, 2022
With the addition of Stack.VersionManifest, that manifest is now the de facto
source of all images for the stack. There is no need to iterate over the
plugins' Docker service definitions a second time (which are now also generated
from the same VersionManifest).
Fixeshyperledger#119
Signed-off-by: Andrew Richardson <andrew.richardson@kaleido.io>
Came back to take a second look at this and uploaded a prospective fix in #144.
However, I wanted to note that the behavior has changed since I last looked. As of #111, it seems we don't pull at all during ff start <stack>. Previously the default was to pull all images explicitly during start, which could be overridden with --no-pull - but this option is gone now, and no pulls are done except with the new, separate ff pull <stack> command. The proposed fix will cause ff pull to work correctly now, and ff start will continue to not perform pulls (unless the underlying docker-compose command pulls automatically due to an image not being found).
If you point the CLI to a local manifest with
-m manifest.json
, and that manifest contains a local Docker definitions such as:When running
ff start
, the CLI still pulls the latest image from the server, overwriting the local image.This seems to be due to a duplication in the
PullStack
method here. It first iterates the images defined in the manifest, and does properly skip those tagged as local. But then it goes on to pull the latest for all images defined by the blockchain and token plugins, defeating the purpose of the earlier loop.Side node: because it first pulls all the images defined in the manifest, it will pull images even if you're ultimately not using them (ie it pulls fabconnect even if your blockchain provider is Ethereum).
Conclusion from all this: we need better "pull" logic to intersect the info from these two places - it should only pull the Dockers actually used in the stack, but it should also honor the versions and "local" flag defined for those images in the manifest.
The text was updated successfully, but these errors were encountered: