#12 Update to Vagrant 2.1.5.
Merged 5 years ago by pvalena. Opened 5 years ago by pvalena.
rpms/ pvalena/vagrant rebase  into  master

file modified
+2 -2
@@ -1,2 +1,2 @@ 

- SHA512 (vagrant-2.1.2.tar.gz) = d9a2612697842885d23d1a9a452ef9d8b03defa4e6f7a808725ac7c3a87300affcfdd89ee3a42334259601e19f1e56bfd86a5aa7b404eac26bc22dcfd4a57751

- SHA512 (vagrant-spec-9413ab298407114528766efefd1fb1ff24589636.tar.gz) = 4dc502e75bb8795953c8c338892346431bbd3120239fa7a25175becf148c999293c264a6bb24c52c2821071303e2b20a8353b197370d595cf2e6bc00569cb631

+ SHA512 (vagrant-2.1.5.tar.gz) = 544216eb25c06a1ebddbadcc9d2d6a6dd9932e33d2554e3d51dba0e24a339b9afe0b85d1322bdb67c5de3d070aa4c854f1ccc931b23ea80f0625eb4d1f120238

+ SHA512 (vagrant-spec-94a9d31ba18b4130b14da12a2f7b4001c3d2ff12.tar.gz) = b95eefa52c21e1020f3f889fc5a72476a3ffb76f780b0254af85bbbc55465c05081f7c18303caa67843bc959326cbf253b57609faa8187fd89188a2488bfe922

@@ -1,42 +0,0 @@ 

- From f0b9d025e481eaf03db9a92ed51f3fe07541fa76 Mon Sep 17 00:00:00 2001

- From: langdon <langdon@fedoraproject.org>

- Date: Thu, 14 Jun 2018 15:48:13 -0400

- Subject: [PATCH] Fixes the change in packaging for nfs in f28 (#9878).

-  However, removed part of the unit test which will be very difficult to fix (I

-  expect). The unit test is still doing a good test that nfs and rpcbind work

-  though. If you go far enough back, you need to bury the error out too.

- 

- ---

-  plugins/guests/redhat/cap/nfs_client.rb                | 6 +++++-

-  test/unit/plugins/guests/redhat/cap/nfs_client_test.rb | 1 -

-  2 files changed, 5 insertions(+), 2 deletions(-)

- 

- diff --git a/plugins/guests/redhat/cap/nfs_client.rb b/plugins/guests/redhat/cap/nfs_client.rb

- index b1eb4c6e4b..f28a043464 100644

- --- a/plugins/guests/redhat/cap/nfs_client.rb

- +++ b/plugins/guests/redhat/cap/nfs_client.rb

- @@ -5,7 +5,11 @@ class NFSClient

-          def self.nfs_client_install(machine)

-            machine.communicate.sudo <<-EOH.gsub(/^ {12}/, '')

-              if command -v dnf; then

- -              dnf -y install nfs-utils nfs-utils-lib portmap

- +              if `dnf info -q libnfs-utils > /dev/null 2>&1` ; then 

- +                dnf -y install nfs-utils libnfs-utils portmap

- +              else

- +                dnf -y install nfs-utils nfs-utils-lib portmap

- +              fi

-              else

-                yum -y install nfs-utils nfs-utils-lib portmap

-              fi

- diff --git a/test/unit/plugins/guests/redhat/cap/nfs_client_test.rb b/test/unit/plugins/guests/redhat/cap/nfs_client_test.rb

- index a86136e19a..38a9efa69e 100644

- --- a/test/unit/plugins/guests/redhat/cap/nfs_client_test.rb

- +++ b/test/unit/plugins/guests/redhat/cap/nfs_client_test.rb

- @@ -23,7 +23,6 @@

-  

-      it "installs rsync" do

-        cap.nfs_client_install(machine)

- -      expect(comm.received_commands[0]).to match(/install nfs-utils nfs-utils-lib portmap/)

-        expect(comm.received_commands[0]).to match(/\/bin\/systemctl restart rpcbind nfs/)

-      end

-    end

vagrant-2.1.5-fix-dependencies.patch vagrant-2.1.2-fix-dependencies.patch
file renamed
+1 -1
@@ -28,7 +28,7 @@ 

     s.add_dependency "listen", "~> 3.1.5"

     s.add_dependency "hashicorp-checkpoint", "~> 0.1.5"

     s.add_dependency "log4r", "~> 1.1.9", "< 1.1.11"

-    s.add_dependency "net-ssh", "~> 4.2.0"

+    s.add_dependency "net-ssh", "~> 5.0.0"

     s.add_dependency "net-sftp", "~> 2.1"

  -  s.add_dependency "net-scp", "~> 1.2.0"

  -  s.add_dependency "rb-kqueue", "~> 0.2.0"

@@ -0,0 +1,552 @@ 

+ From 80006251f422a8d534ff9bafa0e0c45d9c98143c Mon Sep 17 00:00:00 2001

+ From: Joe Doss <jdoss@kennasecurity.com>

+ Date: Mon, 17 Sep 2018 13:30:55 -0500

+ Subject: [PATCH 01/10] Add in logic to restart NetworkManager if it is

+  enabled.

+ 

+ ---

+  plugins/guests/redhat/cap/change_host_name.rb | 8 +++++++-

+  1 file changed, 7 insertions(+), 1 deletion(-)

+ 

+ diff --git a/plugins/guests/redhat/cap/change_host_name.rb b/plugins/guests/redhat/cap/change_host_name.rb

+ index 55fcdc4b48..8f32650035 100644

+ --- a/plugins/guests/redhat/cap/change_host_name.rb

+ +++ b/plugins/guests/redhat/cap/change_host_name.rb

+ @@ -29,7 +29,13 @@ def self.change_host_name(machine, name)

+                }

+  

+                # Restart network

+ -              service network restart

+ +              if (test -f /etc/init.d/network && /etc/init.d/network status &> /dev/null ); then

+ +                service network restart

+ +              elif (test -f /usr/lib/systemd/system/NetworkManager.service && systemctl is-enabled NetworkManager.service &> /dev/null ); then

+ +                systemctl restart NetworkManager.service

+ +              else

+ +                printf "Could not restart the network to set the new hostname!\n"

+ +              fi

+              EOH

+            end

+          end

+ 

+ From 94954739b53ee4c6741a35c366c2fe5c9853e0ed Mon Sep 17 00:00:00 2001

+ From: Joe Doss <jdoss@kennasecurity.com>

+ Date: Mon, 17 Sep 2018 14:30:57 -0500

+ Subject: [PATCH 02/10] Simplified if statements.

+ 

+ ---

+  plugins/guests/redhat/cap/change_host_name.rb | 4 ++--

+  1 file changed, 2 insertions(+), 2 deletions(-)

+ 

+ diff --git a/plugins/guests/redhat/cap/change_host_name.rb b/plugins/guests/redhat/cap/change_host_name.rb

+ index 8f32650035..e9c0b1d80e 100644

+ --- a/plugins/guests/redhat/cap/change_host_name.rb

+ +++ b/plugins/guests/redhat/cap/change_host_name.rb

+ @@ -29,9 +29,9 @@ def self.change_host_name(machine, name)

+                }

+  

+                # Restart network

+ -              if (test -f /etc/init.d/network && /etc/init.d/network status &> /dev/null ); then

+ +              if test -f /etc/init.d/network; then

+                  service network restart

+ -              elif (test -f /usr/lib/systemd/system/NetworkManager.service && systemctl is-enabled NetworkManager.service &> /dev/null ); then

+ +              elif systemctl -q is-enabled NetworkManager.service; then

+                  systemctl restart NetworkManager.service

+                else

+                  printf "Could not restart the network to set the new hostname!\n"

+ 

+ From c14a4a09f723230682c5ef5f9dc53662e2968b92 Mon Sep 17 00:00:00 2001

+ From: Joe Doss <jdoss@kennasecurity.com>

+ Date: Mon, 17 Sep 2018 14:56:06 -0500

+ Subject: [PATCH 03/10] Switch if statements, check for systemctl, and switch

+  to is-active.

+ 

+ ---

+  plugins/guests/redhat/cap/change_host_name.rb | 6 +++---

+  1 file changed, 3 insertions(+), 3 deletions(-)

+ 

+ diff --git a/plugins/guests/redhat/cap/change_host_name.rb b/plugins/guests/redhat/cap/change_host_name.rb

+ index e9c0b1d80e..70bd496943 100644

+ --- a/plugins/guests/redhat/cap/change_host_name.rb

+ +++ b/plugins/guests/redhat/cap/change_host_name.rb

+ @@ -29,10 +29,10 @@ def self.change_host_name(machine, name)

+                }

+  

+                # Restart network

+ -              if test -f /etc/init.d/network; then

+ -                service network restart

+ -              elif systemctl -q is-enabled NetworkManager.service; then

+ +              if (test -f /usr/bin/systemctl && systemctl -q is-active NetworkManager.service); then

+                  systemctl restart NetworkManager.service

+ +              elif test -f /etc/init.d/network; then

+ +                service network restart

+                else

+                  printf "Could not restart the network to set the new hostname!\n"

+                fi

+ 

+ From 19aa9578c797c99a8632955a703490d5e6b50a26 Mon Sep 17 00:00:00 2001

+ From: Joe Doss <jdoss@kennasecurity.com>

+ Date: Tue, 18 Sep 2018 13:15:26 -0500

+ Subject: [PATCH 04/10] Exit 1 if we cannot set the hostname.

+ 

+ ---

+  plugins/guests/redhat/cap/change_host_name.rb | 1 +

+  1 file changed, 1 insertion(+)

+ 

+ diff --git a/plugins/guests/redhat/cap/change_host_name.rb b/plugins/guests/redhat/cap/change_host_name.rb

+ index 70bd496943..ae02460156 100644

+ --- a/plugins/guests/redhat/cap/change_host_name.rb

+ +++ b/plugins/guests/redhat/cap/change_host_name.rb

+ @@ -35,6 +35,7 @@ def self.change_host_name(machine, name)

+                  service network restart

+                else

+                  printf "Could not restart the network to set the new hostname!\n"

+ +                exit 1

+                fi

+              EOH

+            end

+ 

+ From 86ab4533b180009ed476026374110fc0bd79f522 Mon Sep 17 00:00:00 2001

+ From: Joe Doss <jdoss@kennasecurity.com>

+ Date: Tue, 18 Sep 2018 13:16:12 -0500

+ Subject: [PATCH 05/10] Fix the test to check for systemctl restart

+  NetworkManager.service too.

+ 

+ ---

+  test/unit/plugins/guests/redhat/cap/change_host_name_test.rb | 2 +-

+  1 file changed, 1 insertion(+), 1 deletion(-)

+ 

+ diff --git a/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb b/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb

+ index 7662935458..10f43a3593 100644

+ --- a/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb

+ +++ b/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb

+ @@ -31,7 +31,7 @@

+        expect(comm.received_commands[1]).to match(/\/etc\/sysconfig\/network-scripts\/ifcfg/)

+        expect(comm.received_commands[1]).to match(/hostnamectl set-hostname --static '#{name}'/)

+        expect(comm.received_commands[1]).to match(/hostnamectl set-hostname --transient '#{name}'/)

+ -      expect(comm.received_commands[1]).to match(/service network restart/)

+ +      expect(comm.received_commands[1]).to match(/service network restart|systemctl restart NetworkManager.service/)

+      end

+  

+      it "does not change the hostname if already set" do

+ 

+ From a12b09b098ea87eec815e166d0e1395f6f47f937 Mon Sep 17 00:00:00 2001

+ From: shotop <samuel.j.hotop@gmail.com>

+ Date: Thu, 20 Sep 2018 14:21:40 -0500

+ Subject: [PATCH 06/10] add specs around network restart logic

+ 

+ ---

+  .../redhat/cap/change_host_name_test.rb       | 27 +++++++++++++++++++

+  1 file changed, 27 insertions(+)

+ 

+ diff --git a/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb b/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb

+ index 10f43a3593..b85802e947 100644

+ --- a/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb

+ +++ b/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb

+ @@ -39,5 +39,32 @@

+        cap.change_host_name(machine, name)

+        expect(comm.received_commands.size).to eq(1)

+      end

+ +

+ +    context "restarts the network" do

+ +      it "uses systemctl and NetworkManager.service" do

+ +        comm.stub_command("hostname -f | grep '^#{name}$'", exit_code: 1)

+ +        comm.stub_command("test -f /usr/bin/systemctl && systemctl -q is-active NetworkManager.service", exit_code: 0)

+ +        cap.change_host_name(machine, name)

+ +        expect(comm.received_commands[1]).to match(/systemctl restart NetworkManager.service/)

+ +      end

+ +

+ +      it "uses the service command" do

+ +        comm.stub_command("hostname -f | grep '^#{name}$'", exit_code: 1)

+ +        comm.stub_command("test -f /usr/bin/systemctl && systemctl -q is-active NetworkManager.service", exit_code: 1)

+ +        comm.stub_command("test -f /etc/init.d/network", exit_code: 0)

+ +        cap.change_host_name(machine, name)

+ +        expect(comm.received_commands[1]).to match(/service network restart/)

+ +      end

+ +    end

+ +

+ +    context "cannot restart the network" do

+ +      it "prints cannot restart message" do

+ +        comm.stub_command("hostname -f | grep '^#{name}$'", exit_code: 1)

+ +        comm.stub_command("test -f /usr/bin/systemctl && systemctl -q is-active NetworkManager.service", exit_code: 1)

+ +        comm.stub_command("test -f /etc/init.d/network", exit_code: 1)

+ +        cap.change_host_name(machine, name)

+ +        expect(comm.received_commands[1]).to match(/printf "Could not restart the network to set the new hostname!/)

+ +      end

+ +    end

+    end

+  end

+ 

+ From fb5fc0e657a10ee1eaf046980827cc1802c4d0f9 Mon Sep 17 00:00:00 2001

+ From: Chris Roberts <croberts@hashicorp.com>

+ Date: Thu, 20 Sep 2018 16:42:39 -0700

+ Subject: [PATCH 07/10] Update guest inspection utility module

+ 

+ Use sudo option for communicator test command instead of inline sudo

+ to properly use configured sudo value. Use command for checking

+ availability of hostnamectl. Use is-active for determining if a

+ service is being actively managed by systemd.

+ ---

+  lib/vagrant/util/guest_inspection.rb | 21 +++++++++++++++++----

+  1 file changed, 17 insertions(+), 4 deletions(-)

+ 

+ diff --git a/lib/vagrant/util/guest_inspection.rb b/lib/vagrant/util/guest_inspection.rb

+ index 86ab1dc69e..5a1902d8da 100644

+ --- a/lib/vagrant/util/guest_inspection.rb

+ +++ b/lib/vagrant/util/guest_inspection.rb

+ @@ -12,27 +12,39 @@ module Linux

+          #

+          # @return [Boolean]

+          def systemd?(comm)

+ -          comm.test("sudo ps -o comm= 1 | grep systemd")

+ +          comm.test("ps -o comm= 1 | grep systemd")

+          end

+  

+          # systemd-networkd.service is in use

+          #

+ +        # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator

+          # @return [Boolean]

+          def systemd_networkd?(comm)

+ -          comm.test("sudo systemctl status systemd-networkd.service")

+ +          comm.test("systemctl -q is-active systemd-networkd.service", sudo: true)

+ +        end

+ +

+ +        # Check if given service is controlled by systemd

+ +        #

+ +        # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator

+ +        # @param [String] service_name Name of the service to check

+ +        # @return [Boolean]

+ +        def systemd_controlled?(comm, service_name)

+ +          comm.test("systemctl -q is-active #{service_name}", sudo: true)

+          end

+  

+          # systemd hostname set is via hostnamectl

+          #

+ +        # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator

+          # @return [Boolean]

+          def hostnamectl?(comm)

+ -          comm.test("hostnamectl")

+ +          comm.test("command -v hostnamectl")

+          end

+  

+          ## netplan helpers

+  

+          # netplan is installed

+          #

+ +        # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator

+          # @return [Boolean]

+          def netplan?(comm)

+            comm.test("netplan -h")

+ @@ -42,6 +54,7 @@ def netplan?(comm)

+  

+          # nmcli is installed

+          #

+ +        # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator

+          # @return [Boolean]

+          def nmcli?(comm)

+            comm.test("nmcli -t")

+ @@ -49,7 +62,7 @@ def nmcli?(comm)

+  

+          # NetworkManager currently controls device

+          #

+ -        # @param comm [Communicator]

+ +        # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator

+          # @param device_name [String]

+          # @return [Boolean]

+          def nm_controlled?(comm, device_name)

+ 

+ From ff021fcab404c95e52566bfca4207da9c0101e01 Mon Sep 17 00:00:00 2001

+ From: Chris Roberts <croberts@hashicorp.com>

+ Date: Thu, 20 Sep 2018 16:44:08 -0700

+ Subject: [PATCH 08/10] Update redhat change host name capability to support

+  systemd

+ 

+ Update capability to use guest inspection module for determining

+ correct actions to execute. When systemd is in use restart the

+ correct active service, either NetworkManager or networkd. Default

+ to using the original service restart when systemd service is not

+ found.

+ ---

+  plugins/guests/redhat/cap/change_host_name.rb | 41 ++++++++++---------

+  1 file changed, 21 insertions(+), 20 deletions(-)

+ 

+ diff --git a/plugins/guests/redhat/cap/change_host_name.rb b/plugins/guests/redhat/cap/change_host_name.rb

+ index ae02460156..5da660df05 100644

+ --- a/plugins/guests/redhat/cap/change_host_name.rb

+ +++ b/plugins/guests/redhat/cap/change_host_name.rb

+ @@ -2,6 +2,9 @@ module VagrantPlugins

+    module GuestRedHat

+      module Cap

+        class ChangeHostName

+ +

+ +        extend Vagrant::Util::GuestInspection

+ +

+          def self.change_host_name(machine, name)

+            comm = machine.communicate

+  

+ @@ -10,34 +13,32 @@ def self.change_host_name(machine, name)

+              comm.sudo <<-EOH.gsub(/^ {14}/, '')

+                # Update sysconfig

+                sed -i 's/\\(HOSTNAME=\\).*/\\1#{name}/' /etc/sysconfig/network

+ -

+                # Update DNS

+                sed -i 's/\\(DHCP_HOSTNAME=\\).*/\\1\"#{basename}\"/' /etc/sysconfig/network-scripts/ifcfg-*

+ -

+                # Set the hostname - use hostnamectl if available

+                echo '#{name}' > /etc/hostname

+ -              if command -v hostnamectl; then

+ -                hostnamectl set-hostname --static '#{name}'

+ -                hostnamectl set-hostname --transient '#{name}'

+ -              else

+ -                hostname -F /etc/hostname

+ -              fi

+ -

+ -              # Prepend ourselves to /etc/hosts

+                grep -w '#{name}' /etc/hosts || {

+                  sed -i'' '1i 127.0.0.1\\t#{name}\\t#{basename}' /etc/hosts

+                }

+ -

+ -              # Restart network

+ -              if (test -f /usr/bin/systemctl && systemctl -q is-active NetworkManager.service); then

+ -                systemctl restart NetworkManager.service

+ -              elif test -f /etc/init.d/network; then

+ -                service network restart

+ -              else

+ -                printf "Could not restart the network to set the new hostname!\n"

+ -                exit 1

+ -              fi

+              EOH

+ +

+ +            if hostnamectl?(comm)

+ +              comm.sudo("hostnamectl set-hostname --static '#{name}' ; " \

+ +                "hostnamectl set-hostname --transient '#{name}'")

+ +            else

+ +              comm.sudo("hostname -F /etc/hostname")

+ +            end

+ +

+ +            restart_command = "service network restart"

+ +

+ +            if systemd?

+ +              if systemd_networkd?(comm)

+ +                restart_command = "systemctl restart systemd-networkd.service"

+ +              elsif systemd_controlled?(comm, "NetworkManager.service")

+ +                restart_command = "systemctl restart NetworkManager.service"

+ +              end

+ +            end

+ +            comm.sudo(restart_command)

+            end

+          end

+        end

+ 

+ From bc217d5e577457df5ac4ecdfffa17fd0a8c85b18 Mon Sep 17 00:00:00 2001

+ From: Chris Roberts <croberts@hashicorp.com>

+ Date: Thu, 20 Sep 2018 16:46:45 -0700

+ Subject: [PATCH 09/10] Update redhat change host name capability tests for

+  systemd/NetworkManger updates

+ 

+ ---

+  .../redhat/cap/change_host_name_test.rb       | 95 +++++++++++++------

+  1 file changed, 68 insertions(+), 27 deletions(-)

+ 

+ diff --git a/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb b/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb

+ index b85802e947..8d0c9ebd4b 100644

+ --- a/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb

+ +++ b/test/unit/plugins/guests/redhat/cap/change_host_name_test.rb

+ @@ -20,50 +20,91 @@

+  

+    describe ".change_host_name" do

+      let(:cap) { caps.get(:change_host_name) }

+ -

+      let(:name) { "banana-rama.example.com" }

+ +    let(:hostname_changed) { true }

+ +    let(:systemd) { true }

+ +    let(:hostnamectl) { true }

+ +    let(:networkd) { true }

+ +    let(:network_manager) { false }

+  

+ -    it "sets the hostname" do

+ -      comm.stub_command("hostname -f | grep '^#{name}$'", exit_code: 1)

+ +    before do

+ +      comm.stub_command("hostname -f | grep '^#{name}$'", exit_code: hostname_changed ? 1 : 0)

+ +      allow(cap).to receive(:systemd?).and_return(systemd)

+ +      allow(cap).to receive(:hostnamectl?).and_return(hostnamectl)

+ +      allow(cap).to receive(:systemd_networkd?).and_return(networkd)

+ +      allow(cap).to receive(:systemd_controlled?).with(anything, /NetworkManager/).and_return(network_manager)

+ +    end

+  

+ +    it "sets the hostname" do

+        cap.change_host_name(machine, name)

+        expect(comm.received_commands[1]).to match(/\/etc\/sysconfig\/network/)

+        expect(comm.received_commands[1]).to match(/\/etc\/sysconfig\/network-scripts\/ifcfg/)

+ -      expect(comm.received_commands[1]).to match(/hostnamectl set-hostname --static '#{name}'/)

+ -      expect(comm.received_commands[1]).to match(/hostnamectl set-hostname --transient '#{name}'/)

+ -      expect(comm.received_commands[1]).to match(/service network restart|systemctl restart NetworkManager.service/)

+      end

+  

+ -    it "does not change the hostname if already set" do

+ -      comm.stub_command("hostname -f | grep '^#{name}$'", exit_code: 0)

+ -      cap.change_host_name(machine, name)

+ -      expect(comm.received_commands.size).to eq(1)

+ -    end

+ +    context "when hostnamectl is in use" do

+ +      let(:hostnamectl) { true }

+  

+ -    context "restarts the network" do

+ -      it "uses systemctl and NetworkManager.service" do

+ -        comm.stub_command("hostname -f | grep '^#{name}$'", exit_code: 1)

+ -        comm.stub_command("test -f /usr/bin/systemctl && systemctl -q is-active NetworkManager.service", exit_code: 0)

+ +      it "sets hostname with hostnamectl" do

+          cap.change_host_name(machine, name)

+ -        expect(comm.received_commands[1]).to match(/systemctl restart NetworkManager.service/)

+ +        expect(comm.received_commands[2]).to match(/hostnamectl/)

+        end

+ +    end

+ +

+ +    context "when hostnamectl is not in use" do

+ +      let(:hostnamectl) { false }

+  

+ -      it "uses the service command" do

+ -        comm.stub_command("hostname -f | grep '^#{name}$'", exit_code: 1)

+ -        comm.stub_command("test -f /usr/bin/systemctl && systemctl -q is-active NetworkManager.service", exit_code: 1)

+ -        comm.stub_command("test -f /etc/init.d/network", exit_code: 0)

+ +      it "sets hostname with hostname command" do

+          cap.change_host_name(machine, name)

+ -        expect(comm.received_commands[1]).to match(/service network restart/)

+ +        expect(comm.received_commands[2]).to match(/hostname -F/)

+        end

+      end

+  

+ -    context "cannot restart the network" do

+ -      it "prints cannot restart message" do

+ -        comm.stub_command("hostname -f | grep '^#{name}$'", exit_code: 1)

+ -        comm.stub_command("test -f /usr/bin/systemctl && systemctl -q is-active NetworkManager.service", exit_code: 1)

+ -        comm.stub_command("test -f /etc/init.d/network", exit_code: 1)

+ +    context "when host name is already set" do

+ +      let(:hostname_changed) { false }

+ +

+ +      it "does not change the hostname" do

+          cap.change_host_name(machine, name)

+ -        expect(comm.received_commands[1]).to match(/printf "Could not restart the network to set the new hostname!/)

+ +        expect(comm.received_commands.size).to eq(1)

+ +      end

+ +    end

+ +

+ +    context "restarts the network" do

+ +      context "when networkd is in use" do

+ +        let(:networkd) { true }

+ +

+ +        it "restarts networkd with systemctl" do

+ +          cap.change_host_name(machine, name)

+ +          expect(comm.received_commands[3]).to match(/systemctl restart systemd-networkd/)

+ +        end

+ +      end

+ +

+ +      context "when NetworkManager is in use" do

+ +        let(:networkd) { false }

+ +        let(:network_manager) { true }

+ +

+ +        it "restarts NetworkManager with systemctl" do

+ +          cap.change_host_name(machine, name)

+ +          expect(comm.received_commands[3]).to match(/systemctl restart NetworkManager/)

+ +        end

+ +      end

+ +

+ +      context "when networkd and NetworkManager are not in use" do

+ +        let(:networkd) { false }

+ +        let(:network_manager) { false }

+ +

+ +        it "restarts the network using service" do

+ +          cap.change_host_name(machine, name)

+ +          expect(comm.received_commands[3]).to match(/service network restart/)

+ +        end

+ +      end

+ +

+ +      context "when systemd is not in use" do

+ +        let(:systemd) { false }

+ +

+ +        it "restarts the network using service" do

+ +          cap.change_host_name(machine, name)

+ +          expect(comm.received_commands[3]).to match(/service network restart/)

+ +        end

+        end

+      end

+    end

+ 

+ From 8fd05fe3c1b773777f08ca50dd651cbaf33838d3 Mon Sep 17 00:00:00 2001

+ From: Chris Roberts <croberts@hashicorp.com>

+ Date: Fri, 21 Sep 2018 09:19:40 -0700

+ Subject: [PATCH 10/10] Use `command -v` for checks in all inspection helpers.

+  Fix stubs in tests.

+ 

+ ---

+  lib/vagrant/util/guest_inspection.rb               |  4 ++--

+  .../guests/debian/cap/configure_networks_test.rb   | 14 +++++++-------

+  2 files changed, 9 insertions(+), 9 deletions(-)

+ 

+ diff --git a/lib/vagrant/util/guest_inspection.rb b/lib/vagrant/util/guest_inspection.rb

+ index 5a1902d8da..cd0a96d3ef 100644

+ --- a/lib/vagrant/util/guest_inspection.rb

+ +++ b/lib/vagrant/util/guest_inspection.rb

+ @@ -47,7 +47,7 @@ def hostnamectl?(comm)

+          # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator

+          # @return [Boolean]

+          def netplan?(comm)

+ -          comm.test("netplan -h")

+ +          comm.test("command -v netplan")

+          end

+  

+          ## nmcli helpers

+ @@ -57,7 +57,7 @@ def netplan?(comm)

+          # @param [Vagrant::Plugin::V2::Communicator] comm Guest communicator

+          # @return [Boolean]

+          def nmcli?(comm)

+ -          comm.test("nmcli -t")

+ +          comm.test("command -v nmcli")

+          end

+  

+          # NetworkManager currently controls device

+ diff --git a/test/unit/plugins/guests/debian/cap/configure_networks_test.rb b/test/unit/plugins/guests/debian/cap/configure_networks_test.rb

+ index b4691d0fd4..d3a523c95b 100644

+ --- a/test/unit/plugins/guests/debian/cap/configure_networks_test.rb

+ +++ b/test/unit/plugins/guests/debian/cap/configure_networks_test.rb

+ @@ -67,9 +67,9 @@

+      before do

+        allow(comm).to receive(:test).with("nmcli -t d show eth1").and_return(false)

+        allow(comm).to receive(:test).with("nmcli -t d show eth2").and_return(false)

+ -      allow(comm).to receive(:test).with("sudo ps -o comm= 1 | grep systemd").and_return(false)

+ -      allow(comm).to receive(:test).with("sudo systemctl status systemd-networkd.service").and_return(false)

+ -      allow(comm).to receive(:test).with("netplan -h").and_return(false)

+ +      allow(comm).to receive(:test).with("ps -o comm= 1 | grep systemd").and_return(false)

+ +      allow(comm).to receive(:test).with("systemctl -q is-active systemd-networkd.service", anything).and_return(false)

+ +      allow(comm).to receive(:test).with("command -v netplan").and_return(false)

+      end

+  

+      it "creates and starts the networks using net-tools" do

+ @@ -85,8 +85,8 @@

+  

+      context "with systemd" do

+        before do

+ -        expect(comm).to receive(:test).with("sudo ps -o comm= 1 | grep systemd").and_return(true)

+ -        allow(comm).to receive(:test).with("netplan -h").and_return(false)

+ +        expect(comm).to receive(:test).with("ps -o comm= 1 | grep systemd").and_return(true)

+ +        allow(comm).to receive(:test).with("command -v netplan").and_return(false)

+        end

+  

+        it "creates and starts the networks using net-tools" do

+ @@ -102,7 +102,7 @@

+  

+        context "with systemd-networkd" do

+          before do

+ -          expect(comm).to receive(:test).with("sudo systemctl status systemd-networkd.service").and_return(true)

+ +          expect(comm).to receive(:test).with("systemctl -q is-active systemd-networkd.service", anything).and_return(true)

+          end

+  

+          it "creates and starts the networks using systemd-networkd" do

+ @@ -117,7 +117,7 @@

+  

+        context "with netplan" do

+          before do

+ -          expect(comm).to receive(:test).with("netplan -h").and_return(true)

+ +          expect(comm).to receive(:test).with("command -v netplan").and_return(true)

+          end

+  

+          let(:nm_yml) { "---\nnetwork:\n  version: 2\n  renderer: NetworkManager\n  ethernets:\n    eth1:\n      dhcp4: true\n    eth2:\n      addresses:\n      - 33.33.33.10/16\n      gateway4: 33.33.0.1\n" }

file modified
+13 -8
@@ -1,10 +1,10 @@ 

  %global bashcompletion_dir %(pkg-config --variable=completionsdir bash-completion 2> /dev/null || :)

  

- %global vagrant_spec_commit 9413ab298407114528766efefd1fb1ff24589636

+ %global vagrant_spec_commit 94a9d31ba18b4130b14da12a2f7b4001c3d2ff12

  

  Name: vagrant

- Version: 2.1.2

- Release: 2%{?dist}

+ Version: 2.1.5

+ Release: 1%{?dist}

  Summary: Build and distribute virtualized development environments

  Group: Development/Languages

  License: MIT
@@ -14,7 +14,7 @@ 

  Source1: binstub

  # The library has no official release yet. But since it is just test

  # dependency, it should be fine to include the source right here.

- # wget https://github.com/mitchellh/vagrant-spec/archive/9413ab298407114528766efefd1fb1ff24589636/vagrant-spec-9413ab298407114528766efefd1fb1ff24589636.tar.gz

+ # wget https://github.com/mitchellh/vagrant-spec/archive/94a9d31ba18b4130b14da12a2f7b4001c3d2ff12/vagrant-spec-94a9d31ba18b4130b14da12a2f7b4001c3d2ff12.tar.gz

  Source2: https://github.com/mitchellh/%{name}-spec/archive/%{vagrant_spec_commit}/%{name}-spec-%{vagrant_spec_commit}.tar.gz

  # Monkey-patching needed for Vagrant to work until the respective patches

  # for RubyGems and Bundler are in place
@@ -24,11 +24,12 @@ 

  # fails on older Fedoras.

  %{?load:%{SOURCE4}}

  

- Patch0: vagrant-2.1.2-fix-dependencies.patch

+ Patch0: vagrant-2.1.5-fix-dependencies.patch

  

- # Handle rename of nfs-utils-lib to libnfs-utils in F28

- # https://github.com/hashicorp/vagrant/pull/9935/commits/f0b9d025e481eaf03db9a92ed51f3fe07541fa76

- Patch1: vagrant-2.1.3-Fix-change-in-packaging-for-nfs-in-Fedora.patch

+ # Update restart logic in redhat change_host_name cap

+ # https://bugzilla.redhat.com/show_bug.cgi?id=1624068

+ # https://github.com/hashicorp/vagrant/pull/10223

+ Patch1: vagrant-2.1.6-update-restart-logic-in-redhat.patch

  

  Requires: ruby(release)

  Requires: ruby(rubygems) >= 1.3.6
@@ -320,6 +321,10 @@ 

  

  

  %changelog

+ * Wed Sep 19 2018 Pavel Valena <pvalena@redhat.com> - 2.1.5-1

+ - Update to Vagrant 2.1.5.

+ - Update restart logic for redhat change_host_name cap(rhbz#1624068)

+ 

  * Wed Sep 12 2018 Tobias Jungel <tobias.jungel@bisdn.de> - 2.1.2-2

  - handle rename of nfs-utils-lib/libnfs-utils in F28 guests (rhbz#1620074).

  

Requires net-ssh ~> 5.0.0(PR).

Update restart logic for redhat change_host_name cap(rhbz#1624068).

Also update to latest vagrant-spec commit.

Copr-build:
https://copr.fedorainfracloud.org/coprs/build/805106/

Checks:

  • Tests: ok
  • rpmlint: ok
  • Dependent packages: ok
  • Smoke test: ok

Smoke-test env:

  • vagrant-2.1.5-1.fc28.noarch
  • vagrant-libvirt-0.0.40-5.fc28.noarch
  • ruby-2.5.1-96.fc28.x86_64
  • rubygem-fog-libvirt-0.5.0-1.fc28.noarch
  • rubygem-net-ssh-5.0.2-1.fc28.noarch

1 new commit added

  • Update restart logic in redhat change_host_name cap
5 years ago

Pull-Request has been merged by pvalena

5 years ago