def apply
@applied_status = :failed
@fqdn = get_item( 'cli::network::hostname' ).value
hostname = @fqdn.split('.').first
debug( 'Updating hostname' )
success = execute("hostname #{@fqdn}")
debug( 'Updating /etc/sysconfig/network' )
if (success)
success = success && execute("sed -i '/HOSTNAME/d' /etc/sysconfig/network")
end
if (success)
success = success && execute("echo HOSTNAME=#{@fqdn} >> /etc/sysconfig/network")
end
if success && File.exist?('/etc/hostname')
debug( 'Updating /etc/hostname' )
begin
File.open('/etc/hostname','w'){|fh| fh.puts(@fqdn)}
rescue Errno::EACCES
success = false
end
if success
success = success && execute("hostnamectl --static --pretty set-hostname #{@fqdn}")
end
end
@applied_status = :succeeded if (success)
end