NE-2451: Implement probe_dns_local diagnostic tool#176
NE-2451: Implement probe_dns_local diagnostic tool#176bentito wants to merge 3 commits intoopenshift:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: bentito The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
c6889eb to
7391991
Compare
7391991 to
804593c
Compare
|
@bentito: This pull request references NE-2451 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.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Thanks for the split of actual change and |
- Set ClusterAware to false for probe_dns_local - Improve robust IPv6-aware address port handling - Use api.NewToolCallResultStructured for structured tool output
- Set ClusterAware to false for probe_dns_local - Improve robust IPv6-aware address port handling - Use api.NewToolCallResultStructured for structured tool output
f7c0746 to
134fc9c
Compare
WalkthroughThis pull request introduces a local DNS probe tool for the MCP server. It adds direct module dependencies for mcp-go and dns libraries, implements a DNS probe handler with configurable client injection, defines result structures, and includes comprehensive table-driven tests with a mock DNS client. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
pkg/toolsets/netedge/probe_dns_local.go (1)
68-69: Consider configuring explicit timeout on the DNS client.The
dns.Clientis initialized without an explicit timeout. While the library has internal defaults, setting an explicit timeout (e.g., 5-10 seconds) would improve predictability and prevent potential hangs when probing unresponsive servers.♻️ Suggested improvement
-var activeDNSClient dnsExchange = &defaultDNSClient{client: new(dns.Client)} +var activeDNSClient dnsExchange = &defaultDNSClient{client: &dns.Client{ + Timeout: 10 * time.Second, +}}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@pkg/toolsets/netedge/probe_dns_local.go` around lines 68 - 69, The DNS client is created without an explicit timeout which can hang probes; update the initialization of activeDNSClient (and the defaultDNSClient.client field of type dns.Client) to set a sensible Timeout (e.g., 5–10 seconds) on the dns.Client instance and ensure the time package is imported; specifically replace new(dns.Client) with an explicitly constructed &dns.Client{Timeout: 5 * time.Second} (or configured constant) so defaultDNSClient.client uses that timed client.pkg/toolsets/netedge/probe_dns_local_test.go (1)
166-170: Consider resetting the mock client for better test isolation.The mock client is only set when
tt.mockClient != nil, which means tests without a mock (like "missing name parameter") inherit the client from a previous test. While this works because those tests fail beforeExchangeis called, the pattern is fragile if test order changes or logic is modified.♻️ Suggested improvement
for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { + // Reset to original client for isolation + activeDNSClient = origClient if tt.mockClient != nil { activeDNSClient = tt.mockClient }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@pkg/toolsets/netedge/probe_dns_local_test.go` around lines 166 - 170, Tests set activeDNSClient only when tt.mockClient != nil, causing state leakage between subtests; reset or restore the global before/after each run to guarantee isolation. Inside the t.Run closure for the table-driven tests, capture the original activeDNSClient, then if tt.mockClient != nil assign it, and use defer to restore the original (or alternatively set activeDNSClient = nil at the start of each subtest) so tests like the "missing name parameter" cannot inherit a previous mock.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@pkg/toolsets/netedge/probe_dns_local_test.go`:
- Around line 166-170: Tests set activeDNSClient only when tt.mockClient != nil,
causing state leakage between subtests; reset or restore the global before/after
each run to guarantee isolation. Inside the t.Run closure for the table-driven
tests, capture the original activeDNSClient, then if tt.mockClient != nil assign
it, and use defer to restore the original (or alternatively set activeDNSClient
= nil at the start of each subtest) so tests like the "missing name parameter"
cannot inherit a previous mock.
In `@pkg/toolsets/netedge/probe_dns_local.go`:
- Around line 68-69: The DNS client is created without an explicit timeout which
can hang probes; update the initialization of activeDNSClient (and the
defaultDNSClient.client field of type dns.Client) to set a sensible Timeout
(e.g., 5–10 seconds) on the dns.Client instance and ensure the time package is
imported; specifically replace new(dns.Client) with an explicitly constructed
&dns.Client{Timeout: 5 * time.Second} (or configured constant) so
defaultDNSClient.client uses that timed client.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 6003540a-7996-424f-af8e-0787404e193c
⛔ Files ignored due to path filters (296)
go.sumis excluded by!**/*.sumvendor/github.com/bahlo/generic-list-go/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/bahlo/generic-list-go/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/bahlo/generic-list-go/list.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/.travis.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/Dockerfileis excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/bytes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/bytes_safe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/bytes_unsafe.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/escape.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/fuzz.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/oss-fuzz-build.shis excluded by!vendor/**,!**/vendor/**vendor/github.com/buger/jsonparser/parser.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/invopop/jsonschema/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/invopop/jsonschema/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/invopop/jsonschema/COPYINGis excluded by!vendor/**,!**/vendor/**vendor/github.com/invopop/jsonschema/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/invopop/jsonschema/id.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/invopop/jsonschema/reflect.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/invopop/jsonschema/reflect_comments.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/invopop/jsonschema/schema.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/invopop/jsonschema/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/elicitation.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/http.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/inprocess.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/interface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/oauth.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/roots.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/sampling.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/sse.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/stdio.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/transport/constants.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/transport/error.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/transport/inprocess.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/transport/interface.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/transport/oauth.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/transport/oauth_utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/transport/sse.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/transport/stdio.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/transport/streamable_http.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/client/transport/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/mcp/consts.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/mcp/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/mcp/prompts.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/mcp/resources.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/mcp/tasks.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/mcp/tools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/mcp/typed_tools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/mcp/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/mcp/utils.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/completion.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/constants.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/ctx.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/elicitation.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/errors.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/hooks.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/http_transport_options.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/inprocess_session.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/request_handler.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/roots.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/sampling.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/session.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/sse.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/stdio.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/streamable_http.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/server/task_hooks.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/mark3labs/mcp-go/util/logger.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/.codecov.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/AUTHORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/CODEOWNERSis excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/CONTRIBUTORSis excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/COPYRIGHTis excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/Makefile.fuzzis excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/Makefile.releaseis excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/acceptfunc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/client.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/clientconfig.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/dane.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/defaults.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/dns.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/dnssec.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/dnssec_keygen.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/dnssec_keyscan.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/dnssec_privkey.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/doc.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/duplicate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/edns.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/format.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/fuzz.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/generate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/hash.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/labels.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/listen_no_reuseport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/listen_reuseport.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/msg.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/msg_helpers.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/msg_truncate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/nsecx.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/privaterr.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/reverse.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/sanitize.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/scan.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/scan_rr.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/serve_mux.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/server.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/sig0.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/smimea.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/svcb.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/tlsa.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/tools.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/tsig.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/types.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/udp.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/udp_windows.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/update.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/version.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/xfr.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/zduplicate.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/zmsg.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/miekg/dns/ztypes.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/wk8/go-ordered-map/v2/.gitignoreis excluded by!vendor/**,!**/vendor/**vendor/github.com/wk8/go-ordered-map/v2/.golangci.ymlis excluded by!vendor/**,!**/vendor/**vendor/github.com/wk8/go-ordered-map/v2/CHANGELOG.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/wk8/go-ordered-map/v2/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/github.com/wk8/go-ordered-map/v2/Makefileis excluded by!vendor/**,!**/vendor/**vendor/github.com/wk8/go-ordered-map/v2/README.mdis excluded by!vendor/**,!**/vendor/**vendor/github.com/wk8/go-ordered-map/v2/json.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/wk8/go-ordered-map/v2/orderedmap.gois excluded by!vendor/**,!**/vendor/**vendor/github.com/wk8/go-ordered-map/v2/yaml.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/mod/LICENSEis excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/mod/PATENTSis excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/mod/semver/semver.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/bpf/asm.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/bpf/constants.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/bpf/doc.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/bpf/instructions.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/bpf/setter.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/bpf/vm.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/bpf/vm_instructions.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/iana/const.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/cmsghdr.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/cmsghdr_linux_32bit.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/cmsghdr_solaris_64bit.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/cmsghdr_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/cmsghdr_unix.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/cmsghdr_zos_s390x.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/complete_dontwait.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/complete_nodontwait.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/empty.sis excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/error_unix.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/error_windows.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/iovec_32bit.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/iovec_64bit.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/iovec_solaris_64bit.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/iovec_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/mmsghdr_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/mmsghdr_unix.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/msghdr_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/msghdr_linux.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/msghdr_linux_32bit.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/msghdr_openbsd.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/msghdr_solaris_64bit.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/msghdr_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/msghdr_zos_s390x.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/norace.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/race.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/rawconn.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/rawconn_mmsg.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/rawconn_msg.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/rawconn_nommsg.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/rawconn_nomsg.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/socket.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_const_unix.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_386.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_386.sis excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_amd64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_arm.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_arm64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_loong64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_mips.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_mips64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_mips64le.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_mipsle.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_ppc.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_ppc64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_ppc64le.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_s390x.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_linux_s390x.sis excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_netbsd.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_posix.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_unix.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_windows.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_zos_s390x.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/sys_zos_s390x.sis excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_freebsd_riscv64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_386.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_arm.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_loong64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_mips.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_ppc.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_openbsd_mips64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_openbsd_ppc64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_openbsd_riscv64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/internal/socket/zsys_zos_s390x.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/batch.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/control.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/control_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/control_pktinfo.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/control_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/control_unix.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/control_windows.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/control_zos.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/dgramopt.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/doc.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/endpoint.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/genericopt.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/header.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/helper.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/iana.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/icmp.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/icmp_linux.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/icmp_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/packet.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/payload.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/payload_cmsg.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/payload_nocmsg.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sockopt.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sockopt_posix.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sockopt_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_aix.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_asmreq.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_asmreq_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_asmreqn.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_bpf.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_bpf_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_bsd.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_darwin.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_dragonfly.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_freebsd.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_linux.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_solaris.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_ssmreq.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_stub.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_windows.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/sys_zos.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/zsys_darwin.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/zsys_dragonfly.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/zsys_freebsd_386.gois excluded by!vendor/**,!**/vendor/**vendor/golang.org/x/net/ipv4/zsys_freebsd_amd64.gois excluded by!vendor/**,!**/vendor/**
📒 Files selected for processing (4)
go.modpkg/toolsets/netedge/probe_dns_local.gopkg/toolsets/netedge/probe_dns_local_test.gopkg/toolsets/netedge/toolset.go
|
@bentito: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
This PR implements an active tool that generates network traffic to verify DNS connectivity and resolution.
This PR implements DNS probing from the server:
probe_dns_local(NE-2451)github.com/miekg/dns) and defaults toArecord requests if no type is explicitly supplied.Exchangefunction through an interface for offline unit testing without external dependencies.