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

Reply via email to