From c79c748013ec53ff59e9260034822a5b26afa441 Mon Sep 17 00:00:00 2001 From: "juraj.linkes" Date: Wed, 17 Jul 2019 14:28:30 +0200 Subject: Add support for aarch64 container images Change-Id: I84f13d7139a6e5f7004426018c2d27425c5fa97e Signed-off-by: juraj.linkes --- resources/libraries/python/Constants.py | 3 +++ resources/libraries/python/ContainerUtils.py | 13 ++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'resources/libraries/python') diff --git a/resources/libraries/python/Constants.py b/resources/libraries/python/Constants.py index ddff2b161c..0a252687a7 100644 --- a/resources/libraries/python/Constants.py +++ b/resources/libraries/python/Constants.py @@ -73,6 +73,9 @@ class Constants(object): # Docker container SUT image DOCKER_SUT_IMAGE_UBUNTU = 'snergster/csit-sut:latest' + # Docker container arm SUT image + DOCKER_SUT_IMAGE_UBUNTU_ARM = 'snergster/csit-sut-arm-ubuntu18:latest' + # TRex install version TREX_INSTALL_VERSION = '2.54' diff --git a/resources/libraries/python/ContainerUtils.py b/resources/libraries/python/ContainerUtils.py index a324465eaf..363411c070 100644 --- a/resources/libraries/python/ContainerUtils.py +++ b/resources/libraries/python/ContainerUtils.py @@ -593,8 +593,12 @@ class LXC(ContainerEngine): else: return + target_arch = 'arm64' \ + if Topology.get_node_arch(self.container.node) == 'aarch64' \ + else 'amd64' + image = self.container.image if self.container.image else\ - "-d ubuntu -r bionic -a amd64" + "-d ubuntu -r bionic -a {arch}".format(arch=target_arch) cmd = 'lxc-create -t download --name {c.name} -- {image} '\ '--no-validate'.format(c=self.container, image=image) @@ -786,8 +790,10 @@ class Docker(ContainerEngine): return if not self.container.image: - setattr(self.container, 'image', - Constants.DOCKER_SUT_IMAGE_UBUNTU) + img = Constants.DOCKER_SUT_IMAGE_UBUNTU_ARM \ + if Topology.get_node_arch(self.container.node) == 'aarch64' \ + else Constants.DOCKER_SUT_IMAGE_UBUNTU + setattr(self.container, 'image', img) cmd = 'docker pull {image}'.format(image=self.container.image) @@ -795,6 +801,7 @@ class Docker(ContainerEngine): if int(ret) != 0: raise RuntimeError('Failed to create container {c.name}.' .format(c=self.container)) + if self.container.cpuset_cpus: self._configure_cgroup('docker') -- cgit 1.2.3-korg