Module: Vagrant::Util::GuestInspection::Linux
- Defined in:
- lib/vagrant/util/guest_inspection.rb
Overview
Linux specific inspection helpers
Instance Method Summary collapse
-
#hostnamectl?(comm) ⇒ Boolean
systemd hostname set is via hostnamectl.
-
#netplan?(comm) ⇒ Boolean
netplan is installed.
-
#networkd?(comm) ⇒ Boolean
is networkd isntalled.
-
#nm_controlled?(comm, device_name) ⇒ Boolean
NetworkManager currently controls device.
-
#nmcli?(comm) ⇒ Boolean
nmcli is installed.
-
#systemd?(comm) ⇒ Boolean
systemd is in use.
-
#systemd_controlled?(comm, service_name) ⇒ Boolean
Check if given service is controlled by systemd.
-
#systemd_networkd?(comm) ⇒ Boolean
systemd-networkd.service is in use.
-
#systemd_unit?(comm, name) ⇒ Boolean
Check if a unit is currently active within systemd.
-
#systemd_unit_file?(comm, name) ⇒ Boolean
Check if a unit file with the given name is defined.
Instance Method Details
#hostnamectl?(comm) ⇒ Boolean
systemd hostname set is via hostnamectl
NOTE: This test includes actually calling hostnamectl to verify
that it is in working order. This prevents attempts to use the
hostnamectl command when it is available, but dbus is not which
renders the command useless
62 63 64 |
# File 'lib/vagrant/util/guest_inspection.rb', line 62 def hostnamectl?(comm) comm.test("command -v hostnamectl && hostnamectl") end |
#netplan?(comm) ⇒ Boolean
netplan is installed
72 73 74 |
# File 'lib/vagrant/util/guest_inspection.rb', line 72 def netplan?(comm) comm.test("command -v netplan") end |
#networkd?(comm) ⇒ Boolean
is networkd isntalled
80 81 82 |
# File 'lib/vagrant/util/guest_inspection.rb', line 80 def networkd?(comm) comm.test("command -v networkd") end |
#nm_controlled?(comm, device_name) ⇒ Boolean
NetworkManager currently controls device
99 100 101 102 |
# File 'lib/vagrant/util/guest_inspection.rb', line 99 def nm_controlled?(comm, device_name) comm.test("nmcli -t d show #{device_name}") && !comm.test("nmcli -t d show #{device_name} | grep unmanaged") end |
#nmcli?(comm) ⇒ Boolean
nmcli is installed
90 91 92 |
# File 'lib/vagrant/util/guest_inspection.rb', line 90 def nmcli?(comm) comm.test("command -v nmcli") end |
#systemd?(comm) ⇒ Boolean
systemd is in use
14 15 16 |
# File 'lib/vagrant/util/guest_inspection.rb', line 14 def systemd?(comm) comm.test("ps -o comm= 1 | grep systemd", sudo: true) end |
#systemd_controlled?(comm, service_name) ⇒ Boolean
Check if given service is controlled by systemd
50 51 52 |
# File 'lib/vagrant/util/guest_inspection.rb', line 50 def systemd_controlled?(comm, service_name) comm.test("systemctl -q is-active #{service_name}", sudo: true) end |
#systemd_networkd?(comm) ⇒ Boolean
systemd-networkd.service is in use
22 23 24 |
# File 'lib/vagrant/util/guest_inspection.rb', line 22 def systemd_networkd?(comm) comm.test("systemctl -q is-active systemd-networkd.service", sudo: true) end |
#systemd_unit?(comm, name) ⇒ Boolean
Check if a unit is currently active within systemd
41 42 43 |
# File 'lib/vagrant/util/guest_inspection.rb', line 41 def systemd_unit?(comm, name) comm.test("systemctl -q list-units | grep \"#{name}\"") end |
#systemd_unit_file?(comm, name) ⇒ Boolean
Check if a unit file with the given name is defined. Name can be a pattern or explicit name.
32 33 34 |
# File 'lib/vagrant/util/guest_inspection.rb', line 32 def systemd_unit_file?(comm, name) comm.test("systemctl -q list-unit-files | grep \"#{name}\"") end |