The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/7820
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) ===
From 7c2a9c5867671e59377eaa09a518f63bd0498f75 Mon Sep 17 00:00:00 2001 From: Thomas Parrott <thomas.parr...@canonical.com> Date: Mon, 24 Aug 2020 10:23:12 +0100 Subject: [PATCH 1/6] lxd/instance/instance/interface: Moves Project() function into ConfigReader interface Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com> --- lxd/instance/instance_interface.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lxd/instance/instance_interface.go b/lxd/instance/instance_interface.go index e03db25bfb..f0c117f6e7 100644 --- a/lxd/instance/instance_interface.go +++ b/lxd/instance/instance_interface.go @@ -33,6 +33,7 @@ const ( // ConfigReader is used to read instance config. type ConfigReader interface { + Project() string Type() instancetype.Type ExpandedConfig() map[string]string ExpandedDevices() deviceConfig.Devices @@ -99,7 +100,6 @@ type Instance interface { // Properties. ID() int Location() string - Project() string Name() string Description() string Architecture() int From 716ef9bbe88dcbca794f6b71d0ee00a95ca21d9f Mon Sep 17 00:00:00 2001 From: Thomas Parrott <thomas.parr...@canonical.com> Date: Mon, 24 Aug 2020 10:29:28 +0100 Subject: [PATCH 2/6] lxd/instance/drivers/driver/common: Adds Project function Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com> --- lxd/instance/drivers/driver_common.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lxd/instance/drivers/driver_common.go b/lxd/instance/drivers/driver_common.go index cceb455fc9..27d0fd1c81 100644 --- a/lxd/instance/drivers/driver_common.go +++ b/lxd/instance/drivers/driver_common.go @@ -20,6 +20,11 @@ type common struct { state *state.State } +// Project returns instance's project. +func (c *common) Project() string { + return c.project +} + // Type returns the instance's type. func (c *common) Type() instancetype.Type { return c.dbType From 75cffc9456e907f43829f78b5b292bf8f52642b9 Mon Sep 17 00:00:00 2001 From: Thomas Parrott <thomas.parr...@canonical.com> Date: Mon, 24 Aug 2020 10:24:48 +0100 Subject: [PATCH 3/6] lxd/instance/drivers/driver/lxc: Updates lxc to use common fields Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com> --- lxd/instance/drivers/driver_lxc.go | 40 ++++++++++++++---------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/lxd/instance/drivers/driver_lxc.go b/lxd/instance/drivers/driver_lxc.go index bc4669a06b..768b536b8b 100644 --- a/lxd/instance/drivers/driver_lxc.go +++ b/lxd/instance/drivers/driver_lxc.go @@ -143,22 +143,24 @@ func lxcStatusCode(state liblxc.State) api.StatusCode { func lxcCreate(s *state.State, args db.InstanceArgs) (instance.Instance, error) { // Create the container struct c := &lxc{ - state: s, + common: common{ + dbType: args.Type, + localConfig: args.Config, + localDevices: args.Devices, + project: args.Project, + state: s, + profiles: args.Profiles, + }, id: args.ID, - project: args.Project, name: args.Name, node: args.Node, description: args.Description, ephemeral: args.Ephemeral, architecture: args.Architecture, - dbType: args.Type, snapshot: args.Snapshot, stateful: args.Stateful, creationDate: args.CreationDate, lastUsedDate: args.LastUsedDate, - profiles: args.Profiles, - localConfig: args.Config, - localDevices: args.Devices, expiryDate: args.ExpiryDate, } @@ -399,20 +401,22 @@ func lxcUnload(c *lxc) { // Create a container struct without initializing it. func lxcInstantiate(s *state.State, args db.InstanceArgs, expandedDevices deviceConfig.Devices) instance.Instance { c := &lxc{ - state: s, + common: common{ + dbType: args.Type, + localConfig: args.Config, + localDevices: args.Devices, + project: args.Project, + state: s, + profiles: args.Profiles, + }, id: args.ID, - project: args.Project, name: args.Name, description: args.Description, ephemeral: args.Ephemeral, architecture: args.Architecture, - dbType: args.Type, snapshot: args.Snapshot, creationDate: args.CreationDate, lastUsedDate: args.LastUsedDate, - profiles: args.Profiles, - localConfig: args.Config, - localDevices: args.Devices, stateful: args.Stateful, node: args.Node, expiryDate: args.ExpiryDate, @@ -441,32 +445,26 @@ func lxcInstantiate(s *state.State, args db.InstanceArgs, expandedDevices device // The LXC container driver. type lxc struct { + common + // Properties architecture int - dbType instancetype.Type snapshot bool creationDate time.Time lastUsedDate time.Time ephemeral bool id int - project string name string description string stateful bool // Config - expandedConfig map[string]string - expandedDevices deviceConfig.Devices - fromHook bool - localConfig map[string]string - localDevices deviceConfig.Devices - profiles []string + fromHook bool // Cache c *liblxc.Container cConfig bool - state *state.State idmapset *idmap.IdmapSet // Storage From c6fdfccc7e039d9a44f53329ccc4e3fbdebdba10 Mon Sep 17 00:00:00 2001 From: Thomas Parrott <thomas.parr...@canonical.com> Date: Mon, 24 Aug 2020 10:27:11 +0100 Subject: [PATCH 4/6] lxd/instance/drivers/driver/lxc: Removes driver specific Project function Not needed as in common. Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com> --- lxd/instance/drivers/driver_lxc.go | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lxd/instance/drivers/driver_lxc.go b/lxd/instance/drivers/driver_lxc.go index 768b536b8b..196e70cdbc 100644 --- a/lxd/instance/drivers/driver_lxc.go +++ b/lxd/instance/drivers/driver_lxc.go @@ -6727,11 +6727,6 @@ func (c *lxc) Location() string { return c.node } -// Project returns instance project. -func (c *lxc) Project() string { - return c.project -} - // Name returns instance name. func (c *lxc) Name() string { return c.name From 36e40026915a953314ee766f1ed5b8f56d05e0a2 Mon Sep 17 00:00:00 2001 From: Thomas Parrott <thomas.parr...@canonical.com> Date: Mon, 24 Aug 2020 10:28:46 +0100 Subject: [PATCH 5/6] lxd/instance/drivers/driver/qemu: Removes driver specific Project function Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com> --- lxd/instance/drivers/driver_qemu.go | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lxd/instance/drivers/driver_qemu.go b/lxd/instance/drivers/driver_qemu.go index 90cb7045f5..1d14ca7555 100644 --- a/lxd/instance/drivers/driver_qemu.go +++ b/lxd/instance/drivers/driver_qemu.go @@ -4282,11 +4282,6 @@ func (vm *qemu) Location() string { return vm.node } -// Project returns instance's project. -func (vm *qemu) Project() string { - return vm.project -} - // Name returns the instance's name. func (vm *qemu) Name() string { return vm.name From 578cfc68b50e223c01febd10465d4b657e8c76a3 Mon Sep 17 00:00:00 2001 From: Thomas Parrott <thomas.parr...@canonical.com> Date: Thu, 27 Aug 2020 13:35:22 +0100 Subject: [PATCH 6/6] lxd/network/network/utils: Improves UpdateDNSMasqStatic error message Signed-off-by: Thomas Parrott <thomas.parr...@canonical.com> --- lxd/network/network_utils.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lxd/network/network_utils.go b/lxd/network/network_utils.go index b4757742d3..36ea1420b8 100644 --- a/lxd/network/network_utils.go +++ b/lxd/network/network_utils.go @@ -324,8 +324,9 @@ func UpdateDNSMasqStatic(s *state.State, networkName string) error { n, err := LoadByName(s, network) if err != nil { - return err + return errors.Wrapf(err, "Failed to load network %q in project %q for dnsmasq update", project.Default, network) } + config := n.Config() // Wipe everything clean.
_______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel