-
Notifications
You must be signed in to change notification settings - Fork 108
fix: Refresh ~/.finch/confg.json based on finch.yaml #966
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
base: main
Are you sure you want to change the base?
fix: Refresh ~/.finch/confg.json based on finch.yaml #966
Conversation
|
The Unit Test is failing in the Windows environment. This is occurring because in the Windows environment, the validate() function is not accurately validating the contents of As a result, we will modify the code to separate the Unit Test for macOS (darwin) and Windows environments. |
|
The following CI is failing, and I'm currently investigating the cause of the failure as it remains unclear. The details of the error are as follows: Details
panic: test timed out after 2h0m0s
running tests:
TestVM (2h0m0s)
goroutine 82 [running]:
testing.(*M).startAlarm.func1()
C:/Program Files/Go/src/testing/testing.go:2366 +0x385
created by time.goFunc
C:/Program Files/Go/src/time/sleep.go:177 +0x2d
goroutine 1 [chan receive, 119 minutes]:
testing.(*T).Run(0xc00017a9c0, {0xeba887?, 0xc03877a3c0?}, 0xf04c70)
C:/Program Files/Go/src/testing/testing.go:1750 +0x3ab
testing.runTests.func1(0xc00017a9c0)
C:/Program Files/Go/src/testing/testing.go:2161 +0x37
testing.tRunner(0xc00017a9c0, 0xc0000f1c70)
C:/Program Files/Go/src/testing/testing.go:1689 +0xfb
testing.runTests(0xc000178228, {0x138eb40, 0x1, 0x1}, {0x1?, 0x9dd493?, 0x13c5680?})
C:/Program Files/Go/src/testing/testing.go:2159 +0x445
testing.(*M).Run(0xc00011fe00)
C:/Program Files/Go/src/testing/testing.go:2027 +0x68b
main.main()
_testmain.go:47 +0x16c
goroutine 18 [runnable]:
github.com/onsi/ginkgo/v2/internal.extractRunningGoroutines()
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/progress_report.go:177 +0xef3
github.com/onsi/ginkgo/v2/internal.NewProgressReport(_, {{0xc0000be3c0, 0x2, 0x2}, {0xc00018c1c0, 0x2, 0x2}, {0xc0000305d0, 0x2, 0x2}, ...}, ...)
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/progress_report.go:75 +0x2df
github.com/onsi/ginkgo/v2/internal.(*Suite).generateProgressReport(_, _)
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/suite.go:381 +0x59b
github.com/onsi/ginkgo/v2/internal.(*Suite).runNode(_, {0x16, 0x4, {0xedaf82, 0x33}, 0xc000113710, {{0x105e722, 0x42}, 0x19, {0x0, ...}, ...}, ...}, ...)
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/suite.go:959 +0x119f
github.com/onsi/ginkgo/v2/internal.(*group).attemptSpec(0xc00038f130, 0x1, {{0xc0002d1c08?, 0xc00018c1c0?, 0x2?}, 0x0?})
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/group.go:199 +0xc33
github.com/onsi/ginkgo/v2/internal.(*group).run(0xc00038f130, {0xc0000be000?, 0x0?, 0x0?})
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/group.go:349 +0x925
github.com/onsi/ginkgo/v2/internal.(*Suite).runSpecs(0xc00014ea88, {0xecd48a, 0x1f}, {0x144df20, 0x0, 0x0}, {0xc00016edb0, 0x2a}, 0x0, {0xc00013d688, ...})
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/suite.go:489 +0xac5
github.com/onsi/ginkgo/v2/internal.(*Suite).Run(_, {_, _}, {_, _, _}, {_, _}, _, {0xfaf790, ...}, ...)
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/suite.go:130 +0x405
github.com/onsi/ginkgo/v2.RunSpecs({0xfa78c0, 0xc00017ab60}, {0xecd48a, 0x1f}, {0x0, 0x0, 0x0})
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/core_dsl.go:300 +0x8b3
github.com/runfinch/finch/e2e/vm.TestVM(0xc00017ab60)
C:/actions-runner/_work/finch/finch/e2e/vm/vm_windows_test.go:55 +0x1ca
testing.tRunner(0xc00017ab60, 0xf04c70)
C:/Program Files/Go/src/testing/testing.go:1689 +0xfb
created by testing.(*T).Run in goroutine 1
C:/Program Files/Go/src/testing/testing.go:1742 +0x390
goroutine 19 [syscall, 119 minutes]:
os/signal.signal_recv()
C:/Program Files/Go/src/runtime/sigqueue.go:152 +0x29
os/signal.loop()
C:/Program Files/Go/src/os/signal/signal_unix.go:23 +0x13
created by os/signal.Notify.func1.1 in goroutine 18
C:/Program Files/Go/src/os/signal/signal.go:151 +0x1f
goroutine 20 [select, 119 minutes]:
github.com/onsi/ginkgo/v2/internal/interrupt_handler.(*InterruptHandler).registerForInterrupts.func2(0x0?)
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/interrupt_handler/interrupt_handler.go:131 +0x7d
created by github.com/onsi/ginkgo/v2/internal/interrupt_handler.(*InterruptHandler).registerForInterrupts in goroutine 18
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/interrupt_handler/interrupt_handler.go:128 +0x165
goroutine 21 [select, 119 minutes]:
github.com/onsi/ginkgo/v2/internal.RegisterForProgressSignal.func1()
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/progress_report.go:32 +0x8b
created by github.com/onsi/ginkgo/v2/internal.RegisterForProgressSignal in goroutine 18
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/progress_report.go:30 +0xd9
goroutine 26 [syscall, 119 minutes, locked to thread]:
syscall.SyscallN(0x7ffa06a23bf0?, {0xc0004b1a48?, 0x3?, 0x0?})
C:/Program Files/Go/src/runtime/syscall_windows.go:544 +0x107
syscall.Syscall(0x3?, 0x3?, 0xc00049e900?, 0x0?, 0x0?)
C:/Program Files/Go/src/runtime/syscall_windows.go:482 +0x35
syscall.WaitForSingleObject(0x30c, 0xffffffff)
C:/Program Files/Go/src/syscall/zsyscall_windows.go:1142 +0x5d
os.(*Process).wait(0xc0003356b0)
C:/Program Files/Go/src/os/exec_windows.go:18 +0x50
os.(*Process).Wait(...)
C:/Program Files/Go/src/os/exec.go:134
os/exec.(*Cmd).Wait(0xc000160160)
C:/Program Files/Go/src/os/exec/exec.go:897 +0x45
os/exec.(*Cmd).Run(0xc000160160)
C:/Program Files/Go/src/os/exec/exec.go:607 +0x2d
github.com/runfinch/finch/e2e/vm.init.func5(0xc0002981b0)
C:/actions-runner/_work/finch/finch/e2e/vm/vm_test.go:32 +0x2f9
github.com/runfinch/finch/e2e/vm.init.func7.1.1()
C:/actions-runner/_work/finch/finch/e2e/vm/additional_disk_test.go:26 +0x3a
github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3({0x0?, 0x0?})
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/node.go:472 +0x13
github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/suite.go:894 +0x8d
created by github.com/onsi/ginkgo/v2/internal.(*Suite).runNode in goroutine 18
C:/Users/Administrator/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.19.0/internal/suite.go:881 +0xdb0
FAIL github.com/runfinch/finch/e2e/vm 7200.074s
FAIL
make: *** [test-e2e-vm-serial] Error 1
Error: Process completed with exit code 1.Additionally, the CI for recently created PR is also failing. Consequently, it is reasonable to assume that the changes made in this commit are not the root cause of the failure. |
392950c to
c231fd2
Compare
|
The following error has occured. Details
Finch Container Development E2E Tests Run a container image when running a container with network related flags should add a custom host-to-IP mapping with --add-host flag with special IP
C:/Users/Administrator/go/pkg/mod/github.com/runfinch/common-tests@v0.7.22/tests/run.go:383
time="2024-06-10T14:27:57Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl ps --all --quiet --no-trunc], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
6639458223931720f48de6b6afdc3b33dfb632bfc7fd55c56488d89b3fc6638d
No containers to be removed
time="2024-06-10T14:27:58Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl images --all --quiet], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
4fac7a8257b1
No images to be removed
time="2024-06-10T14:27:59Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl volume ls --quiet], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
fbd4a280b3ac12a87be6b4c9d4c1381023134854d65b67676f90f96c27a6a30f
time="2024-06-10T14:27:59Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl volume prune --force --all], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
time="2024-06-10T14:28:00Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl network ls --format {{.Name}}], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
bridge
host
none
No networks to be removed
time="2024-06-10T14:28:06Z" level=debug msg="Resolving special IP \"host-gateway\" to \"172.20.32.1\" for host \"test-host\""
time="2024-06-10T14:28:06Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl container run -d --name ctr-test --add-host test-host:172.20.32.1 localhost:54245/amazonlinux/amazonlinux:2 sleep infinity], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
2024-06-10 14:28:07.000679828 +0000 UTC finch /snapshot/prepare {"key":"extract-980825813-ceyw sha256:9e1c1e301fa54d41bb458ac8eb55c27666b79d815b1955e62d45edb27a814e3c","snapshotter":"overlayfs"}
localhost:54245/amazonlinux/amazonlinux:2: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:22bf06725070287a989d60f6ad5c036957515956c0408c4140839a18a632ce88: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:d50f1e912a2da0036b3e2303c2dea1788579e41cdfb0643e94ea354e92bdf132: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:24c69f972b4922d2e8c98dd360dc8717646a27703f7fa80f8ca820937fd0bd48: downloading |--------------------------------------| 0.0 B/1.4 KiB
elapsed: 0.1 s total: 846.0 (8.1 KiB/s)
localhost:54245/amazonlinux/amazonlinux:2: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:22bf06725070287a989d60f6ad5c036957515956c0408c4140839a18a632ce88: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:d50f1e912a2da0036b3e2303c2dea1788579e41cdfb0643e94ea354e92bdf132: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:24c69f972b4922d2e8c98dd360dc8717646a27703f7fa80f8ca820937fd0bd48: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8a0995d2bf38a3ce742d376865782dab667a8fd7d3ded687b5775794788440be: downloading |+++-----------------------------------| 5.0 MiB/59.7 MiB
elapsed: 0.2 s total: 5.0 Mi (24.8 MiB/s)
localhost:54245/amazonlinux/amazonlinux:2: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:22bf06725070287a989d60f6ad5c036957515956c0408c4140839a18a632ce88: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:d50f1e912a2da0036b3e2303c2dea1788579e41cdfb0643e94ea354e92bdf132: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:24c69f972b4922d2e8c98dd360dc8717646a27703f7fa80f8ca820937fd0bd48: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8a0995d2bf38a3ce742d376865782dab667a8fd7d3ded687b5775794788440be: downloading |+++++++++++++++++---------------------| 27.0 MiB/59.7 MiB
elapsed: 0.3 s total: 27.0 M (89.3 MiB/s)
localhost:54245/amazonlinux/amazonlinux:2: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:22bf06725070287a989d60f6ad5c036957515956c0408c4140839a18a632ce88: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:d50f1e912a2da0036b3e2303c2dea1788579e41cdfb0643e94ea354e92bdf132: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:24c69f972b4922d2e8c98dd360dc8717646a27703f7fa80f8ca820937fd0bd48: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8a0995d2bf38a3ce742d376865782dab667a8fd7d3ded687b5775794788440be: downloading |++++++++++++++++++++++++++++++--------| 48.0 MiB/59.7 MiB
elapsed: 0.4 s total: 48.0 M (119.6 MiB/s)
localhost:54245/amazonlinux/amazonlinux:2: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:22bf06725070287a989d60f6ad5c036957515956c0408c4140839a18a632ce88: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:d50f1e912a2da0036b3e2303c2dea1788579e41cdfb0643e94ea354e92bdf132: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:24c69f972b4922d2e8c98dd360dc8717646a27703f7fa80f8ca820937fd0bd48: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8a0995d2bf38a3ce742d376865782dab667a8fd7d3ded687b5775794788440be: downloading |++++++++++++++++++++++++++++++++++++++| 59.7 MiB/59.7 MiB
elapsed: 0.5 s total: 59.7 M (119.2 MiB/s)
localhost:54245/amazonlinux/amazonlinux:2: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:22bf06725070287a989d60f6ad5c036957515956c0408c4140839a18a632ce88: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:d50f1e912a2da0036b3e2303c2dea1788579e41cdfb0643e94ea354e92bdf132: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:24c69f972b4922d2e8c98dd360dc8717646a27703f7fa80f8ca820937fd0bd48: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8a0995d2bf38a3ce742d376865782dab667a8fd7d3ded687b5775794788440be: downloading |++++++++++++++++++++++++++++++++++++++| 59.7 MiB/59.7 MiB
elapsed: 0.6 s total: 59.7 M (99.3 MiB/s)
localhost:54245/amazonlinux/amazonlinux:2: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:22bf06725070287a989d60f6ad5c036957515956c0408c4140839a18a632ce88: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:d50f1e912a2da0036b3e2303c2dea1788579e41cdfb0643e94ea354e92bdf132: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:24c69f972b4922d2e8c98dd360dc8717646a27703f7fa80f8ca820937fd0bd48: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8a0995d2bf38a3ce742d376865782dab667a8fd7d3ded687b5775794788440be: done |++++++++++++++++++++++++++++++++++++++|
elapsed: 0.7 s total: 59.7 M (85.2 MiB/s)
localhost:54245/amazonlinux/amazonlinux:2: resolved |++++++++++++++++++++++++++++++++++++++|
22bf06725070
4fac7a8257b1
time="2024-06-10T14:28:24Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl rmi --force 22bf06725070], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
2024-06-10 14:28:24.713404676 +0000 UTC finch /images/delete {"name":"localhost:54245/amazonlinux/amazonlinux:2"}
2024-06-10 14:28:24.71898673 +0000 UTC finch /snapshot/remove {"key":"sha256:9e1c1e301fa54d41bb458ac8eb55c27666b79d815b1955e62d45edb27a814e3c","snapshotter":"overlayfs"}
Untagged: localhost:54245/amazonlinux/amazonlinux:2@sha256:22bf06725070287a989d60f6ad5c036957515956c0408c4140839a18a632ce88
Deleted: sha256:9e1c1e301fa54d41bb458ac8eb55c27666b79d815b1955e62d45edb27a814e3c
time="2024-06-10T14:28:25Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl images --all --format {{.Repository}}:{{.Tag}}], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
public.ecr.aws/docker/library/registry:latest
No images to be removed
time="2024-06-10T14:28:25Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl volume ls --quiet], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
fbd4a280b3ac12a87be6b4c9d4c1381023134854d65b67676f90f96c27a6a30f
time="2024-06-10T14:28:26Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl volume prune --force --all], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
time="2024-06-10T14:28:27Z" level=debug msg="Creating limactl command: ARGUMENTS: [shell --workdir /mnt/c/actions-runner/_work/finch/finch/e2e/container finch sudo -E nerdctl network ls --format {{.Name}}], LIMA_HOME: C:\\actions-runner\\_work\\finch\\finch\\_output\\lima\\data"
bridge
host
none
No networks to be removed
+ [FAILED] [30.300 seconds]
Finch Container Development E2E Tests Run a container image when running a container with network related flags [It] should add a custom host-to-IP mapping with --add-host flag with special IP
C:/Users/Administrator/go/pkg/mod/github.com/runfinch/common-tests@v0.7.22/tests/run.go:383
[FAILED] Timed out after 10.008s.
Expected process to exit. It did not.
In [It] at: C:/Users/Administrator/go/pkg/mod/github.com/runfinch/common-tests@v0.7.22/command/command.go:115 @ 06/10/24 14:28:20.263I'm investigating the cause of the test failure. |
I think this is unrelated. Right now, the way we enable Windows => WSL2 communication is via a firewall rule. To make this more reliable, it might be best to install/configure mDNS inside the guest VM rootfs and resolve the special Another option is the new |
pendo324
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good generally, just left a few comments
|
|
||
| // RefreshConfigFile refreshes config.json according to finch.yaml. | ||
| func RefreshConfigFile(fs afero.Fs, logger flog.Logger, finchConfigPath, configJSONPath string) error { | ||
| systemDeps := system.NewStdLib() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you pass these in as dependencies? Makes mocking/testing simpler
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree.
However, depending on the discussion below, there is no need to call config.LoadFinchConfig().
So the following call may no longer be necessary.
systemDeps := system.NewStdLib()
mem := fmemory.NewMemory()
| systemDeps := system.NewStdLib() | ||
| mem := fmemory.NewMemory() | ||
|
|
||
| finchCfg, err := config.LoadFinchConfig(fs, finchConfigPath, logger, systemDeps, mem) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same for config, we can pass it as a dependency to the vm commands, and then to this function instead of loading it again
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this mean that the fc being passed in the following is passed to newVirtualMachineCommand(), which in turn is passed to newStartVMCommand() and newInitVMCommand(), to avoid re-loading the config?
| var vmType string | ||
|
|
||
| ginkgo.BeforeEach(func() { | ||
| if runtime.GOOS == "windows" { | ||
| vmType = "wsl2" | ||
| } else { | ||
| vmType = "vz" | ||
| } | ||
| }) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this actually necessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I think it is necessary.
testFinchConfigFile() is called in both darwin and windows tests, but the vmType in finch.yaml is different for those environments.
The following implementation is also helpful.
|
Thanks you for review!!! I'm checking .... |
|
@haytok this is a helpful feature PR. Any chance you will be working on it? Or else can do changes on this PR. |
Suppose we have configured the `creds_helpers` in `~/.finch/finch.yaml` as
follows, and subsequently initialized a VM (`finch vm init`).
```
cpus: 6
creds_helpers:
- ecr-login
memory: 8GiB
vmType: vz
rosetta: true
```
As a result, `~/.finch/config.json` is created, and it contains the
following:
```
{"credsStore":"ecr-login"}
```
This allows us to utilize the Amazon ECR Docker Credential Helper within Finch.
Subsequently, suppose we stop and remove the VM
(`finch vm stop` && `finch vm remove`), and then remove the
`creds_helpers` configuration from `finch.yaml`.
We then configure the `finch.yaml` file as follows:
```
cpus: 6
memory: 8GiB
vmType: vz
rosetta: true
```
As a result, when we reinitialize the VM (`finch vm init`), the expected
behavior is that it will no longer use the Amazon ECR Docker Credential Helper.
However, when initializing the VM, despite the absence of `creds_helpers`
configuration in `finch.yaml`, the `"credsStore": "ecr-login"` remains in
`config.json`, allowing the continued use of the Amazon ECR Docker
Credential Helper.
This behavior has been reported in the following issue:
- runfinch#480
Furthermore, this issue occurs when we stop the VM (`finch vm stop`),
modify `finch.yaml`, and subsequently start the VM (`finch vm start`).
Consequently, we will modify the behavior to update `config.json` in
accordance with the `creds_helpers` configuration in `finch.yaml` when
initiating or starting the VM.
Signed-off-by: Hayato Kiwata <dev@haytok.jp>
c231fd2 to
46ce188
Compare
|
Hi @Shubhranshu153 , aplogize for the delay of update 🙏 |
Suppose we have configured the
creds_helpersin~/.finch/finch.yamlas follows, and subsequently initialized a VM (finch vm init).As a result,
~/.finch/config.jsonis created, and it contains the following:This allows us to utilize the Amazon ECR Docker Credential Helper within Finch.
Subsequently, suppose we stop and remove the VM
(
finch vm stop&&finch vm remove), and then remove thecreds_helpersconfiguration fromfinch.yaml.We then configure the
finch.yamlfile as follows:As a result, when we reinitialize the VM (
finch vm init), the expected behavior is that it will no longer use the Amazon ECR Docker Credential Helper.However, when initializing the VM, despite the absence of
creds_helpersconfiguration infinch.yaml, the"credsStore": "ecr-login"remains inconfig.json, allowing the continued use of the Amazon ECR Docker Credential Helper.This behavior has been reported in the following issue:
creds_helpersfrom Finch VM configuration #480Furthermore, this issue occurs when we stop the VM (
finch vm stop), modifyfinch.yaml, and subsequently start the VM (finch vm start).Consequently, we will modify the behavior to update
config.jsonin accordance with thecreds_helpersconfiguration infinch.yamlwhen initiating or starting the VM.Issue #, if available: #480
Description of changes: The details are described in the commit message.
Testing done: yes
License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.