[lxc-devel] [lxd/master] Bash completion update
stgraber on Github
lxc-bot at linuxcontainers.org
Wed Oct 18 19:31:52 UTC 2017
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/20171018/56941f80/attachment.bin>
-------------- next part --------------
From b9c2935e4f87b498c75234316f1685c601dc8ef6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Wed, 18 Oct 2017 15:03:23 -0400
Subject: [PATCH 1/6] doc: Fix markdown escaping
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>
---
doc/server.md | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/doc/server.md b/doc/server.md
index 27adb2bf4..4725233a5 100644
--- a/doc/server.md
+++ b/doc/server.md
@@ -7,22 +7,22 @@ currently supported:
- `core` (core daemon configuration)
- `images` (image configuration)
-Key | Type | Default | API extension | Description
-:-- | :--- | :------ | :------------ | :----------
-core.macaroon.endpoint | string | - | macaroon_authentication | URL of the the external authentication endpoint using Macaroons
-core.https\_address | string | - | - | Address to bind for the remote API
-core.https\_allowed\_headers | string | - | - | Access-Control-Allow-Headers http header value
-core.https\_allowed\_methods | string | - | - | Access-Control-Allow-Methods http header value
-core.https\_allowed\_origin | string | - | - | Access-Control-Allow-Origin http header value
-core.https\_allowed\_credentials| boolean | - | - | Whether to set Access-Control-Allow-Credentials http header value to "true"
-core.proxy\_http | string | - | - | http proxy to use, if any (falls back to HTTP\_PROXY environment variable)
-core.proxy\_https | string | - | - | https proxy to use, if any (falls back to HTTPS\_PROXY environment variable)
-core.proxy\_ignore\_hosts | string | - | - | hosts which don't need the proxy for use (similar format to NO\_PROXY, e.g. 1.2.3.4,1.2.3.5, falls back to NO\_PROXY environment variable)
-core.trust\_password | string | - | - | Password to be provided by clients to setup a trust
-images.auto\_update\_cached | boolean | true | - | Whether to automatically update any image that LXD caches
-images.auto\_update\_interval | integer | 6 | - | Interval in hours at which to look for update to cached images (0 disables it)
-images.compression\_algorithm | string | gzip | - | Compression algorithm to use for new images (bzip2, gzip, lzma, xz or none)
-images.remote\_cache\_expiry | integer | 10 | - | Number of days after which an unused cached remote image will be flushed
+Key | Type | Default | API extension | Description
+:-- | :--- | :------ | :------------ | :----------
+core.macaroon.endpoint | string | - | macaroon\_authentication | URL of the the external authentication endpoint using Macaroons
+core.https\_address | string | - | - | Address to bind for the remote API
+core.https\_allowed\_headers | string | - | - | Access-Control-Allow-Headers http header value
+core.https\_allowed\_methods | string | - | - | Access-Control-Allow-Methods http header value
+core.https\_allowed\_origin | string | - | - | Access-Control-Allow-Origin http header value
+core.https\_allowed\_credentials| boolean | - | - | Whether to set Access-Control-Allow-Credentials http header value to "true"
+core.proxy\_http | string | - | - | http proxy to use, if any (falls back to HTTP\_PROXY environment variable)
+core.proxy\_https | string | - | - | https proxy to use, if any (falls back to HTTPS\_PROXY environment variable)
+core.proxy\_ignore\_hosts | string | - | - | hosts which don't need the proxy for use (similar format to NO\_PROXY, e.g. 1.2.3.4,1.2.3.5, falls back to NO\_PROXY environment variable)
+core.trust\_password | string | - | - | Password to be provided by clients to setup a trust
+images.auto\_update\_cached | boolean | true | - | Whether to automatically update any image that LXD caches
+images.auto\_update\_interval | integer | 6 | - | Interval in hours at which to look for update to cached images (0 disables it)
+images.compression\_algorithm | string | gzip | - | Compression algorithm to use for new images (bzip2, gzip, lzma, xz or none)
+images.remote\_cache\_expiry | integer | 10 | - | Number of days after which an unused cached remote image will be flushed
Those keys can be set using the lxc tool with:
From 1747ed4a224806aae2b332fa7355272af8041cf5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Wed, 18 Oct 2017 15:03:50 -0400
Subject: [PATCH 2/6] doc: Sort server.md config keys
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>
---
doc/server.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/doc/server.md b/doc/server.md
index 4725233a5..ab565b7c0 100644
--- a/doc/server.md
+++ b/doc/server.md
@@ -9,14 +9,14 @@ currently supported:
Key | Type | Default | API extension | Description
:-- | :--- | :------ | :------------ | :----------
-core.macaroon.endpoint | string | - | macaroon\_authentication | URL of the the external authentication endpoint using Macaroons
core.https\_address | string | - | - | Address to bind for the remote API
+core.https\_allowed\_credentials| boolean | - | - | Whether to set Access-Control-Allow-Credentials http header value to "true"
core.https\_allowed\_headers | string | - | - | Access-Control-Allow-Headers http header value
core.https\_allowed\_methods | string | - | - | Access-Control-Allow-Methods http header value
core.https\_allowed\_origin | string | - | - | Access-Control-Allow-Origin http header value
-core.https\_allowed\_credentials| boolean | - | - | Whether to set Access-Control-Allow-Credentials http header value to "true"
-core.proxy\_http | string | - | - | http proxy to use, if any (falls back to HTTP\_PROXY environment variable)
+core.macaroon.endpoint | string | - | macaroon\_authentication | URL of the the external authentication endpoint using Macaroons
core.proxy\_https | string | - | - | https proxy to use, if any (falls back to HTTPS\_PROXY environment variable)
+core.proxy\_http | string | - | - | http proxy to use, if any (falls back to HTTP\_PROXY environment variable)
core.proxy\_ignore\_hosts | string | - | - | hosts which don't need the proxy for use (similar format to NO\_PROXY, e.g. 1.2.3.4,1.2.3.5, falls back to NO\_PROXY environment variable)
core.trust\_password | string | - | - | Password to be provided by clients to setup a trust
images.auto\_update\_cached | boolean | true | - | Whether to automatically update any image that LXD caches
From b3a94124dda2433938f3b76f71d4ecdd9b1b3043 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Wed, 18 Oct 2017 15:07:31 -0400
Subject: [PATCH 3/6] doc: Sort container config keys
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>
---
doc/containers.md | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/doc/containers.md b/doc/containers.md
index c5a72bea9..4425c6f1c 100644
--- a/doc/containers.md
+++ b/doc/containers.md
@@ -42,17 +42,17 @@ limits.network.priority | integer | 0 (minimum) | yes
limits.processes | integer | - (max) | yes | - | Maximum number of processes that can run in the container
linux.kernel\_modules | string | - | yes | - | Comma separated list of kernel modules to load before starting the container
raw.apparmor | blob | - | yes | - | Apparmor profile entries to be appended to the generated profile
+raw.idmap | blob | - | no | id\_map | Raw idmap configuration (e.g. "both 1000 1000")
raw.lxc | blob | - | no | - | Raw LXC configuration to be appended to the generated one
raw.seccomp | blob | - | no | container\_syscall\_filtering | Raw Seccomp configuration
-raw.idmap | blob | - | no | id\_map | Raw idmap configuration (e.g. "both 1000 1000")
security.idmap.base | integer | - | no | id\_map\_base | The base host ID to use for the allocation (overrides auto-detection)
security.idmap.isolated | boolean | false | no | id\_map | Use an idmap for this container that is unique among containers with isolated set.
security.idmap.size | integer | - | no | id\_map | The size of the idmap to use
security.nesting | boolean | false | yes | - | Support running lxd (nested) inside the container
security.privileged | boolean | false | no | - | Runs the container in privileged mode
-security.syscalls.blacklist\_default | boolean | true | no | container\_syscall\_filtering | Enables the default syscall blacklist
-security.syscalls.blacklist\_compat | boolean | false | no | container\_syscall\_filtering | On x86\_64 this enables blocking of compat\_\* syscalls, it is a no-op on other arches
security.syscalls.blacklist | string | - | no | container\_syscall\_filtering | A '\n' separated list of syscalls to blacklist
+security.syscalls.blacklist\_compat | boolean | false | no | container\_syscall\_filtering | On x86\_64 this enables blocking of compat\_\* syscalls, it is a no-op on other arches
+security.syscalls.blacklist\_default | boolean | true | no | container\_syscall\_filtering | Enables the default syscall blacklist
security.syscalls.whitelist | string | - | no | container\_syscall\_filtering | A '\n' separated list of syscalls to whitelist (mutually exclusive with security.syscalls.blacklist\*)
user.\* | string | - | n/a | - | Free form user key/value storage (can be used in search)
@@ -60,9 +60,6 @@ The following volatile keys are currently internally used by LXD:
Key | Type | Default | Description
:-- | :--- | :------ | :----------
-volatile.\<name\>.hwaddr | string | - | Network device MAC address (when no hwaddr property is set on the device itself)
-volatile.\<name\>.name | string | - | Network device name (when no name propery is set on the device itself)
-volatile.\<name\>.host\_name | string | - | Network device name on the host (for nictype=bridged or nictype=p2p)
volatile.apply\_quota | string | - | Disk quota to be applied on next container start
volatile.apply\_template | string | - | The name of a template hook which should be triggered upon next startup
volatile.base\_image | string | - | The hash of the image the container was created from, if any.
@@ -70,17 +67,20 @@ volatile.idmap.base | integer | - | The first id in th
volatile.idmap.next | string | - | The idmap to use next time the container starts
volatile.last\_state.idmap | string | - | Serialized container uid/gid map
volatile.last\_state.power | string | - | Container state as of last host shutdown
+volatile.\<name\>.host\_name | string | - | Network device name on the host (for nictype=bridged or nictype=p2p)
+volatile.\<name\>.hwaddr | string | - | Network device MAC address (when no hwaddr property is set on the device itself)
+volatile.\<name\>.name | string | - | Network device name (when no name propery is set on the device itself)
Additionally, those user keys have become common with images (support isn't guaranteed):
Key | Type | Default | Description
:-- | :--- | :------ | :----------
-user.network\_mode | string | dhcp | One of "dhcp" or "link-local". Used to configure network in supported images.
user.meta-data | string | - | Cloud-init meta-data, content is appended to seed value.
+user.network-config | string | DHCP on eth0 | Cloud-init network-config, content is used as seed value.
+user.network\_mode | string | dhcp | One of "dhcp" or "link-local". Used to configure network in supported images.
user.user-data | string | #!cloud-config | Cloud-init user-data, content is used as seed value.
user.vendor-data | string | #!cloud-config | Cloud-init vendor-data, content is used as seed value.
-user.network-config | string | DHCP on eth0 | Cloud-init network-config, content is used as seed value.
Note that while a type is defined above as a convenience, all values are
stored as strings and should be exported over the REST API as strings
From 33c489134aab55e73d101b44250779af4bbefcd9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Wed, 18 Oct 2017 15:15:07 -0400
Subject: [PATCH 4/6] doc: Sort network config keys
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>
---
doc/networks.md | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/doc/networks.md b/doc/networks.md
index c6d7b2029..54b01ae4f 100644
--- a/doc/networks.md
+++ b/doc/networks.md
@@ -23,38 +23,38 @@ Key | Type | Condition | Default
:-- | :-- | :-- | :-- | :--
bridge.driver | string | - | native | Bridge driver ("native" or "openvswitch")
bridge.external\_interfaces | string | - | - | Comma separate list of unconfigured network interfaces to include in the bridge
-bridge.mtu | integer | - | 1500 | Bridge MTU (default varies if tunnel or fan setup)
bridge.mode | string | - | standard | Bridge operation mode ("standard" or "fan")
-fan.underlay\_subnet | string | fan mode | default gateway subnet | Subnet to use as the underlay for the FAN (CIDR notation)
+bridge.mtu | integer | - | 1500 | Bridge MTU (default varies if tunnel or fan setup)
+dns.domain | string | - | lxd | Domain to advertise to DHCP clients and use for DNS resolution
+dns.mode | string | - | managed | DNS registration mode ("none" for no DNS record, "managed" for LXD generated static records or "dynamic" for client generated records)
fan.overlay\_subnet | string | fan mode | 240.0.0.0/8 | Subnet to use as the overlay for the FAN (CIDR notation)
fan.type | string | fan mode | vxlan | The tunneling type for the FAN ("vxlan" or "ipip")
-tunnel.NAME.protocol | string | standard mode | - | Tunneling protocol ("vxlan" or "gre")
-tunnel.NAME.local | string | gre or vxlan | - | Local address for the tunnel (not necessary for multicast vxlan)
-tunnel.NAME.remote | string | gre or vxlan | - | Remote address for the tunnel (not necessary for multicast vxlan)
-tunnel.NAME.group | string | vxlan | 239.0.0.1 | Multicast address for vxlan (used if local and remote aren't set)
-tunnel.NAME.port | integer | vxlan | 0 | Specific port to use for the vxlan tunnel
-tunnel.NAME.id | integer | vxlan | 0 | Specific tunnel ID to use for the vxlan tunnel
-tunnel.NAME.interface | string | vxlan | - | Specific host interface to use for the tunnel
+fan.underlay\_subnet | string | fan mode | default gateway subnet | Subnet to use as the underlay for the FAN (CIDR notation)
ipv4.address | string | standard mode | random unused subnet | IPv4 address for the bridge (CIDR notation). Use "none" to turn off IPv4 or "auto" to generate a new one
-ipv4.nat | boolean | ipv4 address | false | Whether to NAT (will default to true if unset and a random ipv4.address is generated)
ipv4.dhcp | boolean | ipv4 address | true | Whether to allocate addresses using DHCP
ipv4.dhcp.expiry | string | ipv4 dhcp | 1h | When to expire DHCP leases
ipv4.dhcp.ranges | string | ipv4 dhcp | all addresses | Comma separated list of IP ranges to use for DHCP (FIRST-LAST format)
ipv4.firewall | boolean | ipv4 address | true | Whether to generate filtering firewall rules for this network
+ipv4.nat | boolean | ipv4 address | false | Whether to NAT (will default to true if unset and a random ipv4.address is generated)
ipv4.routes | string | ipv4 address | - | Comma separated list of additional IPv4 CIDR subnets to route to the bridge
ipv4.routing | boolean | ipv4 address | true | Whether to route traffic in and out of the bridge
ipv6.address | string | standard mode | random unused subnet | IPv6 address for the bridge (CIDR notation). Use "none" to turn off IPv6 or "auto" to generate a new one
-ipv6.nat | boolean | ipv6 address | false | Whether to NAT (will default to true if unset and a random ipv6.address is generated)
ipv6.dhcp | boolean | ipv6 address | true | Whether to provide additional network configuration over DHCP
ipv6.dhcp.expiry | string | ipv6 dhcp | 1h | When to expire DHCP leases
-ipv6.dhcp.stateful | boolean | ipv6 dhcp | false | Whether to allocate addresses using DHCP
ipv6.dhcp.ranges | string | ipv6 stateful dhcp | all addresses | Comma separated list of IPv6 ranges to use for DHCP (FIRST-LAST format)
+ipv6.dhcp.stateful | boolean | ipv6 dhcp | false | Whether to allocate addresses using DHCP
ipv6.firewall | boolean | ipv6 address | true | Whether to generate filtering firewall rules for this network
+ipv6.nat | boolean | ipv6 address | false | Whether to NAT (will default to true if unset and a random ipv6.address is generated)
ipv6.routes | string | ipv6 address | - | Comma separated list of additional IPv6 CIDR subnets to route to the bridge
ipv6.routing | boolean | ipv6 address | true | Whether to route traffic in and out of the bridge
-dns.domain | string | - | lxd | Domain to advertise to DHCP clients and use for DNS resolution
-dns.mode | string | - | managed | DNS registration mode ("none" for no DNS record, "managed" for LXD generated static records or "dynamic" for client generated records)
raw.dnsmasq | string | - | - | Additional dnsmasq configuration to append to the configuration
+tunnel.NAME.group | string | vxlan | 239.0.0.1 | Multicast address for vxlan (used if local and remote aren't set)
+tunnel.NAME.id | integer | vxlan | 0 | Specific tunnel ID to use for the vxlan tunnel
+tunnel.NAME.interface | string | vxlan | - | Specific host interface to use for the tunnel
+tunnel.NAME.local | string | gre or vxlan | - | Local address for the tunnel (not necessary for multicast vxlan)
+tunnel.NAME.port | integer | vxlan | 0 | Specific port to use for the vxlan tunnel
+tunnel.NAME.protocol | string | standard mode | - | Tunneling protocol ("vxlan" or "gre")
+tunnel.NAME.remote | string | gre or vxlan | - | Remote address for the tunnel (not necessary for multicast vxlan)
Those keys can be set using the lxc tool with:
From bb8e088b22a1ab21c0b2745b9253d4c9703c7baf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Wed, 18 Oct 2017 15:30:38 -0400
Subject: [PATCH 5/6] doc: Sort storage config keys
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>
---
doc/storage.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc/storage.md b/doc/storage.md
index c61619db3..dccff0075 100644
--- a/doc/storage.md
+++ b/doc/storage.md
@@ -12,16 +12,16 @@ source | string | -
btrfs.mount\_options | string | btrfs driver | user\_subvol\_rm\_allowed | storage\_btrfs\_mount\_options | Mount options for block devices
ceph.cluster\_name | string | ceph driver | ceph | storage\_driver\_ceph | Name of the ceph cluster in which to create new storage pools.
ceph.osd.force\_reuse | bool | ceph driver | false | storage\_ceph\_force\_osd\_reuse | Force using an osd storage pool that is already in use by another LXD instance.
-ceph.osd.pool\_name | string | ceph driver | name of the pool | storage\_driver\_ceph | Name of the osd storage pool.
ceph.osd.pg\_num | string | ceph driver | 32 | storage\_driver\_ceph | Number of placement groups for the osd storage pool.
+ceph.osd.pool\_name | string | ceph driver | name of the pool | storage\_driver\_ceph | Name of the osd storage pool.
ceph.rbd.clone\_copy | string | ceph driver | true | storage\_driver\_ceph | Whether to use RBD lightweight clones rather than full dataset copies.
ceph.user.name | string | ceph driver | admin | storage\_ceph\_user\_name | The ceph user to use when creating storage pools and volumes.
lvm.thinpool\_name | string | lvm driver | LXDPool | storage | Thin pool where images and containers are created.
lvm.use\_thinpool | bool | lvm driver | true | storage\_lvm\_use\_thinpool | Whether the storage pool uses a thinpool for logical volumes.
lvm.vg\_name | string | lvm driver | name of the pool | storage | Name of the volume group to create.
rsync.bwlimit | string | - | 0 (no limit) | storage\_rsync\_bwlimit | Specifies the upper limit to be placed on the socket I/O whenever rsync has to be used to transfer storage entities.
-volatile.pool.pristine | string | - | true | storage\_driver\_ceph | Whether the pool has been empty on creation time.
volatile.initial\_source | string | - | - | storage\_volatile\_initial\_source | Records the actual source passed during creating (e.g. /dev/sdb).
+volatile.pool.pristine | string | - | true | storage\_driver\_ceph | Whether the pool has been empty on creation time.
volume.block.filesystem | string | block based driver (lvm) | ext4 | storage | Filesystem to use for new volumes
volume.block.mount\_options | string | block based driver (lvm) | discard | storage | Mount options for block devices
volume.size | string | appropriate driver | 0 | storage | Default volume size
From a45b50e732f2779334c45b3a46a31f26fba2384c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Wed, 18 Oct 2017 15:30:54 -0400
Subject: [PATCH 6/6] Update bash completion
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>
---
config/bash/lxd-client | 90 +++++++++++++++++++++++++++++---------------------
1 file changed, 53 insertions(+), 37 deletions(-)
diff --git a/config/bash/lxd-client b/config/bash/lxd-client
index b5e1c56c6..087906833 100644
--- a/config/bash/lxd-client
+++ b/config/bash/lxd-client
@@ -60,40 +60,50 @@ _have lxc && {
return 0
fi
- lxc_cmds="config copy delete exec file help image info init launch \
- list move network profile publish remote restart restore shell snapshot \
- start stop storage version"
+ lxc_cmds="config copy delete exec file finger help image info init launch \
+ list manpage monitor move network profile publish query remote rename \
+ restart restore shell snapshot start stop storage version"
- global_keys="core.https_address core.https_allowd_origin \
- core.https_allowed_methods core.https_allowed_headers \
- core.https_allowed_credentials core.proxy_https \
- core.proxy_http core.proxy_ignore_host core.trust_password \
- images.compression_algorithm \
- images.remote_cache_expiry images.auto_update_interval \
- images.auto_update_cached"
+ global_keys="core.https_address core.https_allowed_credentials \
+ core.https_allowed_headers core.https_allowed_methods \
+ core.https_allowed_origin core.macaroon.endpoint core.proxy_https \
+ core.proxy_http core.proxy_ignore_hosts core.trust_password \
+ images.auto_update_cached images.auto_update_interval \
+ images.compression_algorithm images.remote_cache_expiry"
- container_keys="boot.autostart boot.autostart.delay boot.autostart.priority \
- boot.host_shutdown_timeout limits.cpu limits.cpu.allowance limits.cpu.priority \
- limits.disk.priority limits.memory limits.memory.enforce limits.memory.swap \
- limits.memory.swap.priority limits.network.priority limits.processes \
- linux.kernel_modules raw.apparmor raw.lxc raw.seccomp security.nesting \
- security.privileged security.syscalls.blacklist_default \
- security.syscalls.blacklist_compat security.syscalls.blacklist \
- security.syscalls.whitelist volatile.apply_template volatile.base_image \
- volatile.last_state.idmap volatile.last_state.power user.network_mode \
- user.meta-data user.user-data user.vendor-data"
+ container_keys="boot.autostart boot.autostart.delay \
+ boot.autostart.priority boot.host_shutdown_timeout environment. \
+ limits.cpu limits.cpu.allowance limits.cpu.priority \
+ limits.disk.priority limits.memory limits.memory.enforce \
+ limits.memory.swap limits.memory.swap.priority limits.network.priority \
+ limits.processes linux.kernel_modules raw.apparmor raw.idmap raw.lxc \
+ raw.seccomp security.idmap.base security.idmap.isolated \
+ security.idmap.size security.nesting security.privileged \
+ security.syscalls.blacklist security.syscalls.blacklist_compat \
+ security.syscalls.blacklist_default \
+ volatile.apply_quota volatile.apply_template volatile.base_image \
+ volatile.idmap.base volatile.idmap.next volatile.last_state.idmap \
+ volatile.last_state.power user.meta-data user.network-config \
+ user.network_mode user.user-data user.vendor-data"
- networks_keys="bridge.driver bridge.external_interfaces bridge.mtu bridge.mode \
- fan.underlay_subnet fan.overlay_subnet fan.type ipv4.address ipv4.nat ipv4.dhcp \
- ipv4.dhcp.expiry ipv4.dhcp.ranges ipv4.routing ipv6.address ipv6.nat ipv6.dhcp ipv6.dhcp.stateful \
- ipv6.dhcp.expiry ipv6.dhcp.ranges ipv6.routing dns.domain dns.mode raw.dnsmasq"
+ networks_keys="bridge.driver bridge.external_interfaces bridge.mode \
+ bridge.mtu dns.domain dns.mode fan.overlay_subnet fan.type \
+ fan.underlay_subnet ipv4.address ipv4.dhcp ipv4.dhcp.expiry \
+ ipv4.dhcp.ranges ipv4.firewall ipv4.nat ipv4.routes ipv4.routing \
+ ipv6.address ipv6.dhcp ipv6.dhcp.expiry ipv6.dhcp.ranges \
+ ipv6.dhcp.stateful ipv6.firewall ipv6.nat ipv6.routes ipv6.routing \
+ raw.dnsmasq"
- storage_pool_keys="source size volume.block.mount_options
- volume.block.filesystem volume.size volume.zfs.use_refquota
- volume.zfs.remove_snapshots volume.lvm.thinpool_name zfs.pool_name"
+ storage_pool_keys="source size btrfs.mount_options ceph.cluster_name \
+ ceph.osd.force_reuse ceph.osd.pg_num ceph.osd.pool_name \
+ ceph.rbd.clone_copy ceph.user.name lvm.thinpool_name lvm.use_thinpool \
+ lvm.vg_name rsync.bwlimit volatile.initial_source \
+ volatile.pool.pristine volume.block.filesystem \
+ volume.block.mount_options volume.size volume.zfs.remove_snapshots \
+ volume.zfs.use_refquota zfs.clone_copy zfs.pool_name"
- storage_volume_keys="block.mount_options block.filesystem size
- zfs.use_refquota zfs.remove_snapshots"
+ storage_volume_keys="size block.filesystem block.mount_options \
+ zfs.remove_snapshots zfs.use_refquota"
if [ $COMP_CWORD -eq 1 ]; then
COMPREPLY=( $(compgen -W "$lxc_cmds" -- ${COMP_WORDS[COMP_CWORD]}) )
@@ -113,7 +123,7 @@ _have lxc && {
"config")
case $pos in
2)
- COMPREPLY=( $(compgen -W "device edit get set show trust" -- $cur) )
+ COMPREPLY=( $(compgen -W "get set unset show edit metadata template device trust" -- $cur) )
;;
3)
case ${no_dashargs[2]} in
@@ -123,6 +133,12 @@ _have lxc && {
"device")
COMPREPLY=( $(compgen -W "add get set unset list show remove" -- $cur) )
;;
+ "metadata")
+ COMPREPLY=( $(compgen -W "show edit" -- $cur) )
+ ;;
+ "template")
+ COMPREPLY=( $(compgen -W "list show create edit delete" -- $cur) )
+ ;;
"show"|"edit")
_lxd_names
;;
@@ -164,7 +180,7 @@ _have lxc && {
COMPREPLY=( $(compgen -W "$lxc_cmds" -- $cur) )
;;
"image")
- COMPREPLY=( $(compgen -W "import copy delete edit export info list show alias" -- $cur) )
+ COMPREPLY=( $(compgen -W "import copy delete refresh export info list show edit alias" -- $cur) )
;;
"info")
_lxd_names
@@ -181,11 +197,11 @@ _have lxc && {
"network")
case $pos in
2)
- COMPREPLY=( $(compgen -W "list show create get set unset delete edit attach attach-profile detach detach-profile" -- $cur) )
+ COMPREPLY=( $(compgen -W "list show create get set unset delete edit rename attach attach-profile detach detach-profile" -- $cur) )
;;
3)
case ${no_dashargs[2]} in
- "show"|"get"|"set"|"unset"|"delete"|"edit"|"attach"|"attach-profile"|"detach"|"detach-profile")
+ "show"|"get"|"set"|"unset"|"delete"|"edit"|"rename"|"attach"|"attach-profile"|"detach"|"detach-profile")
_lxd_networks
;;
esac
@@ -207,12 +223,12 @@ _have lxc && {
"profile")
case $pos in
2)
- COMPREPLY=( $(compgen -W "list copy delete apply device edit get set show" -- $cur) )
+ COMPREPLY=( $(compgen -W "list show create copy get set unset delete edit rename assign add remove device " -- $cur) )
;;
3)
case ${no_dashargs[2]} in
"device")
- COMPREPLY=( $(compgen -W "add get set unset list show remove" -- $cur) )
+ COMPREPLY=( $(compgen -W "list show remove get set unset add" -- $cur) )
;;
*)
_lxd_profiles
@@ -279,11 +295,11 @@ _have lxc && {
"storage_volumes")
case $pos in
2)
- COMPREPLY=( $(compgen -W "list show create get set unset delete edit attach attach-profile detach detach-profile" -- $cur) )
+ COMPREPLY=( $(compgen -W "list show create rename get set unset delete edit attach attach-profile detach detach-profile" -- $cur) )
;;
3)
case ${no_dashargs[2]} in
- "show"|"get"|"set"|"unset"|"delete"|"edit"|"attach"|"attach-profile"|"detach"|"detach-profile")
+ "show"|"get"|"set"|"unset"|"rename"|"delete"|"edit"|"attach"|"attach-profile"|"detach"|"detach-profile")
_lxd_storage_volumes
;;
esac
More information about the lxc-devel
mailing list