From a5deb20dcb4d5d45b2620d5b54b1a6ef155716c1 Mon Sep 17 00:00:00 2001 From: Bas van der Vlies Date: Thu, 28 Dec 2017 20:31:04 +0100 Subject: [PATCH] ifconfig is replaced by ip command suite. So use "ip addr" and failback to ifconfig --- plugins/guests/linux/cap/read_ip_address.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/guests/linux/cap/read_ip_address.rb b/plugins/guests/linux/cap/read_ip_address.rb index 5fa9fea15..64f4d95dc 100644 --- a/plugins/guests/linux/cap/read_ip_address.rb +++ b/plugins/guests/linux/cap/read_ip_address.rb @@ -3,9 +3,17 @@ module VagrantPlugins module Cap class ReadIPAddress def self.read_ip_address(machine) - command = "LANG=en ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1 }'" + + comm = machine.communicate + + if comm.test("test -f /sbin/ip") + command = "LANG=en ip addr | grep -Po 'inet \\K[\\d.]+' | grep -v 127.0.0.1" + else + command = "LANG=en ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1 }'" + end + result = "" - machine.communicate.sudo(command) do |type, data| + comm.sudo(command) do |type, data| result << data if type == :stdout end