Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
We have a report from a customer that installed on a server that has not FQDN hostname set. That means:
# hostname
abc
# hostname -f
abc.example.com
Since katello-configure is using gethostname call (via Ruby) to get the FQDN, it configures everything with "abc" in this case. But the customer has a valid DNS entry for this server in the domain, so when the web is accessed via (also correctly set) FQDN (abc.example.com), we are having issues with Signo and signin process.
It is totally fine to install Satellite6 on a host that is not in any domain. But the user must be aware the server is out of any DNS domain and it is not able to join any domain later, because all certificates and everything is being generated during the installation for the given hostname (without domain). Also Signo and other things (OpenID) that depends on hostnames will not work properly.
The fix should be in katello-configure (and making sure foreman-configure does the same thing for MDP3):
In our installer codebase we are calling gethostname(2) to determine the
FQDN and then we carry on with the whole installation. What we should
probably do would be to call gethostbyname(3) giving it the hostname
received by gethostname(2) to consult DNS to get the full FQDN before
going on. Something like:
>> Socket.gethostname
=> "abc"
>> Socket.gethostbyname(Socket.gethostname)
=> ["abc.brq.redhat.com", [], 2, "\n\"\x01 "]
>> Socket.gethostbyname(Socket.gethostname)[0]
=> "abc.brq.redhat.com"
The code should issue a big warning if domain part is not found. It should warn that server outside of DNS domain is okay, but it cannot join domain later on. This should be very explicit, like a confirmation should be required on an interactive console (Type YES to continue).
We must not force customers to configure hostname with FQDN if they do not want to do this. Also, there still should be a way to configure sat6 without DNS (with only /etc/hosts set properly) and on a server that is not part of any domain.
Also if a user is using server without DNS (only with /etc/hosts), the warning will be shown if hosts FQDN order is incorrect (for more info see my older blog post: http://lukas.zapletalovi.com/2011/12/setting-hostname-properly-in-fedora-and.html).
We have implemented an extra checker that investigates reverse DNS entry (not part of the MDP2): https://bugzilla.redhat.com/show_bug.cgi?id=978828 but this is a different issue.
VERIFY: To verify this bug, install sat6 on both scenarios:
- on a box that has no domain set and is not in DNS
- on a box that has no domain set and is in DNS (fqdn points to the server)
In both scenarios warning should be issued, but sat6 installation whould work properly (login, logout, sync a content).
Also we need to check if hostname can be reverted to non-FQDN hostname after installation is done. We might have some gethostname(2) calls in our runtime code that would start returning incorrect results.
Correcting VERIFY part:
To verify this bug, install sat6 on both scenarios:
- on a box that has no domain set and is not in DNS
- on a box that has no domain set and is in DNS (fqdn points to the server)
In the former scenario, a warning should be issued. In both cases Satellite 6.0 installation should work properly (login, logout, syncing content).
change FQDN to something without domain
run the installer
# katello-installer
Output of 'facter fqdn' is different from 'hostname -f'
Make sure above command gives the same output. If needed, change the hostname permanently via 'hostname' command and editing
appropriate configuration file.
(e.g. on Red Hat systems /etc/sysconfig/network).
If 'hostname -f' still returns unexpected result, check /etc/hosts and put
hostname entry in the correct order, for example:
1.2.3.4 full.hostname.com full
Fully qualified hostname must be the first entry on the line
Your system does not meet configuration criteria
installer gives error