Description of problem: When creating a host with IPv6 address only via WebUI, the host is not created. Version-Release number of selected component (if applicable): Sat 6.8 Snap 4 How reproducible: always Steps to Reproduce: 1. Build a Satellite server in an pure IPv6 env. It is possible that the satellite itself doesn't have to be IPv6 itself, it just has to manage an IPv6 only network. 2. Define an IPv6 network, create a domain, assign the domain to the IPv6 network. 3. Sync RHEL 8 content and kickstarts. 3. Start creating a host using Hosts->Create host 4. Assign Lifecycle Environment, Content View, Content Source to the new host. 5. Assign Operating System properties to the new host 6. Edit its network interface, assign the domain and the IPv6 network created in the step 2. Make sure there is no IPv4 network assigned to the host - it must be IPv6 only. 7. Click the Submit button Actual results: UI returns to the initial Create host page, the host is not created, there is no error message. Expected results: The host is created. Additional info: /var/log/foreman/production.log contains following output: 2020-06-18T15:31:48 [I|app|2b78563b] Started POST "/hosts" for 127.0.0.1 at 2020-06-18 15:31:48 +0200 2020-06-18T15:31:48 [I|app|2b78563b] Processing by HostsController#create as */* 2020-06-18T15:31:48 [I|app|2b78563b] Parameters: {"utf8"=>"✓", "authenticity_token"=>"MlCJ82eUqB7znkuxw9Dnlfq7tSZuDWWM0yFzEYkASv9O8SK0Lck4nrIABUB4t8sky5PQxtuRnDeo+t2sjNGUew==", "host"=>{"name"=>"ebony-kemple", "organization_id"=>"1", "location_id"=>"2", "hostgroup_id"=>"", "compute_resource_id"=>"", "content_facet_attributes"=>{"lifecycle_environment_id"=>"1", "content_view_id"=>"1", "content_source_id"=>"1", "kickstart_repository_id"=>"6"}, "environment_id"=>"", "puppet_proxy_id"=>"", "puppet_ca_proxy_id"=>"", "openscap_proxy_id"=>"", "ansible_role_ids"=>[""], "managed"=>"true", "progress_report_id"=>"[FILTERED]", "type"=>"Host::Managed", "interfaces_attributes"=>{"0"=>{"_destroy"=>"0", "type"=>"Nic::Managed", "mac"=>"52:54:00:96:45:82", "identifier"=>"", "name"=>"ebony-kemple", "domain_id"=>"1", "subnet_id"=>"", "subnet6_id"=>"3", "ip"=>"", "ip6"=>"fd00:aaaa:bbbb:cc:5054:ff:fe96:4582", "managed"=>"1", "primary"=>"1", "provision"=>"1", "execution"=>"1", "virtual"=>"0", "tag"=>"", "attached_to"=>""}}, "architecture_id"=>"1", "operatingsystem_id"=>"2", "provision_method"=>"build", "build"=>"1", "medium_id"=>"", "ptable_id"=>"116", "pxe_loader"=>"Grub2 UEFI HTTPS", "disk"=>"", "root_pass"=>"[FILTERED]", "is_owned_by"=>"4-Users", "enabled"=>"1", "model_id"=>"", "comment"=>"", "overwrite"=>"false"}, "media_selector"=>"synced_content"} 2020-06-18T15:31:48 [W|app|2b78563b] ERF12-6886 [ProxyAPI::ProxyException]: Unable to remove host from known hosts ([TypeError]: no implicit conversion of nil into String) for Capsule https://sat68.example.com:9090/ssh 2020-06-18T15:31:48 [W|app|2b78563b] Rolling back due to a problem: [#<Orchestration::Task:0x00007f5f792b18a0 @name="Remove SSH known hosts for ebony-kemple.example.com", @id="ssh_remove_known_hosts_interface__1", @status="failed", @priority=200, @action=[#<Nic::Managed id: nil, mac: "52:54:00:96:45:82", ip: nil, type: "Nic::Managed", name: "ebony-kemple.example.com", host_id: nil, subnet_id: nil, domain_id: 1, attrs: {}, created_at: nil, updated_at: nil, provider: nil, username: nil, password: nil, virtual: false, link: true, identifier: "", tag: "", attached_to: "", managed: true, mode: "balance-rr", attached_devices: "", bond_options: "", primary: true, provision: true, compute_attributes: {}, execution: true, ip6: "fd00:aaaa:bbbb:cc:5054:ff:fe96:4582", subnet6_id: 3>, :drop_from_known_hosts, [1, nil]], @created=1592487108.9394732, @timestamp=2020-06-18 13:31:48 UTC>] The workaround is to assign an IPv4 network to the host. The host will get created then, and it is possible to remove the IPv4 network after that.
Adam, I encountered this problem on my dev setup the other day. Is there a patch coming into Satellite 6.8 that solves this? Or do you remember what was causing this?
It seems to be BZ1841143[1]. The fix for that is coming in REX 3.3.1 which should be available starting with snap 5 [1] - https://bugzilla.redhat.com/show_bug.cgi?id=1841143
Just for the record, this BZ has unlikely to do anything with IPv6 as I experienced it on IPv4 as well.
Just for the info - while verifying this BZ, another issue was discovered - BZ1856837. It seems that the current BZ1848535 is probably fixed, but as long as BZ1856837 is active, it cannot be completely verified.
BZ1856837 was verified and the IPv6 host was successfully created there. That means this can be verified too. For more info look at verification comment in BZ1856837.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Important: Satellite 6.8 release), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2020:4366