mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
install: Call hostnamectl set-hostname only if --hostname option is used
This commit also splits hostname backup and configuration into two separate functions. This allows us to backup hostname without setting it at the same time. https://fedorahosted.org/freeipa/ticket/6071 Reviewed-By: Jan Cholasta <jcholast@redhat.com>
This commit is contained in:
committed by
Jan Cholasta
parent
a83523e37e
commit
80e544e7a9
@@ -45,14 +45,11 @@ class BaseTaskNamespace(object):
|
||||
|
||||
raise NotImplementedError()
|
||||
|
||||
def backup_and_replace_hostname(self, fstore, statestore, hostname):
|
||||
def backup_hostname(self, fstore, statestore):
|
||||
"""
|
||||
Backs up the current hostname in the statestore (so that it can be
|
||||
restored by the restore_hostname platform task).
|
||||
|
||||
Makes sure that new hostname (passed via hostname argument) is set
|
||||
as a new pemanent hostname for this host.
|
||||
|
||||
No return value expected.
|
||||
"""
|
||||
|
||||
@@ -109,7 +106,7 @@ class BaseTaskNamespace(object):
|
||||
def restore_hostname(self, fstore, statestore):
|
||||
"""
|
||||
Restores the original hostname as backed up in the
|
||||
backup_and_replace_hostname platform task.
|
||||
backup_hostname platform task.
|
||||
"""
|
||||
|
||||
raise NotImplementedError()
|
||||
|
||||
@@ -332,22 +332,13 @@ class RedHatTaskNamespace(BaseTaskNamespace):
|
||||
|
||||
return result
|
||||
|
||||
def backup_and_replace_hostname(self, fstore, statestore, hostname):
|
||||
old_hostname = socket.gethostname()
|
||||
try:
|
||||
self.set_hostname(hostname)
|
||||
except ipautil.CalledProcessError as e:
|
||||
root_logger.debug(traceback.format_exc())
|
||||
root_logger.error(
|
||||
"Failed to set this machine hostname to %s (%s).",
|
||||
old_hostname, e
|
||||
)
|
||||
|
||||
def backup_hostname(self, fstore, statestore):
|
||||
filepath = paths.ETC_HOSTNAME
|
||||
if os.path.exists(filepath):
|
||||
fstore.backup_file(filepath)
|
||||
|
||||
# store old hostname
|
||||
old_hostname = socket.gethostname()
|
||||
statestore.backup_state('network', 'hostname', old_hostname)
|
||||
|
||||
def restore_hostname(self, fstore, statestore):
|
||||
|
||||
Reference in New Issue
Block a user