X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FContainerUtils.py;h=478a9781a023823920370adbf9d414c6d45b7b75;hb=ada7009a3c826430e83a29c31bdf9a5973986ad9;hp=5e1ab5ab4f8ca6019a1d6977bf37eeca36b1eaf9;hpb=28b344a6ade7624278835cff242b3e0c9d891346;p=csit.git diff --git a/resources/libraries/python/ContainerUtils.py b/resources/libraries/python/ContainerUtils.py index 5e1ab5ab4f..478a9781a0 100644 --- a/resources/libraries/python/ContainerUtils.py +++ b/resources/libraries/python/ContainerUtils.py @@ -80,14 +80,21 @@ class ContainerManager(object): # 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 @@ -322,12 +329,15 @@ class ContainerEngine(object): 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') @@ -340,6 +350,7 @@ class ContainerEngine(object): '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.""" @@ -468,9 +479,7 @@ class ContainerEngine(object): 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. @@ -661,9 +670,7 @@ class LXC(ContainerEngine): 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. @@ -678,7 +685,10 @@ class Docker(ContainerEngine): 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: