Commit Graph

5283 Commits

Author SHA1 Message Date
Christian Brauner
cb54b5798a Merge pull request #1645 from evgeni/centos-altarch
use altarch mirror for CentOS on arches other than i386 and x86_64
2017-06-24 19:37:25 +02:00
Evgeni Golov
e54bd54f5a use altarch mirror for CentOS on arches other than i386 and x86_64
CentOS only has i386 and x86_64 listed in mirrorlist.centos.org,
use http://mirror.centos.org/altarch/ for all other arches instead

See: https://bugs.centos.org/view.php?id=11250

Signed-off-by: Evgeni Golov <evgeni@debian.org>
2017-06-24 19:32:17 +02:00
Christian Brauner
58c89a1422 Merge pull request #1635 from 0x0916/instead-of-strerror
Use strerror(errno) instead of %m
2017-06-23 18:10:46 +02:00
Christian Brauner
a0075d68b1 Merge pull request #1640 from 0x0916/update-ignore-file
update .gitignore
2017-06-23 18:00:10 +02:00
0x0916
58e49ed2c7 update .gitignore
Signed-off-by: 0x0916 <w@laoqinren.net>
2017-06-23 23:17:29 +08:00
0x0916
13277ec49c Use strerror(errno) instead of %m
Signed-off-by: 0x0916 <w@laoqinren.net>
2017-06-23 23:10:49 +08:00
Christian Brauner
af36a8ee9c Merge pull request #1638 from 0x0916/fix-memory-resource-leak
fix memory and resource leak
2017-06-23 15:34:15 +02:00
Christian Brauner
a7ff221374 Merge pull request #1637 from 0x0916/fix-lxc.pc
Revert "Add a prefix to the lxc.pc"
2017-06-23 14:44:12 +02:00
0x0916
17ac53014b fix memory and resource leak
Signed-off-by: 0x0916 <w@laoqinren.net>
2017-06-23 20:40:29 +08:00
0x0916
4d628ca896 Revert "Add a prefix to the lxc.pc"
This reverts commit 758243d8af.

Signed-off-by: 0x0916 <w@laoqinren.net>
2017-06-23 19:47:12 +08:00
Serge Hallyn
72cc48f990 Merge pull request #1632 from brauner/2017-06-19/new_network_parser_part_deux
network: new network parser part II
2017-06-21 10:30:58 -05:00
Christian Brauner
1ecd12ca1e Merge pull request #1633 from lifeng68/Fix_memory_leak
Fix memory leak of 'lxc_tty_state'
2017-06-21 11:54:20 +02:00
Christian Brauner
ab6faf2ed3
confile: do not check for empty value twice
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-21 11:13:57 +02:00
Li Feng
0e6da90bc0 Fix memory leak of 'lxc_tty_state'
Signed-off-by: Li Feng <lifeng68@huawei.com>
2017-06-21 13:38:06 +08:00
Christian Brauner
b61bb54042
network: test legacy index based networks
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-21 00:44:17 +02:00
Christian Brauner
872e772da6
network: return negative idx for legacy networks
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-21 00:29:09 +02:00
Christian Brauner
01aebbc375
network: test new network configuration parser
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-20 13:13:21 +02:00
Christian Brauner
f9373e40b3
network: new network parser part II
Serge and I discussed the new network parser we've merge a couple of days ago.
He pointed out that a bunch of use-cases we're currently supporting in the old
network parser would be broken by the new parser. As we've pointed out many
times before, we're strongly commited to backwards compatibility and not
breaking existing use-cases. That's why we decided to take a new approach.
Instead of trying to mangle the old parser and new parser to come up with
something that allows a smooth transition we will simply deprecate the old
configuration keys with LXC 3.0. In the meantime we will support the full-blown
old legacy parser and the new network parser. Specifically, this means that
we're deprecating:

    lxc.network.*

in favor of

    lxc.net.*

With LXC 2.1. defining networks using lxc.network.* keys will cause a
deprecation warning to be shown/logged. We strongly suggest that users upgrade
their existing configuration files to switch to the new network configuration
parser. Starting with LXC 3.0 we will remove all lxc.network.* keys and will
only support lxc.net.* style network configurations.

Note that the new network configuration parser will only accept index based
configuration keys, i.e. we are only support lxc.net.[i].* keys without an
index such as lxc.net.type are not supported anymore. The advantages of this
approach are vast. Not just internally, but also user-facing since it is much
clearer what configuration key belongs to what network.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-20 13:13:20 +02:00
Christian Brauner
4331b86a16 Merge pull request #1631 from tenforward/japanese
Update Japanese lxc.container.conf(5)
2017-06-20 10:46:42 +02:00
KATOH Yasufumi
50a8555e99 doc: Untabify Japanese lxc.container.conf(5)
Tab and white space is mixed in Japanese lxc.container.conf(5), so
unify into the white space.

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2017-06-20 17:36:30 +09:00
KATOH Yasufumi
2513f519cb doc: Tweak Japanese lxc.container.conf(5)
Add description of new network configuration, and tweak.

Update for commit b9986e437b

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2017-06-20 17:28:49 +09:00
Serge Hallyn
842404a7f3 Merge pull request #1630 from brauner/2017-06-20/fix_siblk_detection
utils: use 1LU otherwise we overflow
2017-06-19 20:30:16 -05:00
Christian Brauner
6fbcbe3bd7
utils: use 1LU otherwise we overflow
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-20 02:48:47 +02:00
Christian Brauner
71e4d99cab Merge pull request #1628 from tanyifeng/fix_detect_way_of_bitmask
utils: fix the way to detect blocking signal
2017-06-19 08:05:02 +02:00
Yifeng Tan
455f2b20ed utils: fix the way to detect blocking signal
Signed-off-by: Yifeng Tan <tanyifeng1@huawei.com>
2017-06-19 18:36:13 +08:00
Serge Hallyn
d21c360988 Merge pull request #1626 from brauner/2017-06-13/new_networks_parser
new network config parser
2017-06-18 17:24:27 -05:00
Christian Brauner
ce49441853
confile: adapt warning
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-19 00:10:21 +02:00
Christian Brauner
d1826cf12d
network: refuse to create unsupported net types
Containers setup by unprivileged users are only able to create veth network
types.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 23:44:52 +02:00
Christian Brauner
e337179a0e
network: non-functional changes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 12:22:46 +02:00
Christian Brauner
9b0df30f9d
network: improve network logging
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:34 +02:00
Christian Brauner
c302b47632
network: preserve backwards compatibility
The new network parser will support specifying multiple networks in the old
format where each new non-indexed "lxc.network.type" line starts a new network
configuration. This way we don't break users. For now, we just print a
deprecation warning. We will KILL this in LXC 3.0.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:34 +02:00
Christian Brauner
8c58265505
network: add test-suite for configuration items
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:34 +02:00
Christian Brauner
0070b1c418
network: switch to single find + allocation fun
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:34 +02:00
Christian Brauner
ecbb37901e
network: print deprecaton warning for networks
Specifying networks without an index is deprecated.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:33 +02:00
Christian Brauner
b45e32f972
network: remove obsolete logic
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:33 +02:00
Christian Brauner
e5d2fd7c2a
network: final cleanup
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:33 +02:00
Christian Brauner
9d4bf22d50
network: implement network getters
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:33 +02:00
Christian Brauner
6bed0fb600
network: allow to unset by passing empty value
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:32 +02:00
Christian Brauner
cccd2219a4
network: give getters a void pointer arg
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:32 +02:00
Christian Brauner
519df1c1ac
network: clear whole networks
When users specify

lxc.network.<n>

we remove the whole network from the networks list.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:32 +02:00
Christian Brauner
ff6da29581
network: implement network clearing
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:55:30 +02:00
Christian Brauner
40db5d2f96
network: abstract network handling
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:54:09 +02:00
Christian Brauner
2647140368
network: add arg to config clear method
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:54:03 +02:00
Christian Brauner
1ed6ba91b5
network: add lxc_log_configured_netdevs()
This logs the configured networks on the trace level to support debugging.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:53:59 +02:00
Christian Brauner
bbc079cf87
network: use new network configuration parser
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:53:54 +02:00
Christian Brauner
56637458ca
network: perform network validation at creation time
Some of the checks were previously performed when parsing the network config.
But since we allow for a little more flexibility now it doesn't work anymore.
Instead, let's validate the network at creation time.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:53:50 +02:00
Christian Brauner
ce2f5ae83f
network: implement lxc_get_netdev_by_idx()
lxc_get_netdev_by_idx() takes care of checking whether a given netdev struct
for a given index is already allocated. If so it returns a pointer to it to the
caller.
If it doesn't find it it will allocate a new netdev struct and insert it into
the network list at the right position. For example, let's say you have the
following networks defined in your config file:

lxc.network.0.type=veth
lxc.network.0.link=lxcbr0
lxc.network.0.name=eth0
lxc.network.0.flags=up

lxc.network.3.type=veth
lxc.network.3.link=lxcbr0
lxc.network.3.name=eth1
lxc.network.3.flags=up
lxc.network.3.hwaddr = 00:16:3e:5d:7d:65

lxc.network.1.type=veth
lxc.network.1.link=lxcbr0
lxc.network.1.name=eth0
lxc.network.1.flags=up

lxc_get_netdev_by_idx() will take care that the internal network list appears
in the order:

0
1
3

The ordering of the keys themselves can also be random, meaning you could do:

lxc.network.3.type=veth
lxc.network.0.link=lxcbr0
lxc.network.0.name=eth0
lxc.network.3.hwaddr = 00:16:3e:5d:7d:65
lxc.network.0.flags=up
lxc.network.3.flags=up
lxc.network.0.type=veth
lxc.network.3.link=lxcbr0
lxc.network.3.name=eth1

and lxc_get_netdev_by_idx() would still figure out the correct ordering since
it keeps track of the index.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:53:45 +02:00
Christian Brauner
5c35a8f1d9
network: add network counter
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:53:34 +02:00
Christian Brauner
c7e27aaf3b
network: add data arg to set callback
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:53:28 +02:00
Christian Brauner
663e99165e
network: mv config_value_empty() to confile_utils
and rename it to lxc_config_value_empty()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2017-06-18 11:53:20 +02:00