[Avocado-devel] What is a right way to install avocado?

Lukáš Doktor ldoktor at redhat.com
Fri Feb 3 06:04:02 UTC 2017


Dne 2.2.2017 v 22:36 Cleber Rosa napsal(a):
>
> ----- Original Message -----
>> From: "Andrei Stepanov" <astepano at redhat.com>
>> To: "avocado-devel" <avocado-devel at redhat.com>
>> Sent: Wednesday, February 1, 2017 11:48:11 AM
>> Subject: [Avocado-devel] What is a right way to install avocado?
>>
>> Hello.
>>
>> We are currently experiencing some issues with avocado / avocado-vt.
>>
>> Our automation can be described in next steps:
>>
>> 0. Install RHEL 6/7.
>> 1. Clone "master" branches for avocado/avocado-vt from github.
>
> Hi Andrei,
>
> Do you need specific features of Avocado not present in the LTS version?  I would strongly recommend that for "production testing", you'd use a more stable version of Avocado.  If you're willing to take a look at this suggested approach, let me if the fix for the Workstation version of EPEL6 works for you.
>
>> 2. In avocado dir:
>>
>> make requirements
>> python setup.py install
>>
>> 3. In avocado-vt dir:
>> make link
>> pip install sphinx
>> pip install -r requirements.txt
>> python setup.py install
>>
>
> For avocado-vt, an RPM package is also available (non-LTS, but designed to work with avocado LTS).  Most dependencies would be solved by the package install alone.  Then, dependencies for the test provider, say tp-qemu, could also be installed alongside it (but manually specified).

Well actually let's cc some Avocado-vt maintainers. I'm wondering what 
version of Avocado are you using to run Avocado-vt. We try to keep the 
backward compatibility (avocado-vt -> avocado) but it's always better to 
use what the mainstream uses as it is more tested. Maybe, if the version 
is not changing frequently, it'd make sense to mention the 
"known-to-work" Avocado version in the Avocado-vt GetStarted documentation.

As for the RPM IIRC we do not provide them, but you can use `make rpm` 
to produce one. Anyway to install it you need RPMs. I think Autotest and 
Aexpect one is in one of our repos, other dependencies can be obtain 
from EPEL but only for primary architectures and I'm not sure they are 
all no-arch. Still you could use `src.rpm` to rebuild it for your 
architecture and push it into your repository.

Overall I think the correct approach would be just to get a machine 
somewhere and create a script to periodically check for the latest deps 
RPMs, rebuild them and publish them in you repo. For Avocado I'd freeze 
the version mainstream is using and update occasionally. For Avocado-vt 
I think you need the master, which means you could either build the RPM 
on test machine or just be fine with weekly updates from your custom 
repo script. Bonus points would be for sharing (internally) this repo 
with other teams.

Lukáš

>
>> 4. Run tests.
>>
>> Above commands are run from root account.
>> We cannot use this approach any more.
>> It doesn't work with RHEL7.3.
>>
>> I have opened a bug: https://bugzilla.redhat.com/show_bug.cgi?id=1417613
>> Than I had discussion with Tomas Orsava.
>>
>> The problem is, running pip as root in Fedora/EPEL is not supported and
>> will break your system.
>>
>> https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
>>
>> My question is: what is official way to install avocado/avocado-vt?
>>
>> Invoking pip commands from root account is a bad approach.
>>
>> Is there a safe way to install avocado & avocado-vt?
>>
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 502 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/avocado-devel/attachments/20170203/5035c030/attachment.sig>


More information about the Avocado-devel mailing list