This example script is guaranteed to fail on modern Ubuntu releases due to outdated configuration. These changes allow the script to pass:
- Fixes container.create arguments to request Noble image instead of Xenial, as Xenial images are no longer available
- Changes cgroups key strings to use cgroups v2 nomenclature ('max' instead of 'limit_in_bytes', 'peak' instead of 'max_usage_in_bytes')
Signed-off-by: Austin Rhodes <austin.rhodes@canonical.com>
If the the ips can not be correctly obtained with container.get_ips()
this while loop will never ends.
Fix this by using:
while not ips and count != 30
So that even if the ips is empty, the loop will get terminated after
30 attempts (30 seconds later). This retry limit was bumped from 10
to 30 to give it a chance to get the ip address.
If the ip address cannot be obtained, this test will failed with:
Traceback (most recent call last):
File "/usr/share/doc/python3-lxc/examples/api_test.py", line 131, in <module>
assert(len(ips) > 0)
AssertionError
Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com>
When the host has kernel module sit or ipip inserted, additional network
interfaces sit0 and/or tunl0 would appear inside the container by
default as well, which fails the api_test.
This change append sit0/tunl0 to expected interfaces when applicable.
Closes: #2
Signed-off-by: You-Sheng Yang <vicamo@gmail.com>