[lxc-devel] [lxd/master] Add a new `lxc config device override` command

stgraber on Github lxc-bot at linuxcontainers.org
Sun Feb 11 02:25:17 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/20180211/80924446/attachment.bin>
-------------- next part --------------
From a54f84dc2d904b486b00e0642b99e5d052dd4c15 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Sat, 10 Feb 2018 21:23:33 -0500
Subject: [PATCH 1/2] lxc/config: Add new 'device override' subcommand
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/config.go | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/lxc/config.go b/lxc/config.go
index a955fdcb4..02738a472 100644
--- a/lxc/config.go
+++ b/lxc/config.go
@@ -144,6 +144,9 @@ lxc config device set [<remote>:]<container> <device> <key> <value>
 lxc config device unset [<remote>:]<container> <device> <key>
     Unset a device property.
 
+lxc config device override [<remote>:]<container> <device> [key=value...]
+    Copy a profile inherited device into local container config.
+
 lxc config device list [<remote>:]<container>
     List devices for container.
 
@@ -602,6 +605,8 @@ func (c *configCmd) run(conf *config.Config, args []string) error {
 			return c.deviceSet(conf, "container", args)
 		case "unset":
 			return c.deviceUnset(conf, "container", args)
+		case "override":
+			return c.deviceOverride(conf, args)
 		case "show":
 			return c.deviceShow(conf, "container", args)
 		default:
@@ -1209,6 +1214,65 @@ func (c *configCmd) deviceRm(conf *config.Config, which string, args []string) e
 	return nil
 }
 
+func (c *configCmd) deviceOverride(conf *config.Config, args []string) error {
+	if len(args) < 4 {
+		return errArgs
+	}
+
+	remote, name, err := conf.ParseRemote(args[2])
+	if err != nil {
+		return err
+	}
+
+	client, err := conf.GetContainerServer(remote)
+	if err != nil {
+		return err
+	}
+
+	container, etag, err := client.GetContainer(name)
+	if err != nil {
+		return err
+	}
+
+	devname := args[3]
+	_, ok := container.Devices[devname]
+	if ok {
+		return fmt.Errorf(i18n.G("The device already exists"))
+	}
+
+	device, ok := container.ExpandedDevices[devname]
+	if !ok {
+		return fmt.Errorf(i18n.G("The profile device doesn't exist"))
+	}
+
+	if len(args) > 4 {
+		for _, prop := range args[4:] {
+			results := strings.SplitN(prop, "=", 2)
+			if len(results) != 2 {
+				return fmt.Errorf("No value found in %q", prop)
+			}
+			k := results[0]
+			v := results[1]
+			device[k] = v
+		}
+	}
+
+	container.Devices[devname] = device
+
+	op, err := client.UpdateContainer(name, container.Writable(), etag)
+	if err != nil {
+		return err
+	}
+
+	err = op.Wait()
+	if err != nil {
+		return err
+	}
+
+	fmt.Printf(i18n.G("Device %s overriden for %s")+"\n", devname, name)
+	return nil
+}
+
 func (c *configCmd) deviceList(conf *config.Config, which string, args []string) error {
 	if len(args) < 3 {
 		return errArgs

From 13d1643276a0f1787a2512f04a420221b3eb3259 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Sat, 10 Feb 2018 21:23:52 -0500
Subject: [PATCH 2/2] 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      | 53 +++++++++++++++++++++++++++++++++--------------------
 po/el.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/es.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/fi.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/fr.po      | 53 +++++++++++++++++++++++++++++++++--------------------
 po/id.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/it.po      | 53 +++++++++++++++++++++++++++++++++--------------------
 po/ja.po      | 54 ++++++++++++++++++++++++++++++++++--------------------
 po/lxd.pot    | 50 +++++++++++++++++++++++++++++++-------------------
 po/nb_NO.po   | 52 ++++++++++++++++++++++++++++++++--------------------
 po/nl.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/pl.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/pt_BR.po   | 52 ++++++++++++++++++++++++++++++++--------------------
 po/ru.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/sr.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/sv.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/tr.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/zh.po      | 52 ++++++++++++++++++++++++++++++++--------------------
 po/zh_Hans.po | 52 ++++++++++++++++++++++++++++++++--------------------
 19 files changed, 612 insertions(+), 379 deletions(-)

diff --git a/po/de.po b/po/de.po
index 8eb886149..e1f1a1346 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\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/"
@@ -348,7 +348,7 @@ msgstr "Bytes gesendet"
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -383,7 +383,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -392,12 +392,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -428,7 +428,7 @@ 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:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -510,12 +510,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, fuzzy, c-format
 msgid "Device %s added to %s"
 msgstr "Gerät %s wurde zu %s hinzugefügt\n"
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, fuzzy, c-format
+msgid "Device %s overriden for %s"
+msgstr "Gerät %s wurde von %s entfernt\n"
+
+#: lxc/config.go:1213
 #, fuzzy, c-format
 msgid "Device %s removed from %s"
 msgstr "Gerät %s wurde von %s entfernt\n"
@@ -546,7 +551,7 @@ msgstr " Prozessorauslastung:"
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -572,7 +577,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr "Flüchtiger Container"
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, fuzzy, c-format
 msgid "Error updating template file: %s"
 msgstr "Fehler beim hinzufügen des Alias %s\n"
@@ -595,11 +600,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -695,7 +700,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -748,7 +753,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 #, fuzzy
 msgid "Invalid certificate"
 msgstr "Akzeptiere Zertifikat"
@@ -908,7 +913,7 @@ msgstr "Profil %s erstellt\n"
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 #, fuzzy
 msgid "No certificate provided to add"
 msgstr "Kein Zertifikat zum hinzufügen bereitgestellt"
@@ -923,7 +928,7 @@ msgstr "Kein Zertifikat für diese Verbindung"
 msgid "No device found for this storage volume."
 msgstr "Kein Zertifikat für diese Verbindung"
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr "Kein Fingerabdruck angegeben."
 
@@ -1016,7 +1021,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1358,13 +1363,13 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 #, fuzzy
 msgid "The device already exists"
 msgstr "entfernte Instanz %s existiert bereits"
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 #, fuzzy
 msgid "The device doesn't exist"
 msgstr "entfernte Instanz %s existiert nicht"
@@ -1378,6 +1383,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+#, fuzzy
+msgid "The profile device doesn't exist"
+msgstr "entfernte Instanz %s existiert nicht"
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 #, fuzzy
 msgid "The specified device doesn't exist"
@@ -1583,6 +1593,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/el.po b/po/el.po
index 8f350a6f8..7acd4aed0 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\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/"
@@ -243,7 +243,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -273,7 +273,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -282,12 +282,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -317,7 +317,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -397,12 +397,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -433,7 +438,7 @@ msgstr "  Χρήση CPU:"
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -457,7 +462,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -480,11 +485,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -574,7 +579,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -626,7 +631,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -782,7 +787,7 @@ msgstr "  Χρήση δικτύου:"
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -794,7 +799,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -884,7 +889,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1215,12 +1220,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1233,6 +1238,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1427,6 +1436,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/es.po b/po/es.po
index 62f72706b..ec353e83a 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/fi.po b/po/fi.po
index 959b209e3..39c3f49e6 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/fr.po b/po/fr.po
index d94c9c16f..844a866c3 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\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/"
@@ -341,7 +341,7 @@ msgstr "Octets émis"
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr "COMMON NAME"
 
@@ -372,7 +372,7 @@ msgstr "Créé : %s"
 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:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr "Impossible de lire depuis stdin : %s"
@@ -381,13 +381,13 @@ msgstr "Impossible de lire depuis stdin : %s"
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, fuzzy, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 "Impossible de désaffecter la clé '%s', elle n'est pas définie actuellement."
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -418,7 +418,7 @@ 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:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -499,12 +499,17 @@ msgstr "PILOTE"
 msgid "Define a compression algorithm: for image or none"
 msgstr "Définir un algorithme de compression : pour image ou aucun"
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr "Périphérique %s ajouté à %s"
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, fuzzy, c-format
+msgid "Device %s overriden for %s"
+msgstr "Périphérique %s retiré de %s"
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr "Périphérique %s retiré de %s"
@@ -535,7 +540,7 @@ msgstr "  Disque utilisé :"
 msgid "EPHEMERAL"
 msgstr "ÉPHÉMÈRE"
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr "DATE D'EXPIRATION"
 
@@ -559,7 +564,7 @@ msgstr "Environnement :"
 msgid "Ephemeral container"
 msgstr "Conteneur éphémère"
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, fuzzy, c-format
 msgid "Error updating template file: %s"
 msgstr "Import de l'image : %s"
@@ -582,12 +587,12 @@ msgstr "N'expire jamais"
 msgid "Exporting the image: %s"
 msgstr "Import de l'image : %s"
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 #, fuzzy
 msgid "FILENAME"
 msgstr "NOM"
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr "EMPREINTE"
 
@@ -682,7 +687,7 @@ msgstr "IPv4"
 msgid "IPV6"
 msgstr "IPv6"
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr "DATE D'ÉMISSION"
 
@@ -739,7 +744,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr "Schème d'URL invalide \"%s\" in \"%s\""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr "Certificat invalide"
 
@@ -897,7 +902,7 @@ msgstr "  Réseau utilisé :"
 msgid "New alias to define at target"
 msgstr "Nouvel alias à définir sur la cible"
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr "Un certificat à ajouter n'a pas été fourni"
 
@@ -910,7 +915,7 @@ msgstr "Aucun périphérique existant pour ce réseau"
 msgid "No device found for this storage volume."
 msgstr "Aucun périphérique existant pour ce réseau"
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr "Aucune empreinte n'a été indiquée."
 
@@ -1002,7 +1007,7 @@ msgstr "Pid : %d"
 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:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr "Appuyer sur Entrée pour lancer à nouveau l'éditeur"
@@ -1345,13 +1350,13 @@ msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 "Le conteneur que vous démarrez n'est attaché à aucune interface réseau."
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 #, fuzzy
 msgid "The device already exists"
 msgstr "Le périphérique n'existe pas"
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr "Le périphérique n'existe pas"
 
@@ -1365,6 +1370,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/config.go:1245
+#, fuzzy
+msgid "The profile device doesn't exist"
+msgstr "Le périphérique indiqué n'existe pas"
+
 #: 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"
@@ -1569,6 +1579,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/id.po b/po/id.po
index 04837a6cf..de3090e52 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/it.po b/po/it.po
index 7432ba3f9..2b1bdcc0c 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\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/"
@@ -265,7 +265,7 @@ msgstr "Byte inviati"
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr "NOME COMUNE"
 
@@ -295,7 +295,7 @@ msgstr ""
 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:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr "Impossible leggere da stdin: %s"
@@ -304,12 +304,12 @@ msgstr "Impossible leggere da stdin: %s"
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -339,7 +339,7 @@ msgstr "Comandi:"
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -419,12 +419,17 @@ msgstr "DRIVER"
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -454,7 +459,7 @@ msgstr "Utilizzo disco:"
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr "DATA DI SCADENZA"
 
@@ -478,7 +483,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -501,11 +506,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -596,7 +601,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -648,7 +653,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -802,7 +807,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -814,7 +819,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -904,7 +909,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1235,12 +1240,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr "La periferica esiste già"
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1253,6 +1258,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+#, fuzzy
+msgid "The profile device doesn't exist"
+msgstr "il remote %s non esiste"
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1447,6 +1457,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/ja.po b/po/ja.po
index 312db3365..65dce8d03 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\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-"
@@ -244,7 +244,7 @@ msgstr "送信バイト数"
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -274,7 +274,7 @@ msgid "Can't pull a directory without --recursive"
 msgstr ""
 "ディレクトリを pull する場合は --recursive オプションを使用してください"
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr "標準入力から読み込めません: %s"
@@ -283,12 +283,12 @@ msgstr "標準入力から読み込めません: %s"
 msgid "Can't specify a different remote for rename."
 msgstr "リネームの場合は異なるリモートを指定できません。"
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr "キー '%s' が設定されていないので削除できません"
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr "キー '%s' が指定されていないので削除できません。"
@@ -318,7 +318,7 @@ msgstr "コマンド:"
 msgid "Config key/value to apply to the new container"
 msgstr "新しいコンテナに適用するキー/値の設定"
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -398,12 +398,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr "圧縮アルゴリズムを指定します: 圧縮アルゴリズム名 or none"
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr "デバイス %s が %s に追加されました"
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, fuzzy, c-format
+msgid "Device %s overriden for %s"
+msgstr "デバイス %s が %s から削除されました"
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr "デバイス %s が %s から削除されました"
@@ -433,7 +438,7 @@ msgstr "ディスク使用量:"
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -457,7 +462,7 @@ msgstr "環境変数:"
 msgid "Ephemeral container"
 msgstr "Ephemeral コンテナ"
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr "テンプレートファイル更新のエラー: %s"
@@ -480,11 +485,11 @@ msgstr "失効日時: 失効しない"
 msgid "Exporting the image: %s"
 msgstr "イメージのエクスポート中: %s"
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -574,7 +579,7 @@ msgstr "IPV4"
 msgid "IPV6"
 msgstr "IPV6"
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -627,7 +632,7 @@ msgstr "インスタンスタイプ"
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr "不正な URL スキーム \"%s\" (\"%s\" 内)"
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr "不正な証明書です"
 
@@ -783,7 +788,7 @@ msgstr "ネットワーク使用状況:"
 msgid "New alias to define at target"
 msgstr "新しいエイリアスを定義する"
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr "追加すべき証明書が提供されていません"
 
@@ -795,7 +800,7 @@ msgstr "このネットワークに対するデバイスがありません"
 msgid "No device found for this storage volume."
 msgstr "このストレージボリュームに対するデバイスがありません。"
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr "フィンガープリントが指定されていません。"
 
@@ -885,7 +890,7 @@ msgstr "Pid: %d"
 msgid "Press enter to open the editor again"
 msgstr "再度エディタを開くためには Enter キーを押します"
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr "再度エディタを起動するには Enter キーを押します"
@@ -1218,12 +1223,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr "起動しようとしたコンテナに接続されているネットワークがありません。"
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr "デバイスはすでに存在します"
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr "デバイスが存在しません"
 
@@ -1237,6 +1242,11 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr "\"lxc pause\" の反対のコマンドは \"lxc start\" です。"
 
+#: lxc/config.go:1245
+#, fuzzy
+msgid "The profile device doesn't exist"
+msgstr "指定したデバイスが存在しません"
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr "指定したデバイスが存在しません"
@@ -1379,6 +1389,7 @@ msgid ""
 msgstr ""
 
 #: lxc/config.go:85
+#, fuzzy
 msgid ""
 "Usage: lxc config <subcommand> [options]\n"
 "\n"
@@ -1444,6 +1455,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/lxd.pot b/po/lxd.pot
index f62df9335..187025f8b 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-02-10 15:56-0500\n"
+        "POT-Creation-Date: 2018-02-10 21:23-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"
@@ -233,7 +233,7 @@ msgstr  ""
 msgid   "CANCELABLE"
 msgstr  ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid   "COMMON NAME"
 msgstr  ""
 
@@ -262,7 +262,7 @@ msgstr  ""
 msgid   "Can't pull a directory without --recursive"
 msgstr  ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid   "Can't read from stdin: %s"
 msgstr  ""
@@ -271,12 +271,12 @@ msgstr  ""
 msgid   "Can't specify a different remote for rename."
 msgstr  ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid   "Can't unset key '%s', it's not currently set"
 msgstr  ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid   "Can't unset key '%s', it's not currently set."
 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:1332 lxc/image.go:1190 lxc/network.go:431 lxc/profile.go:275 lxc/storage.go:614 lxc/storage.go:1067
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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,12 +384,17 @@ msgstr  ""
 msgid   "Define a compression algorithm: for image or none"
 msgstr  ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid   "Device %s added to %s"
 msgstr  ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid   "Device %s overriden for %s"
+msgstr  ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid   "Device %s removed from %s"
 msgstr  ""
@@ -419,7 +424,7 @@ msgstr  ""
 msgid   "EPHEMERAL"
 msgstr  ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid   "EXPIRY DATE"
 msgstr  ""
 
@@ -443,7 +448,7 @@ msgstr  ""
 msgid   "Ephemeral container"
 msgstr  ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid   "Error updating template file: %s"
 msgstr  ""
@@ -466,11 +471,11 @@ msgstr  ""
 msgid   "Exporting the image: %s"
 msgstr  ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid   "FILENAME"
 msgstr  ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid   "FINGERPRINT"
 msgstr  ""
 
@@ -560,7 +565,7 @@ msgstr  ""
 msgid   "IPV6"
 msgstr  ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid   "ISSUE DATE"
 msgstr  ""
 
@@ -610,7 +615,7 @@ msgstr  ""
 msgid   "Invalid URL scheme \"%s\" in \"%s\""
 msgstr  ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid   "Invalid certificate"
 msgstr  ""
 
@@ -763,7 +768,7 @@ msgstr  ""
 msgid   "New alias to define at target"
 msgstr  ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid   "No certificate provided to add"
 msgstr  ""
 
@@ -775,7 +780,7 @@ msgstr  ""
 msgid   "No device found for this storage volume."
 msgstr  ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid   "No fingerprint specified."
 msgstr  ""
 
@@ -865,7 +870,7 @@ msgstr  ""
 msgid   "Press enter to open the editor again"
 msgstr  ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383 lxc/image.go:1191
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447 lxc/image.go:1191
 msgid   "Press enter to start the editor again"
 msgstr  ""
 
@@ -1192,11 +1197,11 @@ msgstr  ""
 msgid   "The container you are starting doesn't have any network attached to it."
 msgstr  ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid   "The device already exists"
 msgstr  ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068 lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073 lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid   "The device doesn't exist"
 msgstr  ""
 
@@ -1209,6 +1214,10 @@ msgstr  ""
 msgid   "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr  ""
 
+#: lxc/config.go:1245
+msgid   "The profile device doesn't exist"
+msgstr  ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid   "The specified device doesn't exist"
 msgstr  ""
@@ -1396,6 +1405,9 @@ msgid   "Usage: lxc config <subcommand> [options]\n"
         "lxc config device unset [<remote>:]<container> <device> <key>\n"
         "    Unset a device property.\n"
         "\n"
+        "lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+        "    Copy a profile inherited device into local container config.\n"
+        "\n"
         "lxc config device list [<remote>:]<container>\n"
         "    List devices for container.\n"
         "\n"
diff --git a/po/nb_NO.po b/po/nb_NO.po
index 4de1f48be..a9c26204c 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/nl.po b/po/nl.po
index f6a4e8b32..162d47132 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/pl.po b/po/pl.po
index e93a11ea4..062a6fca2 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index d4005ce7e..f44f7174b 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/ru.po b/po/ru.po
index 80a908bc6..1cc067696 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\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/"
@@ -327,7 +327,7 @@ msgstr "Отправлено байтов"
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr "ОБЩЕЕ ИМЯ"
 
@@ -358,7 +358,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr "Невозможно прочитать из стандартного ввода: %s"
@@ -367,12 +367,12 @@ msgstr "Невозможно прочитать из стандартного в
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -402,7 +402,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -482,12 +482,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -518,7 +523,7 @@ msgstr " Использование диска:"
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -542,7 +547,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, fuzzy, c-format
 msgid "Error updating template file: %s"
 msgstr "Копирование образа: %s"
@@ -565,11 +570,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr "Копирование образа: %s"
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -659,7 +664,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -711,7 +716,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -867,7 +872,7 @@ msgstr " Использование сети:"
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -879,7 +884,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -969,7 +974,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1300,12 +1305,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1318,6 +1323,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1515,6 +1524,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/sr.po b/po/sr.po
index a6369750e..010bef42a 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/sv.po b/po/sv.po
index e04a8b1fa..0613bf0d1 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/tr.po b/po/tr.po
index 6a7e2386c..b46e1a278 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/zh.po b/po/zh.po
index fafc1aec8..71bf51e24 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"
diff --git a/po/zh_Hans.po b/po/zh_Hans.po
index 0ab31b36a..910dea43d 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-02-10 15:56-0500\n"
+"POT-Creation-Date: 2018-02-10 21:23-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -240,7 +240,7 @@ msgstr ""
 msgid "CANCELABLE"
 msgstr ""
 
-#: lxc/config.go:400
+#: lxc/config.go:403
 msgid "COMMON NAME"
 msgstr ""
 
@@ -269,7 +269,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:207 lxc/network.go:592
+#: lxc/config.go:210 lxc/network.go:592
 #, c-format
 msgid "Can't read from stdin: %s"
 msgstr ""
@@ -278,12 +278,12 @@ msgstr ""
 msgid "Can't specify a different remote for rename."
 msgstr ""
 
-#: lxc/config.go:220
+#: lxc/config.go:223
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
 
-#: lxc/config.go:262 lxc/config.go:288
+#: lxc/config.go:265 lxc/config.go:291
 #, c-format
 msgid "Can't unset key '%s', it's not currently set."
 msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
 msgid "Config key/value to apply to the new container"
 msgstr ""
 
-#: lxc/config.go:816 lxc/config.go:881 lxc/config.go:1332 lxc/image.go:1190
+#: lxc/config.go:821 lxc/config.go:886 lxc/config.go:1396 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"
@@ -393,12 +393,17 @@ msgstr ""
 msgid "Define a compression algorithm: for image or none"
 msgstr ""
 
-#: lxc/config.go:972
+#: lxc/config.go:977
 #, c-format
 msgid "Device %s added to %s"
 msgstr ""
 
-#: lxc/config.go:1208
+#: lxc/config.go:1272
+#, c-format
+msgid "Device %s overriden for %s"
+msgstr ""
+
+#: lxc/config.go:1213
 #, c-format
 msgid "Device %s removed from %s"
 msgstr ""
@@ -428,7 +433,7 @@ msgstr ""
 msgid "EPHEMERAL"
 msgstr ""
 
-#: lxc/config.go:402
+#: lxc/config.go:405
 msgid "EXPIRY DATE"
 msgstr ""
 
@@ -452,7 +457,7 @@ msgstr ""
 msgid "Ephemeral container"
 msgstr ""
 
-#: lxc/config.go:1382
+#: lxc/config.go:1446
 #, c-format
 msgid "Error updating template file: %s"
 msgstr ""
@@ -475,11 +480,11 @@ msgstr ""
 msgid "Exporting the image: %s"
 msgstr ""
 
-#: lxc/config.go:756
+#: lxc/config.go:761
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config.go:399 lxc/image.go:232 lxc/image.go:1136
+#: lxc/config.go:402 lxc/image.go:232 lxc/image.go:1136
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -569,7 +574,7 @@ msgstr ""
 msgid "IPV6"
 msgstr ""
 
-#: lxc/config.go:401
+#: lxc/config.go:404
 msgid "ISSUE DATE"
 msgstr ""
 
@@ -621,7 +626,7 @@ msgstr ""
 msgid "Invalid URL scheme \"%s\" in \"%s\""
 msgstr ""
 
-#: lxc/config.go:380
+#: lxc/config.go:383
 msgid "Invalid certificate"
 msgstr ""
 
@@ -775,7 +780,7 @@ msgstr ""
 msgid "New alias to define at target"
 msgstr ""
 
-#: lxc/config.go:411
+#: lxc/config.go:414
 msgid "No certificate provided to add"
 msgstr ""
 
@@ -787,7 +792,7 @@ msgstr ""
 msgid "No device found for this storage volume."
 msgstr ""
 
-#: lxc/config.go:443
+#: lxc/config.go:446
 msgid "No fingerprint specified."
 msgstr ""
 
@@ -877,7 +882,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:817 lxc/config.go:882 lxc/config.go:1333 lxc/config.go:1383
+#: lxc/config.go:822 lxc/config.go:887 lxc/config.go:1397 lxc/config.go:1447
 #: lxc/image.go:1191
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -1208,12 +1213,12 @@ msgstr ""
 msgid "The container you are starting doesn't have any network attached to it."
 msgstr ""
 
-#: lxc/config.go:939 lxc/config.go:956
+#: lxc/config.go:944 lxc/config.go:961 lxc/config.go:1240
 msgid "The device already exists"
 msgstr ""
 
-#: lxc/config.go:1002 lxc/config.go:1014 lxc/config.go:1050 lxc/config.go:1068
-#: lxc/config.go:1114 lxc/config.go:1131 lxc/config.go:1174 lxc/config.go:1192
+#: lxc/config.go:1007 lxc/config.go:1019 lxc/config.go:1055 lxc/config.go:1073
+#: lxc/config.go:1119 lxc/config.go:1136 lxc/config.go:1179 lxc/config.go:1197
 msgid "The device doesn't exist"
 msgstr ""
 
@@ -1226,6 +1231,10 @@ msgstr ""
 msgid "The opposite of \"lxc pause\" is \"lxc start\"."
 msgstr ""
 
+#: lxc/config.go:1245
+msgid "The profile device doesn't exist"
+msgstr ""
+
 #: lxc/network.go:303 lxc/network.go:356 lxc/storage.go:426 lxc/storage.go:546
 msgid "The specified device doesn't exist"
 msgstr ""
@@ -1420,6 +1429,9 @@ msgid ""
 "lxc config device unset [<remote>:]<container> <device> <key>\n"
 "    Unset a device property.\n"
 "\n"
+"lxc config device override [<remote>:]<container> <device> [key=value...]\n"
+"    Copy a profile inherited device into local container config.\n"
+"\n"
 "lxc config device list [<remote>:]<container>\n"
 "    List devices for container.\n"
 "\n"


More information about the lxc-devel mailing list