-
Notifications
You must be signed in to change notification settings - Fork 1k
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
WIP test PR #2982
WIP test PR #2982
Conversation
This enables SIGHUP based system registry reload via a new configuration watcher. The path of the system registries.conf can be now set via an hidden command line flag of CRI-O as well. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
The configuration reload based integration tests start now all with 'reload config', whereas the helper functions `reload_crio` and `wait_for_log` are globally available. These will be used by the system registries integration tests later on. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
This test is not possible to succeed any more, whereas the test result is wrong when running as `root`. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
If `hooks_dir` is unset, CRI-O will not longer default to `/usr/share/containers/oci/hooks.d` and `/etc/containers/oci/hooks.d` because this behavior is depcrecated since some releases. Documentation has been adapted as well. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Signed-off-by: Gábor Lipták <gliptak@gmail.com>
This fixes a possible issue with misconfiguration of CRI-O. Steps to reproduce: 1. Start CRI-O with a default runtime, like: ``` [crio.runtime.runtimes.kata] runtime_path = "/usr/bin/kata-qemu" runtime_type = "oci" runtime_root = "" ``` 2. Create a pod sandbox 3. Stop CRI-O 4. Change the runtime_type to `vm` 5. Start CRI-O: ``` panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x80 pc=0x18c5b60] goroutine 1 [running]: github.com/cri-o/cri-o/internal/oci.(*runtimeVM).UpdateContainerStatus(0xc00050a000, 0xc0002f1760, 0x0, 0x0) /go/src/github.com/cri-o/cri-o/internal/oci/runtime_vm.go:556 +0x190 github.com/cri-o/cri-o/internal/oci.(*Runtime).UpdateContainerStatus(0xc000500690, 0xc0002f1760, 0x0, 0xc000437360) /go/src/github.com/cri-o/cri-o/internal/oci/oci.go:301 +0x7d github.com/cri-o/cri-o/internal/lib.(*ContainerServer).ContainerStateFromDisk(0xc000513f40, 0xc0002f1760, 0x1e8130f, 0x1b) /go/src/github.com/cri-o/cri-o/internal/lib/container_server.go:547 +0x61 github.com/cri-o/cri-o/internal/lib.(*ContainerServer).LoadSandbox(0xc000513f40, 0xc0003f8c40, 0x40, 0x0, 0x0) /go/src/github.com/cri-o/cri-o/internal/lib/container_server.go:409 +0x1665 github.com/cri-o/cri-o/server.(*Server).restore(0xc00026b200) /go/src/github.com/cri-o/cri-o/server/server.go:171 +0x70f github.com/cri-o/cri-o/server.New(0x21cc920, 0xc000381840, 0xc0003a3600, 0x1e6ffc2, 0x13, 0x2198420, 0xc00035c380, 0x21c2d60, 0xc000409410, 0x0) /go/src/github.com/cri-o/cri-o/server/server.go:402 +0xb8d main.main.func2(0xc0003a3760, 0x0, 0xc0002ccc00) /go/src/github.com/cri-o/cri-o/cmd/crio/main.go:738 +0x5e3 github.com/urfave/cli.HandleAction(0x1b68e20, 0xc0003cb2e0, 0xc0003a3760, 0xc0003a3760, 0x0) /go/src/github.com/cri-o/cri-o/vendor/github.com/urfave/cli/app.go:514 +0xbe github.com/urfave/cli.(*App).Run(0xc00046bc00, 0xc0000b2170, 0x1, 0x1, 0x0, 0x0) /go/src/github.com/cri-o/cri-o/vendor/github.com/urfave/cli/app.go:274 +0x5fa main.main() /go/src/github.com/cri-o/cri-o/cmd/crio/main.go:851 +0x49e2 ``` Signed-off-by: Sascha Grunert <sgrunert@suse.com>
The `runtime_type` for each runtime gets now validated if it's either empty (falls back to OCI), "oci" or "vm". Everything else will now be treated as misconfiguration whereas CRI-O won't start any more. All tests have been adapted as well. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
If the log_dir is an relative path, then the creation of the container/sandbox will fail during runtime. To avoid this, we now pre-check if the path is absolute. All tests have been adapted as well. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
The `log_dir` needs to be in the root table which should work now as intended. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
and set --get false when calling e2e.test Signed-off-by: Peter Hunt <pehunt@redhat.com>
Signed-off-by: Peter Hunt <pehunt@redhat.com>
per: kubernetes/kubernetes#82341 (comment) Signed-off-by: Peter Hunt <pehunt@redhat.com>
to fix an issue caused by bumping etcd Signed-off-by: Peter Hunt <pehunt@redhat.com>
download kubetest manually
Set GOPROXY=https://proxy.golang.org in the Makefile to speed up fetching dependencies. Note that the go modules of golangci/golangci-lint has some invalid version specifiers, so we had to add some replacements in our go.mod to avoid getting 410's from the GOPROXY. Fixes: cri-o#2756 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
The new GOSUMDB environment variable identifies the name, and optionally the public key and server URL, of the database to consult for checksums of modules that are not yet listed in the main module's go.sum file. Set it to https://sum.golang.org. Also bump golangci-lint to v1.18.0 to fix version scheme issues of dependencies that would break the goproxy. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
First, attempt to find an IP address from /proc/net/route. If we fail to do so, attempt to find a clear primary Signed-off-by: Peter Hunt <pehunt@redhat.com>
Instead of failing when we can't find an IP unambiguously, choose an IP using the following heuristic: 1. configured value is chosen if set 2. legacy way of calling ChooseHostIP (this is the last step in the kubelet, but we want to keep behavior the same) 3. attempt to use the hostname to find it 4. loop through available interfaces, filter out ones the kubelet would, and choose the first available. for the 4th step, these interfaces are ordered by when they're configured on operating system level, and not alphabetically. This is good, because we don't want a CNI network preceeding one that will connect us to the net just because the former is 9.x... and latter 10.x... Ultimately, we want to rely on ChooseHostIP as much as possible, but now have fallbacks in case a default route isn't set Signed-off-by: Peter Hunt <pehunt@redhat.com>
Signed-off-by: Ryan Phillips <rphillips@redhat.com>
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
Update to golang 1.12.9 in CI
Fix invalid log_dir position in crio.conf
Fix possible segmentation fault on restore when runtime_type changes
Add `log_dir`/`--log-dir` validation to be absolute
Beside that, we add examples how to configure CRI-O with katacontainers. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Add config `runtime_type` validation
Add HUP reload feature for SystemRegistries
…-master Allow default route to not be present
…ated_directory fix selinux label on volume mount directory creation
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Signed-off-by: Qi Wang <qiwan@redhat.com>
The clang static analyzer complains that the variables `bind_uts`, `bind_ipc` and `bind_net` may be uninitialized on certain conditions, which is now fixed. Reproducible via: ``` > scan-build make scan-build: Using '/usr/bin/clang-9.0.0' for static analysis /usr/bin/ccc-analyzer -std=c99 -Os -Wall -Wextra -static -c -o pinns.o pinns.c pinns.c:105:7: warning: Branch condition evaluates to a garbage value if (bind_uts) { ^~~~~~~~ pinns.c:111:7: warning: Branch condition evaluates to a garbage value if (bind_ipc) { ^~~~~~~~ pinns.c:117:7: warning: Branch condition evaluates to a garbage value if (bind_net) { ^~~~~~~~ 3 warnings generated. /usr/bin/ccc-analyzer -o ../bin/pinns pinns.o -std=c99 -Os -Wall -Wextra -static scan-build: 3 bugs found. scan-build: Run 'scan-view /tmp/scan-build-2019-11-26-121307-20385-1' to examine bug reports. ``` Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Add disk usage for ListContainerStats
The pause binary has only be used for testing purposes and has no need in production use cases. We now remove it and adapt the testing around to avoid improper usage. Closes cri-o#2993, cri-o#2444 Signed-off-by: Sascha Grunert <sgrunert@suse.com>
run e2e tests using crun
Remove internal pause implementation
The ping pod tests removed all sandboxes after the test which caused a race condition in removal of the pod sandbox. Isolating them and removing only the sandboxes they created should fix that issue. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Update the CNI plugins inside the CI. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Bump CNI plugins to v0.8.3
Deflake network integration tests
We do not have to print out the defaults twice if a value is already provided by the CLI. This fixes a miss-format for the GRPC send and receive message sizes as well. Refers to: cri-o#3011 (comment) Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Fix CLI double default prints
Signed-off-by: Peter Hunt <pehunt@redhat.com>
@haircommander: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
1 similar comment
@haircommander: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits. 📝 Please follow instructions in the contributing guide to update your commits with the DCO Full details of the Developer Certificate of Origin can be found at developercertificate.org. The list of commits missing DCO signoff:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: haircommander The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
1 similar comment
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: haircommander The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@haircommander: The following tests failed, say
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
Signed-off-by: Peter Hunt pehunt@redhat.com