[lxc-devel] [go-lxc/v2] adapt to new liblxc

brauner on Github lxc-bot at linuxcontainers.org
Mon Jul 10 23:11:22 UTC 2017


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 365 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20170710/411dcc19/attachment.bin>
-------------- next part --------------
From 05a54b103460be04692d47f75d9947697e82bfae Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Tue, 11 Jul 2017 01:07:12 +0200
Subject: [PATCH 1/3] liblxc: lxc.logfile --> lxc.log.file

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
 container.go | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/container.go b/container.go
index 4d63144..45bcf5f 100644
--- a/container.go
+++ b/container.go
@@ -1449,14 +1449,25 @@ func (c *Container) IPv6Addresses() ([]string, error) {
 
 // LogFile returns the name of the logfile.
 func (c *Container) LogFile() string {
+	if VersionAtLeast(2, 1, 0) {
+		return c.ConfigItem("lxc.log.file")[0]
+	}
+
 	return c.ConfigItem("lxc.logfile")[0]
 }
 
 // SetLogFile sets the name of the logfile.
 func (c *Container) SetLogFile(filename string) error {
-	if err := c.SetConfigItem("lxc.logfile", filename); err != nil {
-		return err
+	var err error
+	if VersionAtLeast(2, 1, 0) {
+		err = c.SetConfigItem("lxc.log.file", filename)
+	} else {
+		err = c.SetConfigItem("lxc.logfile", filename)
 	}
+	if err != nil {
+		return er
+	}
+
 	return nil
 }
 

From 62e7d9184e177579c9e7834aa0c8953d4bc30c93 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Tue, 11 Jul 2017 01:07:38 +0200
Subject: [PATCH 2/3] liblxc: lxc.loglevel --> lxc.log.level

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
 container.go | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/container.go b/container.go
index 45bcf5f..4269760 100644
--- a/container.go
+++ b/container.go
@@ -1473,13 +1473,23 @@ func (c *Container) SetLogFile(filename string) error {
 
 // LogLevel returns the level of the logfile.
 func (c *Container) LogLevel() LogLevel {
+	if VersionAtLeast(2, 1, 0) {
+		return logLevelMap[c.ConfigItem("lxc.log.level")[0]]
+	}
+
 	return logLevelMap[c.ConfigItem("lxc.loglevel")[0]]
 }
 
 // SetLogLevel sets the level of the logfile.
 func (c *Container) SetLogLevel(level LogLevel) error {
-	if err := c.SetConfigItem("lxc.loglevel", level.String()); err != nil {
-		return err
+	var err error
+	if VersionAtLeast(2, 1, 0) {
+		err = c.SetConfigItem("lxc.log.level", level.String())
+	} else {
+		err = c.SetConfigItem("lxc.loglevel", level.String())
+	}
+	if err != nil {
+		return er
 	}
 	return nil
 }

From 7189d141798878e26c94cebf7c37a557f913c9f5 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Tue, 11 Jul 2017 01:10:35 +0200
Subject: [PATCH 3/3] liblxc: lxc.network* --> lxc.net*

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
 container.go | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/container.go b/container.go
index 4269760..8efea4d 100644
--- a/container.go
+++ b/container.go
@@ -1279,16 +1279,21 @@ func (c *Container) InterfaceStats() (map[string]map[string]ByteSize, error) {
 
 	statistics := make(map[string]map[string]ByteSize)
 
-	for i := 0; i < len(c.ConfigItem("lxc.network")); i++ {
-		interfaceType := c.RunningConfigItem(fmt.Sprintf("lxc.network.%d.type", i))
+	netPrefix := "lxc.net"
+	if !VersionAtLeast(2, 1, 0) {
+		netPrefix = "lxc.network"
+	}
+
+	for i := 0; i < len(c.ConfigItem(networkPrefix)); i++ {
+		interfaceType := c.RunningConfigItem(fmt.Sprintf("%s.%d.type", networkPrefix, i))
 		if interfaceType == nil {
 			continue
 		}
 
 		if interfaceType[0] == "veth" {
-			interfaceName = c.RunningConfigItem(fmt.Sprintf("lxc.network.%d.veth.pair", i))[0]
+			interfaceName = c.RunningConfigItem(fmt.Sprintf("%s.%d.veth.pair", networkPrefix, i))[0]
 		} else {
-			interfaceName = c.RunningConfigItem(fmt.Sprintf("lxc.network.%d.link", i))[0]
+			interfaceName = c.RunningConfigItem(fmt.Sprintf("%s.%d.link", networkPrefix, i))[0]
 		}
 
 		for _, v := range []string{"rx", "tx"} {


More information about the lxc-devel mailing list