-
Notifications
You must be signed in to change notification settings - Fork 264
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
go.mod
Outdated
| github.com/opencontainers/go-digest v1.0.0 // indirect | ||
| github.com/opencontainers/image-spec v1.1.1 // indirect | ||
| github.com/opencontainers/runc v1.2.5 // indirect | ||
| github.com/opencontainers/runtime-spec v1.2.0 // indirect | ||
| github.com/opencontainers/selinux v1.11.1 // indirect | ||
| github.com/pborman/uuid v1.2.0 // indirect | ||
| github.com/peterbourgon/diskv v2.0.1+incompatible // indirect |
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.
Block on vulnerable runc/selinux versions
github.com/opencontainers/runc v1.2.5 and github.com/opencontainers/selinux v1.11.1 are both under active high‑severity advisories (GHSA-9493-h29p-rfm2, GHSA-cgrx-mc8f-2prm, GHSA-qw9x-cqr3-wc7r). Keeping these versions means the resulting binaries inherit a known container escape path. Please bump to the patched releases called out in the upstream advisories (or otherwise carry the fixes) before merging.
🧰 Tools
🪛 OSV Scanner (2.2.4)
[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. In 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.
test/e2e/cno.go
Outdated
| var _ = g.Describe("[sig-network] CNO", func() { | ||
| defer g.GinkgoRecover() | ||
| oc := exutil.NewCLIWithPodSecurityLevel("networking-cno", admissionapi.LevelBaseline) | ||
|
|
||
| g.It("Author:anusaxen-High-73205-High-72817-Make sure internalJoinSubnet and internalTransitSwitchSubnet is configurable post install as a Day 2 operation [Disruptive]", func() { | ||
| var ( | ||
| pod1Name = "hello-pod1" | ||
| pod2Name = "hello-pod2" | ||
| podLabel = "hello-pod" | ||
| serviceName = "test-service-73205" | ||
| servicePort = 27017 | ||
| serviceTargetPort = 8080 | ||
| ) | ||
| ipStackType := checkIPStackType(oc) | ||
| o.Expect(ipStackType).NotTo(o.BeEmpty()) | ||
|
|
||
| nodeList, err := e2enode.GetReadySchedulableNodes(context.TODO(), oc.KubeFramework().ClientSet) | ||
| o.Expect(err).NotTo(o.HaveOccurred()) | ||
| if len(nodeList.Items) < 2 { | ||
| g.Skip("This case requires 2 nodes, but the cluster has less than two nodes") | ||
| } | ||
|
|
||
| // Create hello-pod1 on the first node | ||
| createPingPodOnNode(oc, pod1Name, oc.Namespace(), podLabel, nodeList.Items[0].Name) | ||
|
|
||
| // Create hello-pod2 on the second node | ||
| createPingPodOnNode(oc, pod2Name, oc.Namespace(), podLabel, nodeList.Items[1].Name) | ||
|
|
||
| // Determine ipFamilyPolicy based on cluster type | ||
| var ipFamilyPolicy string | ||
| if ipStackType == "ipv4single" { | ||
| ipFamilyPolicy = "SingleStack" | ||
| } else { | ||
| ipFamilyPolicy = "PreferDualStack" | ||
| } | ||
| internalTrafficPolicy := "Cluster" | ||
| externalTrafficPolicy := "" | ||
| // Create service backing both pods | ||
| createGenericService(oc, serviceName, oc.Namespace(), "TCP", podLabel, "ClusterIP", ipFamilyPolicy, internalTrafficPolicy, externalTrafficPolicy, servicePort, serviceTargetPort) | ||
| //custom patches to test depending on type of cluster addressing | ||
| customPatchIPv4 := "{\"spec\":{\"defaultNetwork\":{\"ovnKubernetesConfig\":{\"ipv4\":{\"internalJoinSubnet\": \"100.99.0.0/16\",\"internalTransitSwitchSubnet\": \"100.69.0.0/16\"}}}}}" | ||
| customPatchIPv6 := "{\"spec\":{\"defaultNetwork\":{\"ovnKubernetesConfig\":{\"ipv6\":{\"internalJoinSubnet\": \"ab98::/64\",\"internalTransitSwitchSubnet\": \"ab97::/64\"}}}}}" | ||
| customPatchDualstack := "{\"spec\":{\"defaultNetwork\":{\"ovnKubernetesConfig\":{\"ipv4\":{\"internalJoinSubnet\": \"100.99.0.0/16\",\"internalTransitSwitchSubnet\": \"100.69.0.0/16\"},\"ipv6\": {\"internalJoinSubnet\": \"ab98::/64\",\"internalTransitSwitchSubnet\": \"ab97::/64\"}}}}}" | ||
|
|
||
| //gather original cluster values so that we can defer to them later once test done | ||
| currentinternalJoinSubnetIPv4Value, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("Network.operator.openshift.io/cluster", "-o=jsonpath={.spec.defaultNetwork.ovnKubernetesConfig.ipv4.internalJoinSubnet}").Output() | ||
| o.Expect(err).NotTo(o.HaveOccurred()) | ||
| currentinternalTransitSwSubnetIPv4Value, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("Network.operator.openshift.io/cluster", "-o=jsonpath={.spec.defaultNetwork.ovnKubernetesConfig.ipv4.internalTransitSwitchSubnet}").Output() | ||
| o.Expect(err).NotTo(o.HaveOccurred()) | ||
| currentinternalJoinSubnetIPv6Value, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("Network.operator.openshift.io/cluster", "-o=jsonpath={.spec.defaultNetwork.ovnKubernetesConfig.ipv6.internalJoinSubnet}").Output() | ||
| o.Expect(err).NotTo(o.HaveOccurred()) | ||
| currentinternalTransitSwSubnetIPv6Value, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("Network.operator.openshift.io/cluster", "-o=jsonpath={.spec.defaultNetwork.ovnKubernetesConfig.ipv6.internalTransitSwitchSubnet}").Output() | ||
| o.Expect(err).NotTo(o.HaveOccurred()) | ||
|
|
||
| //if any of value is null on exisiting cluster, it indicates that cluster came up with following default values assigned by OVNK | ||
| if currentinternalJoinSubnetIPv4Value == "" { | ||
| currentinternalJoinSubnetIPv4Value = "100.64.0.0/16" | ||
| } | ||
| if currentinternalJoinSubnetIPv6Value == "" { | ||
| currentinternalJoinSubnetIPv6Value = "fd98::/64" | ||
| } | ||
| if currentinternalTransitSwSubnetIPv4Value == "" { | ||
| currentinternalTransitSwSubnetIPv4Value = "100.88.0.0/16" | ||
| } | ||
| if currentinternalTransitSwSubnetIPv6Value == "" { | ||
| currentinternalTransitSwSubnetIPv6Value = "fd97::/64" | ||
| } | ||
|
|
||
| //vars to patch cluster back to original state | ||
| patchIPv4original := "{\"spec\":{\"defaultNetwork\":{\"ovnKubernetesConfig\":{\"ipv4\":{\"internalJoinSubnet\": \"" + currentinternalJoinSubnetIPv4Value + "\",\"internalTransitSwitchSubnet\": \"" + currentinternalTransitSwSubnetIPv4Value + "\"}}}}}" | ||
| patchIPv6original := "{\"spec\":{\"defaultNetwork\":{\"ovnKubernetesConfig\":{\"ipv6\":{\"internalJoinSubnet\": \"" + currentinternalJoinSubnetIPv6Value + "\",\"internalTransitSwitchSubnet\": \"" + currentinternalTransitSwSubnetIPv6Value + "\"}}}}}" | ||
| patchDualstackoriginal := "{\"spec\":{\"defaultNetwork\":{\"ovnKubernetesConfig\":{\"ipv4\":{\"internalJoinSubnet\": \"" + currentinternalJoinSubnetIPv4Value + "\",\"internalTransitSwitchSubnet\": \"" + currentinternalTransitSwSubnetIPv4Value + "\"},\"ipv6\": {\"internalJoinSubnet\": \"" + currentinternalJoinSubnetIPv6Value + "\",\"internalTransitSwitchSubnet\": \"" + currentinternalTransitSwSubnetIPv6Value + "\"}}}}}" | ||
|
|
||
| switch ipStackType { | ||
| case "ipv4single": | ||
| defer func() { | ||
| patchResourceAsAdmin(oc, "Network.operator.openshift.io/cluster", patchIPv4original) | ||
| 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", customPatchIPv4) | ||
| case "ipv6single": | ||
| defer func() { | ||
| patchResourceAsAdmin(oc, "Network.operator.openshift.io/cluster", patchIPv6original) | ||
| 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", customPatchIPv6) | ||
| 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) | ||
| } | ||
| err = checkOVNKState(oc) | ||
| o.Expect(err).NotTo(o.HaveOccurred(), "OVNkube never trigger or rolled out successfully post oc patch") | ||
| //check usual svc and pod connectivities post migration which also ensures disruption doesn't last post successful rollout | ||
| curlPod2PodPass(oc, oc.Namespace(), pod1Name, oc.Namespace(), pod2Name, serviceTargetPort) | ||
| curlPod2SvcPass(oc, oc.Namespace(), oc.Namespace(), pod1Name, serviceName, servicePort) | ||
| }) |
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.
Ensure test is discoverable by the configured OTE suite
The extension suite in test/cmd/main.go filters specs with the qualifier:
Qualifiers: []string{
"name.contains('[Suite:openshift/cluster-network-operator/conformance/parallel')",
},but the g.It(...) description here does not contain that [Suite:openshift/cluster-network-operator/conformance/parallel token, so this test is unlikely to be picked up by that suite in normal runs (even though it worked in your manual run).
Consider updating the It string to include the suite label, for example:
- g.It("Author:anusaxen-High-73205-High-72817-Make sure internalJoinSubnet and internalTransitSwitchSubnet is configurable post install as a Day 2 operation [Disruptive]", func() {
+ g.It("Author:anusaxen-High-73205-High-72817-Make sure internalJoinSubnet and internalTransitSwitchSubnet is configurable post install as a Day 2 operation [Suite:openshift/cluster-network-operator/conformance/parallel][Disruptive]", func() {so that the qualifier expression in the extension matches this test.
🤖 Prompt for AI Agents
In test/e2e/cno.go around lines 16 to 117, the g.It description string is
missing the required suite qualifier token so the OTE extension filter won't
discover this test; update the g.It(...) description to include the suite label
token "[Suite:openshift/cluster-network-operator/conformance/parallel"
(preserving the existing tags like [sig-network] and [Disruptive]) so the
qualifier in test/cmd/main.go will match and the test is picked up by the suite.
c8ff028 to
0e9722b
Compare
|
/retest-required |
1 similar comment
|
/retest-required |
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.
| g.BeforeEach(cli.setupNamespace) | ||
| g.AfterEach(cli.teardownNamespace) |
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.
Hook registration in constructor may cause multiple registrations.
Registering BeforeEach and AfterEach hooks 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.
🤖 Prompt for AI Agents
In test/e2e/cli.go around lines 62-63, registering g.BeforeEach and g.AfterEach
inside the CLI constructor causes hooks to be added each time a CLI instance is
created, leading to duplicated hooks and flaky tests; fix by removing hook
registration from the constructor and instead register them once (e.g., in a
package-level init() or with var _ = ginkgo.BeforeSuite()/BeforeEach using a
singleton CLI), or document/ensure only one CLI is constructed per test file, or
replace automatic hooks with explicit Setup()/Teardown() methods callers must
invoke from their tests.
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.
| // Args adds arguments to the command | ||
| func (c *CLI) Args(args ...string) *CLI { | ||
| c.args = append(c.args, args...) | ||
| return c | ||
| } |
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.
Args method mutates the receiver instead of a copy.
Unlike Run() which creates a copy before modifying, Args() appends directly to c.args. If Args() 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, args...)
+ return &nc
}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| // Args adds arguments to the command | |
| func (c *CLI) Args(args ...string) *CLI { | |
| c.args = append(c.args, args...) | |
| return c | |
| } | |
| // Args adds arguments to the command | |
| func (c *CLI) Args(args ...string) *CLI { | |
| nc := *c | |
| nc.args = append(nc.args, args...) | |
| return &nc | |
| } |
🤖 Prompt for AI Agents
In test/e2e/cli.go around lines 163 to 167, the Args method currently mutates
the receiver by appending into c.args; change it to behave like Run() by
creating a copy of the CLI (e.g., cp := *c), append the provided args to
cp.args, and return &cp so successive calls don't accumulate on the original
instance.
| func checkPodReady(oc *CLI, namespace string, podName string) (bool, error) { | ||
| podOutPut, err := getPodStatus(oc, namespace, podName) | ||
| status := []string{"Running", "Ready", "Complete", "Succeeded"} | ||
| return contains(status, podOutPut), err | ||
| } |
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.
checkPodReady includes invalid pod phase value.
The status list includes "Ready", but pod phases are only Running, Pending, Succeeded, Failed, and Unknown. "Ready" is a pod condition type, not a phase. This check will never match "Ready" from getPodStatus which returns .status.phase.
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
}Note: "Complete" is also not a valid phase—use "Succeeded" for completed pods.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| func checkPodReady(oc *CLI, namespace string, podName string) (bool, error) { | |
| podOutPut, err := getPodStatus(oc, namespace, podName) | |
| status := []string{"Running", "Ready", "Complete", "Succeeded"} | |
| return contains(status, podOutPut), err | |
| } | |
| func checkPodReady(oc *CLI, namespace string, podName string) (bool, error) { | |
| podOutPut, err := getPodStatus(oc, namespace, podName) | |
| status := []string{"Running", "Succeeded"} | |
| return contains(status, podOutPut), err | |
| } |
🤖 Prompt for AI Agents
In test/e2e/util.go around lines 62 to 66, the status list used to check pod
phase is incorrect: it includes "Ready" and "Complete" which are not valid pod
phases (Ready is a condition and Complete is not a phase). Replace the status
slice with the valid Kubernetes pod phases (e.g., "Running", "Pending",
"Succeeded", "Failed", "Unknown"), and ensure any checks for completed pods use
"Succeeded" rather than "Complete".
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.
…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>
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.
Needs 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: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
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