[lxc-devel] [lxd/master] Fix regression in "lxd init" in interactive mode for clustering
freeekanayaka on Github
lxc-bot at linuxcontainers.org
Sun Mar 4 15:16:59 UTC 2018
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 850 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20180304/6f59095a/attachment.bin>
-------------- next part --------------
From 543bb2af67f4f79571b0360b2eba2e7dedfdb36f Mon Sep 17 00:00:00 2001
From: Free Ekanayaka <free.ekanayaka at canonical.com>
Date: Sun, 4 Mar 2018 15:13:01 +0000
Subject: [PATCH] Fix regression in "lxd init" in interactive mode for
clustering
The lxd init code used to get networks and storages via a dedicated
cluster API, which was filtering out managed networks. The code was
updated to use the regular GET /networks API instead, and to filter
out managed networks. However it was creating a slice of networks
assuming that no network would be skipped.
I tried to add an integration test for interactive mode, but filling
in the trust password is not straightforward. We'll probably want to
figure it out separately.
Signed-off-by: Free Ekanayaka <free.ekanayaka at canonical.com>
---
lxd/main_init.go | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/lxd/main_init.go b/lxd/main_init.go
index 405fb62317..f4b2509026 100644
--- a/lxd/main_init.go
+++ b/lxd/main_init.go
@@ -883,8 +883,8 @@ join:
}
func (cmd *CmdInit) askClusteringStoragePools(targetPools []api.StoragePool) ([]api.StoragePoolsPost, error) {
- pools := make([]api.StoragePoolsPost, len(targetPools))
- for i, pool := range targetPools {
+ pools := make([]api.StoragePoolsPost, 0)
+ for _, pool := range targetPools {
if pool.Status == "PENDING" {
continue // Skip pending pools
}
@@ -902,14 +902,14 @@ func (cmd *CmdInit) askClusteringStoragePools(targetPools []api.StoragePool) ([]
validator := func(string) error { return nil }
post.Config[key] = cmd.Context.AskString(question, "", validator)
}
- pools[i] = post
+ pools = append(pools, post)
}
return pools, nil
}
func (cmd *CmdInit) askClusteringNetworks(targetNetworks []api.Network) ([]api.NetworksPost, error) {
- networks := make([]api.NetworksPost, len(targetNetworks))
- for i, network := range targetNetworks {
+ networks := make([]api.NetworksPost, 0)
+ for _, network := range targetNetworks {
if !network.Managed || network.Status == "PENDING" {
continue // Skip not-managed or pending networks
}
@@ -928,7 +928,7 @@ func (cmd *CmdInit) askClusteringNetworks(targetNetworks []api.Network) ([]api.N
validator := func(string) error { return nil }
post.Config[key] = cmd.Context.AskString(question, "", validator)
}
- networks[i] = post
+ networks = append(networks, post)
}
return networks, nil
}
More information about the lxc-devel
mailing list