[lxc-devel] [lxd/master] LXD storage api: Implement storage volume renaming
brauner on Github
lxc-bot at linuxcontainers.org
Fri Oct 13 11:49:00 UTC 2017
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 381 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20171013/0b30533e/attachment.bin>
-------------- next part --------------
From 370ea64b590a2563676d94debb6f40e99685b92a Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Fri, 13 Oct 2017 12:34:20 +0200
Subject: [PATCH 1/7] api endpoint: add storagePoolVolumeTypePost()
Closes #2865.
Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
lxd/storage_volumes.go | 79 +++++++++++++++++++++++++++++++++++++++++---
lxd/storage_volumes_utils.go | 4 +++
2 files changed, 78 insertions(+), 5 deletions(-)
diff --git a/lxd/storage_volumes.go b/lxd/storage_volumes.go
index ea960dd3d..c37947e3f 100644
--- a/lxd/storage_volumes.go
+++ b/lxd/storage_volumes.go
@@ -4,6 +4,7 @@ import (
"encoding/json"
"fmt"
"net/http"
+ "os"
"strconv"
"github.com/gorilla/mux"
@@ -51,7 +52,9 @@ func storagePoolVolumesGet(d *Daemon, r *http.Request) Response {
} else {
volumeUsedBy, err := storagePoolVolumeUsedByGet(d.State(), volume.Name, volume.Type)
if err != nil {
- return InternalError(err)
+ if !os.IsNotExist(err) {
+ return InternalError(err)
+ }
}
volume.UsedBy = volumeUsedBy
}
@@ -123,7 +126,9 @@ func storagePoolVolumesTypeGet(d *Daemon, r *http.Request) Response {
volumeUsedBy, err := storagePoolVolumeUsedByGet(d.State(), vol.Name, vol.Type)
if err != nil {
- return SmartError(err)
+ if !os.IsNotExist(err) {
+ return InternalError(err)
+ }
}
vol.UsedBy = volumeUsedBy
@@ -187,6 +192,66 @@ func storagePoolVolumesTypePost(d *Daemon, r *http.Request) Response {
var storagePoolVolumesTypeCmd = Command{name: "storage-pools/{name}/volumes/{type}", get: storagePoolVolumesTypeGet, post: storagePoolVolumesTypePost}
+// /1.0/storage-pools/{name}/volumes/{type}/{name}
+// Rename a storage volume of a given volume type in a given storage pool.
+func storagePoolVolumeTypePost(d *Daemon, r *http.Request) Response {
+ // Get the name of the storage volume.
+ volumeName := mux.Vars(r)["name"]
+
+ // Get the name of the storage pool the volume is supposed to be
+ // attached to.
+ poolName := mux.Vars(r)["pool"]
+
+ // Get the name of the volume type.
+ volumeTypeName := mux.Vars(r)["type"]
+
+ req := api.StorageVolumesPost{}
+
+ // Parse the request.
+ err := json.NewDecoder(r.Body).Decode(&req)
+ if err != nil {
+ return BadRequest(err)
+ }
+
+ // Sanity checks.
+ if req.Name == "" {
+ return BadRequest(fmt.Errorf("No name provided"))
+ }
+
+ // We currently only allow to create storage volumes of type
+ // storagePoolVolumeTypeCustom. So check, that nothing else was
+ // requested.
+ if volumeTypeName != storagePoolVolumeTypeNameCustom {
+ return BadRequest(fmt.Errorf("Currently not allowed to create storage volumes of type %s", volumeTypeName))
+ }
+
+ // Retrieve ID of the storage pool (and check if the storage pool
+ // exists).
+ poolID, err := db.StoragePoolGetID(d.db, poolName)
+ if err != nil {
+ return SmartError(err)
+ }
+
+ // Check that the name isn't already in use.
+ _, err = db.StoragePoolVolumeGetTypeID(d.State().DB, req.Name,
+ storagePoolVolumeTypeCustom, poolID)
+ if err == nil || err != nil && err != db.NoSuchObjectError {
+ return Conflict
+ }
+
+ s, err := storagePoolVolumeInit(d.State(), poolName, volumeName, storagePoolVolumeTypeCustom)
+ if err != nil {
+ return SmartError(err)
+ }
+
+ err = s.StoragePoolVolumeRename(req.Name)
+ if err != nil {
+ return InternalError(err)
+ }
+
+ return EmptySyncResponse
+}
+
// /1.0/storage-pools/{pool}/volumes/{type}/{name}
// Get storage volume of a given volume type on a given storage pool.
func storagePoolVolumeTypeGet(d *Daemon, r *http.Request) Response {
@@ -225,7 +290,9 @@ func storagePoolVolumeTypeGet(d *Daemon, r *http.Request) Response {
volumeUsedBy, err := storagePoolVolumeUsedByGet(d.State(), volume.Name, volume.Type)
if err != nil {
- return SmartError(err)
+ if !os.IsNotExist(err) {
+ return InternalError(err)
+ }
}
volume.UsedBy = volumeUsedBy
@@ -400,7 +467,9 @@ func storagePoolVolumeTypeDelete(d *Daemon, r *http.Request) Response {
volumeUsedBy, err := storagePoolVolumeUsedByGet(d.State(), volumeName, volumeTypeName)
if err != nil {
- return SmartError(err)
+ if !os.IsNotExist(err) {
+ return InternalError(err)
+ }
}
if len(volumeUsedBy) > 0 {
@@ -437,4 +506,4 @@ func storagePoolVolumeTypeDelete(d *Daemon, r *http.Request) Response {
return EmptySyncResponse
}
-var storagePoolVolumeTypeCmd = Command{name: "storage-pools/{pool}/volumes/{type}/{name:.*}", get: storagePoolVolumeTypeGet, put: storagePoolVolumeTypePut, patch: storagePoolVolumeTypePatch, delete: storagePoolVolumeTypeDelete}
+var storagePoolVolumeTypeCmd = Command{name: "storage-pools/{pool}/volumes/{type}/{name:.*}", post: storagePoolVolumeTypePost, get: storagePoolVolumeTypeGet, put: storagePoolVolumeTypePut, patch: storagePoolVolumeTypePatch, delete: storagePoolVolumeTypeDelete}
diff --git a/lxd/storage_volumes_utils.go b/lxd/storage_volumes_utils.go
index a4c599a60..9be5b2438 100644
--- a/lxd/storage_volumes_utils.go
+++ b/lxd/storage_volumes_utils.go
@@ -200,6 +200,10 @@ func storagePoolVolumeUsedByContainersGet(s *state.State, volumeName string,
}
}
+ if len(ctsUsingVolume) == 0 {
+ return []string{}, os.ErrNotExist
+ }
+
return ctsUsingVolume, nil
}
From 56dd4e0f3acef2e426642738463b77ada97f084b Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Fri, 13 Oct 2017 13:35:51 +0200
Subject: [PATCH 2/7] storage: add custom volume rename infrastructure
Closes #2865.
Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
lxd/storage.go | 5 +++-
lxd/storage_btrfs.go | 33 ++++++++++++++++++++++++
lxd/storage_ceph.go | 61 ++++++++++++++++++++++++++++++++++++++++++++
lxd/storage_dir.go | 33 ++++++++++++++++++++++++
lxd/storage_lvm.go | 33 ++++++++++++++++++++++++
lxd/storage_mock.go | 4 +++
lxd/storage_volumes_utils.go | 3 ++-
lxd/storage_zfs.go | 29 +++++++++++++++++++++
8 files changed, 199 insertions(+), 2 deletions(-)
diff --git a/lxd/storage.go b/lxd/storage.go
index 78e2a8c80..c60f805fe 100644
--- a/lxd/storage.go
+++ b/lxd/storage.go
@@ -155,6 +155,7 @@ type storage interface {
StoragePoolVolumeMount() (bool, error)
StoragePoolVolumeUmount() (bool, error)
StoragePoolVolumeUpdate(writable *api.StorageVolumePut, changedConfig []string) error
+ StoragePoolVolumeRename(newName string) error
GetStoragePoolVolumeWritable() api.StorageVolumePut
SetStoragePoolVolumeWritable(writable *api.StorageVolumePut)
@@ -432,7 +433,9 @@ func storagePoolVolumeAttachInit(s *state.State, poolName string, volumeName str
volumeUsedBy, err := storagePoolVolumeUsedByContainersGet(s,
volumeName, volumeTypeName)
if err != nil {
- return nil, err
+ if !os.IsNotExist(err) {
+ return nil, err
+ }
}
if len(volumeUsedBy) > 1 {
diff --git a/lxd/storage_btrfs.go b/lxd/storage_btrfs.go
index ecc23b854..da34483d7 100644
--- a/lxd/storage_btrfs.go
+++ b/lxd/storage_btrfs.go
@@ -645,6 +645,39 @@ func (s *storageBtrfs) StoragePoolVolumeUpdate(writable *api.StorageVolumePut, c
return nil
}
+func (s *storageBtrfs) StoragePoolVolumeRename(newName string) error {
+ logger.Infof(`Renaming BTRFS storage volume on storage pool "%s" from "%s" to "%s`,
+ s.pool.Name, s.volume.Name, newName)
+
+ _, err := s.StoragePoolMount()
+ if err != nil {
+ return err
+ }
+
+ _, err = storagePoolVolumeUsedByContainersGet(s.s, s.volume.Name, storagePoolVolumeTypeNameCustom)
+ if err != nil {
+ if !os.IsNotExist(err) {
+ return err
+ }
+ } else {
+ return fmt.Errorf(`BTRFS storage volume "%s" on storage pool "%s" is attached to containers`,
+ s.volume.Name, s.pool.Name)
+ }
+
+ oldPath := getStoragePoolVolumeMountPoint(s.pool.Name, s.volume.Name)
+ newPath := getStoragePoolVolumeMountPoint(s.pool.Name, newName)
+ err = os.Rename(oldPath, newPath)
+ if err != nil {
+ return err
+ }
+
+ logger.Infof(`Renamed BTRFS storage volume on storage pool "%s" from "%s" to "%s`,
+ s.pool.Name, s.volume.Name, newName)
+
+ return db.StoragePoolVolumeRename(s.s.DB, s.volume.Name, newName,
+ storagePoolVolumeTypeCustom, s.poolID)
+}
+
func (s *storageBtrfs) GetStoragePoolVolumeWritable() api.StorageVolumePut {
return s.volume.Writable()
}
diff --git a/lxd/storage_ceph.go b/lxd/storage_ceph.go
index 219ffbe2d..8a5b8156c 100644
--- a/lxd/storage_ceph.go
+++ b/lxd/storage_ceph.go
@@ -705,6 +705,67 @@ func (s *storageCeph) StoragePoolVolumeUpdate(writable *api.StorageVolumePut, ch
return nil
}
+func (s *storageCeph) StoragePoolVolumeRename(newName string) error {
+ logger.Infof(`Renaming CEPH storage volume on OSD storage pool "%s" from "%s" to "%s`,
+ s.pool.Name, s.volume.Name, newName)
+
+ _, err := s.StoragePoolVolumeUmount()
+ if err != nil {
+ return err
+ }
+
+ _, err = storagePoolVolumeUsedByContainersGet(s.s, s.volume.Name, storagePoolVolumeTypeNameCustom)
+ if err != nil {
+ if !os.IsNotExist(err) {
+ return err
+ }
+ } else {
+ return fmt.Errorf(`RBD storage volume "%s" on CEPH OSD storage pool "%s" is attached to containers`,
+ s.volume.Name, s.pool.Name)
+ }
+
+ // unmap
+ err = cephRBDVolumeUnmap(s.ClusterName, s.OSDPoolName,
+ s.volume.Name, storagePoolVolumeTypeNameCustom,
+ s.UserName, true)
+ if err != nil {
+ logger.Errorf(`Failed to unmap RBD storage volume for `+`container "%s" on storage pool "%s": %s`,
+ s.volume.Name, s.pool.Name, err)
+ return err
+ }
+ logger.Debugf(`Unmapped RBD storage volume for container "%s" on storage pool "%s"`,
+ s.volume.Name, s.pool.Name)
+
+ err = cephRBDVolumeRename(s.ClusterName, s.OSDPoolName,
+ storagePoolVolumeTypeNameCustom, s.volume.Name,
+ newName, s.UserName)
+ if err != nil {
+ logger.Errorf(`Failed to rename RBD storage volume for container "%s" on storage pool "%s": %s`,
+ s.volume.Name, s.pool.Name, err)
+ return err
+ }
+ logger.Debugf(`Renamed RBD storage volume for container "%s" on storage pool "%s"`,
+ s.volume.Name, s.pool.Name)
+
+ // map
+ _, err = cephRBDVolumeMap(s.ClusterName, s.OSDPoolName,
+ newName, storagePoolVolumeTypeNameCustom,
+ s.UserName)
+ if err != nil {
+ logger.Errorf(`Failed to map RBD storage volume for container "%s" on storage pool "%s": %s`,
+ newName, s.pool.Name, err)
+ return err
+ }
+ logger.Debugf(`Mapped RBD storage volume for container "%s" on storage pool "%s"`,
+ newName, s.pool.Name)
+
+ logger.Infof(`Renamed CEPH storage volume on OSD storage pool "%s" from "%s" to "%s`,
+ s.pool.Name, s.volume.Name, newName)
+
+ return db.StoragePoolVolumeRename(s.s.DB, s.volume.Name, newName,
+ storagePoolVolumeTypeCustom, s.poolID)
+}
+
func (s *storageCeph) StoragePoolUpdate(writable *api.StoragePoolPut, changedConfig []string) error {
logger.Infof(`Updating CEPH storage pool "%s"`, s.pool.Name)
diff --git a/lxd/storage_dir.go b/lxd/storage_dir.go
index 487cc8991..c6082dcf3 100644
--- a/lxd/storage_dir.go
+++ b/lxd/storage_dir.go
@@ -386,6 +386,39 @@ func (s *storageDir) StoragePoolVolumeUpdate(writable *api.StorageVolumePut, cha
return nil
}
+func (s *storageDir) StoragePoolVolumeRename(newName string) error {
+ logger.Infof(`Renaming DIR storage volume on storage pool "%s" from "%s" to "%s`,
+ s.pool.Name, s.volume.Name, newName)
+
+ _, err := s.StoragePoolMount()
+ if err != nil {
+ return err
+ }
+
+ _, err = storagePoolVolumeUsedByContainersGet(s.s, s.volume.Name, storagePoolVolumeTypeNameCustom)
+ if err != nil {
+ if !os.IsNotExist(err) {
+ return err
+ }
+ } else {
+ return fmt.Errorf(`DIR storage volume "%s" on storage pool "%s" is attached to containers`,
+ s.volume.Name, s.pool.Name)
+ }
+
+ oldPath := getStoragePoolVolumeMountPoint(s.pool.Name, s.volume.Name)
+ newPath := getStoragePoolVolumeMountPoint(s.pool.Name, newName)
+ err = os.Rename(oldPath, newPath)
+ if err != nil {
+ return err
+ }
+
+ logger.Infof(`Renamed DIR storage volume on storage pool "%s" from "%s" to "%s`,
+ s.pool.Name, s.volume.Name, newName)
+
+ return db.StoragePoolVolumeRename(s.s.DB, s.volume.Name, newName,
+ storagePoolVolumeTypeCustom, s.poolID)
+}
+
func (s *storageDir) ContainerStorageReady(name string) bool {
containerMntPoint := getContainerMountPoint(s.pool.Name, name)
ok, _ := shared.PathIsEmpty(containerMntPoint)
diff --git a/lxd/storage_lvm.go b/lxd/storage_lvm.go
index 90498b5b1..2e1624233 100644
--- a/lxd/storage_lvm.go
+++ b/lxd/storage_lvm.go
@@ -826,6 +826,39 @@ func (s *storageLvm) StoragePoolVolumeUpdate(writable *api.StorageVolumePut,
return nil
}
+func (s *storageLvm) StoragePoolVolumeRename(newName string) error {
+ logger.Infof(`Renaming LVM storage volume on storage pool "%s" from "%s" to "%s`,
+ s.pool.Name, s.volume.Name, newName)
+
+ _, err := s.StoragePoolVolumeUmount()
+ if err != nil {
+ return err
+ }
+
+ _, err = storagePoolVolumeUsedByContainersGet(s.s, s.volume.Name, storagePoolVolumeTypeNameCustom)
+ if err != nil {
+ if !os.IsNotExist(err) {
+ return err
+ }
+ } else {
+ return fmt.Errorf(`LVM storage volume "%s" on storage pool "%s" is attached to containers`,
+ s.volume.Name, s.pool.Name)
+ }
+
+ err = s.renameLVByPath(s.volume.Name, newName,
+ storagePoolVolumeAPIEndpointCustom)
+ if err != nil {
+ return fmt.Errorf(`Failed to rename logical volume from "%s" to "%s": %s`,
+ s.volume.Name, newName, err)
+ }
+
+ logger.Infof(`Renamed ZFS storage volume on storage pool "%s" from "%s" to "%s`,
+ s.pool.Name, s.volume.Name, newName)
+
+ return db.StoragePoolVolumeRename(s.s.DB, s.volume.Name, newName,
+ storagePoolVolumeTypeCustom, s.poolID)
+}
+
func (s *storageLvm) ContainerStorageReady(name string) bool {
containerLvmName := containerNameToLVName(name)
poolName := s.getOnDiskPoolName()
diff --git a/lxd/storage_mock.go b/lxd/storage_mock.go
index a1f2e3dc7..aacf7cdc0 100644
--- a/lxd/storage_mock.go
+++ b/lxd/storage_mock.go
@@ -100,6 +100,10 @@ func (s *storageMock) StoragePoolVolumeUpdate(writable *api.StorageVolumePut, ch
return nil
}
+func (s *storageMock) StoragePoolVolumeRename(newName string) error {
+ return nil
+}
+
func (s *storageMock) StoragePoolUpdate(writable *api.StoragePoolPut, changedConfig []string) error {
return nil
}
diff --git a/lxd/storage_volumes_utils.go b/lxd/storage_volumes_utils.go
index 9be5b2438..1c4d4adb3 100644
--- a/lxd/storage_volumes_utils.go
+++ b/lxd/storage_volumes_utils.go
@@ -3,6 +3,7 @@ package main
import (
"database/sql"
"fmt"
+ "os"
"path/filepath"
"strings"
@@ -244,7 +245,7 @@ func storagePoolVolumeUsedByGet(s *state.State, volumeName string, volumeTypeNam
}
if len(volumeUsedBy) == 0 && len(profiles) == 0 {
- return []string{}, err
+ return []string{}, os.ErrNotExist
}
for _, pName := range profiles {
diff --git a/lxd/storage_zfs.go b/lxd/storage_zfs.go
index f8ee486c3..511666824 100644
--- a/lxd/storage_zfs.go
+++ b/lxd/storage_zfs.go
@@ -602,6 +602,35 @@ func (s *storageZfs) StoragePoolVolumeUpdate(writable *api.StorageVolumePut, cha
return nil
}
+func (s *storageZfs) StoragePoolVolumeRename(newName string) error {
+ logger.Infof(`Renaming ZFS storage volume on storage pool "%s" from "%s" to "%s`,
+ s.pool.Name, s.volume.Name, newName)
+
+ _, err := storagePoolVolumeUsedByContainersGet(s.s, s.volume.Name, storagePoolVolumeTypeNameCustom)
+ if err != nil {
+ if os.IsNotExist(err) {
+ return err
+ }
+ } else {
+ return fmt.Errorf(`ZFS storage volume "%s" on storage pool "%s" is attached to containers`,
+ s.volume.Name, s.pool.Name)
+ }
+
+ oldPath := fmt.Sprintf("custom/%s", s.volume.Name)
+ newPath := fmt.Sprintf("custom/%s", newName)
+ poolName := s.getOnDiskPoolName()
+ err = zfsPoolVolumeRename(poolName, oldPath, newPath)
+ if err != nil {
+ return err
+ }
+
+ logger.Infof(`Renamed ZFS storage volume on storage pool "%s" from "%s" to "%s`,
+ s.pool.Name, s.volume.Name, newName)
+
+ return db.StoragePoolVolumeRename(s.s.DB, s.volume.Name, newName,
+ storagePoolVolumeTypeCustom, s.poolID)
+}
+
// Things we don't need to care about
func (s *storageZfs) ContainerMount(c container) (bool, error) {
name := c.Name()
From 3dce007af58db50f4c6c3f39e417b2cd6b9e5786 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Fri, 13 Oct 2017 11:31:24 +0200
Subject: [PATCH 3/7] client: add RenameStoragePoolVolume()
Closes #2865.
Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
client/interfaces.go | 1 +
client/lxd_storage_volumes.go | 15 +++++++++++++++
2 files changed, 16 insertions(+)
diff --git a/client/interfaces.go b/client/interfaces.go
index 51e274a3e..03dcbef0f 100644
--- a/client/interfaces.go
+++ b/client/interfaces.go
@@ -152,6 +152,7 @@ type ContainerServer interface {
CreateStoragePoolVolume(pool string, volume api.StorageVolumesPost) (err error)
UpdateStoragePoolVolume(pool string, volType string, name string, volume api.StorageVolumePut, ETag string) (err error)
DeleteStoragePoolVolume(pool string, volType string, name string) (err error)
+ RenameStoragePoolVolume(pool string, volType string, name string, volume api.StorageVolumesPost) (err error)
// Internal functions (for internal use)
RawQuery(method string, path string, data interface{}, queryETag string) (resp *api.Response, ETag string, err error)
diff --git a/client/lxd_storage_volumes.go b/client/lxd_storage_volumes.go
index 47ae4e6e9..cd2d30218 100644
--- a/client/lxd_storage_volumes.go
+++ b/client/lxd_storage_volumes.go
@@ -91,3 +91,18 @@ func (r *ProtocolLXD) DeleteStoragePoolVolume(pool string, volType string, name
return nil
}
+
+// RenameStoragePoolVolume renames a storage volume
+func (r *ProtocolLXD) RenameStoragePoolVolume(pool string, volType string, name string, volume api.StorageVolumesPost) error {
+ if !r.HasExtension("storage_api_volume_rename") {
+ return fmt.Errorf("The server is missing the required \"storage_api_volume_rename\" API extension")
+ }
+
+ // Send the request
+ _, _, err := r.query("POST", fmt.Sprintf("/storage-pools/%s/volumes/%s/%s", pool, volume.Type, name), volume, "")
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
From 2af596360863187d0528b8e1dd9b7ca88d49ddb9 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Wed, 11 Oct 2017 16:16:18 +0200
Subject: [PATCH 4/7] doc: add storage_api_volume_rename extension
Closes #2865.
Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
doc/api-extensions.md | 3 +++
lxd/api_1.0.go | 1 +
2 files changed, 4 insertions(+)
diff --git a/doc/api-extensions.md b/doc/api-extensions.md
index 04695ed6d..b5b66e42b 100644
--- a/doc/api-extensions.md
+++ b/doc/api-extensions.md
@@ -346,3 +346,6 @@ This adds support for querying an LXD daemon for the system resources it has
## kernel\_limits
This adds support for setting process limits such as maximum number of open
files for the container via `nofile`. The format is `limits.kernel.[limit name]`.
+
+## storage\_api\_volume\_rename
+This adds support for renaming custom storage volumes.
diff --git a/lxd/api_1.0.go b/lxd/api_1.0.go
index d05dc407d..7445d1422 100644
--- a/lxd/api_1.0.go
+++ b/lxd/api_1.0.go
@@ -130,6 +130,7 @@ func api10Get(d *Daemon, r *http.Request) Response {
"storage_block_filesystem_btrfs",
"resources",
"kernel_limits",
+ "storage_api_volume_rename",
},
APIStatus: "stable",
APIVersion: version.APIVersion,
From 5cd32d6c86a4de1413b068341ed6caaffe68172f Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Fri, 13 Oct 2017 13:45:06 +0200
Subject: [PATCH 5/7] tests: add storage volume rename tests
Closes #2865.
Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
test/suites/storage.sh | 8 ++++++++
test/suites/storage_driver_ceph.sh | 2 ++
2 files changed, 10 insertions(+)
diff --git a/test/suites/storage.sh b/test/suites/storage.sh
index f3728de13..2d4a981ad 100644
--- a/test/suites/storage.sh
+++ b/test/suites/storage.sh
@@ -270,6 +270,8 @@ test_storage() {
lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool2" custom/c4pool2 c4pool2 testDevice /opt
! lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool2" custom/c4pool2 c4pool2 testDevice2 /opt
lxc storage volume detach "lxdtest-$(basename "${LXD_DIR}")-pool2" c4pool2 c4pool2
+ lxc storage volume rename "lxdtest-$(basename "${LXD_DIR}")-pool2" c4pool2 c4pool2-renamed
+ lxc storage volume rename "lxdtest-$(basename "${LXD_DIR}")-pool2" c4pool2-renamed c4pool2
fi
if [ "$lxd_backend" = "btrfs" ]; then
@@ -314,6 +316,8 @@ test_storage() {
lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool4" custom/c8pool4 c8pool4 testDevice /opt
! lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool4" custom/c8pool4 c8pool4 testDevice2 /opt
lxc storage volume detach "lxdtest-$(basename "${LXD_DIR}")-pool4" c8pool4 c8pool4 testDevice
+ lxc storage volume rename "lxdtest-$(basename "${LXD_DIR}")-pool2" c8pool4 c8pool4-renamed
+ lxc storage volume rename "lxdtest-$(basename "${LXD_DIR}")-pool2" c8pool4-renamed c8pool4
fi
lxc init testimage c9pool5 -s "lxdtest-$(basename "${LXD_DIR}")-pool5"
@@ -337,6 +341,8 @@ test_storage() {
lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool5" custom/c11pool5 c11pool5 testDevice /opt
! lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool5" custom/c11pool5 c11pool5 testDevice2 /opt
lxc storage volume detach "lxdtest-$(basename "${LXD_DIR}")-pool5" c11pool5 c11pool5 testDevice
+ lxc storage volume rename "lxdtest-$(basename "${LXD_DIR}")-pool2" c11pool5 c11pool5-renamed
+ lxc storage volume rename "lxdtest-$(basename "${LXD_DIR}")-pool2" c11pool5-renamed c11pool5
if [ "$lxd_backend" = "lvm" ]; then
lxc init testimage c10pool6 -s "lxdtest-$(basename "${LXD_DIR}")-pool6"
@@ -547,6 +553,8 @@ test_storage() {
lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool9" custom/c18pool9 c18pool9 testDevice /opt
! lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool9" custom/c18pool9 c18pool9 testDevice2 /opt
lxc storage volume detach "lxdtest-$(basename "${LXD_DIR}")-pool9" c18pool9 c18pool9 testDevice
+ lxc storage volume rename "lxdtest-$(basename "${LXD_DIR}")-pool2" c18pool9 c18pool9-renamed
+ lxc storage volume rename "lxdtest-$(basename "${LXD_DIR}")-pool2" c18pool9-renamed c18pool9
fi
if [ "$lxd_backend" = "zfs" ]; then
diff --git a/test/suites/storage_driver_ceph.sh b/test/suites/storage_driver_ceph.sh
index 1bc216f34..2c28a7e88 100644
--- a/test/suites/storage_driver_ceph.sh
+++ b/test/suites/storage_driver_ceph.sh
@@ -110,6 +110,8 @@ test_storage_driver_ceph() {
lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool2" custom/c4pool2 c4pool2 testDevice /opt
! lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool2" custom/c4pool2 c4pool2 testDevice2 /opt
lxc storage volume detach "lxdtest-$(basename "${LXD_DIR}")-pool2" c4pool2 c4pool2
+ lxc storage volume rename "lxdtest-$(basename "${LXD_DIR}")-pool2" c4pool2 c4pool2-renamed
+ lxc storage volume rename "lxdtest-$(basename "${LXD_DIR}")-pool2" c4pool2-renamed c4pool2
lxc delete -f c1pool1
lxc delete -f c3pool1
From 836648b1f5dd4f07fdbaf24760a3ced02f741cf3 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Fri, 13 Oct 2017 13:35:39 +0200
Subject: [PATCH 6/7] lxc: implement lxc storage volume rename
Closes #2865.
Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
lxc/storage.go | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/lxc/storage.go b/lxc/storage.go
index 05a0706d9..a55575d21 100644
--- a/lxc/storage.go
+++ b/lxc/storage.go
@@ -101,6 +101,9 @@ lxc storage volume show [<remote>:]<pool> <volume>
lxc storage volume create [<remote>:]<pool> <volume> [key=value]...
Create a storage volume on a storage pool.
+lxc storage volume rename [<remote>:]<pool> <old name> <new name>
+ Rename a storage volume on a storage pool.
+
lxc storage volume get [<remote>:]<pool> <volume> <key>
Get storage volume configuration on a storage pool.
@@ -239,6 +242,13 @@ func (c *storageCmd) run(conf *config.Config, args []string) error {
}
pool := sub
return c.doStoragePoolVolumesList(conf, remote, pool, args)
+ case "rename":
+ if len(args) != 5 {
+ return errArgs
+ }
+ pool := sub
+ volume := args[3]
+ return c.doStoragePoolVolumeRename(client, pool, volume, args)
case "set":
if len(args) < 4 {
return errArgs
@@ -984,3 +994,23 @@ func (c *storageCmd) doStoragePoolVolumeEdit(client lxd.ContainerServer, pool st
}
return nil
}
+
+func (c *storageCmd) doStoragePoolVolumeRename(client lxd.ContainerServer, pool string, volume string, args []string) error {
+ // Parse the input
+ volName, volType := c.parseVolume(volume)
+
+ // Create the storage volume entry
+ vol := api.StorageVolumesPost{}
+ vol.Name = args[4]
+ vol.Type = volType
+ vol.Config = map[string]string{}
+
+ err := client.RenameStoragePoolVolume(pool, volType, volName, vol)
+ if err != nil {
+ return err
+ }
+
+ fmt.Printf(i18n.G(`Renamed storage volume from "%s" to "%s"`)+"\n", volName, vol.Name)
+
+ return nil
+}
From d270f96c524587d45024038d2bac5f7c8a1f72e4 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Fri, 13 Oct 2017 13:36:18 +0200
Subject: [PATCH 7/7] lxc: make i18n
Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
po/de.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/el.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/fr.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/id.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/it.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/ja.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/lxd.pot | 68 ++++++++++++++++++++++++++++++-------------------------
po/nl.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/ru.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/sr.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/sv.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/tr.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/zh.po | 72 +++++++++++++++++++++++++++++++++--------------------------
po/zh_Hans.po | 72 +++++++++++++++++++++++++++++++++--------------------------
14 files changed, 558 insertions(+), 446 deletions(-)
diff --git a/po/de.po b/po/de.po
index 16801b069..446b62cb1 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LXD\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: 2017-02-14 17:11+0000\n"
"Last-Translator: Tim Rose <tim at netlope.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/linux-containers/"
@@ -279,7 +279,7 @@ msgstr "'/' ist kein gültiges Zeichen im Namen eines Sicherungspunktes\n"
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -323,7 +323,7 @@ msgstr "Architektur: %s\n"
msgid "Auto update: %s"
msgstr "automatisches Update: %s"
-#: lxc/image.go:686
+#: lxc/image.go:687
#, fuzzy, c-format
msgid "Bad property: %s"
msgstr "Ungültige Abbild Eigenschaft: %s\n"
@@ -381,7 +381,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -407,8 +407,8 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr "kann nicht zum selben Container Namen kopieren"
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, fuzzy, c-format
msgid "Config parsing error: %s"
msgstr "YAML Analyse Fehler %v\n"
@@ -472,12 +472,12 @@ msgstr ""
msgid "Creating the container"
msgstr "kann nicht zum selben Container Namen kopieren"
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -500,7 +500,7 @@ msgstr "Gerät %s wurde von %s entfernt\n"
msgid "Device already exists: %s"
msgstr "entfernte Instanz %s existiert bereits"
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -565,7 +565,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -574,7 +574,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -676,11 +676,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, fuzzy, c-format
msgid "Image imported with fingerprint: %s"
msgstr "Abbild mit Fingerabdruck %s importiert\n"
@@ -784,7 +784,7 @@ msgstr ""
msgid "Missing summary."
msgstr "Fehlende Zusammenfassung."
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -798,7 +798,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr "Herunterfahren des Containers erzwingen."
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -808,7 +808,7 @@ msgid "Must supply container name for: "
msgstr "der Name des Ursprung Containers muss angegeben werden"
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -854,7 +854,7 @@ msgstr "Kein Zertifikat zum hinzufügen bereitgestellt"
msgid "No device found for this network"
msgstr "Kein Zertifikat für diese Verbindung"
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
#, fuzzy
msgid "No device found for this storage volume."
msgstr "Kein Zertifikat für diese Verbindung"
@@ -863,7 +863,7 @@ msgstr "Kein Zertifikat für diese Verbindung"
msgid "No fingerprint specified."
msgstr "Kein Fingerabdruck angegeben."
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -871,7 +871,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -939,12 +939,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -1046,6 +1046,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -1072,7 +1077,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -1133,7 +1138,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1188,12 +1193,12 @@ msgstr "Anhalten des Containers fehlgeschlagen!"
msgid "Stopping the container failed: %s"
msgstr "Anhalten des Containers fehlgeschlagen!"
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, fuzzy, c-format
msgid "Storage pool %s created"
msgstr "Profil %s erstellt\n"
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, fuzzy, c-format
msgid "Storage pool %s deleted"
msgstr "Profil %s gelöscht\n"
@@ -1203,12 +1208,12 @@ msgstr "Profil %s gelöscht\n"
msgid "Storage pool name"
msgstr "Profilname kann nicht geändert werden"
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, fuzzy, c-format
msgid "Storage volume %s created"
msgstr "Profil %s erstellt\n"
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, fuzzy, c-format
msgid "Storage volume %s deleted"
msgstr "Profil %s gelöscht\n"
@@ -1226,7 +1231,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1264,7 +1269,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
#, fuzzy
msgid "The specified device doesn't exist"
msgstr "entfernte Instanz %s existiert nicht"
@@ -1317,7 +1322,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr "kann nicht zum selben Container Namen kopieren"
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1343,7 +1348,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -2245,6 +2250,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/el.po b/po/el.po
index af58f36ee..8f5a66f67 100644
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: 2017-02-14 08:00+0000\n"
"Last-Translator: Simos Xenitellis <simos.65 at gmail.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/linux-containers/"
@@ -174,7 +174,7 @@ msgstr ""
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -217,7 +217,7 @@ msgstr ""
msgid "Auto update: %s"
msgstr ""
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -271,7 +271,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -296,8 +296,8 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -359,12 +359,12 @@ msgstr ""
msgid "Creating the container"
msgstr ""
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -387,7 +387,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr ""
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -450,7 +450,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -459,7 +459,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -557,11 +557,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -664,7 +664,7 @@ msgstr " Χρήση μνήμης:"
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -676,7 +676,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -685,7 +685,7 @@ msgid "Must supply container name for: "
msgstr ""
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -729,7 +729,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -737,7 +737,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -745,7 +745,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -810,12 +810,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -914,6 +914,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -939,7 +944,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -999,7 +1004,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1052,12 +1057,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr ""
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1066,12 +1071,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1088,7 +1093,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1124,7 +1129,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1173,7 +1178,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1199,7 +1204,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -1946,6 +1951,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/fr.po b/po/fr.po
index e65cf08dc..fc949793c 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LXD\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: 2017-06-07 15:24+0000\n"
"Last-Translator: Stéphane Graber <stgraber at stgraber.org>\n"
"Language-Team: French <https://hosted.weblate.org/projects/linux-containers/"
@@ -269,7 +269,7 @@ msgstr "'/' n'est pas autorisé dans le nom d'un instantané"
msgid "(none)"
msgstr "(aucun)"
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr "ALIAS"
@@ -313,7 +313,7 @@ msgstr "Architecture : %s"
msgid "Auto update: %s"
msgstr "Mise à jour auto. : %s"
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -369,7 +369,7 @@ msgid "Can't unset key '%s', it's not currently set."
msgstr ""
"Impossible de désaffecter la clé '%s', elle n'est pas définie actuellement."
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr "Impossible de fournir le nom du conteneur à lister"
@@ -394,8 +394,8 @@ msgstr "Commandes:"
msgid "Config key/value to apply to the new container"
msgstr "Clé/valeur de configuration à appliquer au nouveau conteneur"
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr "Erreur lors de la lecture de la configuration : %s"
@@ -458,12 +458,12 @@ msgstr "Création de %s"
msgid "Creating the container"
msgstr "Création du conteneur"
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr "DESCRIPTION"
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr "PILOTE"
@@ -486,7 +486,7 @@ msgstr "Périphérique %s retiré de %s"
msgid "Device already exists: %s"
msgstr "le serveur distant %s existe déjà"
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -549,7 +549,7 @@ msgstr "Expire : %s"
msgid "Expires: never"
msgstr "N'expire jamais"
-#: lxc/image.go:900
+#: lxc/image.go:902
#, fuzzy, c-format
msgid "Exporting the image: %s"
msgstr "Import de l'image : %s"
@@ -559,7 +559,7 @@ msgstr "Import de l'image : %s"
msgid "FILENAME"
msgstr "NOM"
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr "EMPREINTE"
@@ -663,12 +663,12 @@ msgstr ""
msgid "Image copied successfully!"
msgstr "Image copiée avec succès !"
-#: lxc/image.go:960
+#: lxc/image.go:962
#, fuzzy
msgid "Image exported successfully!"
msgstr "Image copiée avec succès !"
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr "Image importée avec l'empreinte : %s"
@@ -772,7 +772,7 @@ msgstr " Mémoire utilisée :"
msgid "Missing summary."
msgstr "Résumé manquant."
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr "Plus d'un périphérique correspond, spécifier le nom du périphérique."
@@ -786,7 +786,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr "Forcer le conteneur à s'arrêter"
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -795,7 +795,7 @@ msgid "Must supply container name for: "
msgstr "Vous devez fournir le nom d'un conteneur pour : "
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr "NOM"
@@ -839,7 +839,7 @@ msgstr "Un certificat à ajouter n'a pas été fourni"
msgid "No device found for this network"
msgstr "Aucun périphérique existant pour ce réseau"
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
#, fuzzy
msgid "No device found for this storage volume."
msgstr "Aucun périphérique existant pour ce réseau"
@@ -848,7 +848,7 @@ msgstr "Aucun périphérique existant pour ce réseau"
msgid "No fingerprint specified."
msgstr "Aucune empreinte n'a été indiquée."
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr "Seul les volumes \"personnalisés\" peuvent être attaché aux conteneurs"
@@ -856,7 +856,7 @@ msgstr "Seul les volumes \"personnalisés\" peuvent être attaché aux conteneur
msgid "Only https URLs are supported for simplestreams"
msgstr "Seules les URLs https sont supportées par simplestreams"
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr "Seul https:// est supporté par l'import d'images distantes."
@@ -922,12 +922,12 @@ msgstr "Permission refusée, êtes-vous dans le groupe lxd ?"
msgid "Pid: %d"
msgstr "Pid : %d"
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr "Appuyer sur Entrée pour ouvrir à nouveau l'éditeur"
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr "Appuyer sur Entrée pour lancer à nouveau l'éditeur"
@@ -1027,6 +1027,11 @@ msgstr "Serveur distant : %s"
msgid "Remove %s (yes/no): "
msgstr "Supprimer %s (oui/non) : "
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr "Requérir une confirmation de l'utilisateur"
@@ -1053,7 +1058,7 @@ msgstr "TAILLE"
msgid "SNAPSHOTS"
msgstr "INSTANTANÉS"
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr "SOURCE"
@@ -1114,7 +1119,7 @@ msgstr "Afficher la configuration étendue"
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1169,12 +1174,12 @@ msgstr "L'arrêt du conteneur a échoué !"
msgid "Stopping the container failed: %s"
msgstr "L'arrêt du conteneur a échoué !"
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, fuzzy, c-format
msgid "Storage pool %s created"
msgstr "Le réseau %s a été créé"
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, fuzzy, c-format
msgid "Storage pool %s deleted"
msgstr "Le réseau %s a été supprimé"
@@ -1183,12 +1188,12 @@ msgstr "Le réseau %s a été supprimé"
msgid "Storage pool name"
msgstr "Nom de l'ensemble de stockage"
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, fuzzy, c-format
msgid "Storage volume %s created"
msgstr "Profil %s créé"
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, fuzzy, c-format
msgid "Storage volume %s deleted"
msgstr "Profil %s supprimé"
@@ -1205,7 +1210,7 @@ msgstr "Swap (courant)"
msgid "Swap (peak)"
msgstr "Swap (pointe)"
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr "TYPE"
@@ -1247,7 +1252,7 @@ msgstr "L'image locale '%s' n'a pas été trouvée, essayer '%s:' à la place."
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr "Le pendant de `lxc pause` est `lxc start`."
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr "Le périphérique indiqué n'existe pas"
@@ -1302,7 +1307,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr "Transfert de l'image : %s"
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr "Transfert de l'image : %s"
@@ -1328,7 +1333,7 @@ msgstr "DATE DE PUBLICATION"
msgid "URL"
msgstr "URL"
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr "UTILISÉ PAR"
@@ -2524,6 +2529,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/id.po b/po/id.po
index 7443ae458..d6bf2fe3b 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -171,7 +171,7 @@ msgstr ""
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -214,7 +214,7 @@ msgstr ""
msgid "Auto update: %s"
msgstr ""
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -292,8 +292,8 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -355,12 +355,12 @@ msgstr ""
msgid "Creating the container"
msgstr ""
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -383,7 +383,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr ""
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -445,7 +445,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -454,7 +454,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -552,11 +552,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -658,7 +658,7 @@ msgstr ""
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -670,7 +670,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -679,7 +679,7 @@ msgid "Must supply container name for: "
msgstr ""
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -722,7 +722,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -730,7 +730,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -738,7 +738,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -803,12 +803,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -907,6 +907,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -932,7 +937,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -992,7 +997,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1045,12 +1050,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr ""
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1059,12 +1064,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1081,7 +1086,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1117,7 +1122,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1166,7 +1171,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1192,7 +1197,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -1939,6 +1944,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/it.po b/po/it.po
index 559103d90..674162388 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: 2017-08-18 14:22+0000\n"
"Last-Translator: Alberto Donato <alberto.donato at gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/linux-containers/"
@@ -195,7 +195,7 @@ msgstr "'/' non è permesso nel nome di uno snapshot"
msgid "(none)"
msgstr "(nessuno)"
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr "ALIAS"
@@ -238,7 +238,7 @@ msgstr "Architettura: %s"
msgid "Auto update: %s"
msgstr "Aggiornamento automatico: %s"
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr "Proprietà errata: %s"
@@ -291,7 +291,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -316,8 +316,8 @@ msgstr "Comandi:"
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -379,12 +379,12 @@ msgstr "Creazione di %s in corso"
msgid "Creating the container"
msgstr "Creazione del container in corso"
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr "DESCRIZIONE"
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr "DRIVER"
@@ -407,7 +407,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr "La periferica esiste già: %s"
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr "Import da directory non disponibile su questa piattaforma"
@@ -469,7 +469,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -478,7 +478,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -576,11 +576,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -682,7 +682,7 @@ msgstr ""
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -694,7 +694,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -703,7 +703,7 @@ msgid "Must supply container name for: "
msgstr ""
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -746,7 +746,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -754,7 +754,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -762,7 +762,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -827,12 +827,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -931,6 +931,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -956,7 +961,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -1016,7 +1021,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1069,12 +1074,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr ""
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1083,12 +1088,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1105,7 +1110,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1141,7 +1146,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1190,7 +1195,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1216,7 +1221,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -1963,6 +1968,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/ja.po b/po/ja.po
index d0ec9807d..3a65d3ecb 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LXD\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: 2017-09-28 20:29+0000\n"
"Last-Translator: KATOH Yasufumi <karma at jazz.email.ne.jp>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/linux-"
@@ -175,7 +175,7 @@ msgstr "'/' はスナップショットの名前には使用できません"
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -218,7 +218,7 @@ msgstr "アーキテクチャ: %s"
msgid "Auto update: %s"
msgstr "自動更新: %s"
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr "不正なイメージプロパティ形式: %s"
@@ -273,7 +273,7 @@ msgstr "キー '%s' が設定されていないので削除できません"
msgid "Can't unset key '%s', it's not currently set."
msgstr "キー '%s' が指定されていないので削除できません。"
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr "コンテナ名を取得できません"
@@ -298,8 +298,8 @@ msgstr "コマンド:"
msgid "Config key/value to apply to the new container"
msgstr "新しいコンテナに適用するキー/値の設定"
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr "設定の構文エラー: %s"
@@ -361,12 +361,12 @@ msgstr "%s を作成中"
msgid "Creating the container"
msgstr "コンテナを作成中"
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -389,7 +389,7 @@ msgstr "デバイス %s が %s から削除されました"
msgid "Device already exists: %s"
msgstr "デバイスは既に存在します: %s"
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr "このプラットフォーム上ではディレクトリのインポートは利用できません"
@@ -451,7 +451,7 @@ msgstr "失効日時: %s"
msgid "Expires: never"
msgstr "失効日時: 失効しない"
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr "イメージのエクスポート中: %s"
@@ -460,7 +460,7 @@ msgstr "イメージのエクスポート中: %s"
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -559,11 +559,11 @@ msgstr "イメージは更新済みです。"
msgid "Image copied successfully!"
msgstr "イメージのコピーが成功しました!"
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr "イメージのエクスポートが成功しました!"
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr "イメージは以下のフィンガープリントでインポートされました: %s"
@@ -665,7 +665,7 @@ msgstr "メモリ消費量:"
msgid "Missing summary."
msgstr "サマリーはありません。"
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr "複数のデバイスとマッチします。デバイス名を指定してください。"
@@ -679,7 +679,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr "コンテナを移動します (スナップショットは移動しません)"
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr "ディレクトリからのインポートは root で実行する必要があります"
@@ -688,7 +688,7 @@ msgid "Must supply container name for: "
msgstr "コンテナ名を指定する必要があります: "
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -731,7 +731,7 @@ msgstr "追加すべき証明書が提供されていません"
msgid "No device found for this network"
msgstr "このネットワークに対するデバイスがありません"
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr "このストレージボリュームに対するデバイスがありません。"
@@ -739,7 +739,7 @@ msgstr "このストレージボリュームに対するデバイスがありま
msgid "No fingerprint specified."
msgstr "フィンガープリントが指定されていません。"
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr "\"カスタム\" のボリュームのみがコンテナにアタッチできます。"
@@ -747,7 +747,7 @@ msgstr "\"カスタム\" のボリュームのみがコンテナにアタッチ
msgid "Only https URLs are supported for simplestreams"
msgstr "simplestreams は https の URL のみサポートします"
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr "リモートイメージのインポートは https:// のみをサポートします。"
@@ -812,12 +812,12 @@ msgstr "アクセスが拒否されました。lxd グループに所属して
msgid "Pid: %d"
msgstr "Pid: %d"
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr "再度エディタを開くためには Enter キーを押します"
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr "再度エディタを起動するには Enter キーを押します"
@@ -916,6 +916,11 @@ msgstr "リモート名: %s"
msgid "Remove %s (yes/no): "
msgstr "%s を消去しますか (yes/no): "
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr "ユーザの確認を要求する"
@@ -941,7 +946,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -1001,7 +1006,7 @@ msgstr "拡張した設定を表示する"
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1054,12 +1059,12 @@ msgstr "コンテナの停止に失敗しました!"
msgid "Stopping the container failed: %s"
msgstr "コンテナの停止に失敗しました: %s"
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr "ストレージプール %s を作成しました"
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr "ストレージプール %s を削除しました"
@@ -1068,12 +1073,12 @@ msgstr "ストレージプール %s を削除しました"
msgid "Storage pool name"
msgstr "ストレージプール名"
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr "ストレージボリューム %s を作成しました"
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr "ストレージボリューム %s を削除しました"
@@ -1090,7 +1095,7 @@ msgstr "Swap (現在値)"
msgid "Swap (peak)"
msgstr "Swap (ピーク)"
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1129,7 +1134,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr "\"lxc pause\" の反対のコマンドは \"lxc start\" です。"
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr "指定したデバイスが存在しません"
@@ -1188,7 +1193,7 @@ msgstr "転送モード。pull, push, relay のいずれか(デフォルトはpu
msgid "Transferring container: %s"
msgstr "コンテナを転送中: %s"
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr "イメージを転送中: %s"
@@ -1214,7 +1219,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -2553,6 +2558,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/lxd.pot b/po/lxd.pot
index 4643b3b67..75c71d749 100644
--- a/po/lxd.pot
+++ b/po/lxd.pot
@@ -7,7 +7,7 @@
msgid ""
msgstr "Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
- "POT-Creation-Date: 2017-10-09 23:44-0400\n"
+ "POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
@@ -164,7 +164,7 @@ msgstr ""
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -207,7 +207,7 @@ msgstr ""
msgid "Auto update: %s"
msgstr ""
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -260,7 +260,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -285,7 +285,7 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169 lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171 lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -347,11 +347,11 @@ msgstr ""
msgid "Creating the container"
msgstr ""
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507 lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507 lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -374,7 +374,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr ""
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -436,7 +436,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -445,7 +445,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -543,11 +543,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -649,7 +649,7 @@ msgstr ""
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -661,7 +661,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -669,7 +669,7 @@ msgstr ""
msgid "Must supply container name for: "
msgstr ""
-#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381 lxc/storage.go:671 lxc/storage.go:782
+#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381 lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -712,7 +712,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -720,7 +720,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -728,7 +728,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -793,11 +793,11 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382 lxc/image.go:1170
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382 lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -896,6 +896,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -921,7 +926,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -981,7 +986,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1034,12 +1039,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr ""
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1048,12 +1053,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1070,7 +1075,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1103,7 +1108,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1151,7 +1156,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1177,7 +1182,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -1851,6 +1856,9 @@ msgid "Usage: lxc storage <subcommand> [options]\n"
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+ "lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+ " Rename a storage volume on a storage pool.\n"
+ "\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/nl.po b/po/nl.po
index 95d4cf0d3..ee283cddf 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -171,7 +171,7 @@ msgstr ""
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -214,7 +214,7 @@ msgstr ""
msgid "Auto update: %s"
msgstr ""
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -292,8 +292,8 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -355,12 +355,12 @@ msgstr ""
msgid "Creating the container"
msgstr ""
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -383,7 +383,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr ""
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -445,7 +445,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -454,7 +454,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -552,11 +552,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -658,7 +658,7 @@ msgstr ""
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -670,7 +670,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -679,7 +679,7 @@ msgid "Must supply container name for: "
msgstr ""
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -722,7 +722,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -730,7 +730,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -738,7 +738,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -803,12 +803,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -907,6 +907,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -932,7 +937,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -992,7 +997,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1045,12 +1050,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr ""
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1059,12 +1064,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1081,7 +1086,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1117,7 +1122,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1166,7 +1171,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1192,7 +1197,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -1939,6 +1944,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/ru.po b/po/ru.po
index de5544f9f..4da58df08 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: 2017-09-05 16:48+0000\n"
"Last-Translator: Ilya Yakimavets <ilya.yakimavets at backend.expert>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/linux-containers/"
@@ -256,7 +256,7 @@ msgstr "Нельзя использовать '/' в имени снимка"
msgid "(none)"
msgstr "(пусто)"
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr "ПСЕВДОНИМ"
@@ -300,7 +300,7 @@ msgstr "Архитектура: %s"
msgid "Auto update: %s"
msgstr "Авто-обновление: %s"
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -354,7 +354,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr "Невозможно добавить имя контейнера в список"
@@ -379,8 +379,8 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -442,12 +442,12 @@ msgstr ""
msgid "Creating the container"
msgstr ""
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -470,7 +470,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr ""
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -533,7 +533,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, fuzzy, c-format
msgid "Exporting the image: %s"
msgstr "Копирование образа: %s"
@@ -542,7 +542,7 @@ msgstr "Копирование образа: %s"
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -640,11 +640,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -747,7 +747,7 @@ msgstr " Использование памяти:"
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -759,7 +759,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -768,7 +768,7 @@ msgid "Must supply container name for: "
msgstr ""
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -812,7 +812,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -820,7 +820,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -828,7 +828,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -893,12 +893,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -997,6 +997,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -1022,7 +1027,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -1082,7 +1087,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1135,12 +1140,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr "Невозможно добавить имя контейнера в список"
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1149,12 +1154,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1171,7 +1176,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1207,7 +1212,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1256,7 +1261,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1282,7 +1287,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -2037,6 +2042,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/sr.po b/po/sr.po
index 2723acf02..dd15cc1ad 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -171,7 +171,7 @@ msgstr ""
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -214,7 +214,7 @@ msgstr ""
msgid "Auto update: %s"
msgstr ""
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -292,8 +292,8 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -355,12 +355,12 @@ msgstr ""
msgid "Creating the container"
msgstr ""
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -383,7 +383,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr ""
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -445,7 +445,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -454,7 +454,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -552,11 +552,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -658,7 +658,7 @@ msgstr ""
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -670,7 +670,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -679,7 +679,7 @@ msgid "Must supply container name for: "
msgstr ""
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -722,7 +722,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -730,7 +730,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -738,7 +738,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -803,12 +803,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -907,6 +907,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -932,7 +937,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -992,7 +997,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1045,12 +1050,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr ""
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1059,12 +1064,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1081,7 +1086,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1117,7 +1122,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1166,7 +1171,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1192,7 +1197,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -1939,6 +1944,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/sv.po b/po/sv.po
index 7c407883f..66bee0ebe 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -171,7 +171,7 @@ msgstr ""
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -214,7 +214,7 @@ msgstr ""
msgid "Auto update: %s"
msgstr ""
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -292,8 +292,8 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -355,12 +355,12 @@ msgstr ""
msgid "Creating the container"
msgstr ""
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -383,7 +383,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr ""
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -445,7 +445,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -454,7 +454,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -552,11 +552,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -658,7 +658,7 @@ msgstr ""
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -670,7 +670,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -679,7 +679,7 @@ msgid "Must supply container name for: "
msgstr ""
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -722,7 +722,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -730,7 +730,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -738,7 +738,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -803,12 +803,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -907,6 +907,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -932,7 +937,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -992,7 +997,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1045,12 +1050,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr ""
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1059,12 +1064,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1081,7 +1086,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1117,7 +1122,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1166,7 +1171,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1192,7 +1197,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -1939,6 +1944,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/tr.po b/po/tr.po
index 0f6c133fe..ace65d6c0 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -171,7 +171,7 @@ msgstr ""
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -214,7 +214,7 @@ msgstr ""
msgid "Auto update: %s"
msgstr ""
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -292,8 +292,8 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -355,12 +355,12 @@ msgstr ""
msgid "Creating the container"
msgstr ""
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -383,7 +383,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr ""
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -445,7 +445,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -454,7 +454,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -552,11 +552,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -658,7 +658,7 @@ msgstr ""
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -670,7 +670,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -679,7 +679,7 @@ msgid "Must supply container name for: "
msgstr ""
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -722,7 +722,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -730,7 +730,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -738,7 +738,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -803,12 +803,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -907,6 +907,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -932,7 +937,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -992,7 +997,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1045,12 +1050,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr ""
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1059,12 +1064,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1081,7 +1086,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1117,7 +1122,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1166,7 +1171,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1192,7 +1197,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -1939,6 +1944,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/zh.po b/po/zh.po
index 6e1010f17..4c3d1a42d 100644
--- a/po/zh.po
+++ b/po/zh.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -171,7 +171,7 @@ msgstr ""
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -214,7 +214,7 @@ msgstr ""
msgid "Auto update: %s"
msgstr ""
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -292,8 +292,8 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -355,12 +355,12 @@ msgstr ""
msgid "Creating the container"
msgstr ""
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -383,7 +383,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr ""
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -445,7 +445,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -454,7 +454,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -552,11 +552,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -658,7 +658,7 @@ msgstr ""
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -670,7 +670,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -679,7 +679,7 @@ msgid "Must supply container name for: "
msgstr ""
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -722,7 +722,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -730,7 +730,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -738,7 +738,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -803,12 +803,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -907,6 +907,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -932,7 +937,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -992,7 +997,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1045,12 +1050,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr ""
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1059,12 +1064,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1081,7 +1086,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1117,7 +1122,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1166,7 +1171,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1192,7 +1197,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -1939,6 +1944,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
diff --git a/po/zh_Hans.po b/po/zh_Hans.po
index 5c59ce812..c138e2ffd 100644
--- a/po/zh_Hans.po
+++ b/po/zh_Hans.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2017-10-09 23:44-0400\n"
+"POT-Creation-Date: 2017-10-13 13:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -171,7 +171,7 @@ msgstr ""
msgid "(none)"
msgstr ""
-#: lxc/image.go:227 lxc/image.go:1114
+#: lxc/image.go:227 lxc/image.go:1116
msgid "ALIAS"
msgstr ""
@@ -214,7 +214,7 @@ msgstr ""
msgid "Auto update: %s"
msgstr ""
-#: lxc/image.go:686
+#: lxc/image.go:687
#, c-format
msgid "Bad property: %s"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
msgid "Can't unset key '%s', it's not currently set."
msgstr ""
-#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:643
+#: lxc/network.go:468 lxc/profile.go:528 lxc/storage.go:653
msgid "Cannot provide container name to list"
msgstr ""
@@ -292,8 +292,8 @@ msgstr ""
msgid "Config key/value to apply to the new container"
msgstr ""
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1169
-#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:594 lxc/storage.go:969
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1171
+#: lxc/network.go:418 lxc/profile.go:267 lxc/storage.go:604 lxc/storage.go:979
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -355,12 +355,12 @@ msgstr ""
msgid "Creating the container"
msgstr ""
-#: lxc/image.go:231 lxc/image.go:1116 lxc/list.go:463 lxc/network.go:507
-#: lxc/storage.go:672 lxc/storage.go:783
+#: lxc/image.go:231 lxc/image.go:1118 lxc/list.go:463 lxc/network.go:507
+#: lxc/storage.go:682 lxc/storage.go:793
msgid "DESCRIPTION"
msgstr ""
-#: lxc/storage.go:673
+#: lxc/storage.go:683
msgid "DRIVER"
msgstr ""
@@ -383,7 +383,7 @@ msgstr ""
msgid "Device already exists: %s"
msgstr ""
-#: lxc/image.go:1268
+#: lxc/image.go:1270
msgid "Directory import is not available on this platform"
msgstr ""
@@ -445,7 +445,7 @@ msgstr ""
msgid "Expires: never"
msgstr ""
-#: lxc/image.go:900
+#: lxc/image.go:902
#, c-format
msgid "Exporting the image: %s"
msgstr ""
@@ -454,7 +454,7 @@ msgstr ""
msgid "FILENAME"
msgstr ""
-#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1115
+#: lxc/config.go:399 lxc/image.go:229 lxc/image.go:1117
msgid "FINGERPRINT"
msgstr ""
@@ -552,11 +552,11 @@ msgstr ""
msgid "Image copied successfully!"
msgstr ""
-#: lxc/image.go:960
+#: lxc/image.go:962
msgid "Image exported successfully!"
msgstr ""
-#: lxc/image.go:757
+#: lxc/image.go:758
#, c-format
msgid "Image imported with fingerprint: %s"
msgstr ""
@@ -658,7 +658,7 @@ msgstr ""
msgid "Missing summary."
msgstr ""
-#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:392 lxc/storage.go:512
+#: lxc/network.go:276 lxc/network.go:329 lxc/storage.go:402 lxc/storage.go:522
msgid "More than one device matches, specify the device name."
msgstr ""
@@ -670,7 +670,7 @@ msgstr ""
msgid "Move the container without its snapshots"
msgstr ""
-#: lxc/image.go:1270
+#: lxc/image.go:1272
msgid "Must run as root to import from directory"
msgstr ""
@@ -679,7 +679,7 @@ msgid "Must supply container name for: "
msgstr ""
#: lxc/list.go:465 lxc/network.go:504 lxc/profile.go:555 lxc/remote.go:381
-#: lxc/storage.go:671 lxc/storage.go:782
+#: lxc/storage.go:681 lxc/storage.go:792
msgid "NAME"
msgstr ""
@@ -722,7 +722,7 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage.go:401 lxc/storage.go:521
+#: lxc/storage.go:411 lxc/storage.go:531
msgid "No device found for this storage volume."
msgstr ""
@@ -730,7 +730,7 @@ msgstr ""
msgid "No fingerprint specified."
msgstr ""
-#: lxc/storage.go:345 lxc/storage.go:438
+#: lxc/storage.go:355 lxc/storage.go:448
msgid "Only \"custom\" volumes can be attached to containers."
msgstr ""
@@ -738,7 +738,7 @@ msgstr ""
msgid "Only https URLs are supported for simplestreams"
msgstr ""
-#: lxc/image.go:667
+#: lxc/image.go:668
msgid "Only https:// is supported for remote image import."
msgstr ""
@@ -803,12 +803,12 @@ msgstr ""
msgid "Pid: %d"
msgstr ""
-#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:595 lxc/storage.go:970
+#: lxc/network.go:419 lxc/profile.go:268 lxc/storage.go:605 lxc/storage.go:980
msgid "Press enter to open the editor again"
msgstr ""
#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
-#: lxc/image.go:1170
+#: lxc/image.go:1172
msgid "Press enter to start the editor again"
msgstr ""
@@ -907,6 +907,11 @@ msgstr ""
msgid "Remove %s (yes/no): "
msgstr ""
+#: lxc/storage.go:1013
+#, c-format
+msgid "Renamed storage volume from \"%s\" to \"%s\""
+msgstr ""
+
#: lxc/delete.go:36 lxc/delete.go:37
msgid "Require user confirmation"
msgstr ""
@@ -932,7 +937,7 @@ msgstr ""
msgid "SNAPSHOTS"
msgstr ""
-#: lxc/storage.go:674
+#: lxc/storage.go:684
msgid "SOURCE"
msgstr ""
@@ -992,7 +997,7 @@ msgstr ""
msgid "Show the resources available to the server"
msgstr ""
-#: lxc/storage.go:148
+#: lxc/storage.go:151
msgid "Show the resources available to the storage pool"
msgstr ""
@@ -1045,12 +1050,12 @@ msgstr ""
msgid "Stopping the container failed: %s"
msgstr ""
-#: lxc/storage.go:486
+#: lxc/storage.go:496
#, c-format
msgid "Storage pool %s created"
msgstr ""
-#: lxc/storage.go:545
+#: lxc/storage.go:555
#, c-format
msgid "Storage pool %s deleted"
msgstr ""
@@ -1059,12 +1064,12 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage.go:816
+#: lxc/storage.go:826
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage.go:831
+#: lxc/storage.go:841
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
@@ -1081,7 +1086,7 @@ msgstr ""
msgid "Swap (peak)"
msgstr ""
-#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:781
+#: lxc/list.go:470 lxc/network.go:505 lxc/storage.go:791
msgid "TYPE"
msgstr ""
@@ -1117,7 +1122,7 @@ msgstr ""
msgid "The opposite of \"lxc pause\" is \"lxc start\"."
msgstr ""
-#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:406 lxc/storage.go:526
+#: lxc/network.go:290 lxc/network.go:343 lxc/storage.go:416 lxc/storage.go:536
msgid "The specified device doesn't exist"
msgstr ""
@@ -1166,7 +1171,7 @@ msgstr ""
msgid "Transferring container: %s"
msgstr ""
-#: lxc/image.go:696
+#: lxc/image.go:697
#, c-format
msgid "Transferring image: %s"
msgstr ""
@@ -1192,7 +1197,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:675 lxc/storage.go:784
+#: lxc/network.go:508 lxc/profile.go:556 lxc/storage.go:685 lxc/storage.go:794
msgid "USED BY"
msgstr ""
@@ -1939,6 +1944,9 @@ msgid ""
"lxc storage volume create [<remote>:]<pool> <volume> [key=value]...\n"
" Create a storage volume on a storage pool.\n"
"\n"
+"lxc storage volume rename [<remote>:]<pool> <old name> <new name>\n"
+" Rename a storage volume on a storage pool.\n"
+"\n"
"lxc storage volume get [<remote>:]<pool> <volume> <key>\n"
" Get storage volume configuration on a storage pool.\n"
"\n"
More information about the lxc-devel
mailing list