-
Notifications
You must be signed in to change notification settings - Fork 265
CORENET-6512: setup OTE freamwork and migration one case from tests-private repo #2834
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: master
Are you sure you want to change the base?
Conversation
WalkthroughAdds an E2E test binary, CLI/framework, utilities, and tests; updates build files and Dockerfile to build and include a gzipped test binary; bumps Go module dependencies and replace directives; refines default-route MTU detection and multipath MTU handling in networking code. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes
Assessment against linked issues
Out-of-scope changes
✨ Finishing touches
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (2.5.0)Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions Comment |
|
/retest-required |
f461a80 to
711ac01
Compare
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.
Actionable comments posted: 5
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (293)
go.sumis excluded by!**/*.sumvendor/github.com/Azure/go-ansiterm/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/constants.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/csi_entry_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/csi_param_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/escape_intermediate_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/escape_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/event_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/ground_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/osc_string_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/parser.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/parser_action_helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/parser_actions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/states.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/utilities.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/ansi.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/attr_translation.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/cursor_helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/erase_helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/scroll_helper.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/utilities.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/win_event_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/README.mdownis excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/pdh.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/MakeNowJust/heredoc/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/MakeNowJust/heredoc/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/MakeNowJust/heredoc/heredoc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/CODEOWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/backup.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/ea.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/fileinfo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/hvsock.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/fs.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/security.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/socket/rawaddr.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/socket/socket.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/socket/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/stringbuffer/wstring.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pipe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/guid.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/guid_nonwindows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/guid_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/variant_string.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/privilege.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/reparse.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/sd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/syscall.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/CODEOWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hns_v1.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hnsaccelnet.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hnsglobals.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hnssupport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hns.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsaccelnet.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsendpoint.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnserrors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsfuncs.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsglobals.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsnetwork.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnspolicy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnspolicylist.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnssupport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/namespace.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/interop/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/interop/interop.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/interop/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/circbuf.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/auth/bearer/token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awserr/error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awserr/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/logger.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/no_op_retryer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_1_5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_1_9.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_sleep.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/awsinternal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.9.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/example.iniis excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/os.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/os_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/sso_cached_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/token_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/enable.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/metric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/token_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/legacy_regions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/logger.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/http_request.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/retryer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/validation.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/waiter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.12.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.6.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/env_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/session.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/url_1_7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/context/background_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ast.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/comma_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/comment_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/empty_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/expression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/fuzz.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ini.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ini_lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/newline_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/number_helper.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/op_tokens.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/parse_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/parse_stack.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/sep_tokens.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/statement.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/visitor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/walker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ws_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkio/byte.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkmath/floor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkmath/floor_go1.9.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkrand/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkrand/read_1_5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config_resolve_home.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config_resolve_home_go1.12.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/strings/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/singleflight.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/host.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/host_prefix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/payload.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/protocol.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/restjson.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/waiters.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/ssoiface/interface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/customizations.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs_json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs_os.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs_zip.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/gettext.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/locale.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (7)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(4 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
test/cmd/main.gotest/MakefileDockerfiletest/e2e/cno.gogo.modMakefiletest/e2e/util.go
🪛 checkmake (0.2.2)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
🪛 OSV Scanner (2.2.4)
go.mod
[HIGH] 200-200: github.com/opencontainers/runc 1.2.5: runc container escape via "masked path" abuse due to mount race conditions
[HIGH] 200-200: github.com/opencontainers/runc 1.2.5: runc container escape and denial of service due to arbitrary write gadgets and procfs write redirects
[HIGH] 200-200: github.com/opencontainers/runc 1.2.5: runc container escape with malicious config due to /dev/console mount and related races
[HIGH] 202-202: github.com/opencontainers/selinux 1.11.1: runc container escape and denial of service due to arbitrary write gadgets and procfs write redirects
5a48a3f to
880b6d3
Compare
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.
Actionable comments posted: 1
♻️ Duplicate comments (2)
test/e2e/util.go (2)
144-153: Fix the rollout status polling condition.The current condition on Line 147 requires both "rollout to finish" AND "successfully rolled out" to appear in the same status output, but
oc rollout statusnever emits both strings simultaneously—the former appears only while waiting, and the latter only upon completion. This causescheckOVNKStateto consistently timeout.Apply this diff to fix the polling logic:
- if strings.Contains(status, "rollout to finish") && strings.Contains(status, "successfully rolled out") { - e2e.Logf("ovnkube rollout was triggerred and rolled out successfully") + if strings.Contains(status, "successfully rolled out") { + e2e.Logf("ovnkube rollout was triggered and rolled out successfully") return true, nil } - e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") + if strings.Contains(status, "rollout to finish") { + e2e.Logf("ovnkube rollout in progress, waiting...") + return false, nil + } + e2e.Logf("ovnkube rollout status: %s; retrying...", status) return false, nil
229-290: Fix NodePort service handling to avoid invalid curl targets.In the NodePort branches (lines 243-246, 263-267, 274-278),
getSvcIPreturns the nodePort value (e.g., "30080") in the second return parameter. WhencurlPod2SvcPasscallsnet.JoinHostPort(svcIP2, strconv.Itoa(svcPort))on Line 217, this produces an invalid target like"30080:27017", treating the port number as a hostname.Refactor to return nodePort separately and pair it with an actual node IP:
-func getSvcIP(oc *exutil.CLI, namespace string, svcName string) (string, string) { +func getSvcIP(oc *exutil.CLI, namespace string, svcName string) (string, string, string) {Update the NodePort branches to return
(svcIP, "", nodePort)and modifycurlPod2SvcPassto detect the third return value, fetch a real node IP, and constructnet.JoinHostPort(nodeIP, nodePort)before curling. Alternatively, disable or remove NodePort support until it can be implemented correctly.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (293)
go.sumis excluded by!**/*.sumvendor/github.com/Azure/go-ansiterm/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/constants.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/csi_entry_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/csi_param_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/escape_intermediate_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/escape_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/event_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/ground_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/osc_string_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/parser.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/parser_action_helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/parser_actions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/states.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/utilities.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/ansi.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/attr_translation.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/cursor_helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/erase_helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/scroll_helper.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/utilities.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/win_event_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/README.mdownis excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/pdh.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/MakeNowJust/heredoc/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/MakeNowJust/heredoc/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/MakeNowJust/heredoc/heredoc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/CODEOWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/backup.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/ea.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/fileinfo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/hvsock.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/fs.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/security.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/socket/rawaddr.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/socket/socket.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/socket/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/stringbuffer/wstring.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pipe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/guid.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/guid_nonwindows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/guid_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/variant_string.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/privilege.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/reparse.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/sd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/syscall.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/CODEOWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hns_v1.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hnsaccelnet.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hnsglobals.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hnssupport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hns.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsaccelnet.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsendpoint.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnserrors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsfuncs.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsglobals.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsnetwork.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnspolicy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnspolicylist.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnssupport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/namespace.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/interop/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/interop/interop.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/interop/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/circbuf.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/auth/bearer/token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awserr/error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awserr/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/logger.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/no_op_retryer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_1_5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_1_9.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_sleep.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/awsinternal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.9.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/example.iniis excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/os.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/os_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/sso_cached_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/token_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/enable.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/metric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/token_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/legacy_regions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/logger.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/http_request.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/retryer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/validation.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/waiter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.12.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.6.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/env_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/session.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/url_1_7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/context/background_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ast.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/comma_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/comment_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/empty_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/expression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/fuzz.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ini.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ini_lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/newline_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/number_helper.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/op_tokens.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/parse_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/parse_stack.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/sep_tokens.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/statement.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/visitor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/walker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ws_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkio/byte.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkmath/floor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkmath/floor_go1.9.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkrand/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkrand/read_1_5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config_resolve_home.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config_resolve_home_go1.12.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/strings/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/singleflight.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/host.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/host_prefix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/payload.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/protocol.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/restjson.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/waiters.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/ssoiface/interface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/customizations.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs_json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs_os.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs_zip.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/gettext.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/locale.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (7)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(4 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- Dockerfile
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
test/e2e/cno.gotest/cmd/main.gotest/e2e/util.gogo.modMakefiletest/Makefile
🪛 checkmake (0.2.2)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
🪛 OSV Scanner (2.2.4)
go.mod
[HIGH] 200-200: github.com/opencontainers/runc 1.2.5: runc container escape via "masked path" abuse due to mount race conditions
[HIGH] 200-200: github.com/opencontainers/runc 1.2.5: runc container escape and denial of service due to arbitrary write gadgets and procfs write redirects
[HIGH] 200-200: github.com/opencontainers/runc 1.2.5: runc container escape with malicious config due to /dev/console mount and related races
[HIGH] 202-202: github.com/opencontainers/selinux 1.11.1: runc container escape and denial of service due to arbitrary write gadgets and procfs write redirects
🔇 Additional comments (4)
test/e2e/cno.go (1)
20-117: LGTM! Previous issues have been addressed.The jsonpath queries now correctly access the cluster object directly (without
.items[*]), and the default value fallbacks are properly applied per address family independently. The test structure with deferred cleanup and OVN state validation is appropriate for this Day 2 operation test.test/cmd/main.go (1)
17-50: LGTM! Standard test extension setup.The test extension registration and CLI wiring follows OpenShift test patterns correctly. Error handling appropriately panics on spec build failures and exits on command execution errors.
Makefile (1)
49-53: LGTM! Clean build target integration.The new
build-e2e-teststarget properly delegates to the test subdirectory and follows the project's Makefile conventions.test/Makefile (1)
1-44: LGTM! Well-structured test build configuration.The Makefile properly defines build targets with version information embedding and cross-compilation support for containerized builds. The use of ldflags for commit and build date tracking is a good practice.
|
@zhaozhanqi: This pull request references CORENET-6512 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set. DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
|
/retest-required |
c694ad1 to
8232bc7
Compare
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.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
pkg/controller/operconfig/mtu_probe.go (1)
44-44: Fix copy-paste error in Azure log message.The log message incorrectly states "AWS cluster" when handling Azure platform type. This would mislead operators debugging Azure deployments.
Apply this diff to fix the log message:
- klog.Infof("AWS cluster, omitting MTU probing and using default of %d", azureMTU) + klog.Infof("Azure cluster, omitting MTU probing and using default of %d", azureMTU)
♻️ Duplicate comments (1)
go.mod (1)
200-259: runc/selinux versions are still flagged as HIGH-severity container escape vectors
github.com/opencontainers/runc v1.2.5andgithub.com/opencontainers/selinux v1.11.1remain in the module graph as indirect deps, and the scanner output still marks them with multiple HIGH-severity container escape advisories. Even though they’re transitive, shipping binaries that vendor these versions keeps that risk in scope.If you haven’t already addressed this elsewhere, please either:
- bump the upstream deps that pull them in to releases that contain patched runc/selinux, or
- add explicit
replacedirectives pinninggithub.com/opencontainers/runcto a patched release (>= the fixed 1.2.x/1.3.x line) andgithub.com/opencontainers/selinuxto a fixed version, then re-rungo mod tidyand security scanning.Given this is orthogonal to the OTE wiring but security-critical, it’s worth tracking explicitly (even if fixed in a follow-up PR).
🧹 Nitpick comments (2)
test/Makefile (1)
1-45: Makefile wiring looks good; consider using the Linux-specific target for container buildsThe build logic and version ldflags look fine. Since you already provide a
build-linuxtarget (CGO disabled, GOOS/GOARCH pinned), you could optionally have higher-level callers (e.g., the Docker builder) invoke that target instead ofbuildto make the Linux/amd64 build characteristics explicit and more reproducible, but it isn’t strictly required here.Makefile (1)
49-54: Hooking in the e2e test build looks fine; optionally callbuild-linuxfor stricter targetingThe new
build-e2e-teststarget is straightforward and does what the Dockerfile needs. If you want to make it explicit that the extension binary is always built as a Linux/amd64, CGO-disabled artifact for images, you could have this target call$(MAKE) -C test build-linuxinstead ofbuild. That’s a convenience/robustness tweak, not a blocker.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (290)
go.sumis excluded by!**/*.sumvendor/github.com/Azure/go-ansiterm/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/constants.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/csi_entry_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/csi_param_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/escape_intermediate_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/escape_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/event_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/ground_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/osc_string_state.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/parser.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/parser_action_helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/parser_actions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/states.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/utilities.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/ansi.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/attr_translation.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/cursor_helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/erase_helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/scroll_helper.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/utilities.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Azure/go-ansiterm/winterm/win_event_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/README.mdownis excluded by!vendor/**,!**/vendor/**vendor/github.com/JeffAshton/win_pdh/pdh.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/MakeNowJust/heredoc/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/MakeNowJust/heredoc/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/MakeNowJust/heredoc/heredoc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/CODEOWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/backup.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/ea.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/fileinfo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/hvsock.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/fs.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/security.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/fs/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/socket/rawaddr.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/socket/socket.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/socket/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/internal/stringbuffer/wstring.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pipe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/guid.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/guid_nonwindows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/guid_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/pkg/guid/variant_string.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/privilege.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/reparse.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/sd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/syscall.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/go-winio/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/CODEOWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hns_v1.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hnsaccelnet.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hnsglobals.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/hnssupport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hns.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsaccelnet.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsendpoint.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnserrors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsfuncs.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsglobals.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnsnetwork.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnspolicy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnspolicylist.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/hnssupport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/namespace.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/hns/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/interop/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/interop/interop.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/Microsoft/hnslib/internal/interop/zsyscall_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/armon/circbuf/circbuf.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/auth/bearer/token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awserr/error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awserr/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/logger.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/client/no_op_retryer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_1_5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_1_9.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/context_sleep.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/awsinternal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.9.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/example.iniis excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/os.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/os_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/sso_cached_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/token_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/enable.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/metric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/token_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/legacy_regions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/logger.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/http_request.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/retryer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/validation.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/request/waiter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/credentials.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.12.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.6.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/env_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/session.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/url_1_7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/aws/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/context/background_go1.5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ast.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/comma_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/comment_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/empty_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/expression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/fuzz.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ini.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ini_lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/newline_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/number_helper.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/op_tokens.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/parse_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/parse_stack.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/sep_tokens.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/statement.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/visitor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/walker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/ini/ws_token.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkio/byte.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkmath/floor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkmath/floor_go1.9.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkrand/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkrand/read_1_5.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config_resolve_home.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config_resolve_home_go1.12.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/strings/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/singleflight.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/host.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/host_prefix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/payload.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/protocol.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/restjson.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal_error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/elb/waiters.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sso/ssoiface/interface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/ssooidc/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/api.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/customizations.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/service.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs_json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/chai2010/gettext-go/fs_os.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (10)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(4 hunks)manifests/0000_70_cluster-network-operator_01_pki_crd.yaml(1 hunks)pkg/controller/operconfig/mtu_probe.go(2 hunks)pkg/network/openshift_sdn_test.go(0 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
💤 Files with no reviewable changes (1)
- pkg/network/openshift_sdn_test.go
🚧 Files skipped from review as they are similar to previous changes (3)
- Dockerfile
- manifests/0000_70_cluster-network-operator_01_pki_crd.yaml
- test/e2e/util.go
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
test/e2e/cno.goMakefiletest/Makefiletest/cmd/main.gopkg/controller/operconfig/mtu_probe.gogo.mod
🪛 checkmake (0.2.2)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
🪛 OSV Scanner (2.2.4)
go.mod
[HIGH] 207-207: github.com/opencontainers/runc 1.2.5: Container escape via "masked path" abuse due to mount race conditions in github.com/opencontainers/runc
(GO-2025-4096)
[HIGH] 207-207: github.com/opencontainers/runc 1.2.5: Container escape with malicious config due to /dev/console mount and related races in github.com/opencontainers/runc
(GO-2025-4097)
[HIGH] 207-207: github.com/opencontainers/runc 1.2.5: Container escape and DDoS due to arbitrary write gadgets and procfs write redirects in github.com/opencontainers/runc
(GO-2025-4098)
[HIGH] 207-207: github.com/opencontainers/runc 1.2.5: runc container escape via "masked path" abuse due to mount race conditions
[HIGH] 207-207: github.com/opencontainers/runc 1.2.5: runc container escape and denial of service due to arbitrary write gadgets and procfs write redirects
[HIGH] 207-207: github.com/opencontainers/runc 1.2.5: runc container escape with malicious config due to /dev/console mount and related races
[HIGH] 209-209: github.com/opencontainers/selinux 1.11.1: Container escape and DDoS due to arbitrary write gadgets and procfs write redirects in github.com/opencontainers/runc
(GO-2025-4098)
[HIGH] 209-209: github.com/opencontainers/selinux 1.11.1: runc container escape and denial of service due to arbitrary write gadgets and procfs write redirects
🔇 Additional comments (2)
pkg/controller/operconfig/mtu_probe.go (1)
32-32: Justify the MTU probe timeout increase from 100s to 180s.This 80% increase in timeout could extend deployment wait times when MTU probing fails. The change appears unrelated to the main PR objective (OTE framework setup) and lacks justification. Please clarify:
- What issue prompted this increase?
- Has 100s proven insufficient in testing or production environments?
- Is 180s validated as sufficient for the slowest supported environments?
Also applies to: 70-71
test/cmd/main.go (1)
1-50: OTE main wiring looks consistent with the extension patternRegistry/extension setup, suite registration, and Cobra command wiring all look reasonable for this test binary. With the suite qualifier aligned to the test names (see comment in
test/e2e/cno.go), this entrypoint should behave as expected.
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.
Actionable comments posted: 2
♻️ Duplicate comments (3)
go.mod (1)
5-31: Resolve transitive runc/selinux container‑escape vulnerabilities before mergingPrevious analysis on this go.mod showed that transitive deps still pull in
github.com/opencontainers/runc v1.2.5andgithub.com/opencontainers/selinux v1.11.1, both under multiple HIGH‑severity container‑escape advisories. There are still no explicit replaces or upstream bumps here to guarantee patched versions, so the issue appears unresolved.Please either:
- Move to upstream Kubernetes/OpenShift/cadvisor/origin versions that vendor fixed runc/selinux, or
- Add temporary explicit replaces to known‑good versions and re‑run OSV/
go mod graphto confirm the old versions are gone, e.g.:replace ( @@ - k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20251017123720-96593f323733 + k8s.io/sample-controller => github.com/openshift/kubernetes/staging/src/k8s.io/sample-controller v0.0.0-20251017123720-96593f323733 + github.com/opencontainers/runc => github.com/opencontainers/runc v1.2.8 + github.com/opencontainers/selinux => github.com/opencontainers/selinux v1.13.0 )(Exact patched versions can be adjusted to match your runtime baseline, as long as they include the published fixes.)
Please re-run your vulnerability scan (OSV, osv-scanner, or equivalent) after adjusting these deps to verify that
runc≥ 1.2.8 (or equivalent fixed branch) and a patchedopencontainers/selinuxare in use end‑to‑end.Also applies to: 192-227
test/e2e/util.go (2)
128-149: Fix ovnkube rollout polling condition so checkOVNKState can ever succeed
oc rollout status ds/ovnkube-nodedoes not emit “waiting for rollout to finish” and “successfully rolled out” in the same message. Requiring both substrings makes the predicate unsatisfiable, socheckOVNKStatewill always time out.Consider treating “successfully rolled out” alone as success and logging other states separately, e.g.:
- return wait.PollUntilContextTimeout(context.Background(), 10*time.Second, 2*time.Minute, true, func(ctx context.Context) (bool, error) { + return wait.PollUntilContextTimeout(context.Background(), 10*time.Second, 2*time.Minute, true, func(ctx context.Context) (bool, error) { status, err := oc.AsAdmin().WithoutNamespace().Run("rollout").Args("status", "-n", "openshift-ovn-kubernetes", "ds", "ovnkube-node", "--timeout", "5m").Output() o.Expect(err).NotTo(o.HaveOccurred()) - if strings.Contains(status, "rollout to finish") && strings.Contains(status, "successfully rolled out") { - e2e.Logf("ovnkube rollout was triggerred and rolled out successfully") - return true, nil - } - e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") - return false, nil + if strings.Contains(status, "successfully rolled out") { + e2e.Logf("ovnkube rollout was triggered and rolled out successfully") + return true, nil + } + if strings.Contains(status, "rollout to finish") { + e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") + return false, nil + } + e2e.Logf("ovnkube rollout status unexpected (%s); retrying...", status) + return false, nil })
206-311: Avoid treating a NodePort value as a host in curlPod2SvcPassIn the NodePort paths of
getSvcIP, the second return value is the nodePort (e.g.,"30080").curlPod2SvcPassthen unconditionally treats a non‑empty second value as an IP/host:svcIP1, svcIP2 := getSvcIP(...) if svcIP2 != "" { // svcIP2 is a port for NodePort services net.JoinHostPort(svcIP2, strconv.Itoa(svcPort)) }This yields invalid curl targets like host
"30080", so any future NodePort‑based tests will fail.If you don’t need NodePort coverage yet, a simple and safe fix is to only treat the second value as an address when it actually looks like an IP, and otherwise ignore it:
func curlPod2SvcPass(oc *CLI, namespaceSrc string, namespaceSvc string, podNameSrc string, svcName string, svcPort int) { - svcIP1, svcIP2 := getSvcIP(oc, namespaceSvc, svcName) - if svcIP2 != "" { - _, err := e2eoutput.RunHostCmdWithRetries(namespaceSrc, podNameSrc, "curl --connect-timeout 5 -s "+net.JoinHostPort(svcIP1, strconv.Itoa(svcPort)), 3*time.Second, 15*time.Second) - o.Expect(err).NotTo(o.HaveOccurred()) - _, err = e2eoutput.RunHostCmdWithRetries(namespaceSrc, podNameSrc, "curl --connect-timeout 5 -s "+net.JoinHostPort(svcIP2, strconv.Itoa(svcPort)), 3*time.Second, 15*time.Second) - o.Expect(err).NotTo(o.HaveOccurred()) - } else { - _, err := e2eoutput.RunHostCmdWithRetries(namespaceSrc, podNameSrc, "curl --connect-timeout 5 -s "+net.JoinHostPort(svcIP1, strconv.Itoa(svcPort)), 3*time.Second, 15*time.Second) - o.Expect(err).NotTo(o.HaveOccurred()) - } + svcIP1, svcIP2 := getSvcIP(oc, namespaceSvc, svcName) + + targets := []string{svcIP1} + if svcIP2 != "" && net.ParseIP(svcIP2) != nil { + // Only treat svcIP2 as an address if it parses as an IP; skip bare NodePort numbers. + targets = append(targets, svcIP2) + } + + for _, ip := range targets { + _, err := e2eoutput.RunHostCmdWithRetries( + namespaceSrc, + podNameSrc, + "curl --connect-timeout 5 -s "+net.JoinHostPort(ip, strconv.Itoa(svcPort)), + 3*time.Second, + 15*time.Second, + ) + o.Expect(err).NotTo(o.HaveOccurred()) + } }If you do intend to validate NodePort semantics, you’ll additionally need to plumb a real node IP (not just nodePort) into this path.
🧹 Nitpick comments (1)
test/e2e/cli.go (1)
258-278: Extract QPS and Burst to constants.Lines 274-275 hardcode
QPS = 20andBurst = 50, duplicating the same values set in lines 43-44 ofNewCLIWithPodSecurityLevel. Extract these to package-level constants to ensure consistency and simplify future adjustments.+const ( + defaultClientQPS = 20 + defaultClientBurst = 50 +) + func (c *CLI) getConfig() (*rest.Config, error) { // ... existing code ... - config.QPS = 20 - config.Burst = 50 + config.QPS = defaultClientQPS + config.Burst = defaultClientBurst return config, nil }And update lines 43-44:
ClientQPS: defaultClientQPS, ClientBurst: defaultClientBurst,
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (290)
go.sumis excluded by!**/*.sumvendor/github.com/distribution/reference/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CODE-OF-CONDUCT.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/GOVERNANCE.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/distribution-logo.svgis excluded by!**/*.svg,!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/normalize.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/regexp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/CHANGES.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/curly.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/custom_verb.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/.cliff.tomlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/CONTRIBUTORS.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/pointer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonreference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonreference/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonreference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonreference/internal/normalize_url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonreference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/.codecov.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/.mockery.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/format.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/sizeof.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/type_constraints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/go.workis excluded by!**/*.work,!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/go.work.sumis excluded by!**/*.sum,!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/name_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/concat.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/loading.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/BENCHMARK.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_mangler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/pools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/string_bytes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/collection_formats.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.editorconfigis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/LICENSE.txtis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/Taskfile.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/crypto.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/date.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/dict.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/functions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/network.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/numeric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/reflect.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/regex.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/google/pprof/profile/merge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/google/pprof/profile/profile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/google/pprof/profile/prune.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/compression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/conn.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/join.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask_safe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/prepared.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/josharian/intern/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/josharian/intern/intern.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/buffer/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/jlexer/bytestostr.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/jlexer/error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/jlexer/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/jwriter/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/connection.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/priority.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/dictionary.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/write.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/flowrate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/io.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/OWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/RELEASING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/config/deprecated.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/decorator_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/formatter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/main.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/counter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/failer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/focus.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/global/init.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/group.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/ordering.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/tree.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/json_report.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (10)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(5 hunks)manifests/0000_70_cluster-network-operator_01_pki_crd.yaml(1 hunks)pkg/network/openshift_sdn_test.go(0 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cli.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
💤 Files with no reviewable changes (1)
- pkg/network/openshift_sdn_test.go
🚧 Files skipped from review as they are similar to previous changes (2)
- manifests/0000_70_cluster-network-operator_01_pki_crd.yaml
- Dockerfile
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
Makefiletest/cmd/main.gogo.modtest/e2e/util.gotest/e2e/cno.gotest/e2e/cli.gotest/Makefile
🪛 checkmake (0.2.2)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
🔇 Additional comments (5)
test/cmd/main.go (1)
18-53: OTE extension wiring and suite registration look correctRegistry/extension setup, disruptive suite definition, spec wiring, and Cobra command integration follow the expected openshift-tests-extension pattern. Nothing blocking here from a correctness/maintainability perspective.
Makefile (1)
49-53: E2E test binary build target is straightforward and safe
build-e2e-testssimply delegates tomake -C test buildwith a helpful log line, keeping the top-level Makefile thin and maintainable. No issues from a build or CI perspective.test/Makefile (1)
1-45: Test extension build Makefile looks solidThe binary naming, use of ldflags for version metadata, and separate linux/amd64 target are all reasonable. Directory handling and clean target are correct; nothing blocking here.
test/e2e/cno.go (1)
14-115: Day‑2 OVN subnet test and disruptive suite labeling look consistentThe test flow (pod/service setup, OVN patching, rollout wait, connectivity checks, and restore) is coherent, and the
[Suite:openshift/cluster-network-operator/disruptive][Disruptive]tag matches the OTE qualifier so the spec should be discoverable.test/e2e/cli.go (1)
71-71: No issues found —getRandomString()is properly defined in the same package.The function is defined in
test/e2e/util.goat line 33 and is accessible fromtest/e2e/cli.gosince both files are in the same package. The code is correct as-is.
14a75d5 to
60ea670
Compare
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.
Actionable comments posted: 0
♻️ Duplicate comments (1)
test/e2e/cli.go (1)
34-66: Avoid registering Ginkgo hooks from the CLI constructor (risk of duplicate hooks).Each call to
NewCLIWithPodSecurityLevelregisters newBeforeEach/AfterEachhooks on the global Ginkgo suite, so multiple CLI instances in a file/suite will cause multiple namespace creations and deletions per test, leading to conflicts and flakiness.Consider registering these hooks once (e.g., via a package‑level singleton CLI or a
BeforeSuite/AfterSuite), or removing the automatic hooks and requiring callers to wiresetupNamespace/teardownNamespaceexplicitly from their ownBeforeEach/AfterEach.
🧹 Nitpick comments (2)
test/e2e/cli.go (2)
21-31:AsAdminflag is currently a no‑op and may mislead callers.
asAdminis set inasAdminInternal/AsAdminbut never read when building the command inoutput(), socli.AsAdmin()behaves identically to the basecli. This is confusing for tests that might expect different privileges or behavior.Either:
- Wire
asAdmininto command construction (e.g., switch kubeconfig or add appropriateocflags when true), or- Drop
asAdminandAsAdminfor now to avoid exposing a misleading API.Also applies to: 131-141
100-119: ClearnamespacesToDeleteafter teardown to avoid redundant work.
teardownNamespaceiterates over allnamespacesToDeleteon everyAfterEachwithout ever clearing the slice, so namespaces deleted in earlier tests are retried repeatedly, which can add up across many specs.After the loop, consider resetting the slice (e.g.,
c.namespacesToDelete = nil) so each namespace is only processed once per process.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
📒 Files selected for processing (1)
test/e2e/cli.go(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
test/e2e/cli.go
5c40b3d to
d672efe
Compare
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.
Actionable comments posted: 0
♻️ Duplicate comments (3)
test/e2e/util.go (2)
139-147: Rollout status predicate can never succeed; checkOVNKState will always time outThe predicate currently requires both
"rollout to finish"and"successfully rolled out"in the sameoc rollout statusoutput, which doesn’t happen in practice (those messages appear in different phases). As a result, this loop never returnstrueandcheckOVNKStatewill only exit via timeout, making tests consistently fail.Consider treating
"successfully rolled out"alone as success, and logging other states while retrying. For example:- if strings.Contains(status, "rollout to finish") && strings.Contains(status, "successfully rolled out") { - e2e.Logf("ovnkube rollout was triggerred and rolled out successfully") - return true, nil - } - e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") - return false, nil + if strings.Contains(status, "successfully rolled out") { + e2e.Logf("ovnkube rollout was triggered and rolled out successfully") + return true, nil + } + if strings.Contains(status, "rollout to finish") { + e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") + return false, nil + } + e2e.Logf("ovnkube rollout status unexpected (%s); retrying...", status) + return false, nil
206-218: NodePort support in curlPod2SvcPass still builds an invalid curl target
getSvcIPintentionally returns the NodePort value in the second result for NodePort services (both single- and dual-stack), butcurlPod2SvcPassunconditionally treatssvcIP2as a host:svcIP1, svcIP2 := getSvcIP(...) ... curl ... net.JoinHostPort(svcIP2, strconv.Itoa(svcPort))For a NodePort service this becomes something like
curl ... 30080:8080, which is an invalid host name and will always fail. At best, you should only be curling the ClusterIP path; at worst, this gives a false impression that NodePort connectivity is being tested.Suggested directions:
- Either drop NodePort-specific behavior here for now (only use
svcIP1and ignore a numericsvcIP2), or- Extend
getSvcIPto return NodePort separately from IPs (e.g.,(ip1, ip2, nodePort string)), and in the NodePort case look up a real node IP and curlnodeIP:nodePortexplicitly.A minimal safe improvement that avoids invalid hosts while preserving dual-stack behavior would be:
func curlPod2SvcPass(...){ - svcIP1, svcIP2 := getSvcIP(oc, namespaceSvc, svcName) - if svcIP2 != "" { + svcIP1, svcIP2 := getSvcIP(oc, namespaceSvc, svcName) + if svcIP2 != "" && net.ParseIP(svcIP2) != nil { _, err := e2eoutput.RunHostCmdWithRetries(... net.JoinHostPort(svcIP1, strconv.Itoa(svcPort)) ...) ... _, err = e2eoutput.RunHostCmdWithRetries(... net.JoinHostPort(svcIP2, strconv.Itoa(svcPort)) ...) ... } else { _, err := e2eoutput.RunHostCmdWithRetries(... net.JoinHostPort(svcIP1, strconv.Itoa(svcPort)) ...) ... } }This keeps dual-stack coverage while preventing the NodePort value from being misused as a hostname. You can then follow up with proper NodePort testing that pairs a real node IP with the NodePort.
Also applies to: 224-310
test/e2e/cli.go (1)
33-66: Registering Ginkgo hooks in the constructor risks duplicate setup/teardown
NewCLIWithPodSecurityLevelcalls:g.BeforeEach(cli.setupNamespace) g.AfterEach(cli.teardownNamespace)for every CLI instance. If tests create more than one CLI (e.g., different base names or levels), each construction adds another global
BeforeEach/AfterEachpair, leading to multiple namespaces being created and torn down per test and making behavior order-/construction-dependent. This is hard to reason about and can easily cause flaky tests and unnecessary resource churn.Consider registering these hooks only once at package scope (e.g., via a singleton CLI in
init()orvar _ = g.BeforeEach(...)), or switching to explicitSetup/Teardowncalls that tests invoke themselves.
🧹 Nitpick comments (2)
test/Makefile (1)
13-31: Double‑check-ldflagsversion symbols are actually linked into this binaryThe LDFLAGS inject values into
$(GO_MODULE)/pkg/version.commitFromGit,buildDate, andversionFromGit, buttest/cmd/main.goitself doesn’t importgithub.com/openshift/cluster-network-operator/pkg/version. Unless some transitively imported package pulls that in, the linker won’t see those symbols andgo buildwith-Xwill fail.Please verify that:
pkg/versiondefines those three string vars, and- The test binary’s import graph includes
pkg/versionsomewhere.If it doesn’t, consider either importing
pkg/versionexplicitly (e.g., for a--versionflag) or dropping these-Xflags for this binary to avoid fragile, unused wiring.test/e2e/cli.go (1)
131-141:AsAdminflag is never used when building commands
AsAdmin()andasAdminInternal()toggle theasAdminfield, butoutput()ignores it when constructing theoccommand. All calls (including those usingAsAdmin().WithoutNamespace()...) therefore run with the same identity, which can be misleading for tests that expect admin vs non-admin behavior.If you need admin vs user separation, consider:
- Injecting appropriate
--as/--as-groupflags based onasAdmin, or- Using different kubeconfigs for admin and non-admin modes (and selecting them here).
If you don’t need this distinction in this repo, it may be clearer to remove the
asAdminpath entirely for now to avoid suggesting a capability that isn’t implemented.Also applies to: 191-230
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (289)
go.sumis excluded by!**/*.sumvendor/github.com/distribution/reference/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CODE-OF-CONDUCT.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/GOVERNANCE.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/distribution-logo.svgis excluded by!**/*.svg,!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/normalize.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/regexp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/CHANGES.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/curly.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/custom_verb.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/emicklei/go-restful/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/.cliff.tomlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/CONTRIBUTORS.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonpointer/pointer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonreference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonreference/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonreference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonreference/internal/normalize_url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/jsonreference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/.codecov.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/.mockery.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/format.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/sizeof.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/type_constraints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/go.workis excluded by!**/*.work,!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/go.work.sumis excluded by!**/*.sum,!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/name_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/concat.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/loading.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/BENCHMARK.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_mangler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/pools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/string_bytes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/collection_formats.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.editorconfigis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/LICENSE.txtis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/Taskfile.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/crypto.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/date.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/dict.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/functions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/network.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/numeric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/reflect.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/regex.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/google/pprof/profile/merge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/google/pprof/profile/profile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/google/pprof/profile/prune.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/compression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/conn.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/join.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask_safe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/prepared.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/josharian/intern/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/josharian/intern/intern.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/buffer/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/jlexer/bytestostr.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/jlexer/error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/jlexer/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mailru/easyjson/jwriter/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/connection.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/priority.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/dictionary.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/write.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/flowrate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/io.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/OWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/RELEASING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/config/deprecated.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/decorator_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/formatter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/main.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/counter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/failer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/focus.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/global/init.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/group.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/ordering.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/tree.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (11)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(5 hunks)manifests/0000_70_cluster-network-operator_01_pki_crd.yaml(1 hunks)pkg/network/mtu.go(2 hunks)pkg/network/openshift_sdn_test.go(0 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cli.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
💤 Files with no reviewable changes (1)
- pkg/network/openshift_sdn_test.go
🚧 Files skipped from review as they are similar to previous changes (3)
- manifests/0000_70_cluster-network-operator_01_pki_crd.yaml
- Dockerfile
- pkg/network/mtu.go
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
test/cmd/main.gotest/e2e/util.gotest/e2e/cno.gogo.modtest/e2e/cli.goMakefiletest/Makefile
🧬 Code graph analysis (2)
test/e2e/util.go (1)
test/e2e/cli.go (1)
CLI(21-31)
test/e2e/cno.go (1)
test/e2e/cli.go (1)
NewCLIWithPodSecurityLevel(34-66)
🪛 checkmake (0.2.2)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
🔇 Additional comments (4)
test/cmd/main.go (1)
1-54: OTE extension wiring looks consistent and discoverableThe registry/extension setup, disruptive suite definition (name/parent/qualifier/timeout), and Cobra wiring all look coherent with the new CNO disruptive test label in
test/e2e/cno.go. Tests should be properly discoverable by the OTE flow, and failure paths (panic on spec-build error, exit 1 on command error) are reasonable for this binary.go.mod (1)
11-190: Confirm dependency set matches target payload and OTE expectationsThis go.mod introduces a large set of bumps (Kubernetes, OpenShift libraries, ginkgo/gomega, controller-runtime, etc.) plus a pinned
openshift-tests-extensionand an extensivereplaceblock to theopenshift/kubernetesstaging tree. That pattern looks consistent with typical OpenShift wiring, but it’s easy for one module to drift from the payload or from what OTE expects.Please double‑check that:
- These versions (especially
k8s.io/kubernetes, the stagedk8s.io/*replaces, andgithub.com/openshift-eng/openshift-tests-extension) match the intended release/payload level, and- You’ve run
go mod tidyand a representative test suite (unit + at least the new OTE flow) against this module graph.Makefile (1)
49-53: E2E build target is fine; verify binary path matches Dockerfile expectations
build-e2e-testscleanly delegates to$(MAKE) -C test build, which will drop the binary intotest/$(BUILD_DIR)pertest/Makefile. Just make sure the Dockerfile stage that gzips and copiescluster-network-operator-tests-extis using the same directory (BUILD_DIR := binintest/Makefile), otherwise the image build will fail when it can’t find the binary.test/e2e/cno.go (1)
14-115: Disruptive CNO Day‑2 OVN subnet test looks sound and well‑scopedThe test wiring and flow look solid: it uses the baseline pod‑security CLI, requires 2 schedulable nodes, sets up two pods + a ClusterIP service, snapshots and defaults OVN join/transit subnets per IP family, applies stack‑specific patches, waits for OVN rollout, validates pod↔pod and pod↔service connectivity, and then defers restoration of the original config with an OVN state check. The
g.Itdescription includes[Suite:openshift/cluster-network-operator/disruptive][Disruptive], which aligns with the OTE qualifier intest/cmd/main.go, so the test should be discoverable by the configured suite.
d672efe to
63c5e2e
Compare
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.
Actionable comments posted: 1
♻️ Duplicate comments (3)
test/e2e/cno.go (1)
18-18: Verify suite qualifier matches the test harness filter.The past review noted a potential mismatch between this test's suite tag and the qualifier in
test/cmd/main.go. Please confirm that[Suite:openshift/cluster-network-operator/disruptive]aligns with the extension's qualifier configuration, or the test won't be discovered.#!/bin/bash # Verify the qualifier patterns in the test harness match this test's suite tag rg -n "Qualifiers|Suite:" test/cmd/main.go test/e2e/cno.gotest/e2e/cli.go (1)
61-66: Hook registration in constructor causes duplicate hooks per CLI instance.Each call to
NewCLIWithPodSecurityLevelregisters newBeforeEach/AfterEachhooks. If multiple CLI instances are created across test files or within the same suite, hooks accumulate, leading to multiple namespace creations/deletions per test and potential resource conflicts.Consider one of these approaches:
- Use a singleton pattern with
sync.Oncefor hook registration- Move hooks to a package-level
var _ = g.BeforeEach(...)with explicit CLI binding- Replace automatic hooks with explicit
Setup()/Teardown()methods+var setupOnce sync.Once +var globalCLI *CLI + func NewCLIWithPodSecurityLevel(baseName string, level admissionapi.Level) *CLI { cli := &CLI{ // ... existing initialization ... } - - // Set up namespace creation and cleanup - g.BeforeEach(cli.setupNamespace) - g.AfterEach(cli.teardownNamespace) + + setupOnce.Do(func() { + g.BeforeEach(cli.setupNamespace) + g.AfterEach(cli.teardownNamespace) + }) return cli }test/e2e/util.go (1)
139-148: Rollout status condition can never succeed.The condition
strings.Contains(status, "rollout to finish") && strings.Contains(status, "successfully rolled out")requires both phrases in the same output, butoc rollout statusnever produces them together—"rollout to finish" appears only while waiting, "successfully rolled out" only upon completion. This will always timeout.return wait.PollUntilContextTimeout(context.Background(), 10*time.Second, 2*time.Minute, true, func(ctx context.Context) (bool, error) { status, err := oc.AsAdmin().WithoutNamespace().Run("rollout").Args("status", "-n", "openshift-ovn-kubernetes", "ds", "ovnkube-node", "--timeout", "5m").Output() o.Expect(err).NotTo(o.HaveOccurred()) - if strings.Contains(status, "rollout to finish") && strings.Contains(status, "successfully rolled out") { - e2e.Logf("ovnkube rollout was triggerred and rolled out successfully") + if strings.Contains(status, "successfully rolled out") { + e2e.Logf("ovnkube rollout was triggered and rolled out successfully") return true, nil } - e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") + e2e.Logf("ovnkube rollout in progress, status: %s", status) return false, nil })
🧹 Nitpick comments (6)
test/Makefile (1)
17-19: Consider using an actual version tag forversionFromGit.
versionFromGitis set toGIT_COMMIT(a short hash), which duplicatescommitFromGit. Typically, this should be a semantic version or git tag. Consider:GIT_COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown") BUILD_DATE := $(shell date -u +'%Y-%m-%dT%H:%M:%SZ') +GIT_VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "unknown") # Go build flags LDFLAGS := -X '$(GO_MODULE)/pkg/version.commitFromGit=$(GIT_COMMIT)' \ -X '$(GO_MODULE)/pkg/version.buildDate=$(BUILD_DATE)' \ - -X '$(GO_MODULE)/pkg/version.versionFromGit=$(GIT_COMMIT)' + -X '$(GO_MODULE)/pkg/version.versionFromGit=$(GIT_VERSION)'test/cmd/main.go (1)
49-53: Simplify the error handling.The anonymous function wrapper is unnecessary here:
- if err := func() error { - return root.Execute() - }(); err != nil { + if err := root.Execute(); err != nil { os.Exit(1) }test/e2e/cno.go (1)
14-16: MisplacedGinkgoRecover()call.
g.GinkgoRecover()is intended to recover from panics in goroutines within tests. Placing it at the top ofDescribehas no effect sinceDescribeitself doesn't run inside a deferred context. If panic recovery is needed, it should be inside individualItblocks or goroutines spawned by tests.var _ = g.Describe("[sig-network] CNO", func() { - defer g.GinkgoRecover() oc := NewCLIWithPodSecurityLevel("networking-cno", admissionapi.LevelBaseline)test/e2e/util.go (2)
33-40: Usecrypto/randor seedmath/randfor unique identifiers.
math/randwithout explicit seeding produces deterministic sequences. In Go versions before 1.20, this could cause namespace/resource name collisions across test runs. Consider usingcrypto/randfor better randomness, or at minimum ensure the random source is seeded.+import ( + "crypto/rand" + "encoding/hex" +) + func getRandomString() string { - chars := "abcdefghijklmnopqrstuvwxyz0123456789" - buffer := make([]byte, 8) - for index := range buffer { - buffer[index] = chars[rand.Intn(len(chars))] - } - return string(buffer) + buffer := make([]byte, 4) + _, _ = rand.Read(buffer) + return hex.EncodeToString(buffer) }
375-414: Consider usingencoding/jsonfor safer JSON construction.Building JSON via
fmt.Sprintfwith optional fields can be fragile. If field ordering changes or new optional fields are added, the string interpolation approach risks producing malformed JSON. Usingencoding/json.Marshalwith a struct would be more maintainable.This is a minor concern since the current implementation works. Consider refactoring if more optional fields are needed in the future.
test/e2e/cli.go (1)
100-119: ClearnamespacesToDeleteafter cleanup to prevent duplicate deletion attempts.The slice isn't cleared after namespace deletion. If
teardownNamespaceruns multiple times (due to hook registration issues or test retries), it will attempt to delete already-deleted namespaces, causing unnecessary error logs.func (c *CLI) teardownNamespace() { if len(c.namespacesToDelete) == 0 { return } + defer func() { c.namespacesToDelete = nil }() // Only delete if DeleteNamespace is enabled if !e2e.TestContext.DeleteNamespace {
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (191)
go.sumis excluded by!**/*.sumvendor/github.com/distribution/reference/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CODE-OF-CONDUCT.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/GOVERNANCE.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/distribution-logo.svgis excluded by!**/*.svg,!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/normalize.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/regexp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/format.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/sizeof.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/type_constraints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/name_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/concat.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/loading.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_mangler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/pools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/string_bytes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/collection_formats.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.editorconfigis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/LICENSE.txtis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/Taskfile.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/crypto.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/date.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/dict.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/functions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/network.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/numeric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/reflect.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/regex.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/compression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/conn.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/join.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask_safe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/prepared.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/connection.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/priority.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/dictionary.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/write.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/flowrate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/io.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/OWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/RELEASING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/config/deprecated.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/decorator_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/formatter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/main.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/counter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/failer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/focus.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/global/init.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/group.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/ordering.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (9)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(4 hunks)pkg/network/mtu.go(2 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cli.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- Dockerfile
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
test/cmd/main.gotest/e2e/cno.gotest/e2e/util.gotest/e2e/cli.gogo.modpkg/network/mtu.goMakefiletest/Makefile
🪛 checkmake (0.2.2)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
🔇 Additional comments (8)
Makefile (1)
49-53: LGTM!The new
build-e2e-teststarget is properly declared as.PHONYand correctly delegates to the test subdirectory Makefile using$(MAKE) -C.pkg/network/mtu.go (1)
35-48: LGTM!The updated default-route detection correctly handles the API change between netlink v1.1.0 (where
Dst == nilindicates default) and v1.3.1+ (where default routes have explicit0.0.0.0/0or::/0). The implementation maintains backward compatibility while supporting both representations.go.mod (2)
193-194: Verify the OpenShift Ginkgo fork is the intended replacement.The replace directive points to
github.com/openshift/onsi-ginkgo/v2at a specific commit from December 2024. Ensure this fork is actively maintained and contains necessary OpenShift-specific customizations. If this is standard practice for OpenShift projects, this is acceptable.
18-18: Netlink upgrade aligns with MTU detection changes.The bump from
v1.1.0tov1.3.1is required to support the updated default-route detection logic inpkg/network/mtu.go.test/cmd/main.go (1)
18-42: LGTM!The test extension setup follows the OTE framework patterns correctly. The 120-minute timeout for the disruptive suite is appropriate for network configuration tests that involve rollouts and connectivity verification.
test/e2e/cno.go (1)
87-109: LGTM!The switch-based handling for different IP stack types is well-structured. The deferred cleanup correctly restores original configuration per stack type, and the connectivity checks after rollout verification ensure the cluster is healthy post-change.
test/e2e/util.go (1)
319-373: LGTM!The pod creation helper is well-structured with proper temporary file cleanup, retry logic for transient failures, and explicit wait for pod readiness. Using a sha256 digest for the image ensures reproducibility.
test/e2e/cli.go (1)
191-230: LGTM!The command execution implementation properly handles kubeconfig injection, namespace scoping, and captures both stdout and stderr in error messages for debugging.
63c5e2e to
7197594
Compare
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.
Actionable comments posted: 2
♻️ Duplicate comments (2)
test/e2e/util.go (1)
139-148: Rollout status polling condition is still incorrect.The condition on line 142 checks for both
"rollout to finish"AND"successfully rolled out"in the same output. However,oc rollout statusnever prints both strings simultaneously—"rollout to finish"appears only while waiting, and"successfully rolled out"appears only upon completion. This means the condition can never evaluate totrue, causingcheckOVNKStateto always time out.Apply this diff to fix the logic:
- if strings.Contains(status, "rollout to finish") && strings.Contains(status, "successfully rolled out") { - e2e.Logf("ovnkube rollout was triggerred and rolled out successfully") + if strings.Contains(status, "successfully rolled out") { + e2e.Logf("ovnkube rollout was triggered and rolled out successfully") return true, nil } - e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") + e2e.Logf("ovnkube rollout not yet complete. Trying again") return false, niltest/e2e/cli.go (1)
61-63: Hook registration in constructor causes accumulation across CLI instances.Registering
g.BeforeEachandg.AfterEachinsideNewCLIWithPodSecurityLevelmeans each CLI instance adds new hooks to the Ginkgo suite. If tests create multiple CLI instances, hooks accumulate, causing multiple namespace creations/deletions per test and potential resource conflicts.Consider moving hook registration to a package-level
init()with a singleton pattern, or document that only one CLI instance should be created per test suite:+var cliInstance *CLI +var cliOnce sync.Once + func NewCLIWithPodSecurityLevel(baseName string, level admissionapi.Level) *CLI { + cliOnce.Do(func() { cli := &CLI{ // ... existing initialization } - g.BeforeEach(cli.setupNamespace) - g.AfterEach(cli.teardownNamespace) + g.BeforeEach(cli.setupNamespace) + g.AfterEach(cli.teardownNamespace) + cliInstance = cli + }) + return cliInstance - return cli }
🧹 Nitpick comments (1)
test/Makefile (1)
41-44: Add missing standard "test" phony target.The Makefile is missing a
testtarget, which is a standard convention. While this Makefile focuses on building the binary, adding a test target (even if it's a no-op or delegates to a test command) aligns with Makefile best practices and prevents CI/CD systems from failing when they invokemake test.# Clean build artifacts .PHONY: clean clean: @echo "Cleaning build artifacts..." rm -rf $(BUILD_DIR) + +# Test target (placeholder for standard convention) +.PHONY: test +test: + @echo "Running tests for E2E test binary..." + # Add test command here if needed
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (290)
go.sumis excluded by!**/*.sumvendor/github.com/distribution/reference/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CODE-OF-CONDUCT.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/GOVERNANCE.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/distribution-logo.svgis excluded by!**/*.svg,!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/normalize.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/regexp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/format.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/sizeof.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/type_constraints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/name_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/concat.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/loading.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_mangler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/pools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/string_bytes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/collection_formats.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.editorconfigis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/LICENSE.txtis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/Taskfile.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/crypto.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/date.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/dict.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/functions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/network.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/numeric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/reflect.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/regex.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/compression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/conn.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/join.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask_safe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/prepared.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/connection.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/priority.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/dictionary.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/write.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/flowrate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/io.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/OWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/RELEASING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/config/deprecated.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/decorator_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/formatter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/main.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/counter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/failer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/focus.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/global/init.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/group.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/ordering.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/tree.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/json_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporting_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/table_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/code_location.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecated_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecation_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/enum_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/file_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/flags.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/label_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gcustom/make_matcher.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gomega_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.mailmapis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.pullapprove.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSE.docsis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/algorithm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digester.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/verifiers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/logging.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/parallel.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/types_infrastructure.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yamlis excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (9)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(4 hunks)pkg/network/mtu.go(2 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cli.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
- test/e2e/cno.go
- pkg/network/mtu.go
- test/cmd/main.go
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
Dockerfiletest/e2e/util.gotest/e2e/cli.gogo.modMakefiletest/Makefile
🧬 Code graph analysis (1)
test/e2e/util.go (1)
test/e2e/cli.go (1)
CLI(21-31)
🪛 checkmake (0.2.2)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
🔇 Additional comments (8)
go.mod (2)
193-195: Verify the Ginkgo fork replacement is intentional.The replacement of
github.com/onsi/ginkgo/v2with OpenShift's forkgithub.com/openshift/onsi-ginkgo/v2may have implications for test behavior and compatibility. The comment mentions this is temporary for compatibility.Ensure this fork is actively maintained and document any behavioral differences, or track a follow-up to remove this replacement when upstream compatibility is restored.
196-226: Replace directives for OpenShift/Kubernetes staging paths look correct.The extensive replace directives redirect k8s.io modules to OpenShift's kubernetes fork staging paths with consistent pseudo-versioning (
v0.0.0-20251017123720-96593f323733). This is a standard pattern for OpenShift operators that need to align with OpenShift's Kubernetes distribution.test/e2e/util.go (2)
319-373: Pod creation utility looks good with proper cleanup and retry logic.The
createPingPodOnNodefunction correctly:
- Uses deferred cleanup for temporary files
- Implements retry logic with
PollUntilContextTimeout- Waits for pod readiness before returning
375-440: Service creation utility is well-structured.The
createGenericServicefunction handles optional fields cleanly and includes proper retry logic and temp file cleanup.test/e2e/cli.go (1)
191-230: Command execution implementation is solid.The
output()method correctly:
- Conditionally adds kubeconfig and namespace flags
- Logs executed commands for debugging
- Captures both stdout and stderr
- Returns informative error messages including command output
Dockerfile (1)
4-4: E2E test binary is now included in the operator image.The test binary (
cluster-network-operator-tests-ext.gz) is built and packaged into the final operator image. This is a common pattern for OpenShift operators using the OTE (OpenShift Tests Extension) framework, allowing the test binary to be extracted and run against the cluster.Verify this aligns with the OTE framework's expected consumption pattern and that the gzipped binary size doesn't significantly impact image size.
Also applies to: 10-10
Makefile (1)
49-53: New build target for E2E tests looks good.The
build-e2e-teststarget correctly:
- Is declared as
.PHONYsince it doesn't produce a file with that name- Delegates to
test/Makefileusing$(MAKE) -C test build- Provides informative echo output
The static analysis warning about "missing phony target test" is a false positive—
testhere refers to the directory, not a make target.test/Makefile (1)
17-19: Version package variables are properly defined.Verification confirms that
pkg/version/version.godefines all three variables referenced in the LDFLAGS:commitFromGit,buildDate, andversionFromGit. These are declared as package-level variables set via-ldflagsduring build and are used in both theGet()function and Prometheus metrics. No issues with undefined variables.
7197594 to
3d6bf6e
Compare
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.
Actionable comments posted: 1
♻️ Duplicate comments (3)
test/e2e/cli.go (1)
33-120: Avoid registering Ginkgo hooks per-CLI instance and clearnamespacesToDeleteafter use
NewCLIWithPodSecurityLevelcalls:g.BeforeEach(cli.setupNamespace) g.AfterEach(cli.teardownNamespace)every time it’s invoked. If tests construct more than one
CLI(or reconstruct it across contexts), eachItwill run multiplesetupNamespace/teardownNamespacehandlers, creating several namespaces per test and re-running cleanup, which is hard to reason about and can lead to flaky behavior. In addition,teardownNamespaceiterates overc.namespacesToDeletebut never clears it, so later tests repeatedly attempt to delete all previously created namespaces, increasing work and log noise.Consider:
- Registering the hooks once at package level (e.g. using a
sync.Onceor avar _ = g.BeforeEach(...)pattern that uses a sharedCLI), or clearly documenting/enforcing a single-CLI construction pattern, and- Resetting
namespacesToDeleteafter cleanup.A minimal fix for the accumulation would be:
func (c *CLI) teardownNamespace() { @@ for _, ns := range c.namespacesToDelete { e2e.Logf("Deleting namespace: %s", ns) _, err := c.asAdminInternal().withoutNamespaceInternal().run("delete", "namespace", ns, "--wait=false").output() if err != nil { e2e.Logf("Warning: failed to delete namespace %s: %v", ns, err) } } + c.namespacesToDelete = nil }and then following up with a one-time hook registration strategy.
test/e2e/util.go (2)
128-148:checkOVNKStaterollout predicate can never succeed, causing permanent timeoutsWithin
checkOVNKState, the poll condition is:if strings.Contains(status, "rollout to finish") && strings.Contains(status, "successfully rolled out") {
oc rollout status ds/ovnkube-nodeprints “rollout to finish …” while waiting and “successfully rolled out” only once it completes, never both in the same message. This means the wait loop will always time out andcheckOVNKStatewill report failure even when OVN is healthy.Recommend treating “successfully rolled out” alone as success and logging intermediate states, e.g.:
- if strings.Contains(status, "rollout to finish") && strings.Contains(status, "successfully rolled out") { - e2e.Logf("ovnkube rollout was triggerred and rolled out successfully") - return true, nil - } - e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") - return false, nil + if strings.Contains(status, "successfully rolled out") { + e2e.Logf("ovnkube rollout was triggered and rolled out successfully") + return true, nil + } + if strings.Contains(status, "rollout to finish") { + e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") + return false, nil + } + e2e.Logf("ovnkube rollout status unexpected (%s); retrying...", status) + return false, nilso the poll can actually converge.
206-218: NodePort handling incurlPod2SvcPass/getSvcIPbuilds an invalid curl targetFor NodePort services,
getSvcIPreturns the nodePort as the second value:return svcIP, nodePortbut
curlPod2SvcPassunconditionally treats both return values as IP/host strings:svcIP1, svcIP2 := getSvcIP(...) ... net.JoinHostPort(svcIP2, strconv.Itoa(svcPort))When
svctype == "NodePort",svcIP2is something like"30080", so curl targets a host literally named30080instead ofnodeIP:nodePort. That path can’t work, and NodePort connectivity is effectively untested.Options:
- Change
getSvcIPto return(primarySvcIP, secondarySvcIP, nodePort)and havecurlPod2SvcPassdetect NodePort and buildnodeIP:nodePortusing a real node IP, or- Temporarily drop the NodePort branch and document that
curlPod2SvcPassonly supports ClusterIP/LoadBalancer until a correct NodePort implementation is added.In any case, avoid passing a bare numeric nodePort as the “host” to
net.JoinHostPort.Also applies to: 224-242
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (291)
go.sumis excluded by!**/*.sumvendor/github.com/distribution/reference/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CODE-OF-CONDUCT.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/GOVERNANCE.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/distribution-logo.svgis excluded by!**/*.svg,!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/normalize.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/regexp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/format.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/sizeof.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/type_constraints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/name_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/concat.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/loading.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_mangler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/pools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/string_bytes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/collection_formats.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.editorconfigis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/LICENSE.txtis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/Taskfile.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/crypto.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/date.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/dict.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/functions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/network.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/numeric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/reflect.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/regex.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/compression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/conn.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/join.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask_safe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/prepared.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/connection.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/priority.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/dictionary.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/write.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/flowrate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/io.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/OWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/RELEASING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/config/deprecated.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/decorator_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/formatter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/main.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/counter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/failer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/focus.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/global/init.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/group.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/ordering.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/tree.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/json_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporting_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/table_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/code_location.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecated_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecation_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/enum_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/file_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/flags.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/label_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gcustom/make_matcher.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gomega_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.mailmapis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.pullapprove.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSE.docsis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/algorithm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digester.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/verifiers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/logging.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/parallel.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/types_infrastructure.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yamlis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (9)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(4 hunks)pkg/network/mtu.go(2 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cli.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- test/e2e/cno.go
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
Dockerfilepkg/network/mtu.gotest/cmd/main.gotest/e2e/cli.gogo.modtest/e2e/util.goMakefiletest/Makefile
🪛 checkmake (0.2.2)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
🔇 Additional comments (5)
pkg/network/mtu.go (1)
35-47: Default-route detection update looks correct and backward-compatibleThe explicit
isDefaulthandling for bothDst == niland 0.0.0.0/0 or ::/0 matches the netlink v1.1.0 vs v1.3.1 semantics while preserving the existing “min MTU over default routes” behavior. No changes requested.Dockerfile (1)
4-5: Test extension binary build and packaging are wired correctlyChaining
hack/build-go.shwithmake build-e2e-testsand then gzippingtest/bin/cluster-network-operator-tests-ext, and copying the resulting.gzinto/usr/bin/cluster-network-operator-tests-ext.gz, aligns with the new Makefile and test/Makefile. It makes the E2E test binary a first-class build artifact, which is appropriate here.Also applies to: 10-10
test/Makefile (1)
1-45: E2E test Makefile integrates cleanly with version metadata and Docker buildThe
build/build-linuxtargets correctly compilecmd/main.gointobin/cluster-network-operator-tests-extwith the expectedpkg/versionldflags, and match the top-levelbuild-e2e-testsand Dockerfile expectations. No changes requested.Makefile (1)
49-54:build-e2e-teststarget cleanly delegates to the test MakefileDelegating to
$(MAKE) -C test buildkeeps the E2E test binary build logic local totest/Makefilewhile exposing a single top-level target for Docker and CI use. Looks good as-is.go.mod (1)
11-30: Dependency updates verified—go.sum and vendor are in syncVerification confirms that
go mod tidyandgo mod vendorcompleted successfully with no unintended changes. The dependency bumps (gomega, netlink, golang.org/x/*, OpenShift/Kubernetes modules) and temporary replace block are correctly resolved.
3d6bf6e to
edfed77
Compare
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
go.mod (1)
194-228: Track removal of the large temporary replace block.The replace block redirects 33 k8s.io/* packages to a single OpenShift/Kubernetes snapshot commit. While this is typical for OpenShift repositories, the "temporary" nature combined with the large scope increases the risk of this being forgotten during future dependency updates.
Consider creating a tracking issue or TODO comment linking to the work item for removing these replacements, so the team has visibility when the next package bump occurs.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (291)
go.sumis excluded by!**/*.sumvendor/github.com/distribution/reference/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CODE-OF-CONDUCT.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/GOVERNANCE.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/distribution-logo.svgis excluded by!**/*.svg,!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/normalize.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/regexp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/format.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/sizeof.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/type_constraints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/name_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/concat.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/loading.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_mangler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/pools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/string_bytes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/collection_formats.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.editorconfigis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/LICENSE.txtis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/Taskfile.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/crypto.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/date.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/dict.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/functions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/network.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/numeric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/reflect.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/regex.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/compression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/conn.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/join.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask_safe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/prepared.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/connection.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/priority.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/dictionary.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/write.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/flowrate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/io.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/OWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/RELEASING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/config/deprecated.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/decorator_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/formatter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/main.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/counter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/failer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/focus.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/global/init.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/group.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/ordering.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/tree.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/json_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporting_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/table_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/code_location.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecated_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecation_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/enum_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/file_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/flags.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/label_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gcustom/make_matcher.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gomega_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.mailmapis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.pullapprove.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSE.docsis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/algorithm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digester.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/verifiers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/logging.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/parallel.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/types_infrastructure.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yamlis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (2)
go.mod(4 hunks)pkg/network/mtu.go(2 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
pkg/network/mtu.gogo.mod
🔇 Additional comments (2)
go.mod (1)
20-20: LGTM: netlink bump aligns with mtu.go changes.The netlink upgrade from v1.1.0 to v1.3.1 is consistent with the default-route detection changes in pkg/network/mtu.go, which handles the API behavior difference between these versions.
pkg/network/mtu.go (1)
35-49: Update the version documentation for the netlink behavior change.The behavior change reference appears to relate to commit acdc658 that added "default" dst handling, but evidence suggests this change predates or differs from the stated v1.3.1+ attribution. The actual breaking changes in the API have been documented since v1.2.0, not specifically v1.3.1.
The logic correctly handles both nil and 0.0.0.0/0 representations, but the comment claiming this behavior started in "v1.3.1+" should be verified or adjusted to reflect when netlink actually introduced this change. Consider revising the comment to reference the actual version where this behavior was introduced, or generalize it to avoid version-specific claims without definitive documentation.
edfed77 to
f501992
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: zhaozhanqi The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
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.
Actionable comments posted: 0
♻️ Duplicate comments (4)
test/e2e/cli.go (2)
62-63: Hook registration in constructor may cause multiple registrations.Registering
BeforeEachandAfterEachhooks during CLI construction means that each CLI instance created across different test specs will add new hooks to the Ginkgo suite. This can lead to multiple namespace creations and deletions per test, causing resource conflicts and flaky tests.Consider one of these approaches:
- Move hook registration to a package-level
init()orvar _ = ginkgo.BeforeSuite()with a singleton pattern.- Document that only one CLI instance should be created per test file.
- Remove hooks and require explicit
Setup()/Teardown()calls in each test.
163-167:Argsmethod mutates the receiver instead of a copy.Unlike
Run()which creates a copy before modifying,Args()appends directly toc.args. IfArgs()is called multiple times on the same CLI instance (e.g., reusing a base command), arguments accumulate unexpectedly.func (c *CLI) Args(args ...string) *CLI { - c.args = append(c.args, args...) - return c + nc := *c + nc.args = append(nc.args[:len(nc.args):len(nc.args)], args...) + return &nc }Note: Using
c.args[:len(c.args):len(c.args)]prevents the copy from sharing the underlying array with the original.test/e2e/util.go (2)
62-66:checkPodReadyincludes invalid pod phase values.The status list includes
"Ready"and"Complete", but pod phases are onlyRunning,Pending,Succeeded,Failed, andUnknown."Ready"is a pod condition type, not a phase, and"Complete"is not a valid value at all.func checkPodReady(oc *CLI, namespace string, podName string) (bool, error) { podOutPut, err := getPodStatus(oc, namespace, podName) - status := []string{"Running", "Ready", "Complete", "Succeeded"} + status := []string{"Running", "Succeeded"} return contains(status, podOutPut), err }
139-148: Rollout status polling condition is incorrect.
oc rollout statusnever prints both "rollout to finish" and "successfully rolled out" in the same message. The former appears while waiting, the latter only once complete. The&&condition will never be true, causing tests to time out.return wait.PollUntilContextTimeout(context.Background(), 10*time.Second, 2*time.Minute, true, func(ctx context.Context) (bool, error) { status, err := oc.AsAdmin().WithoutNamespace().Run("rollout").Args("status", "-n", "openshift-ovn-kubernetes", "ds", "ovnkube-node", "--timeout", "5m").Output() o.Expect(err).NotTo(o.HaveOccurred()) - if strings.Contains(status, "rollout to finish") && strings.Contains(status, "successfully rolled out") { - e2e.Logf("ovnkube rollout was triggerred and rolled out successfully") + if strings.Contains(status, "successfully rolled out") { + e2e.Logf("ovnkube rollout was triggered and rolled out successfully") return true, nil } - e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") + e2e.Logf("ovnkube rollout in progress, status: %s", status) return false, nil })
🧹 Nitpick comments (4)
test/cmd/main.go (2)
36-39: Minor: Simplify error formatting.
err.Error()returns a string, so using%+von it loses the stack trace that%+vwould provide on the original error. Use%+vdirectly onerrto preserve stack information.specs, err := g.BuildExtensionTestSpecsFromOpenShiftGinkgoSuite() if err != nil { - panic(fmt.Sprintf("couldn't build extension test specs from ginkgo: %+v", err.Error())) + panic(fmt.Sprintf("couldn't build extension test specs from ginkgo: %+v", err)) }
49-53: Minor: Simplify IIFE pattern.The immediately-invoked function expression is unnecessary here.
- if err := func() error { - return root.Execute() - }(); err != nil { + if err := root.Execute(); err != nil { os.Exit(1) }test/e2e/util.go (1)
346-356: Temporary file creation uses predictable path in shared/tmp.Using
/tmp/pod-<name>-<random>.jsoncould lead to conflicts in parallel test runs or security issues (symlink attacks). Consider usingos.CreateTempwhich creates files atomically with proper permissions.- tmpFile := fmt.Sprintf("/tmp/pod-%s-%s.json", podName, getRandomString()) - err := os.WriteFile(tmpFile, []byte(podJSON), 0644) + tmpFile, err := os.CreateTemp("", fmt.Sprintf("pod-%s-*.json", podName)) + o.Expect(err).NotTo(o.HaveOccurred()) + tmpFileName := tmpFile.Name() + _, err = tmpFile.WriteString(podJSON) o.Expect(err).NotTo(o.HaveOccurred()) + err = tmpFile.Close() + o.Expect(err).NotTo(o.HaveOccurred()) // Clean up the temporary file after use defer func() { - if err := os.Remove(tmpFile); err != nil { - e2e.Logf("warning: failed to remove temporary file %s: %v", tmpFile, err) + if err := os.Remove(tmpFileName); err != nil { + e2e.Logf("warning: failed to remove temporary file %s: %v", tmpFileName, err) } }()The same pattern applies to
createGenericServiceat lines 417-426.go.mod (1)
193-228: Add a TODO comment with a specific version target for the replace block removal.The verification confirms there is no tracking mechanism or TODO comment for removing the replace directives. The current comment "remove during next package bump" is too vague. Add a more specific TODO with a version or Kubernetes release target to ensure this temporary block gets addressed in future maintenance.
Suggested update at line 193:
// TODO: Remove this replace block when upgrading to Kubernetes v1.31+ or once OpenShift kubernetes fork merges upstream changes replace (
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (291)
go.sumis excluded by!**/*.sumvendor/github.com/distribution/reference/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CODE-OF-CONDUCT.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/GOVERNANCE.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/distribution-logo.svgis excluded by!**/*.svg,!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/normalize.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/regexp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/format.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/sizeof.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/type_constraints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/name_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/concat.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/loading.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_mangler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/pools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/string_bytes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/collection_formats.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.editorconfigis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/LICENSE.txtis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/Taskfile.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/crypto.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/date.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/dict.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/functions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/network.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/numeric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/reflect.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/regex.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/compression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/conn.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/join.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask_safe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/prepared.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/connection.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/priority.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/dictionary.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/write.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/flowrate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/io.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/OWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/RELEASING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/config/deprecated.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/decorator_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/formatter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/main.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/counter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/failer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/focus.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/global/init.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/group.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/ordering.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/tree.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/json_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporting_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/table_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/code_location.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecated_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecation_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/enum_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/file_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/flags.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/label_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gcustom/make_matcher.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gomega_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.mailmapis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.pullapprove.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSE.docsis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/algorithm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digester.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/verifiers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/logging.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/parallel.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/types_infrastructure.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yamlis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (9)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(4 hunks)pkg/network/mtu.go(2 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cli.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- test/e2e/cno.go
- Dockerfile
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
test/Makefiletest/cmd/main.gogo.modtest/e2e/util.gopkg/network/mtu.gotest/e2e/cli.goMakefile
🧬 Code graph analysis (1)
test/e2e/util.go (1)
test/e2e/cli.go (1)
CLI(21-31)
🪛 checkmake (0.2.2)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
🔇 Additional comments (6)
pkg/network/mtu.go (1)
35-48: LGTM! Properly handles netlink version differences for default route detection.The updated logic correctly identifies default routes across netlink versions:
Dst == nilfor netlink v1.1.0 behavior0.0.0.0/0or::/0(mask size 0 with zero IP) for netlink v1.3.1+test/e2e/cli.go (1)
232-252: LGTM! Clean config retrieval with proper QPS/Burst settings.The
getConfig()method properly handles kubeconfig resolution and applies sensible QPS/Burst defaults.test/e2e/util.go (2)
33-40: LGTM! Random string generation is safe with Go 1.24.Go 1.20+ automatically seeds
math/randwith a random value, so determinism is not a concern here.
21-32: LGTM! Proper initialization of e2e framework context.The
init()function correctly sets up the Kubernetes e2e framework's TestContext with kubeconfig, kubectl path, cloud provider, and namespace deletion policy from environment variables.Makefile (1)
49-53: New build-e2e-tests target integrates cleanly.The delegation to test/Makefile via
$(MAKE) -C test buildis the correct pattern for sub-directory builds. Phony declaration is present, and the echo message aids traceability.test/Makefile (1)
25-44: All build prerequisites verified—code changes are ready.All three verification items passed:
- ✓ test/cmd/main.go exists as the Go entry point
- ✓ pkg/version package contains commitFromGit, buildDate, and versionFromGit fields for LDFLAGS embedding
- ✓ Dockerfile references the expected binary path (test/bin/cluster-network-operator-tests-ext)
The Makefile structure and build approach are sound. No issues remain.
|
@zhaozhanqi , did you want to make an origin PR like this so you can do a Also, looks like a bunch of coderabbit comments. LMK when you are done looking at those. I did not look at them very closely so not sure you have much to do or not. |
f501992 to
25230f4
Compare
Thanks for reviewing this @jluhrsen I almost fixed the comments from coderabbit, |
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.
Actionable comments posted: 0
🧹 Nitpick comments (2)
test/e2e/cno.go (1)
30-112: ValidateipStackTypevalues explicitly to avoid misclassifying future/unknown typesRight now the switch only special‑cases
"ipv4single"and"ipv6single"and treats any other value as dual‑stack. IfcheckIPStackType()ever starts returning a new or slightly different string, this test could silently take the wrong branch (e.g., applying dual‑stack patches on a non‑dual‑stack cluster).Consider tightening this to validate known values and fail/skip otherwise, for example:
- switch ipStackType { - case "ipv4single": + switch ipStackType { + case "ipv4single": // ... - case "ipv6single": + case "ipv6single": // ... - default: - defer func() { - patchResourceAsAdmin(oc, "Network.operator.openshift.io/cluster", patchDualstackoriginal) - err := checkOVNKState(oc) - o.Expect(err).NotTo(o.HaveOccurred(), "OVNkube didn't trigger or rolled out successfully post oc patch") - }() - patchResourceAsAdmin(oc, "Network.operator.openshift.io/cluster", customPatchDualstack) - } + case "dualstack": + defer func() { + patchResourceAsAdmin(oc, "Network.operator.openshift.io/cluster", patchDualstackoriginal) + err := checkOVNKState(oc) + o.Expect(err).NotTo(o.HaveOccurred(), "OVNkube didn't trigger or rolled out successfully post oc patch") + }() + patchResourceAsAdmin(oc, "Network.operator.openshift.io/cluster", customPatchDualstack) + default: + g.Skip(fmt.Sprintf("Unexpected ipStackType %q; test only supports ipv4single/ipv6single/dualstack", ipStackType)) + }This keeps behavior explicit and avoids accidental misconfiguration if the helper’s contract evolves.
test/e2e/cli.go (1)
20-31: Minor cleanups: clearnamespacesToDeleteafter teardown and consider the unusedasAdminflagFunctionally this helper looks good, but there are two small maintainability nits:
TeardownNamespace()never clearsc.namespacesToDelete, so subsequent tests will repeatedly attempt to delete already-deleted namespaces. It’s harmless (errors are logged and ignored) but easy to avoid by resetting the slice after the loop.- The
asAdminfield is set byAsAdmin()/asAdminInternal()but isn’t currently used to change behavior inoutput()(e.g., no different kubeconfig or--asflag). Until there’s a concrete admin-vs-user distinction, this flag adds a bit of confusion.If you’d like to tighten this up, something along these lines would work:
func (c *CLI) TeardownNamespace() { if len(c.namespacesToDelete) == 0 { return } @@ for _, ns := range c.namespacesToDelete { e2e.Logf("Deleting namespace: %s", ns) _, err := c.asAdminInternal().withoutNamespaceInternal().run("delete", "namespace", ns, "--wait=false").output() @@ e2e.Logf("Warning: failed to delete namespace %s: %v", ns, err) } } + + // Clear the list after attempting deletion to avoid repeated work. + c.namespacesToDelete = nil }and either (a) wire
asAdminintooutput()when you have distinct credentials, or (b) drop the field and methods until they’re needed.Also applies to: 107-127, 139-165, 213-251
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (291)
go.sumis excluded by!**/*.sumvendor/github.com/distribution/reference/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CODE-OF-CONDUCT.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/GOVERNANCE.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/distribution-logo.svgis excluded by!**/*.svg,!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/normalize.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/regexp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/format.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/sizeof.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/type_constraints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/name_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/concat.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/loading.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_mangler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/pools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/string_bytes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/collection_formats.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.editorconfigis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/LICENSE.txtis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/Taskfile.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/crypto.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/date.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/dict.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/functions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/network.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/numeric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/reflect.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/regex.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/compression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/conn.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/join.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask_safe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/prepared.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/connection.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/priority.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/dictionary.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/write.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/flowrate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/io.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/OWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/RELEASING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/config/deprecated.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/decorator_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/formatter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/main.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/counter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/failer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/focus.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/global/init.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/group.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/ordering.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/tree.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/json_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporting_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/table_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/code_location.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecated_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecation_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/enum_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/file_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/flags.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/label_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gcustom/make_matcher.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gomega_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.mailmapis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.pullapprove.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSE.docsis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/algorithm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digester.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/verifiers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/logging.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/parallel.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/types_infrastructure.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yamlis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (9)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(4 hunks)pkg/network/mtu.go(2 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cli.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- test/e2e/util.go
- Dockerfile
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
pkg/network/mtu.gotest/e2e/cno.gotest/cmd/main.gogo.modtest/e2e/cli.goMakefiletest/Makefile
🧬 Code graph analysis (1)
test/e2e/cno.go (1)
test/e2e/cli.go (1)
NewCLIWithPodSecurityLevel(37-65)
🪛 checkmake (0.2.2)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
🔇 Additional comments (5)
test/Makefile (1)
1-45: E2E test binary Makefile wiring looks soundTargets, output paths, and ldflags embedding of version metadata are consistent with the new root
build-e2e-teststarget and expected binary name; no blocking issues from a build/maintainability standpoint.Makefile (1)
49-54:build-e2e-teststarget cleanly delegates to test MakefileThe new target is minimal and composes correctly with
test/Makefile’sbuildtarget; it should integrate smoothly into existing build and Docker workflows.pkg/network/mtu.go (1)
32-77: Default-route and multipath MTU handling looks correctThe explicit default-route check (covering both nil and 0.0.0.0/0 / ::/0 cases) plus minimum‑MTU selection across multipath links preserves existing behavior while being robust to library representation changes; I don’t see functional or error‑handling gaps here.
test/cmd/main.go (1)
18-53: OTE extension/suite wiring matches the disruptive CNO testThe extension, suite name, and
name.contains('[Suite:openshift/cluster-network-operator/disruptive]')qualifier align with the GinkgoDescribelabel intest/e2e/cno.go, and the 120‑minute disruptive timeout is reasonable for this kind of Day‑2 test. The command setup and error handling look fine.go.mod (1)
104-228: Let me perform a static analysis of the provided go.mod snippet to verify the review comment's assessment:Looking at the provided go.mod snippet (lines 104-228), I can verify the following:
Structural Analysis:
Require Block (lines 104-114):
k8s.io/kubernetes v0.0.0-00010101000000-000000000000(placeholder version)k8s.io/apiextensions-apiserver v0.34.1k8s.io/client-go v0.34.1k8s.io/pod-security-admission v0.34.1- These are legitimate direct dependencies
Replace Block Consistency:
- All
k8s.io/*modules are consistently replaced withgithub.com/openshift/kubernetes/staging/src/k8s.io/*- Replacement version:
v0.0.0-20251017123720-96593f323733(consistent across ~30 replacements)k8s.io/kubernetesspecial case: replaced withgithub.com/openshift/kubernetes v1.30.1-0.20251017123720-96593f323733(version prefix differs but timestamp matches)ginkgo/v2andotelgrpchave separate replacements- "Temporary replace" comment present
Potential Observations:
- The placeholder version
v0.0.0-00010101000000-000000000000fork8s.io/kubernetesis standard practice (Go requires a version for direct dependencies, but it's replaced)- All timestamp components align (20251017123720), suggesting coordinated staging branch
- No orphaned replacements or missing require entries
The review comment's assessment appears accurate—the changes are internally consistent. The comment appropriately flags this as worth monitoring during future bumps.
Rewritten Review Comment:
Large dependency and replace-block update is internally consistent
The
requireentries and OpenShift/Kubernetes stagingreplaceblock are structurally sound. Allk8s.io/*modules have corresponding staged replacements pointing to a consistent OpenShift fork commit (20251017123720), and thek8s.io/kubernetesplaceholder version follows standard Go patterns. No version mismatches or orphaned replacements detected.The "Temporary replace" comment warrants cleanup during the next package bump cycle to avoid accumulating technical debt.
|
@zhaozhanqi: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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-sigs/prow repository. I understand the commands that are listed here. |
…te repo Signed-off-by: zhaozhanqi <zzhao@redhat.com>
This updates vendor dependencies required for the OpenShift Tests Extension framework, including ginkgo v2, gomega, netlink v1.3.1, and other testing dependencies. Signed-off-by: zhaozhanqi <zzhao@redhat.com>
The vendor dependency update in the previous commit pulled in netlink
v1.3.1 which changed how default routes are represented. In v1.1.0,
default routes had route.Dst == nil, but in v1.3.1+, they have
route.Dst set to 0.0.0.0/0 (IPv4) or ::/0 (IPv6).
The existing code checked "if route.Dst != nil { continue }" to skip
non-default routes, which incorrectly skipped default routes with the
new netlink version, causing "unable to determine MTU" errors.
This fix updates the default route detection logic to handle both:
- Old behavior (v1.1.0): route.Dst == nil
- New behavior (v1.3.1+): route.Dst == 0.0.0.0/0 or ::/0
The fix checks if Dst is nil OR if it represents a default route by
verifying the IP is all zeros and the prefix length is 0.
Signed-off-by: zhaozhanqi <zzhao@redhat.com>
25230f4 to
e454753
Compare
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.
Actionable comments posted: 0
♻️ Duplicate comments (3)
test/e2e/util.go (3)
62-66: Fix pod readiness phase list ("Ready"/"Complete" are not valid pod phases)
getPodStatusreturns.status.phase, which is one ofPending,Running,Succeeded,Failed, orUnknown."Ready"is a condition type and"Complete"is not a phase, so these entries will never match and only add noise. TreatingRunningandSucceededas “ready enough” is sufficient here.func checkPodReady(oc *CLI, namespace string, podName string) (bool, error) { podOutPut, err := getPodStatus(oc, namespace, podName) - status := []string{"Running", "Ready", "Complete", "Succeeded"} + status := []string{"Running", "Succeeded"} return contains(status, podOutPut), err }
139-147: Rollout polling condition can never succeed;checkOVNKStatewill always time out
oc rollout status ds/ovnkube-nodewill print “rollout to finish” while waiting and “successfully rolled out” after completion, never both at once. Requiring both substrings makes the predicate impossible to satisfy, so the poller always times out even when the DaemonSet is healthy.Update the predicate to treat “successfully rolled out” alone as success and handle other states as “keep waiting”:
- status, err := oc.AsAdmin().WithoutNamespace().Run("rollout").Args("status", "-n", "openshift-ovn-kubernetes", "ds", "ovnkube-node", "--timeout", "5m").Output() - o.Expect(err).NotTo(o.HaveOccurred()) - if strings.Contains(status, "rollout to finish") && strings.Contains(status, "successfully rolled out") { - e2e.Logf("ovnkube rollout was triggerred and rolled out successfully") - return true, nil - } - e2e.Logf("ovnkube rollout trigger hasn't happened yet. Trying again") - return false, nil + status, err := oc.AsAdmin().WithoutNamespace().Run("rollout").Args("status", "-n", "openshift-ovn-kubernetes", "ds", "ovnkube-node", "--timeout", "5m").Output() + o.Expect(err).NotTo(o.HaveOccurred()) + if strings.Contains(status, "successfully rolled out") { + e2e.Logf("ovnkube rollout was triggered and rolled out successfully") + return true, nil + } + if strings.Contains(status, "rollout to finish") { + e2e.Logf("ovnkube rollout trigger hasn't finished yet. Trying again") + return false, nil + } + e2e.Logf("ovnkube rollout status unexpected (%s); retrying...", status) + return false, nil
206-218: NodePort handling is incorrect: nodePort is treated as an IP/host in curlFor NodePort Services,
getSvcIPreturns(svcIP, nodePort)(second value is a port number), butcurlPod2SvcPassalways assumes the second return value is an IP and builds a target likenet.JoinHostPort(svcIP2, svcPort). WhensvcIP2is"30080", this generates a host named"30080"which will never resolve, and NodePort connectivity is not exercised correctly.At minimum, distinguish “second IP” (dual‑stack) from “nodePort” and avoid building an invalid host. One simple fix is to treat
svcIP2as an IP only when it parses as an IP, which skips the broken NodePort path but keeps proper dual‑stack behavior:func curlPod2SvcPass(oc *CLI, namespaceSrc string, namespaceSvc string, podNameSrc string, svcName string, svcPort int) { svcIP1, svcIP2 := getSvcIP(oc, namespaceSvc, svcName) - if svcIP2 != "" { + // svcIP2 is: + // - second IP for dual-stack ClusterIP/LoadBalancer + // - nodePort for NodePort services (not an IP) + if svcIP2 != "" && net.ParseIP(svcIP2) != nil { _, err := e2eoutput.RunHostCmdWithRetries(namespaceSrc, podNameSrc, "curl --connect-timeout 5 -s "+net.JoinHostPort(svcIP1, strconv.Itoa(svcPort)), 3*time.Second, 15*time.Second) o.Expect(err).NotTo(o.HaveOccurred()) _, err = e2eoutput.RunHostCmdWithRetries(namespaceSrc, podNameSrc, "curl --connect-timeout 5 -s "+net.JoinHostPort(svcIP2, strconv.Itoa(svcPort)), 3*time.Second, 15*time.Second) o.Expect(err).NotTo(o.HaveOccurred()) } else { _, err := e2eoutput.RunHostCmdWithRetries(namespaceSrc, podNameSrc, "curl --connect-timeout 5 -s "+net.JoinHostPort(svcIP1, strconv.Itoa(svcPort)), 3*time.Second, 15*time.Second) o.Expect(err).NotTo(o.HaveOccurred()) } }This prevents obviously broken curl targets and preserves correct dual‑stack testing. If full NodePort coverage is required, consider a dedicated helper that takes a real node IP plus the
nodePort(e.g., via pod.status.hostIP) instead of overloadingsvcIP2.Also applies to: 224-311
🧹 Nitpick comments (2)
test/Makefile (1)
27-30: Validate cmd directory exists before building.If the
cmddirectory is missing or inaccessible, the chainedcd cmd && go build ...will fail with a cryptic shell error rather than a clear build failure message.Consider adding a directory check or using an explicit path:
.PHONY: build build: @echo "Building $(BINARY_NAME)..." @mkdir -p $(BUILD_DIR) + @test -d cmd || (echo "Error: cmd directory not found" && exit 1) cd cmd && go build -o ../$(BUILD_DIR)/$(BINARY_NAME) -ldflags="$(LDFLAGS)" .Or use an explicit path to avoid the
cd:- cd cmd && go build -o ../$(BUILD_DIR)/$(BINARY_NAME) -ldflags="$(LDFLAGS)" . + go build -o $(BUILD_DIR)/$(BINARY_NAME) -ldflags="$(LDFLAGS)" ./cmdtest/e2e/util.go (1)
346-356: Useos.CreateTempfor safer temporary JSON files in/tmpBoth
createPingPodOnNodeandcreateGenericServicemanually construct paths under/tmpand then callos.WriteFile. Usingos.CreateTempavoids name collisions and reduces the risk of odd behavior if a file with that name already exists (or is a symlink), and it simplifies cleanup.For example, in
createPingPodOnNode:- tmpFile := fmt.Sprintf("/tmp/pod-%s-%s.json", podName, getRandomString()) - err := os.WriteFile(tmpFile, []byte(podJSON), 0644) + tmp, err := os.CreateTemp("", fmt.Sprintf("pod-%s-*.json", podName)) o.Expect(err).NotTo(o.HaveOccurred()) + tmpFile := tmp.Name() + _, err = tmp.Write([]byte(podJSON)) + _ = tmp.Close() + o.Expect(err).NotTo(o.HaveOccurred())You can apply the same pattern in
createGenericServicefor the service JSON.Also applies to: 416-426
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
⛔ Files ignored due to path filters (291)
go.sumis excluded by!**/*.sumvendor/github.com/distribution/reference/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CODE-OF-CONDUCT.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/GOVERNANCE.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/SECURITY.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/distribution-logo.svgis excluded by!**/*.svg,!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/normalize.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/reference.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/regexp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/distribution/reference/sort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/cmdutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/convert_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/format.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/sizeof.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/conv/type_constraints.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/file.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/fileutils/path.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonname/name_provider.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/concat.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/jsonutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/loading.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/loading/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/initialism_index.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_lexem.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/name_mangler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/pools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/split.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/string_bytes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/mangling/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/netutils/net.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/collection_formats.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/stringutils/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/typeutils/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/ordered_map.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-openapi/swag/yamlutils/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.editorconfigis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitattributesis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/LICENSE.txtis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/Taskfile.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/crypto.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/date.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/dict.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/functions.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/network.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/numeric.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/reflect.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/regex.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/strings.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/go-task/slim-sprig/v3/url.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/compression.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/conn.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/join.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/mask_safe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/prepared.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/gorilla/websocket/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/NOTICEis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/connection.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/handlers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/priority.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/dictionary.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/read.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/spdy/write.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/stream.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/moby/spdystream/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/flowrate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/io.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mxk/go-flowrate/flowrate/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/OWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/RELEASING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/config/deprecated.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/decorator_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/formatter/formatter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/main.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/counter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/failer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/focus.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/global/init.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/group.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/node.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/ordering.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_context.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/tree.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/internal/writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/json_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/reporter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/reporting_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/table_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/code_location.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/config.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecated_types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/deprecation_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/enum_support.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/file_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/flags.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/label_filter.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/report_entry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/types_patch.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/ginkgo/v2/types/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gcustom/make_matcher.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/onsi/gomega/gomega_dsl.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.mailmapis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.pullapprove.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/CONTRIBUTING.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/LICENSE.docsis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/MAINTAINERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/algorithm.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/digester.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/opencontainers/go-digest/verifiers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/logging.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/parallel.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/util.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/types_infrastructure.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yamlis excluded by!vendor/**,!**/vendor/**vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (9)
Dockerfile(1 hunks)Makefile(1 hunks)go.mod(4 hunks)pkg/network/mtu.go(2 hunks)test/Makefile(1 hunks)test/cmd/main.go(1 hunks)test/e2e/cli.go(1 hunks)test/e2e/cno.go(1 hunks)test/e2e/util.go(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
Makefiletest/cmd/main.gotest/e2e/cno.gogo.modDockerfiletest/e2e/cli.gotest/e2e/util.gopkg/network/mtu.gotest/Makefile
🧬 Code graph analysis (1)
test/e2e/cno.go (1)
test/e2e/cli.go (1)
NewCLIWithPodSecurityLevel(37-65)
🪛 checkmake (0.2.2)
Makefile
[warning] 50-50: Missing required phony target "test"
(minphony)
test/Makefile
[warning] 41-41: Missing required phony target "test"
(minphony)
🔇 Additional comments (1)
Makefile (1)
49-54: LGTM!The addition of the
build-e2e-teststarget is clean and well-integrated. The phony declaration is correct, the echo message provides clarity, and delegation totest/Makefilemaintains good separation of concerns. This aligns well with the PR's objective to introduce E2E test infrastructure.The static analysis hint about a missing phony target "test" is likely a false positive, as test targets are inherited from the included
golang.mk.
Trying to implement OTE freamwork and migration the test cases to this repo.
please just check the first commit
setup OTE freamwork and migration one case from openshift-tests-priva..., the second commit just vendor the dependencies, very large files.Tested in my local
Assisted-by: Cursor/claude