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

Allow explicitly setting an advertised listener #54

Open
spenczar opened this issue May 19, 2020 · 4 comments
Open

Allow explicitly setting an advertised listener #54

spenczar opened this issue May 19, 2020 · 4 comments

Comments

@spenczar
Copy link

@shereenElSayed and I had a hard time getting a server container to run on UCSB's private cloud. That cloud uses a split DNS; an internal DNS resolver returns private IP addresses for public DNS names that point at UCSB hosts. That means that setting --hostname to the public DNS name doesn't result in a public IP address for the advertised.listeners, which means they aren't routable, which means clients cannot connect to them, even though they can connect to the bootstrap server.

We were able to get over this by explicitly setting --dns=8.8.8.8 when running the container, which worked because public DNS was used in the socket.gethostbyname call in https://github.com/scimma/scimma-server-container/blob/master/scripts/KafkaServer.py. That feels very roundabout! I'd prefer to be able to pass a --advertised-listener flag or something when running the container which just sidesteps all the logic and explicitly picks a listener.

@rdt12
Copy link
Collaborator

rdt12 commented May 19, 2020

Should the flag take a "listener URL", like "PLAINTEXT://ADDRESS:9092" or just the ADDRESS part or maybe "ADDRESS:PORT"?

@spenczar
Copy link
Author

I think explicitly doing the full listener URL is good with me. It's simple, and it would work in pretty much any crazy setup that might do SASL on a public network and plaintext on a private one (aka "mullet security:" business in the front, party in the back).

@richwolski
Copy link

richwolski commented May 19, 2020

Yes. The UCSB Private cloud does split horizon DNS. My understanding is that AWS does as well.

@alchzh
Copy link

alchzh commented Jan 10, 2023

The code for setting the advertised listener also breaks under my setup of WSL2 when running the integration tests in adc-streaming. I need to manually edit it to 127.0.0.1 to connect from the forwarded port.

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

4 participants