Project

General

Profile

Actions

Bug #17007

closed

Starting or canceling the build of a host fails if an ipv6 address is configured

Added by Robert Frank over 7 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
DNS
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

If I try to start or cancel the build of a host it fails with the following error:

Failed to save: Conflict IPv6 DNS record <fqdn>/<ipv6 address> already exists

The configured IPv6 address and the conflicting address are the same, but they use different case for the hex letters (configured IPv6 address uses lower case, conflicting address in error message uses upper case.
The source of the error is in the conflicts method in lib/net/dns/forward_record.rb:
@conflicts ||= [dns_lookup(hostname)].delete_if { |c| c == self }.compact

The IPv6 addresses returned by dns_lookup have upper case hex letters which causes c == self to be always false.
Forcing the lookup method in lib/net/dns.rb to return lower case IPv6 addresses solved this particular problem for me:
ip = resolver.getresource(query, Resolv::DNS::Resource::IN::AAAA).address.to_s.downcase

There might be other places which could have similar problems when comparing IPv6 addresses.


Related issues 1 (0 open1 closed)

Has duplicate Foreman - Bug #17075: IPv6 dns records always conflictingDuplicateTimo Goebel10/24/2016Actions
Actions #1

Updated by Dominic Cleal over 7 years ago

  • Category set to DNS
Actions #2

Updated by Dominic Cleal over 7 years ago

  • Has duplicate Bug #17075: IPv6 dns records always conflicting added
Actions #3

Updated by The Foreman Bot over 7 years ago

  • Status changed from New to Ready For Testing
  • Assignee set to Timo Goebel
  • Pull request https://github.com/theforeman/foreman/pull/3967 added
Actions #4

Updated by Timo Goebel over 7 years ago

  • Translation missing: en.field_release set to 190
Actions #5

Updated by Timo Goebel over 7 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
Actions

Also available in: Atom PDF