6 Commits

Author SHA1 Message Date
584a33172c Merge pull request '1.0.29' (#16) from testing into main
Reviewed-on: #16
2024-03-02 16:31:36 -05:00
b2300e8ba8 Add vars for replace filter
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-02 16:30:55 -05:00
3cc31ecb40 v1.0.28
Reviewed-on: #15
2024-03-01 17:00:33 -05:00
db75e69d99 Update motd role to no longer require Perl dependancy or script
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-01 16:59:32 -05:00
665560250f Merge pull request '1.0.27' (#14) from testing into main
Reviewed-on: #14
2024-03-01 10:47:12 -05:00
d737b08719 Nix hostname for containers; v1.0.27
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-01 10:46:12 -05:00
6 changed files with 24 additions and 40 deletions

View File

@ -8,7 +8,7 @@ namespace: jchristianh
name: baseos name: baseos
# The version of the collection. Must be compatible with semantic versioning # The version of the collection. Must be compatible with semantic versioning
version: 1.0.26 version: 1.0.29
# The path to the Markdown (.md) readme file. This path is relative to the root of the collection # The path to the Markdown (.md) readme file. This path is relative to the root of the collection
readme: README.md readme: README.md

View File

@ -1,6 +1,8 @@
--- ---
- name: Use hostname module to set hostname, or failback to command module - name: Use hostname module to set hostname, or failback to command module
when:
- not ansible_virtualization_type | regex_search("docker|podman|container")
block: block:
- name: Set hostname for host using hostname module - name: Set hostname for host using hostname module
ansible.builtin.hostname: ansible.builtin.hostname:

View File

@ -1,5 +1,13 @@
--- ---
motd_motd_file: /etc/motd motd_motd_file: /etc/motd
motd_host_ip : "{{ ansible_default_ipv4.address | default('127.0.0.1') }}"
motd_host_uptime : "{{ now().replace(microsecond=0) - now().fromtimestamp(now(fmt='%s') | int - ansible_uptime_seconds) }}"
motd_day_filter : "(.* day[s]?),\\s+(\\d+):(\\d+):(\\d+)"
motd_nonday_filter : "(\\d+):(\\d+):(\\d+)"
motd_day_filter_repl : "\\1 \\2 hours \\3 minutes"
motd_nonday_filter_repl : "\\1 hours \\2 minutes \\3 seconds"
... ...

View File

@ -1,21 +0,0 @@
#!/usr/bin/perl
use strict;
my $seconds = shift;
my $string = sprintf "%02d::%02d::%02d::%02d", (gmtime($seconds))[7,2,1,0];
# days [0] :: hours [1] :: mins [2] :: seconds [3]
my @ups = split(/::/, $string);
my $return_uptime = "";
my $i = 0;
for (@ups) { $ups[$i] =~ s/^0//g; $i++; }
$return_uptime .= "$ups[0] days " if $ups[0] != 0;
$return_uptime .= "$ups[1] hours " if $ups[1] != 0;
$return_uptime .= "$ups[2] minutes " if $ups[2] != 0;
# $return_uptime .= "$ups[3] seconds" if $ups[3] != 0;
print "$return_uptime\n";

View File

@ -1,20 +1,16 @@
--- ---
- name: Set host IP address or set a default - name: Format uptime containing days
ansible.builtin.set_fact: ansible.builtin.set_fact:
host_ip : "{{ ansible_default_ipv4.address | default('127.0.0.1') }}" uptime_formatted: "{{ motd_host_uptime | regex_replace(motd_day_filter, motd_day_filter_repl) }}"
when:
- "'day' in motd_host_uptime"
- name: Install Perl if needed - name: Format uptime not containing days
ansible.builtin.package: ansible.builtin.set_fact:
name : perl uptime_formatted: "{{ motd_host_uptime | regex_replace(motd_nonday_filter, motd_nonday_filter_repl) }}"
state : present when:
- "'day' not in motd_host_uptime"
- name: Get system uptime from script
ansible.builtin.script:
cmd : "scripts/get_uptime.pl {{ ansible_uptime_seconds }}"
register : node_uptime
changed_when : false
- name: Update MOTD - name: Update MOTD
@ -26,4 +22,3 @@
... ...

View File

@ -14,11 +14,11 @@
|___/ |___/
Host : {{ ansible_fqdn }} Host : {{ inventory_hostname }}
IP : {{ host_ip }} IP : {{ motd_host_ip }}
CPU : {{ ansible_processor_vcpus }} x {{ ansible_processor[2] }} CPU : {{ ansible_processor_vcpus }} x {{ ansible_processor[2] }}
Memory : {{ "{0:0.2f}".format(ansible_memfree_mb/1024) }} GB free of {{ (ansible_memtotal_mb/1024)|round}} GB Memory : {{ "{0:0.2f}".format(ansible_memfree_mb/1024) }} GB free of {{ (ansible_memtotal_mb/1024)|round}} GB
Platform : {{ ansible_distribution }} {{ ansible_distribution_version }} {{ ansible_kernel }} Platform : {{ ansible_distribution }} {{ ansible_distribution_version }} {{ ansible_kernel }}
Up : {{ node_uptime.stdout }} Up : {{ uptime_formatted }}