[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