# Set cpuset.cpus cgroup
skip_cnt = kwargs['cpu_skip']
+ smt_used = CpuUtils.is_smt_enabled(kwargs['node']['cpuinfo'])
if not kwargs['cpu_shared']:
skip_cnt += kwargs['i'] * kwargs['cpu_count']
self.engine.container.cpuset_cpus = \
CpuUtils.cpu_slice_of_list_per_node(node=kwargs['node'],
cpu_node=kwargs['cpuset_mems'],
skip_cnt=skip_cnt,
- cpu_cnt=kwargs['cpu_count'],
- smt_used=kwargs['smt_used'])
+ cpu_cnt=1,
+ smt_used=False) \
+ + \
+ CpuUtils.cpu_slice_of_list_per_node(node=kwargs['node'],
+ cpu_node=kwargs['cpuset_mems'],
+ skip_cnt=skip_cnt+1,
+ cpu_cnt=kwargs['cpu_count']-1,
+ smt_used=smt_used)
# Store container instance
self.containers[kwargs['name']] = self.engine.container
if self.container.install_dkms:
self.execute(
'apt-get install -y dkms && '
- 'dpkg -i --force-all {guest_dir}/install_dir/*.deb'.
+ 'dpkg -i --force-all '
+ '{guest_dir}/openvpp-testing/download_dir/*.deb'.
format(guest_dir=self.container.mnt[0].split(':')[1]))
else:
self.execute(
- 'for i in $(ls -I \"*dkms*\" {guest_dir}/install_dir/); do '
- 'dpkg -i --force-all {guest_dir}/install_dir/$i; done'.
+ 'for i in $(ls -I \"*dkms*\" '
+ '{guest_dir}/openvpp-testing/download_dir/); do '
+ 'dpkg -i --force-all '
+ '{guest_dir}/openvpp-testing/download_dir/$i; done'.
format(guest_dir=self.container.mnt[0].split(':')[1]))
self.execute('apt-get -f install -y')
self.execute('apt-get install -y ca-certificates')
'priority=1',
config_file=SUPERVISOR_CONF))
self.execute('supervisorctl reload')
+ self.execute('supervisorctl restart vpp')
def restart_vpp(self):
"""Restart VPP service inside a container."""
class LXC(ContainerEngine):
"""LXC implementation."""
- def __init__(self):
- """Initialize LXC object."""
- super(LXC, self).__init__()
+ # Implicit constructor is inherited.
def acquire(self, force=True):
"""Acquire a privileged system object where configuration is stored.
class Docker(ContainerEngine):
"""Docker implementation."""
- def __init__(self):
- """Initialize Docker object."""
- super(Docker, self).__init__()
+ # Implicit constructor is inherited.
def acquire(self, force=True):
"""Pull an image or a repository from a registry.
else:
return
- cmd = 'docker pull {c.image}'.format(c=self.container)
+ image = self.container.image if self.container.image else\
+ "ubuntu:xenial-20180412"
+
+ cmd = 'docker pull {image}'.format(image=image)
ret, _, _ = self.container.ssh.exec_command_sudo(cmd, timeout=1800)
if int(ret) != 0: