-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
reverse lookup broken on Mac OS runners #8649
Comments
Hi @oliver-sanders, |
@oliver-sanders, after poking around,
We will continue investigating and see if something else could be done |
@shamil-mubarakshin, thanks for looking in. Didn't know there were issues with nslookup on Mac OS, interesting. I also used Python's
I managed to dig out an example of a workflow where the Mac OS job failed the first two times and passed on the third: https://github.com/cylc/cylc-flow/actions/runs/6634707075 With this message in the failed runs:
|
Previously, bincheck started a single node database instance without specifying the address/port it listens on. In this case the server code tried to resolve the hostname and use it. See https://github.com/cockroachdb/cockroach/blob/d498a59cc2afc9778af6f7e0120206ab1ee56bc2/pkg/base/addr_validation.go#L128 for the details. At some point this method stopped working on MacOS GitHub workers. There is an upstream issue open: actions/runner-images#8649 This PR explicitly sets the `--listen-addr` parameter to skip the problematic code. Epic: none Release note: None
113502: bincheck: bind 127.0.0.1 r=celiala a=rail Previously, bincheck started a single node database instance without specifying the address/port it listens on. In this case the server code tried to resolve the hostname and use it. See https://github.com/cockroachdb/cockroach/blob/d498a59cc2afc9778af6f7e0120206ab1ee56bc2/pkg/base/addr_validation.go#L128 for the details. At some point this method stopped working on MacOS GitHub workers. There is an upstream issue open: actions/runner-images#8649 This PR explicitly sets the `--listen-addr` parameter to skip the problematic code. Epic: none Release note: None Co-authored-by: Rail Aliiev <rail@iqchoice.com>
Previously, bincheck started a single node database instance without specifying the address/port it listens on. In this case the server code tried to resolve the hostname and use it. See https://github.com/cockroachdb/cockroach/blob/d498a59cc2afc9778af6f7e0120206ab1ee56bc2/pkg/base/addr_validation.go#L128 for the details. At some point this method stopped working on MacOS GitHub workers. There is an upstream issue open: actions/runner-images#8649 This PR explicitly sets the `--listen-addr` parameter to skip the problematic code. Epic: none Release note: None
Previously, bincheck started a single node database instance without specifying the address/port it listens on. In this case the server code tried to resolve the hostname and use it. See https://github.com/cockroachdb/cockroach/blob/d498a59cc2afc9778af6f7e0120206ab1ee56bc2/pkg/base/addr_validation.go#L128 for the details. At some point this method stopped working on MacOS GitHub workers. There is an upstream issue open: actions/runner-images#8649 This PR explicitly sets the `--listen-addr` parameter to skip the problematic code. Epic: none Release note: None
Previously, bincheck started a single node database instance without specifying the address/port it listens on. In this case the server code tried to resolve the hostname and use it. See https://github.com/cockroachdb/cockroach/blob/d498a59cc2afc9778af6f7e0120206ab1ee56bc2/pkg/base/addr_validation.go#L128 for the details. At some point this method stopped working on MacOS GitHub workers. There is an upstream issue open: actions/runner-images#8649 This PR explicitly sets the `--listen-addr` parameter to skip the problematic code. Epic: none Release note: None
Unfortunately the workaround isn't quite enough for my use case due to other interactions which require additional workarounds. We still occasionally get test runners where reverse lookup works. |
Previously, bincheck started a single node database instance without specifying the address/port it listens on. In this case the server code tried to resolve the hostname and use it. See https://github.com/cockroachdb/cockroach/blob/d498a59cc2afc9778af6f7e0120206ab1ee56bc2/pkg/base/addr_validation.go#L128 for the details. At some point this method stopped working on MacOS GitHub workers. There is an upstream issue open: actions/runner-images#8649 This PR explicitly sets the `--listen-addr` parameter to skip the problematic code. Epic: none Release note: None
Getting some funky behaviour with Python 3.7 Runner: macOS 12.6.9: >>> socket.gethostname()
'Mac-1702490668849.local'
>>> socket.gethostbyname_ex('Mac-1702490668849.local')
('mac-1702490668849.local', [], ['192.168.64.23'])
>>> socket.getfqdn()
'Mac-1702490668849.local'
>>> socket.gethostbyname_ex('Mac-1702490668849.local')
('Mac-1702490668849.local', ['Mac-1702490668849'], ['192.168.64.23']) (This does not happen with macOS 12.7.1 runner (see #8642):) >>> socket.gethostname()
'Mac-1702490723337.local'
>>> socket.gethostbyname_ex('Mac-1702490723337.local')
('mac-1702490723337.local', [], ['10.213.1.225'])
>>> socket.getfqdn()
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa
>>> socket.gethostbyname_ex('Mac-1702490723337.local')
('mac-1702490723337.local', [], ['10.213.1.225']) |
The workaround of falling back to macos 11 is about to expire, however the DNS of all new images remains problematic. |
@shawnnapora, @shamil-mubarakshin (apologies for the poke) The workaround of using macos 11 to avoid this DNS configuration bug is about to expire. Do you know if this issue is likely to be resolved in later macos images? |
Here's a reproducer of the problem in case it's of any help: https://github.com/vieiro/gha-macos-resolve-hostname |
Hi @oliver-sanders , Please find the update below: 1.) Successful run for macOS12, macOS13 and macOS14 : 2.) Use below to update "/etc/hosts":
Updated "/etc/hosts" value:
3.) To get the IP address from the hostname:
4.) After above fix, we were able to ping the host through the hostname:
5.) Reg. Python's socket bindings :
6.) Please check the above and let us know if it helps. We are working on adding the "/etc/hosts" change as part of the image. Will keep you posted. |
@sarathrajsrinivasan we are successfully using the patch
but ideally this would be fixed in the image |
@MetRonnie Yes we are working on adding it as part of the image itself. Will update once the change is rolled out. |
Thanks for the update. |
Hi @oliver-sanders @MetRonnie, We have added the above change to the "/etc/hosts" as part of the image itself. Please check. |
I have tested this and still got the DNS problems on
But I ran again a few times and everything worked on
In both cases, the other runner version information was identical
|
Hi @MetRonnie , Could you please check now. This should be resolved 👍🏼 |
Description
Reverse lookup of the host name is not working on the Mac OS runner.
ubuntu-latest:
macos-latest:
For an example, see the
nslookup
andpython.socket
steps of this workflow run:https://github.com/oliver-sanders/actions-dns-test/actions/runs/6626432376/job/17999359243
First spotted a couple of weeks ago.
For context, see these two similar instances where reverse DNS stopped working on the Linux images:
Platforms affected
Runner images affected
Image version and build link
Image: macos-12
Version: 20230921.1
Image: macos-13
Version: 20231204.4
Is it regression?
Yes, seen with runners with macos version 12.7.1 or above.
Expected behavior
Reverse lookup should return the hostname.
Actual behavior
Reverse lookup results in error.
Repro steps
To reproduce, see this workflow:
https://github.com/oliver-sanders/actions-dns-test/actions/runs/6626432376/job/17999359243
The text was updated successfully, but these errors were encountered: