Skip to content
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

Venom does not resolve DNS names like "curl" #816

Open
arikkfir opened this issue Sep 16, 2024 · 0 comments
Open

Venom does not resolve DNS names like "curl" #816

arikkfir opened this issue Sep 16, 2024 · 0 comments

Comments

@arikkfir
Copy link

arikkfir commented Sep 16, 2024

Overview

Seems DNS resolution on a macOS M2 Pro 2023 works differently than other apps (e.g. curl). This happens where there's a local dnsmasq and the macOS is configured to defer to it for a specific domain.

Other apps such as curl work with this setup implicitly - not sure why venom fails to pick up this configuration.

Reproduce

Setup

Setup the local dnsmasq and macOS-to-dnsmasq configuration (assuming greenstar.local is the bogus domain that only works locally):

brew install -q dnsmasq
echo "conf-dir=/opt/homebrew/etc/dnsmasq.d/,*.conf" >> "/opt/homebrew/etc/dnsmasq.conf"
echo "address=/.greenstar.local/127.0.0.1" > "/opt/homebrew/etc/dnsmasq.d/greenstar.local.conf"
sudo "/opt/homebrew/bin/brew" services restart dnsmasq
sudo mkdir -p "/etc/resolver"
sudo bash -c "echo \"nameserver 127.0.0.1\" > /etc/resolver/greenstar.local"
mkdir -p ./hack

Reproducing it

#### Simple venom test:
$ cat test.yaml
name: Tenants
description: |-
  Test the /tenants API
testcases:
  - name: Tenant creation
    steps:
      - type: http
        method: POST
        url: https://api.greenstar.local/tenants
        timeout: 5
        assertions:
          - result.statuscode ShouldEqual 200

#### Running venom:
$ venom run ./backend/e2e/venom.yaml
	  [trac] writing venom.1.log
 • Tenants (./backend/e2e/venom.yaml)
 	• Tenant-creation FAIL
Testcase "Tenant creation", step #0-0: Post "https://api.greenstar.local/tenants": dial tcp: lookup api.greenstar.local on 1.1.1.1:53: no such host (venom.yaml:0)
final status: FAIL

#### Proving that curl does work without any special configuration or flags:
$ curl -i https://api.greenstar.local/
HTTP/2 401
cache-control: no-store, no-cache, must-revalidate, max-age=0
content-type: text/plain; charset=utf-8
date: Mon, 16 Sep 2024 10:52:00 GMT
expires: 0
pragma: no-cache
vary: Origin
x-content-type-options: nosniff
x-request-id: 9e6b6ba8-4c8d-4a56-813a-3aaf8d336566
content-length: 13

Unauthorized

Any idea why Venom fails on its DNS resolution, but curl does not?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant