[lxc-devel] [lxd/master] Add a way to retrieve network leases

stgraber on Github lxc-bot at linuxcontainers.org
Fri Feb 9 23:03:25 UTC 2018


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 301 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20180209/4d5230b3/attachment.bin>
-------------- next part --------------
From f8a94c63b3a4d925dd47ad62d245a281313a0bc7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Fri, 9 Feb 2018 17:36:07 -0500
Subject: [PATCH 1/7] api: Add NetworkLease struct

---
 shared/api/network.go | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/shared/api/network.go b/shared/api/network.go
index 4fe3e8705..3c0a499e5 100644
--- a/shared/api/network.go
+++ b/shared/api/network.go
@@ -44,3 +44,13 @@ type Network struct {
 func (network *Network) Writable() NetworkPut {
 	return network.NetworkPut
 }
+
+// NetworkLease represents a DHCP lease
+//
+// API extension: network_leases
+type NetworkLease struct {
+	Hostname string `json:"hostname" yaml:"hostname"`
+	Hwaddr   string `json:"hwaddr" yaml:"hwaddr"`
+	Address  string `json:"address" yaml:"address"`
+	Type     string `json:"type" yaml:"type"`
+}

From 38652ca988e17e341ffb063f5f17202a9886f04b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Fri, 9 Feb 2018 17:36:36 -0500
Subject: [PATCH 2/7] networks: Add leases API
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Closes #4155

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 doc/api-extensions.md |   4 ++
 lxd/api_1.0.go        |   1 +
 lxd/networks.go       | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++
 shared/version/api.go |   1 +
 4 files changed, 121 insertions(+)

diff --git a/doc/api-extensions.md b/doc/api-extensions.md
index 2c56e2dce..7fb3445c7 100644
--- a/doc/api-extensions.md
+++ b/doc/api-extensions.md
@@ -401,3 +401,7 @@ Introduces a new ipv4.dhcp.gateway network config key to set an alternate gatewa
 
 ## file\_get\_symlink
 This makes it possible to retrieve symlinks using the file API.
+
+## network\_leases
+Adds a new /1.0/networks/NAME/leases API endpoint to query the lease database on
+bridges which run a LXD-managed DHCP server.
diff --git a/lxd/api_1.0.go b/lxd/api_1.0.go
index 4c18d2459..923c2c611 100644
--- a/lxd/api_1.0.go
+++ b/lxd/api_1.0.go
@@ -43,6 +43,7 @@ var api10 = []Command{
 	operationWebsocket,
 	networksCmd,
 	networkCmd,
+	networkLeasesCmd,
 	api10Cmd,
 	certificatesCmd,
 	certificateFingerprintCmd,
diff --git a/lxd/networks.go b/lxd/networks.go
index 50dcb12c8..8adf3cb0b 100644
--- a/lxd/networks.go
+++ b/lxd/networks.go
@@ -397,6 +397,121 @@ func doNetworkUpdate(d *Daemon, name string, oldConfig map[string]string, req ap
 
 var networkCmd = Command{name: "networks/{name}", get: networkGet, delete: networkDelete, post: networkPost, put: networkPut, patch: networkPatch}
 
+func networkLeasesGet(d *Daemon, r *http.Request) Response {
+	name := mux.Vars(r)["name"]
+	leaseFile := shared.VarPath("networks", name, "dnsmasq.leases")
+
+	// Try to get the network
+	n, err := doNetworkGet(d, name)
+	if err != nil {
+		return SmartError(err)
+	}
+
+	// Validate that we do have leases for it
+	if !n.Managed || n.Type != "bridge" {
+		return NotFound
+	}
+
+	if !shared.PathExists(leaseFile) {
+		return BadRequest(fmt.Errorf("No lease file for network"))
+	}
+
+	// Read all the leases
+	content, err := ioutil.ReadFile(leaseFile)
+	if err != nil {
+		return SmartError(err)
+	}
+
+	leases := []api.NetworkLease{}
+
+	// Get all the containers
+	containers, err := d.db.ContainersList(db.CTypeRegular)
+	if err != nil {
+		return SmartError(err)
+	}
+
+	// Get static leases
+	for _, cName := range containers {
+		// Load the container
+		c, err := containerLoadByName(d.State(), cName)
+		if err != nil {
+			continue
+		}
+
+		// Go through all its devices (including profiles
+		for k, d := range c.ExpandedDevices() {
+			// Skip uninteresting entries
+			if d["type"] != "nic" || d["nictype"] != "bridged" || d["parent"] != name {
+				continue
+			}
+
+			// Fill in the hwaddr from volatile
+			d, err = c.(*containerLXC).fillNetworkDevice(k, d)
+			if err != nil {
+				continue
+			}
+
+			// Add the lease
+			if d["ipv4.address"] != "" {
+				leases = append(leases, api.NetworkLease{
+					Hostname: cName,
+					Address:  d["ipv4.address"],
+					Hwaddr:   d["hwaddr"],
+					Type:     "static",
+				})
+			}
+
+			if d["ipv6.address"] != "" {
+				leases = append(leases, api.NetworkLease{
+					Hostname: cName,
+					Address:  d["ipv6.address"],
+					Hwaddr:   d["hwaddr"],
+					Type:     "static",
+				})
+			}
+		}
+	}
+
+	// Get dynamic leases
+	for _, lease := range strings.Split(string(content), "\n") {
+		fields := strings.Fields(lease)
+		if len(fields) >= 5 {
+			// Parse the MAC
+			mac := networkGetMacSlice(fields[1])
+			macStr := strings.Join(mac, ":")
+
+			if len(macStr) < 17 && fields[4] != "" {
+				macStr = fields[4][len(fields[4])-17:]
+			}
+
+			// Look for an existing static entry
+			found := false
+			for _, entry := range leases {
+				if entry.Hwaddr == macStr && entry.Address == fields[2] {
+					found = true
+					break
+				}
+			}
+
+			if found {
+				continue
+			}
+
+			// Add the lease to the list
+			leases = append(leases, api.NetworkLease{
+				Hostname: fields[3],
+				Address:  fields[2],
+				Hwaddr:   macStr,
+				Type:     "dynamic",
+			})
+		}
+	}
+
+	return SyncResponse(true, leases)
+}
+
+var networkLeasesCmd = Command{name: "networks/{name}/leases", get: networkLeasesGet}
+
 // The network structs and functions
 func networkLoadByName(s *state.State, name string) (*network, error) {
 	id, dbInfo, err := s.DB.NetworkGet(name)
diff --git a/shared/version/api.go b/shared/version/api.go
index 4445eb9f2..b80f3b032 100644
--- a/shared/version/api.go
+++ b/shared/version/api.go
@@ -89,4 +89,5 @@ var APIExtensions = []string{
 	"proxy",
 	"network_dhcp_gateway",
 	"file_get_symlink",
+	"network_leases",
 }

From ae98421f7ebf0c43a4ba66663296650a12c1b927 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Fri, 9 Feb 2018 17:37:10 -0500
Subject: [PATCH 3/7] client: Add network leases handling
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 client/interfaces.go   |  1 +
 client/lxd_networks.go | 13 +++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/client/interfaces.go b/client/interfaces.go
index 85d0ec207..b2488daf8 100644
--- a/client/interfaces.go
+++ b/client/interfaces.go
@@ -122,6 +122,7 @@ type ContainerServer interface {
 	GetNetworkNames() (names []string, err error)
 	GetNetworks() (networks []api.Network, err error)
 	GetNetwork(name string) (network *api.Network, ETag string, err error)
+	GetNetworkLeases(name string) (leases []api.NetworkLease, err error)
 	CreateNetwork(network api.NetworksPost) (err error)
 	UpdateNetwork(name string, network api.NetworkPut, ETag string) (err error)
 	RenameNetwork(name string, network api.NetworkPost) (err error)
diff --git a/client/lxd_networks.go b/client/lxd_networks.go
index 84ea4703c..f48262341 100644
--- a/client/lxd_networks.go
+++ b/client/lxd_networks.go
@@ -54,6 +54,19 @@ func (r *ProtocolLXD) GetNetwork(name string) (*api.Network, string, error) {
 	return &network, etag, nil
 }
 
+// GetNetworkLeases returns a list of Network struct
+func (r *ProtocolLXD) GetNetworkLeases(name string) ([]api.NetworkLease, error) {
+	leases := []api.NetworkLease{}
+
+	// Fetch the raw value
+	_, err := r.queryStruct("GET", fmt.Sprintf("/networks/%s/leases", url.QueryEscape(name)), nil, "", &leases)
+	if err != nil {
+		return nil, err
+	}
+
+	return leases, nil
+}
+
 // CreateNetwork defines a new network using the provided Network struct
 func (r *ProtocolLXD) CreateNetwork(network api.NetworksPost) error {
 	if !r.HasExtension("network") {

From c9742d8f7750b1b919dc75a5d71e7717466a30b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Fri, 9 Feb 2018 17:37:31 -0500
Subject: [PATCH 4/7] lxc/network: Add list-leases
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 lxc/network.go | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/lxc/network.go b/lxc/network.go
index 3ba7c0ca1..b70f42dc3 100644
--- a/lxc/network.go
+++ b/lxc/network.go
@@ -55,6 +55,9 @@ Manage and attach containers to networks.
 lxc network list [<remote>:]
     List available networks.
 
+lxc network list-leases [<remote>:]<network>
+    List the DHCP leases for the network
+
 lxc network show [<remote>:]<network>
     Show details of a network.
 
@@ -143,6 +146,8 @@ func (c *networkCmd) run(conf *config.Config, args []string) error {
 		return c.doNetworkRename(client, network, args[2])
 	case "get":
 		return c.doNetworkGet(client, network, args[2:])
+	case "list-leases":
+		return c.doNetworkListLeases(client, network)
 	case "set":
 		return c.doNetworkSet(client, network, args[2:])
 	case "unset":
@@ -471,6 +476,33 @@ func (c *networkCmd) doNetworkGet(client lxd.ContainerServer, name string, args
 	return nil
 }
 
+func (c *networkCmd) doNetworkListLeases(client lxd.ContainerServer, name string) error {
+	leases, err := client.GetNetworkLeases(name)
+	if err != nil {
+		return err
+	}
+
+	data := [][]string{}
+	for _, lease := range leases {
+		data = append(data, []string{lease.Hostname, lease.Hwaddr, lease.Address, strings.ToUpper(lease.Type)})
+	}
+
+	table := tablewriter.NewWriter(os.Stdout)
+	table.SetAutoWrapText(false)
+	table.SetAlignment(tablewriter.ALIGN_LEFT)
+	table.SetRowLine(true)
+	table.SetHeader([]string{
+		i18n.G("HOSTNAME"),
+		i18n.G("MAC ADDRESS"),
+		i18n.G("IP ADDRESS"),
+		i18n.G("TYPE")})
+	sort.Sort(byName(data))
+	table.AppendBulk(data)
+	table.Render()
+
+	return nil
+}
+
 func (c *networkCmd) doNetworkList(conf *config.Config, args []string) error {
 	var remote string
 	var err error

From 93b5f0c237c8ce41f38446a71f60d8ec054a9f50 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Fri, 9 Feb 2018 17:40:30 -0500
Subject: [PATCH 5/7] tests: Add test for network leases
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 test/suites/network.sh | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/test/suites/network.sh b/test/suites/network.sh
index 6a51a9fe0..b5d272a71 100644
--- a/test/suites/network.sh
+++ b/test/suites/network.sh
@@ -40,6 +40,9 @@ test_network() {
   grep -q "${v6_addr}.*nettest" "${LXD_DIR}/networks/lxdt$$/dnsmasq.hosts/nettest"
   lxc start nettest
 
+  lxc network list-leases lxdt$$ | grep STATIC | grep -q "${v4_addr}"
+  lxc network list-leases lxdt$$ | grep STATIC | grep -q "${v6_addr}"
+
   SUCCESS=0
   # shellcheck disable=SC2034
   for i in $(seq 10); do

From 24deea721cf714252e09136189e5f0be108d2884 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Fri, 9 Feb 2018 17:44:27 -0500
Subject: [PATCH 6/7] i18n: Update translation templates
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 po/de.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/el.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/es.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/fi.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/fr.po      | 99 ++++++++++++++++++++++++++++++++++-------------------------
 po/id.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/it.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/ja.po      | 99 ++++++++++++++++++++++++++++++++++-------------------------
 po/lxd.pot    | 95 ++++++++++++++++++++++++++++++++------------------------
 po/nb_NO.po   | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/nl.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/pl.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/pt_BR.po   | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/ru.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/sr.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/sv.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/tr.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/zh.po      | 98 +++++++++++++++++++++++++++++++++-------------------------
 po/zh_Hans.po | 98 +++++++++++++++++++++++++++++++++-------------------------
 19 files changed, 1083 insertions(+), 778 deletions(-)

diff --git a/po/de.po b/po/de.po
index d0f7f4882..ac31e0200 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LXD\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: 2017-02-14 17:11+0000\n"
 "Last-Translator: Tim Rose <tim at netlope.de>\n"
 "Language-Team: German <https://hosted.weblate.org/projects/linux-containers/"
@@ -255,17 +255,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -379,11 +379,11 @@ msgstr ""
 "Optionen:\n"
 "\n"
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -428,8 +428,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr "kann nicht zum selben Container Namen kopieren"
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, fuzzy, c-format
 msgid "Config parsing error: %s"
 msgstr "YAML Analyse Fehler %v\n"
@@ -497,7 +497,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr "kann nicht zum selben Container Namen kopieren"
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -520,7 +520,7 @@ msgstr "Gerät %s wurde zu %s hinzugefügt\n"
 msgid "Device %s removed from %s"
 msgstr "Gerät %s wurde von %s entfernt\n"
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, fuzzy, c-format
 msgid "Device already exists: %s"
 msgstr "entfernte Instanz %s existiert bereits"
@@ -572,7 +572,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr "Flüchtiger Container"
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, fuzzy, c-format
 msgid "Error updating template file: %s"
 msgstr "Fehler beim hinzufügen des Alias %s\n"
@@ -603,7 +603,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -623,12 +623,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr "kann nicht zum selben Container Namen kopieren"
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -637,7 +637,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 #, fuzzy
 msgid "Filtering isn't supported yet"
 msgstr ""
@@ -675,10 +675,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr "Generiere Nutzerzertifikat. Dies kann wenige Minuten dauern...\n"
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -749,7 +757,7 @@ msgstr "Akzeptiere Zertifikat"
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, fuzzy, c-format
 msgid "Invalid path %s"
 msgstr "Ungültiges Ziel %s"
@@ -759,12 +767,12 @@ msgstr "Ungültiges Ziel %s"
 msgid "Invalid protocol: %s"
 msgstr "Ungültiges Ziel %s"
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr "Ungültige Quelle %s"
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr "Ungültiges Ziel %s"
@@ -798,7 +806,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -823,15 +835,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr "Fehlende Zusammenfassung."
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 "Mehr als eine Datei herunterzuladen, aber das Ziel ist kein Verzeichnis"
@@ -850,12 +862,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr "der Name des Ursprung Containers muss angegeben werden"
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -864,17 +876,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, fuzzy, c-format
 msgid "Network %s created"
 msgstr "Profil %s erstellt\n"
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, fuzzy, c-format
 msgid "Network %s deleted"
 msgstr "Profil %s gelöscht\n"
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, fuzzy, c-format
 msgid "Network %s renamed to %s"
 msgstr "Profil %s erstellt\n"
@@ -897,7 +909,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr "Kein Zertifikat zum hinzufügen bereitgestellt"
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 #, fuzzy
 msgid "No device found for this network"
 msgstr "Kein Zertifikat für diese Verbindung"
@@ -923,7 +935,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -996,11 +1008,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1093,7 +1105,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr "Entferntes Administrator Passwort"
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 #, fuzzy
 msgid "Remote operation canceled by user"
 msgstr "Server Zertifikat vom Benutzer nicht akzeptiert"
@@ -1315,7 +1327,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1353,12 +1366,12 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 #, fuzzy
 msgid "The specified device doesn't exist"
 msgstr "entfernte Instanz %s existiert nicht"
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 #, fuzzy
 msgid "The specified device doesn't match the network"
 msgstr "entfernte Instanz %s existiert nicht"
@@ -1436,7 +1449,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1444,7 +1457,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, fuzzy, c-format
 msgid "Unknown file type '%s'"
 msgstr "Unbekannter Befehl %s für Abbild"
@@ -2060,6 +2073,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2469,7 +2485,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2491,7 +2507,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr "Zustand des laufenden Containers sichern oder nicht"
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2517,7 +2533,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2577,7 +2593,7 @@ msgstr "OK (y/n)? "
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/el.po b/po/el.po
index 0e68d83c8..dbc10ee1f 100644
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: 2017-02-14 08:00+0000\n"
 "Last-Translator: Simos Xenitellis <simos.65 at gmail.com>\n"
 "Language-Team: Greek <https://hosted.weblate.org/projects/linux-containers/"
@@ -151,17 +151,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -269,11 +269,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -317,8 +317,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -384,7 +384,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -407,7 +407,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -457,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -488,7 +488,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -507,12 +507,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -521,7 +521,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -554,10 +554,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -626,7 +634,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -636,12 +644,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -675,7 +683,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -700,15 +712,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr "  Χρήση μνήμης:"
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -724,12 +736,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -738,17 +750,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -770,7 +782,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -794,7 +806,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -864,11 +876,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -959,7 +971,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1172,7 +1184,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1208,11 +1221,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1287,7 +1300,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1295,7 +1308,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1807,6 +1820,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2156,7 +2172,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2176,7 +2192,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2200,7 +2216,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2259,7 +2275,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/es.po b/po/es.po
index 153806fa1..0dbe60af0 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/fi.po b/po/fi.po
index 76fd54f0a..f106ed2e3 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/fr.po b/po/fr.po
index 3fd9c092f..70f4c22ca 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LXD\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: 2018-01-02 10:52+0000\n"
 "Last-Translator: Bruno Perel <brunoperel at gmail.com>\n"
 "Language-Team: French <https://hosted.weblate.org/projects/linux-containers/"
@@ -246,17 +246,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr "%s (%d de plus)"
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr "%s n'est pas un répertoire"
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr "%v (interrompre encore deux fois pour forcer)"
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr "'%s' n'est pas un format de fichier pris en charge."
@@ -366,12 +366,12 @@ msgstr "CRÉÉ À"
 msgid "Cached: %s"
 msgstr "Créé : %s"
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 #, fuzzy
 msgid "Can't pull a directory without --recursive"
 msgstr "impossible de récupérer un répertoire sans --recursive"
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr "Impossible de lire depuis stdin : %s"
@@ -417,8 +417,8 @@ msgstr "Commandes :"
 msgid "Config key/value to apply to the new container"
 msgstr "Clé/valeur de configuration à appliquer au nouveau conteneur"
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr "Erreur lors de la lecture de la configuration : %s"
@@ -485,7 +485,7 @@ msgstr "Création de %s"
 msgid "Creating the container"
 msgstr "Création du conteneur"
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr "DESCRIPTION"
@@ -508,7 +508,7 @@ msgstr "Périphérique %s ajouté à %s"
 msgid "Device %s removed from %s"
 msgstr "Périphérique %s retiré de %s"
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, fuzzy, c-format
 msgid "Device already exists: %s"
 msgstr "le serveur distant %s existe déjà"
@@ -558,7 +558,7 @@ msgstr "Environnement :"
 msgid "Ephemeral container"
 msgstr "Conteneur éphémère"
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, fuzzy, c-format
 msgid "Error updating template file: %s"
 msgstr "Import de l'image : %s"
@@ -590,7 +590,7 @@ msgstr "NOM"
 msgid "FINGERPRINT"
 msgstr "EMPREINTE"
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, fuzzy, c-format
 msgid "Failed to create alias %s"
 msgstr "Échec lors de la génération de 'lxc.%s.1': %v"
@@ -610,12 +610,12 @@ msgstr "Échec lors de la génération de 'lxc.1': %v"
 msgid "Failed to get the new container name"
 msgstr "Profil à appliquer au nouveau conteneur"
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -625,7 +625,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr "Mode rapide (identique à --columns=nsacPt"
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -659,11 +659,20 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr "Génération d'un certificat client. Ceci peut prendre une minute…"
 
+#: lxc/network.go:495
+#, fuzzy
+msgid "HOSTNAME"
+msgstr "NOM"
+
 #: lxc/operation.go:152
 #, fuzzy
 msgid "ID"
 msgstr "PID"
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr "IPv4"
@@ -737,7 +746,7 @@ msgstr "Certificat invalide"
 msgid "Invalid configuration key"
 msgstr "Clé de configuration invalide"
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, fuzzy, c-format
 msgid "Invalid path %s"
 msgstr "Cible invalide %s"
@@ -747,12 +756,12 @@ msgstr "Cible invalide %s"
 msgid "Invalid protocol: %s"
 msgstr "Cible invalide %s"
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr "Source invalide %s"
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr "Cible invalide %s"
@@ -786,7 +795,11 @@ msgstr "Dernière utilisation : jamais"
 msgid "Log:"
 msgstr "Journal : "
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr "GÉRÉ"
 
@@ -811,15 +824,15 @@ msgstr "Mémoire (pointe)"
 msgid "Memory usage:"
 msgstr "  Mémoire utilisée :"
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr "Résumé manquant."
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr "Plus d'un périphérique correspond, spécifier le nom du périphérique."
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 "Plusieurs fichiers à télécharger, mais la destination n'est pas un dossier"
@@ -837,12 +850,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr "Vous devez fournir le nom d'un conteneur pour : "
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr "NOM"
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr "NON"
 
@@ -851,17 +864,17 @@ msgstr "NON"
 msgid "Name: %s"
 msgstr "Nom : %s"
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr "Le réseau %s a été créé"
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr "Le réseau %s a été supprimé"
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, fuzzy, c-format
 msgid "Network %s renamed to %s"
 msgstr "Le réseau %s a été créé"
@@ -883,7 +896,7 @@ msgstr "Nouvel alias à définir sur la cible"
 msgid "No certificate provided to add"
 msgstr "Un certificat à ajouter n'a pas été fourni"
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr "Aucun périphérique existant pour ce réseau"
 
@@ -909,7 +922,7 @@ msgstr "Seules les URLs https sont supportées par simplestreams"
 msgid "Only https:// is supported for remote image import."
 msgstr "Seul https:// est supporté par l'import d'images distantes."
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr "Seuls les réseaux gérés par LXD peuvent être modifiés."
 
@@ -980,11 +993,11 @@ msgstr "Permission refusée, êtes-vous dans le groupe lxd ?"
 msgid "Pid: %d"
 msgstr "Pid : %d"
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr "Appuyer sur Entrée pour ouvrir à nouveau l'éditeur"
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr "Appuyer sur Entrée pour lancer à nouveau l'éditeur"
@@ -1075,7 +1088,7 @@ msgstr "Récupération de l'image : %s"
 msgid "Remote admin password"
 msgstr "Mot de passe de l'administrateur distant"
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 #, fuzzy
 msgid "Remote operation canceled by user"
 msgstr "Certificat serveur rejeté par l'utilisateur"
@@ -1296,7 +1309,8 @@ msgstr "Swap (courant)"
 msgid "Swap (peak)"
 msgstr "Swap (pointe)"
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr "TYPE"
 
@@ -1338,11 +1352,11 @@ msgstr "L'image locale '%s' n'a pas été trouvée, essayer '%s:' à la place."
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr "Le pendant de `lxc pause` est `lxc start`."
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr "Le périphérique indiqué n'existe pas"
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr "le périphérique indiqué ne correspond pas au réseau"
 
@@ -1423,7 +1437,7 @@ msgstr "DATE DE PUBLICATION"
 msgid "URL"
 msgstr "URL"
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr "UTILISÉ PAR"
 
@@ -1431,7 +1445,7 @@ msgstr "UTILISÉ PAR"
 msgid "Unable to find help2man."
 msgstr "Impossible de trouver help2man."
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -2252,6 +2266,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2753,7 +2770,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr "L'utilisateur a annulé l'opération de suppression."
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2775,7 +2792,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr "Réaliser ou pas l'instantané de l'état de fonctionnement du conteneur"
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr "OUI"
 
@@ -2803,7 +2820,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr "impossible de supprimer le serveur distant par défaut"
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr "impossible de spécifier uid/gid/mode en mode récursif"
 
@@ -2862,7 +2879,7 @@ msgstr "ok (y/n) ?"
 msgid "processing aliases failed %s\n"
 msgstr "l'analyse des alias a échoué %s\n"
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr "l'édition récursive ne fait aucun sens :("
 
diff --git a/po/id.po b/po/id.po
index af6c7ce69..02411a267 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/it.po b/po/it.po
index a34c108c4..2af815909 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: 2017-08-18 14:22+0000\n"
 "Last-Translator: Alberto Donato <alberto.donato at gmail.com>\n"
 "Language-Team: Italian <https://hosted.weblate.org/projects/linux-containers/"
@@ -172,17 +172,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr "%s (altri %d)"
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr "%v (interrompi altre due volte per forzare)"
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr "'%s' non è un tipo di file supportato."
@@ -290,11 +290,11 @@ msgstr "CREATO IL"
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr "Impossibile effettuare il pull di una directory senza --recursive"
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr "Impossible leggere da stdin: %s"
@@ -338,8 +338,8 @@ msgstr "Comandi:"
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -405,7 +405,7 @@ msgstr "Creazione di %s in corso"
 msgid "Creating the container"
 msgstr "Creazione del container in corso"
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr "DESCRIZIONE"
@@ -428,7 +428,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr "La periferica esiste già: %s"
@@ -477,7 +477,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -508,7 +508,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -527,12 +527,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -541,7 +541,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 #, fuzzy
 msgid "Filtering isn't supported yet"
 msgstr "'%s' non è un tipo di file supportato."
@@ -575,10 +575,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -647,7 +655,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -657,12 +665,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr "Proprietà errata: %s"
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -696,7 +704,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -720,15 +732,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -744,12 +756,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -758,17 +770,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -789,7 +801,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -813,7 +825,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -883,11 +895,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -978,7 +990,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1191,7 +1203,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1227,11 +1240,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1306,7 +1319,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1314,7 +1327,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1826,6 +1839,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2175,7 +2191,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2195,7 +2211,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2219,7 +2235,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2278,7 +2294,7 @@ msgstr "ok (y/n)?"
 msgid "processing aliases failed %s\n"
 msgstr "errore di processamento degli alias %s\n"
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/ja.po b/po/ja.po
index 9e636b5a6..415a74940 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LXD\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: 2018-01-02 10:52+0000\n"
 "Last-Translator: KATOH Yasufumi <karma at jazz.email.ne.jp>\n"
 "Language-Team: Japanese <https://hosted.weblate.org/projects/linux-"
@@ -151,18 +151,18 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr "%s (他%d個)"
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr "%s はディレクトリではありません"
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 "%v (強制的に中断したい場合はあと2回Ctrl-Cを入力/SIGINTを送出してください)"
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr "'%s' はサポートされないタイプのファイルです。"
@@ -269,12 +269,12 @@ msgstr ""
 msgid "Cached: %s"
 msgstr "キャッシュ済: %s"
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 "ディレクトリを pull する場合は --recursive オプションを使用してください"
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr "標準入力から読み込めません: %s"
@@ -318,8 +318,8 @@ msgstr "コマンド:"
 msgid "Config key/value to apply to the new container"
 msgstr "新しいコンテナに適用するキー/値の設定"
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr "設定の構文エラー: %s"
@@ -385,7 +385,7 @@ msgstr "%s を作成中"
 msgid "Creating the container"
 msgstr "コンテナを作成中"
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -408,7 +408,7 @@ msgstr "デバイス %s が %s に追加されました"
 msgid "Device %s removed from %s"
 msgstr "デバイス %s が %s から削除されました"
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr "デバイスは既に存在します: %s"
@@ -457,7 +457,7 @@ msgstr "環境変数:"
 msgid "Ephemeral container"
 msgstr "Ephemeral コンテナ"
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr "テンプレートファイル更新のエラー: %s"
@@ -488,7 +488,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr "エイリアス %s の作成に失敗しました"
@@ -507,12 +507,12 @@ msgstr "'lxc.1' の生成が失敗しました: %v"
 msgid "Failed to get the new container name"
 msgstr "新しいコンテナ名が取得できません"
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr "エイリアス %s の削除に失敗しました"
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr "パス %s にアクセスできませんでした: %s"
@@ -521,7 +521,7 @@ msgstr "パス %s にアクセスできませんでした: %s"
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr "Fast モード (--columns=nsacPt と同じ)"
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr "情報表示のフィルタリングはまだサポートされていません"
 
@@ -554,10 +554,18 @@ msgstr "フォーマット (csv|json|table|yaml)"
 msgid "Generating a client certificate. This may take a minute..."
 msgstr "クライアント証明書を生成します。1分ぐらいかかります..."
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr "ID"
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr "IPV4"
@@ -627,7 +635,7 @@ msgstr "不正な証明書です"
 msgid "Invalid configuration key"
 msgstr "正しくない設定項目 (key) です"
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr "不正なパス %s"
@@ -637,12 +645,12 @@ msgstr "不正なパス %s"
 msgid "Invalid protocol: %s"
 msgstr "不正なプロトコル: %s"
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr "不正なソース %s"
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr "不正な送り先 %s"
@@ -676,7 +684,11 @@ msgstr "最終使用: 未使用"
 msgid "Log:"
 msgstr "ログ:"
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -700,15 +712,15 @@ msgstr "メモリ (ピーク)"
 msgid "Memory usage:"
 msgstr "メモリ消費量:"
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr "サマリーはありません。"
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr "複数のデバイスとマッチします。デバイス名を指定してください。"
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 "ダウンロード対象のファイルが複数ありますが、コピー先がディレクトリではありま"
@@ -726,12 +738,12 @@ msgstr "ディレクトリからのインポートは root で実行する必要
 msgid "Must supply container name for: "
 msgstr "コンテナ名を指定する必要があります: "
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -740,17 +752,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr "コンテナ名: %s"
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr "ネットワーク %s を作成しました"
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr "ネットワーク %s を削除しました"
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr "ネットワーク名 %s を %s に変更しました"
@@ -771,7 +783,7 @@ msgstr "新しいエイリアスを定義する"
 msgid "No certificate provided to add"
 msgstr "追加すべき証明書が提供されていません"
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr "このネットワークに対するデバイスがありません"
 
@@ -795,7 +807,7 @@ msgstr "simplestreams は https の URL のみサポートします"
 msgid "Only https:// is supported for remote image import."
 msgstr "リモートイメージのインポートは https:// のみをサポートします。"
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr "管理対象のネットワークのみ変更できます。"
 
@@ -865,11 +877,11 @@ msgstr "アクセスが拒否されました。lxd グループに所属して
 msgid "Pid: %d"
 msgstr "Pid: %d"
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr "再度エディタを開くためには Enter キーを押します"
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr "再度エディタを起動するには Enter キーを押します"
@@ -960,7 +972,7 @@ msgstr "イメージの更新中: %s"
 msgid "Remote admin password"
 msgstr "リモートの管理者パスワード"
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr "リモート操作がユーザによってキャンセルされました"
 
@@ -1173,7 +1185,8 @@ msgstr "Swap (現在値)"
 msgid "Swap (peak)"
 msgstr "Swap (ピーク)"
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1212,11 +1225,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr "\"lxc pause\" の反対のコマンドは \"lxc start\" です。"
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr "指定したデバイスが存在しません"
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr "指定したデバイスはネットワークとマッチしません"
 
@@ -1301,7 +1314,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1309,7 +1322,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr "help2man が見つかりません。"
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr "未知のファイルタイプ '%s'"
@@ -2229,6 +2242,7 @@ msgstr ""
 "    スナップショットをリネームします。"
 
 #: lxc/network.go:50
+#, fuzzy
 msgid ""
 "Usage: lxc network <subcommand> [options]\n"
 "\n"
@@ -2237,6 +2251,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2895,7 +2912,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr "ユーザが削除操作を中断しました。"
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2918,7 +2935,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr "コンテナの稼動状態のスナップショットを取得するかどうか"
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2943,7 +2960,7 @@ msgstr "`lxc config profile` は廃止されました。`lxc profile` を使っ
 msgid "can't remove the default remote"
 msgstr "デフォルトのリモートは削除できません"
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr "再帰 (recursive) モードでは uid/gid/mode を指定できません"
 
@@ -3004,7 +3021,7 @@ msgstr "ok (y/n)?"
 msgid "processing aliases failed %s\n"
 msgstr "エイリアスの処理が失敗しました %s\n"
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr "再帰的な edit は意味がありません :("
 
diff --git a/po/lxd.pot b/po/lxd.pot
index a3a5a4ed6..092d51353 100644
--- a/po/lxd.pot
+++ b/po/lxd.pot
@@ -7,7 +7,7 @@
 msgid   ""
 msgstr  "Project-Id-Version: lxd\n"
         "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-        "POT-Creation-Date: 2018-01-21 22:50+0100\n"
+        "POT-Creation-Date: 2018-02-09 17:45-0500\n"
         "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
         "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
         "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -141,17 +141,17 @@ msgstr  ""
 msgid   "%s (%d more)"
 msgstr  ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid   "%s is not a directory"
 msgstr  ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid   "%v (interrupt two more times to force)"
 msgstr  ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid   "'%s' isn't a supported file type."
 msgstr  ""
@@ -258,11 +258,11 @@ msgstr  ""
 msgid   "Cached: %s"
 msgstr  ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid   "Can't pull a directory without --recursive"
 msgstr  ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid   "Can't read from stdin: %s"
 msgstr  ""
@@ -306,7 +306,7 @@ msgstr  ""
 msgid   "Config key/value to apply to the new container"
 msgstr  ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190 lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190 lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid   "Config parsing error: %s"
 msgstr  ""
@@ -372,7 +372,7 @@ msgstr  ""
 msgid   "Creating the container"
 msgstr  ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525 lxc/storage.go:692 lxc/storage.go:881
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557 lxc/storage.go:692 lxc/storage.go:881
 msgid   "DESCRIPTION"
 msgstr  ""
 
@@ -394,7 +394,7 @@ msgstr  ""
 msgid   "Device %s removed from %s"
 msgstr  ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid   "Device already exists: %s"
 msgstr  ""
@@ -443,7 +443,7 @@ msgstr  ""
 msgid   "Ephemeral container"
 msgstr  ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid   "Error updating template file: %s"
 msgstr  ""
@@ -474,7 +474,7 @@ msgstr  ""
 msgid   "FINGERPRINT"
 msgstr  ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid   "Failed to create alias %s"
 msgstr  ""
@@ -493,12 +493,12 @@ msgstr  ""
 msgid   "Failed to get the new container name"
 msgstr  ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid   "Failed to remove alias %s"
 msgstr  ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid   "Failed to walk path for %s: %s"
 msgstr  ""
@@ -507,7 +507,7 @@ msgstr  ""
 msgid   "Fast mode (same as --columns=nsacPt)"
 msgstr  ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid   "Filtering isn't supported yet"
 msgstr  ""
 
@@ -540,10 +540,18 @@ msgstr  ""
 msgid   "Generating a client certificate. This may take a minute..."
 msgstr  ""
 
+#: lxc/network.go:495
+msgid   "HOSTNAME"
+msgstr  ""
+
 #: lxc/operation.go:152
 msgid   "ID"
 msgstr  ""
 
+#: lxc/network.go:497
+msgid   "IP ADDRESS"
+msgstr  ""
+
 #: lxc/list.go:461
 msgid   "IPV4"
 msgstr  ""
@@ -610,7 +618,7 @@ msgstr  ""
 msgid   "Invalid configuration key"
 msgstr  ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid   "Invalid path %s"
 msgstr  ""
@@ -620,12 +628,12 @@ msgstr  ""
 msgid   "Invalid protocol: %s"
 msgstr  ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid   "Invalid source %s"
 msgstr  ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid   "Invalid target %s"
 msgstr  ""
@@ -659,7 +667,11 @@ msgstr  ""
 msgid   "Log:"
 msgstr  ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid   "MAC ADDRESS"
+msgstr  ""
+
+#: lxc/network.go:556
 msgid   "MANAGED"
 msgstr  ""
 
@@ -683,15 +695,15 @@ msgstr  ""
 msgid   "Memory usage:"
 msgstr  ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid   "Missing summary."
 msgstr  ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid   "More than one device matches, specify the device name."
 msgstr  ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid   "More than one file to download, but target is not a directory"
 msgstr  ""
 
@@ -707,11 +719,11 @@ msgstr  ""
 msgid   "Must supply container name for: "
 msgstr  ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409 lxc/storage.go:691 lxc/storage.go:880
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409 lxc/storage.go:691 lxc/storage.go:880
 msgid   "NAME"
 msgstr  ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid   "NO"
 msgstr  ""
 
@@ -720,17 +732,17 @@ msgstr  ""
 msgid   "Name: %s"
 msgstr  ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid   "Network %s created"
 msgstr  ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid   "Network %s deleted"
 msgstr  ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid   "Network %s renamed to %s"
 msgstr  ""
@@ -751,7 +763,7 @@ msgstr  ""
 msgid   "No certificate provided to add"
 msgstr  ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid   "No device found for this network"
 msgstr  ""
 
@@ -775,7 +787,7 @@ msgstr  ""
 msgid   "Only https:// is supported for remote image import."
 msgstr  ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid   "Only managed networks can be modified."
 msgstr  ""
 
@@ -845,11 +857,11 @@ msgstr  ""
 msgid   "Pid: %d"
 msgstr  ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid   "Press enter to open the editor again"
 msgstr  ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382 lxc/image.go:1191
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383 lxc/image.go:1191
 msgid   "Press enter to start the editor again"
 msgstr  ""
 
@@ -939,7 +951,7 @@ msgstr  ""
 msgid   "Remote admin password"
 msgstr  ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid   "Remote operation canceled by user"
 msgstr  ""
 
@@ -1152,7 +1164,7 @@ msgstr  ""
 msgid   "Swap (peak)"
 msgstr  ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153 lxc/storage.go:879
 msgid   "TYPE"
 msgstr  ""
 
@@ -1185,11 +1197,11 @@ msgstr  ""
 msgid   "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr  ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid   "The specified device doesn't exist"
 msgstr  ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid   "The specified device doesn't match the network"
 msgstr  ""
 
@@ -1263,7 +1275,7 @@ msgstr  ""
 msgid   "URL"
 msgstr  ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid   "USED BY"
 msgstr  ""
 
@@ -1271,7 +1283,7 @@ msgstr  ""
 msgid   "Unable to find help2man."
 msgstr  ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid   "Unknown file type '%s'"
 msgstr  ""
@@ -1726,6 +1738,9 @@ msgid   "Usage: lxc network <subcommand> [options]\n"
         "lxc network list [<remote>:]\n"
         "    List available networks.\n"
         "\n"
+        "lxc network list-leases [<remote>:]<network>\n"
+        "    List the DHCP leases for the network\n"
+        "\n"
         "lxc network show [<remote>:]<network>\n"
         "    Show details of a network.\n"
         "\n"
@@ -2044,7 +2059,7 @@ msgstr  ""
 msgid   "User aborted delete operation."
 msgstr  ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid   "User signaled us three times, exiting. The remote operation will keep running."
 msgstr  ""
 
@@ -2060,7 +2075,7 @@ msgstr  ""
 msgid   "Whether or not to snapshot the container's running state"
 msgstr  ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid   "YES"
 msgstr  ""
 
@@ -2084,7 +2099,7 @@ msgstr  ""
 msgid   "can't remove the default remote"
 msgstr  ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid   "can't supply uid/gid/mode in recursive mode"
 msgstr  ""
 
@@ -2143,7 +2158,7 @@ msgstr  ""
 msgid   "processing aliases failed %s\n"
 msgstr  ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid   "recursive edit doesn't make sense :("
 msgstr  ""
 
diff --git a/po/nb_NO.po b/po/nb_NO.po
index 0f41c8970..805060922 100644
--- a/po/nb_NO.po
+++ b/po/nb_NO.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/nl.po b/po/nl.po
index 2b2c6fb13..a44ab5409 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/pl.po b/po/pl.po
index 3c6ddfe4d..7e504e082 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 4ec5757f4..4a343a24a 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/ru.po b/po/ru.po
index 9bdf106d8..ba46aa218 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: 2017-09-05 16:48+0000\n"
 "Last-Translator: Ilya Yakimavets <ilya.yakimavets at backend.expert>\n"
 "Language-Team: Russian <https://hosted.weblate.org/projects/linux-containers/"
@@ -233,17 +233,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -353,11 +353,11 @@ msgstr "СОЗДАН"
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr "Невозможно прочитать из стандартного ввода: %s"
@@ -401,8 +401,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -468,7 +468,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -491,7 +491,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -541,7 +541,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, fuzzy, c-format
 msgid "Error updating template file: %s"
 msgstr "Копирование образа: %s"
@@ -572,7 +572,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -591,12 +591,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -605,7 +605,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -638,10 +638,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -710,7 +718,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -720,12 +728,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -759,7 +767,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -784,15 +796,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr " Использование памяти:"
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -808,12 +820,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -822,17 +834,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -854,7 +866,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -878,7 +890,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -948,11 +960,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1043,7 +1055,7 @@ msgstr "Копирование образа: %s"
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1256,7 +1268,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1292,11 +1305,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1371,7 +1384,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1379,7 +1392,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1899,6 +1912,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2272,7 +2288,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2296,7 +2312,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2355,7 +2371,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/sr.po b/po/sr.po
index e398da942..5e7b63262 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/sv.po b/po/sv.po
index 686e5dc93..57cd057e6 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/tr.po b/po/tr.po
index cfd21eb4a..0428c3d28 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/zh.po b/po/zh.po
index 4565d52a9..d55b5d2f1 100644
--- a/po/zh.po
+++ b/po/zh.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 
diff --git a/po/zh_Hans.po b/po/zh_Hans.po
index 7fbfe611d..f37510854 100644
--- a/po/zh_Hans.po
+++ b/po/zh_Hans.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2018-01-21 21:48+0000\n"
+"POT-Creation-Date: 2018-02-09 22:44+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -148,17 +148,17 @@ msgstr ""
 msgid "%s (%d more)"
 msgstr ""
 
-#: lxc/file.go:195
+#: lxc/file.go:205
 #, c-format
 msgid "%s is not a directory"
 msgstr ""
 
-#: lxc/utils.go:375
+#: lxc/utils.go:376
 #, c-format
 msgid "%v (interrupt two more times to force)"
 msgstr ""
 
-#: lxc/file.go:132
+#: lxc/file.go:142
 #, c-format
 msgid "'%s' isn't a supported file type."
 msgstr ""
@@ -265,11 +265,11 @@ msgstr ""
 msgid "Cached: %s"
 msgstr ""
 
-#: lxc/file.go:491
+#: lxc/file.go:501
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:560
+#: lxc/config.go:207 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -313,8 +313,8 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1331 lxc/image.go:1190
-#: lxc/network.go:426 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
 #, c-format
 msgid "Config parsing error: %s"
 msgstr ""
@@ -380,7 +380,7 @@ msgstr ""
 msgid "Creating the container"
 msgstr ""
 
-#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:525
+#: lxc/image.go:234 lxc/image.go:1137 lxc/list.go:465 lxc/network.go:557
 #: lxc/storage.go:692 lxc/storage.go:881
 msgid "DESCRIPTION"
 msgstr ""
@@ -403,7 +403,7 @@ msgstr ""
 msgid "Device %s removed from %s"
 msgstr ""
 
-#: lxc/utils.go:307 lxc/utils.go:331
+#: lxc/utils.go:308 lxc/utils.go:332
 #, c-format
 msgid "Device already exists: %s"
 msgstr ""
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1381
+#: lxc/config.go:1382
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -483,7 +483,7 @@ msgstr ""
 msgid "FINGERPRINT"
 msgstr ""
 
-#: lxc/utils.go:413
+#: lxc/utils.go:414
 #, c-format
 msgid "Failed to create alias %s"
 msgstr ""
@@ -502,12 +502,12 @@ msgstr ""
 msgid "Failed to get the new container name"
 msgstr ""
 
-#: lxc/utils.go:403
+#: lxc/utils.go:404
 #, c-format
 msgid "Failed to remove alias %s"
 msgstr ""
 
-#: lxc/file.go:127
+#: lxc/file.go:137
 #, c-format
 msgid "Failed to walk path for %s: %s"
 msgstr ""
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Fast mode (same as --columns=nsacPt)"
 msgstr ""
 
-#: lxc/network.go:486 lxc/operation.go:121
+#: lxc/network.go:518 lxc/operation.go:121
 msgid "Filtering isn't supported yet"
 msgstr ""
 
@@ -549,10 +549,18 @@ msgstr ""
 msgid "Generating a client certificate. This may take a minute..."
 msgstr ""
 
+#: lxc/network.go:495
+msgid "HOSTNAME"
+msgstr ""
+
 #: lxc/operation.go:152
 msgid "ID"
 msgstr ""
 
+#: lxc/network.go:497
+msgid "IP ADDRESS"
+msgstr ""
+
 #: lxc/list.go:461
 msgid "IPV4"
 msgstr ""
@@ -621,7 +629,7 @@ msgstr ""
 msgid "Invalid configuration key"
 msgstr ""
 
-#: lxc/file.go:536
+#: lxc/file.go:560
 #, c-format
 msgid "Invalid path %s"
 msgstr ""
@@ -631,12 +639,12 @@ msgstr ""
 msgid "Invalid protocol: %s"
 msgstr ""
 
-#: lxc/file.go:463
+#: lxc/file.go:473
 #, c-format
 msgid "Invalid source %s"
 msgstr ""
 
-#: lxc/file.go:240
+#: lxc/file.go:250
 #, c-format
 msgid "Invalid target %s"
 msgstr ""
@@ -670,7 +678,11 @@ msgstr ""
 msgid "Log:"
 msgstr ""
 
-#: lxc/network.go:524
+#: lxc/network.go:496
+msgid "MAC ADDRESS"
+msgstr ""
+
+#: lxc/network.go:556
 msgid "MANAGED"
 msgstr ""
 
@@ -694,15 +706,15 @@ msgstr ""
 msgid "Memory usage:"
 msgstr ""
 
-#: lxc/utils.go:258
+#: lxc/utils.go:259
 msgid "Missing summary."
 msgstr ""
 
-#: lxc/network.go:284 lxc/network.go:337 lxc/storage.go:412 lxc/storage.go:532
+#: lxc/network.go:289 lxc/network.go:342 lxc/storage.go:412 lxc/storage.go:532
 msgid "More than one device matches, specify the device name."
 msgstr ""
 
-#: lxc/file.go:450
+#: lxc/file.go:460
 msgid "More than one file to download, but target is not a directory"
 msgstr ""
 
@@ -718,12 +730,12 @@ msgstr ""
 msgid "Must supply container name for: "
 msgstr ""
 
-#: lxc/list.go:467 lxc/network.go:522 lxc/profile.go:573 lxc/remote.go:409
+#: lxc/list.go:467 lxc/network.go:554 lxc/profile.go:573 lxc/remote.go:409
 #: lxc/storage.go:691 lxc/storage.go:880
 msgid "NAME"
 msgstr ""
 
-#: lxc/network.go:508 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
+#: lxc/network.go:540 lxc/operation.go:139 lxc/remote.go:380 lxc/remote.go:385
 msgid "NO"
 msgstr ""
 
@@ -732,17 +744,17 @@ msgstr ""
 msgid "Name: %s"
 msgstr ""
 
-#: lxc/network.go:258
+#: lxc/network.go:263
 #, c-format
 msgid "Network %s created"
 msgstr ""
 
-#: lxc/network.go:374
+#: lxc/network.go:379
 #, c-format
 msgid "Network %s deleted"
 msgstr ""
 
-#: lxc/network.go:451
+#: lxc/network.go:456
 #, c-format
 msgid "Network %s renamed to %s"
 msgstr ""
@@ -763,7 +775,7 @@ msgstr ""
 msgid "No certificate provided to add"
 msgstr ""
 
-#: lxc/network.go:293 lxc/network.go:346
+#: lxc/network.go:298 lxc/network.go:351
 msgid "No device found for this network"
 msgstr ""
 
@@ -787,7 +799,7 @@ msgstr ""
 msgid "Only https:// is supported for remote image import."
 msgstr ""
 
-#: lxc/network.go:402 lxc/network.go:546
+#: lxc/network.go:407 lxc/network.go:578
 msgid "Only managed networks can be modified."
 msgstr ""
 
@@ -857,11 +869,11 @@ msgstr ""
 msgid "Pid: %d"
 msgstr ""
 
-#: lxc/network.go:427 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
+#: lxc/network.go:432 lxc/profile.go:276 lxc/storage.go:615 lxc/storage.go:1068
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1332 lxc/config.go:1382
+#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -952,7 +964,7 @@ msgstr ""
 msgid "Remote admin password"
 msgstr ""
 
-#: lxc/utils.go:366
+#: lxc/utils.go:367
 msgid "Remote operation canceled by user"
 msgstr ""
 
@@ -1165,7 +1177,8 @@ msgstr ""
 msgid "Swap (peak)"
 msgstr ""
 
-#: lxc/list.go:473 lxc/network.go:523 lxc/operation.go:153 lxc/storage.go:879
+#: lxc/list.go:473 lxc/network.go:498 lxc/network.go:555 lxc/operation.go:153
+#: lxc/storage.go:879
 msgid "TYPE"
 msgstr ""
 
@@ -1201,11 +1214,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
-#: lxc/network.go:298 lxc/network.go:351 lxc/storage.go:426 lxc/storage.go:546
+#: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
 
-#: lxc/network.go:302 lxc/network.go:355
+#: lxc/network.go:307 lxc/network.go:360
 msgid "The specified device doesn't match the network"
 msgstr ""
 
@@ -1280,7 +1293,7 @@ msgstr ""
 msgid "URL"
 msgstr ""
 
-#: lxc/network.go:526 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
+#: lxc/network.go:558 lxc/profile.go:574 lxc/storage.go:695 lxc/storage.go:882
 msgid "USED BY"
 msgstr ""
 
@@ -1288,7 +1301,7 @@ msgstr ""
 msgid "Unable to find help2man."
 msgstr ""
 
-#: lxc/file.go:114
+#: lxc/file.go:124
 #, c-format
 msgid "Unknown file type '%s'"
 msgstr ""
@@ -1800,6 +1813,9 @@ msgid ""
 "lxc network list [<remote>:]\n"
 "    List available networks.\n"
 "\n"
+"lxc network list-leases [<remote>:]<network>\n"
+"    List the DHCP leases for the network\n"
+"\n"
 "lxc network show [<remote>:]<network>\n"
 "    Show details of a network.\n"
 "\n"
@@ -2149,7 +2165,7 @@ msgstr ""
 msgid "User aborted delete operation."
 msgstr ""
 
-#: lxc/utils.go:371
+#: lxc/utils.go:372
 msgid ""
 "User signaled us three times, exiting. The remote operation will keep "
 "running."
@@ -2169,7 +2185,7 @@ msgstr ""
 msgid "Whether or not to snapshot the container's running state"
 msgstr ""
 
-#: lxc/network.go:510 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
+#: lxc/network.go:542 lxc/operation.go:141 lxc/remote.go:382 lxc/remote.go:387
 msgid "YES"
 msgstr ""
 
@@ -2193,7 +2209,7 @@ msgstr ""
 msgid "can't remove the default remote"
 msgstr ""
 
-#: lxc/file.go:286
+#: lxc/file.go:296
 msgid "can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
@@ -2252,7 +2268,7 @@ msgstr ""
 msgid "processing aliases failed %s\n"
 msgstr ""
 
-#: lxc/file.go:564
+#: lxc/file.go:588
 msgid "recursive edit doesn't make sense :("
 msgstr ""
 

From f40c7b8ded4e43e46bd82c1a8ffbe6c0c933891d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Fri, 9 Feb 2018 17:55:58 -0500
Subject: [PATCH 7/7] tests: Drop leftover ls in pki test
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 test/suites/pki.sh | 1 -
 1 file changed, 1 deletion(-)

diff --git a/test/suites/pki.sh b/test/suites/pki.sh
index 001067f0e..2824bda44 100644
--- a/test/suites/pki.sh
+++ b/test/suites/pki.sh
@@ -9,7 +9,6 @@ test_pki() {
   (
     set -e
     cd "${TEST_DIR}/pki"
-    ls
     # shellcheck disable=SC1091
     . ./vars
     ./clean-all


More information about the lxc-devel mailing list