}
-function select_os () {
+function select_arch_os () {
# Populate variables related to local operating system.
#
PKG_SUFFIX="rpm"
;;
*)
- die "Unable to identify distro or os from ${OS}"
+ die "Unable to identify distro or os from ${os_id}"
+ ;;
+ esac
+
+ arch=$(uname -m) || {
+ die "Get CPU architecture failed."
+ }
+
+ case "${arch}" in
+ "aarch64")
+ IMAGE_VER_FILE="${IMAGE_VER_FILE}_ARM"
+ ;;
+ *)
;;
esac
}
# 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'
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)
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)
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')