Centos 6.x and below use an old RHT style of configuring hostname.
CentOS 7.x and better use systemd. Instead of depending on the
distribution string which seems to have changed over the course of 6.x
we need to explicitly check the version.
Fixes#8997
We wrap get_distribution_version() with a new function,
_get_distribution_version(), that returns `0` when the result is a string or
`None`.
This accounts for the case when get_distribution_version() returns a string,
and we try to compare it to a float. We do this in the hostname module instead
of the module snippets because other modules may want the real string
version.module snippets because other modules may want the real string version.
This fixes a bug introduced by 138b45e3.
The hostname has an additional newline at the end which leads to the
state always being 'changed: true' even if the hostname is unchanged.
There's no need to filter hostnamectl's output with awk because its man
page says:
hostnamectl [OPTIONS...] {COMMAND}
--static, --transient, --pretty
If status is used (or no explicit command is given) and one
of those fields is given, hostnamectl will print out just
this selected hostname.
E.g. hostnamectl --static status => ansible.example.org