Dne 25.1.2017 v 06:44 Adil Kamal napsal(a):
Hello,

Please confirm if avocado (and more particularly avocado-vt) is
supported for Ubuntu in general, and Ubuntu 14.04 in specific. I am able
to install avocado with some plugin errors though, however can not get
avocado-vt to install on Ubuntu. Any clarity would be appreciated. I am
looking for a tool to test KVM compatibility with ARM v8 hardware. Thank
you.

Best,
Adil Mir

Hello Adil,

I already responded to you about running arm64 avocado-vt tests in private, let me share excerpt of my script to setup avocado which I use (not only) on arm:

```
AVOCADO_PATH=${AVOCADO_PATH:-"/home/jenkins/avocado"}
AVOCADO_DATA_PATH=${AVOCADO_DATA_PATH:-"/var/lib/libvirt/images/avocado"}
AVOCADO_VT_PATH=${AVOCADO_VT_PATH:-"$AVOCADO_PATH/../avocado-vt"}
ISOS_PATH=${ISOS_PATH:-"/home/isos"}
QEMU=${QEMU:-"/usr/libexec/qemu-kvm"}
# Some architectures requires additional tweaks
ARCH=`uname -m`
if [[ "$ARCH" =~ "ppc64" ]]; then
    ARCH="ppc64"
    MACHINE="pseries"
elif [ "$ARCH" == "aarch64" ]; then
    ARCH="arm64"
    MACHINE="aarch64"
fi

# Prerequisites + python-pip
yum install -y PyYAML tcpdump genisoimage python-requests libvirt-python python-sphinx libvirt-devel gstreamer-python gdb gdb-gdbserver python-imaging bridge-utils git python-devel
yum install -y cryptsetup libseccomp libffi-devel

if ! [ -x "$(command -v pip)" ]; then
    cd /tmp
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz --no-check-certificate
    tar xzf setuptools-7.0.tar.gz
    cd setuptools-7.0
    python setup.py install
    wget https://bootstrap.pypa.io/get-pip.py
    python get-pip.py
fi

# Update repositories
[ -d "$AVOCADO_PATH" ] || git clone https://github.com/avocado-framework/avocado.git "$AVOCADO_PATH" [ -d "$AVOCADO_VT_PATH" ] || git clone https://github.com/avocado-framework/avocado-vt.git "$AVOCADO_VT_PATH" cd "$AVOCADO_PATH" && git checkout master && git fetch --all && git reset --hard origin/master cd "$AVOCADO_VT_PATH" && git checkout master && git fetch --all && git reset --hard origin/master

# Install avocado and avocado-vt
cd "$AVOCADO_PATH"
pip install -r requirements.txt
make install
cd "$AVOCADO_PATH/optional_plugins/html"
python setup.py install
cd "$AVOCADO_VT_PATH"
pip install -r requirements.txt
make install

# Modify default config
sed -i "s@^data_dir =.*@data_dir = $AVOCADO_DATA_PATH@g" /etc/avocado/avocado.conf sed -i "s/^skip_broken_plugin_notification =.*/skip_broken_plugin_notification = ['avocado.core.plugins.htmlresult', 'avocado.core.plugins.remote', 'avocado.core.plugins.vm']/g" /etc/avocado/avocado.conf
sed -i "s/^arch =.*/arch = $ARCH/g" /etc/avocado/conf.d/vt.conf
sed -i "s/^machine_type =.*/machine_type = $MACHINE/g" /etc/avocado/conf.d/vt.conf
sed -i "s/^mem =.*/mem = 2048/g" /etc/avocado/conf.d/vt.conf
sed -i "s/^sandbox =.*/sandbox = off/g" /etc/avocado/conf.d/vt.conf
# Add unattended_install..url url to RHEL.7.devel and use different kickstart cat /usr/share/avocado-plugins-vt/shared/unattended/JeOS-23.ks | grep -v -e "/fill-up-file" > /usr/share/avocado-plugins-vt/shared/unattended/RHEL-7-nightly.ks sed -i "s/^text$/GRAPHICAL_OR_TEXT/g" /usr/share/avocado-plugins-vt/shared/unattended/RHEL-7-nightly.ks sed -i "s/^part \/ --fstype=ext4.*/autopart/g" /usr/share/avocado-plugins-vt/shared/unattended/RHEL-7-nightly.ks sed -i "s/^selinux --enforcing/selinux --disable/g" /usr/share/avocado-plugins-vt/shared/unattended/RHEL-7-nightly.ks sed -i "s/^%packages$/%packages --ignoremissing/g" /usr/share/avocado-plugins-vt/shared/unattended/RHEL-7-nightly.ks
for NAME in aarch64 ppc64 ppc64le x86_64; do
cat >> /usr/share/avocado-plugins-vt/shared/cfg/guest-os/Linux/RHEL/7.devel/$NAME.cfg << EOF
    unattended_install..url:
        url = http://LINK_TO_RHEL_OS
        unattended_file = unattended/RHEL-7-nightly.ks
EOF
done

# Re-run bootstrap and update configuration
[ -d "$ISOS_PATH" ] || mkdir -p "$ISOS_PATH"
if [ ! -e "$AVOCADO_DATA_PATH" ] || [ ! -L "$AVOCADO_DATA_PATH/avocado-vt/isos" ]; then
    rm -Rf "$AVOCADO_DATA_PATH"
    mkdir -p "$AVOCADO_DATA_PATH/avocado-vt"
    ln -s "$ISOS_PATH" "$AVOCADO_DATA_PATH/avocado-vt/isos"
fi
avocado vt-bootstrap --vt-guest-os RHEL.7.devel --vt-no-downloads --yes-to-all --vt-selinux-setup --vt-update-config --vt-update-providers avocado vt-bootstrap --vt-type libvirt --vt-guest-os RHEL.7.devel --vt-no-downloads --yes-to-all --vt-selinux-setup --vt-update-config
# TODO: Remove when https://github.com/spiceqa/tp-spice/pull/43 is resolved
rm -Rf "$AVOCADO_DATA_PATH/avocado-vt/test-providers.d/downloads/io-github-spiceqa-spice"
```

It's RHEL specific but it should be easy to modify it for your needs. The python dependencies comes from PIP as EPEL is not supported on arm.

Kind regards,
Lukáš

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to