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

Dissociate Smart Proxies unmanaged IPv6 #3645

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Lennonka
Copy link
Contributor

@Lennonka Lennonka commented Feb 5, 2025

What changes are you introducing?

Adding important instructions for subnets and domains in IPv6 networks, where DHCP and DNS cannot be managed by Foreman
...and a couple of cosmetic improvements

Why are you introducing these changes? (Explanation, links to references, issues, etc.)

  • Users need to know this if they work in IPv6 networks.
  • "Once no proxies are associated, the system will allow creating hosts without IPs specified." SAT-30604

Anything else to add? (Considerations, potential downsides, alternative solutions you have explored, etc.)

Checklists

  • I am okay with my commits getting squashed when you merge this PR.
  • I am familiar with the contributing guidelines.

Please cherry-pick my commits into: N/A

@github-actions github-actions bot added Needs tech review Requires a review from the technical perspective Needs style review Requires a review from docs style/grammar perspective Needs testing Requires functional testing labels Feb 5, 2025
@Lennonka Lennonka force-pushed the dissociate-smartproxies-unmanaged-ipv6 branch 2 times, most recently from da4f340 to 36058fe Compare February 5, 2025 17:52
@Lennonka Lennonka force-pushed the dissociate-smartproxies-unmanaged-ipv6 branch from 36058fe to 2f8312d Compare February 5, 2025 17:55
@Lennonka Lennonka marked this pull request as draft February 5, 2025 17:56
@ShimShtein
Copy link
Member

ACK, makes sense

@Lennonka Lennonka added tech review done No issues from the technical perspective and removed Needs tech review Requires a review from the technical perspective labels Feb 9, 2025
@Lennonka Lennonka marked this pull request as ready for review February 9, 2025 21:06
Copy link
Contributor

@maximiliankolb maximiliankolb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@maximiliankolb maximiliankolb added style review done No issues from docs style/grammar perspective and removed Needs style review Requires a review from docs style/grammar perspective labels Feb 10, 2025
@ekohl
Copy link
Member

ekohl commented Feb 10, 2025

I think it's a bug this can be done in the first place: the DHCP management is IPv4-only and we know the subnet type

@@ -4,6 +4,11 @@
You must add information for each of your subnets to {ProjectServer} because {Project} configures interfaces for new hosts.
To configure interfaces, {ProjectServer} must have all the information about the network that connects these interfaces.

[IMPORTANT]
====
In an IPv6 network with unmanaged DHCP and DNS, do not assign DHCP {SmartProxy} and Reverse DNS {SmartProxy} to your subnet.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is IMHO a bug that the user can select this in the first place. Is there work tracked to make that impossible?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't mark it as a bug yet. We may start supporting DHCPv6 management in the future. The same goes for DNS, maybe we will be able to support managed DNS for IPv6 networks later on (for example in retroactive mode, where we update the DNS once we get the facts from the host).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Until we develop the feature, we should make it impossible set unsupported options. Because of that I'd qualify it as a bug.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's create an issue on Redmine then. Sounds fine by me.

@@ -22,6 +22,11 @@ If you experience timeouts during DNS conflict resolution, check the following s
* The domain name must have a Start of Authority (SOA) record available from {ProjectServer}.
* The system resolver in the `/etc/resolv.conf` file must have a valid and working configuration.

[IMPORTANT]
====
In an IPv6 network with unmanaged DNS, do not assign DNS {SmartProxy} to your domain.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this sentence. Why shouldn't a user do this? Why is it IPv6 specific?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While it's not IPv6 specific, it is relevant here. If a user assigns a DNS proxy to the subnet/domain, Foreman will require IP address, which cannot be set in IPv6 scenario (at least for the foreseeable future).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Smart Proxy can manage AAAA records and IPv6 PTR records so I still don't see why it's a problem.

Having said that, for unmanaged DNS you should never set a DNS Smart Proxy anyway so I'm still deeply confused.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think making it clear that the user should not set the DNS smart proxy as long as there is no IPv6 set on the machine is useful here. Otherwise the host will require setting an IPv6 address for the host, which is not currently possible (we only support unmanaged DHCPv6 for provisioning).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But users can assign an IPv6 address statically or rely on EUI64. For dual stack that is fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs testing Requires functional testing style review done No issues from docs style/grammar perspective tech review done No issues from the technical perspective
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants