The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/3016

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===

From 230c7e91ed82fc0f55331d333194cda4e6ce5aa0 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brau...@ubuntu.com>
Date: Sat, 4 Mar 2017 21:16:52 +0100
Subject: [PATCH 1/2] lvm: run {pv,vg}scan to ensure consistency

Signed-off-by: Christian Brauner <christian.brau...@ubuntu.com>
---
 lxd/storage_lvm.go | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lxd/storage_lvm.go b/lxd/storage_lvm.go
index 972bbc3..e70beae 100644
--- a/lxd/storage_lvm.go
+++ b/lxd/storage_lvm.go
@@ -498,6 +498,14 @@ func (s *storageLvm) StoragePoolCreate() error {
                                return fmt.Errorf("Failed to create the volume 
group for the lvm storage pool: %s.", output)
                        }
                }
+               msg, err := tryExec("pvscan")
+               if err != nil {
+                       shared.LogWarnf("Failed to run pvscan: %s.", msg)
+               }
+               msg, err = tryExec("vgscan")
+               if err != nil {
+                       shared.LogWarnf("Failed to run vgscan: %s.", msg)
+               }
        } else {
                s.pool.Config["size"] = ""
                if filepath.IsAbs(source) {

From 6b3d34fdc0425860226e9957e537fafce43c79fa Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brau...@ubuntu.com>
Date: Sat, 4 Mar 2017 21:20:52 +0100
Subject: [PATCH 2/2] test: call pvcreate only once

Signed-off-by: Christian Brauner <christian.brau...@ubuntu.com>
---
 test/main.sh           | 2 ++
 test/suites/storage.sh | 6 ++----
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/test/main.sh b/test/main.sh
index 8f41124..26af724 100755
--- a/test/main.sh
+++ b/test/main.sh
@@ -409,6 +409,7 @@ configure_lvm_loop_device() {
   echo "${pvloopdev}" >> "${TEST_DIR}/loops"
 
   pvcreate "${pvloopdev}"
+  pvscan
 
   # The following code enables to return a value from a shell function by
   # calling the function as: fun VAR1
@@ -436,6 +437,7 @@ deconfigure_lvm_loop_device() {
 
   SUCCESS=0
   # shellcheck disable=SC2034
+  pvscan
   for i in $(seq 10); do
     pvremove -f "${loopdev}" > /dev/null 2>&1 || true
     if losetup -d "${loopdev}"; then
diff --git a/test/suites/storage.sh b/test/suites/storage.sh
index 6b91297..1b676f0 100644
--- a/test/suites/storage.sh
+++ b/test/suites/storage.sh
@@ -60,28 +60,26 @@ test_storage() {
 
       configure_lvm_loop_device loop_file_5 loop_device_5
       # shellcheck disable=SC2154
-      pvcreate "${loop_device_5}"
       # Should fail if vg does not exist, since we have no way of knowing where
       # to create the vg without a block device path set.
       ! lxc storage create "lxdtest-$(basename "${LXD_DIR}")-pool10" lvm 
source=dummy_vg_1 volume.size=25MB
 
       configure_lvm_loop_device loop_file_6 loop_device_6
       # shellcheck disable=SC2154
-      pvcreate "${loop_device_6}"
       vgcreate "lxdtest-$(basename "${LXD_DIR}")-pool11-dummy_vg_2" 
"${loop_device_6}"
+      vgscan
       # Reuse existing volume group "dummy_vg_2" on existing physical volume.
       lxc storage create "lxdtest-$(basename "${LXD_DIR}")-pool11" lvm 
source="lxdtest-$(basename "${LXD_DIR}")-pool11-dummy_vg_2" volume.size=25MB
 
       configure_lvm_loop_device loop_file_7 loop_device_7
       # shellcheck disable=SC2154
-      pvcreate "${loop_device_7}"
       vgcreate "lxdtest-$(basename "${LXD_DIR}")-pool12-dummy_vg_3" 
"${loop_device_7}"
+      vgscan
       # Reuse existing volume group "dummy_vg_3" on existing physical volume.
       lxc storage create "lxdtest-$(basename "${LXD_DIR}")-pool12" lvm 
source="${loop_device_7}" lvm.vg_name="lxdtest-$(basename 
"${LXD_DIR}")-pool12-dummy_vg_3" volume.size=25MB
 
       configure_lvm_loop_device loop_file_8 loop_device_8
       # shellcheck disable=SC2154
-      pvcreate "${loop_device_8}"
       # Create new volume group "dummy_vg_4" on existing physical volume.
       lxc storage create "lxdtest-$(basename "${LXD_DIR}")-pool13" lvm 
source="${loop_device_8}" lvm.vg_name="lxdtest-$(basename 
"${LXD_DIR}")-pool13-dummy_vg_4" volume.size=25MB
 
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to