Bug 1402432 - Prefer fqdn instead of IP when tracking if remote execution is enabled for the host
Summary: Prefer fqdn instead of IP when tracking if remote execution is enabled for th...
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Remote Execution
Version: 6.2.4
Hardware: Unspecified
OS: Unspecified
Target Milestone: Unspecified
Assignee: Ivan Necas
QA Contact: jcallaha
Depends On:
Blocks: 1417083
TreeView+ depends on / blocked
Reported: 2016-12-07 14:40 UTC by Michal Dekan
Modified: 2021-06-10 11:44 UTC (History)
12 users (show)

Fixed In Version: tfm-rubygem-foreman_remote_execution-
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1417083 (view as bug list)
Last Closed: 2017-03-06 08:35:19 UTC
Target Upstream Version:

Attachments (Terms of Use)
verification screenshot (26.23 KB, image/png)
2017-02-16 19:44 UTC, jcallaha
no flags Details

System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 17603 0 High Closed Prefer fqdn instead of IP when tracking if remote execution is enabled for the host 2020-05-15 13:13:13 UTC
Red Hat Product Errata RHBA-2017:0447 0 normal SHIPPED_LIVE Satellite 6.2.8 Async Bug Release 2017-03-06 13:23:41 UTC

Description Michal Dekan 2016-12-07 14:40:45 UTC
Description of problem:

Customer has nodes within RAC cluster where IP addresses are changing quite often. This might result in jobs to be executed on the different host

Version-Release number of selected component (if applicable):

Satellite 6.2.4

$ egrep 'remote|tfm-rubygem-katello' installed_packages 

How reproducible:


Steps to Reproduce:

Taken from the case:

On my test system I have eth0 and eth1:

# facter
ipaddress =>
ipaddress_eth0 =>
ipaddress_eth1 =>

So now, if I supply a puppet report of facts, the Satellite now knows my IP of my RE interface (eth0) and the other interface.
If I bring down eth0 now, and send a new puppet report the Satellite will report the IP as blank for the RE interface and the RE Job will fail to connect via SSH.
If we sent a new puppet report (puppet agent -tv), the Satellite will receive the new 'ipaddress' fact which has changed to the IP of eth1. Now when we attempt a job, even though that interface is NOT checked for RE, the job will succeed..

Actual results:

Network interface with RE NOT enabled successfully executes the jobs. 

Expected results:

Job should not be marked as successfully if new changed interface with IP was not marked for RE.

Additional info:

Can we use fqdn instead of ip address as a source of remote execution activation?

Comment 2 Ivan Necas 2016-12-07 15:18:41 UTC
Created redmine issue http://projects.theforeman.org/issues/17603 from this bug

Comment 3 Ivan Necas 2016-12-07 17:41:38 UTC
Proposed solution https://github.com/theforeman/foreman_remote_execution/pull/213

Comment 4 Bryan Kearney 2016-12-07 19:03:20 UTC
Upstream bug assigned to inecas

Comment 5 Bryan Kearney 2016-12-07 19:03:23 UTC
Upstream bug assigned to inecas

Comment 8 Satellite Program 2017-01-24 21:04:08 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/17603 has been resolved.

Comment 9 Ivan Necas 2017-02-06 17:04:03 UTC
Steps to verify:

1. set ip address on host primary interface to other value
2. run the execution job against the host

Expected result:

Primarily, the host fqdn should be used for addressing the host

To switch to the original behavior (which might be useful, when DNS present in the infrastructure), set 'remote_execution_connect_by_ip' to true in Remote Execution settings

Comment 12 jcallaha 2017-02-16 19:43:56 UTC
Verified in Satellite 6.2.8 Snap 2.

1. Enable remote execution on a remote host.
2. Change the ipaddress of the host's interface(s)
3. Run a job against the host.

The job completed successfully, as expected.

Negative test steps:
1. Use the host setup above
2. Navigate to Administer -> Settings
3. Click on the RemoteExecution tab
4. Change "remote_execution_connect_by_ip" to "true"
5. Run a job against the host

The job failed, as expected.
Errno::ETIMEDOUT Connection timed out - connect(2) for "" port 22

See attached image to see the first job succeed and the second job fail.

Comment 13 jcallaha 2017-02-16 19:44:41 UTC
Created attachment 1250936 [details]
verification screenshot

Comment 15 errata-xmlrpc 2017-03-06 08:35:19 UTC
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, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.