[Avocado-devel] New EC2 plugin

Lucas Meneghel Rodrigues lookkas at gmail.com
Thu Jan 28 03:17:58 UTC 2016


Hi guys:

As part of my effort to try to flush all my internal patches that have been
accumulating over the months, I've created a new, separate repo with my EC2
plugin, and ask whomever has time to review my code to check:

https://github.com/avocado-framework/avocado-ec2/pull/1

I tried to follow the new plugin practices as much as I could figure, and
did some refactoring of the original code, that should be more robust in
cleaning up resources from AWS.

Now, I can't for the life of me figure out how plugins to the 'run' command
are working these days.  I have installed my plugin with 'sudo python
setup.py develop', then checked the command line options:

test execution on an EC2 (Amazon Elastic Cloud) instance:
  --ec2-ami-id EC2_AMI_ID
                        Amazon Machine Image ID. Example: ami-e08adb8a
  --ec2-ami-username EC2_AMI_USERNAME
                        User for the AMI image login. Defaults to root
  --ec2-ami-distro-type EC2_AMI_DISTRO_TYPE
                        AMI base Linux Distribution. Valid values: fedora
(for
                        Fedora > 22), el (for RHEL/CentOS > 6.0), ubuntu
(for
                        Ubuntu > 14.04). Defaults to fedora
  --ec2-instance-ssh-port EC2_INSTANCE_SSH_PORT
                        sshd port for the EC2 instance. Defaults to 22
  --ec2-security-group-ids EC2_SECURITY_GROUP_IDS
                        Comma separated list of EC2 security group IDs.
                        Example: sg-a5e1d7b0
  --ec2-subnet-id EC2_SUBNET_ID
                        EC2 subnet ID. Example: subnet-ec4a72c4
  --ec2-instance-type EC2_INSTANCE_TYPE
                        EC2 instance type. Example: c4.xlarge
  --ec2-login-timeout SECONDS
                        Amount of time (in seconds) to wait for a successful
                        connection to the EC2 instance. Defaults to 120
                        seconds

Sweet. It seems to be working, right? Now let me try to run it:

avocado run passtest --ec2-ami-id ami-05f4ed35 --ec2-ami-distro-type fedora
--ec2-security-group-ids sg-81703ae4 --ec2-subnet-id subnet-5207ee37
--ec2-instance-type t2.micro
JOB ID     : 58d7e8867502a12601e60d16ff17bc23df657a01
JOB LOG    :
/home/lmr/avocado/job-results/job-2016-01-28T01.13-58d7e88/job.log
TESTS      : 1
 (1/1) passtest.py:PassTest.test: PASS (0.00 s)
RESULTS    : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0
JOB HTML   :
/home/lmr/avocado/job-results/job-2016-01-28T01.13-58d7e88/html/results.html
TIME       : 0.00 s

Hmm, that ended too fast, so there's something up. Let's try a bogus
command line for the remote plugin, then:

avocado run passtest --vm-domain domain --vm-username user --vm-password
pass
JOB ID     : c0349ba261f2dd0c47469394a2e58d88be1742b7
JOB LOG    :
/home/lmr/avocado/job-results/job-2016-01-28T01.14-c0349ba/job.log
TESTS      : 1
 (1/1) passtest.py:PassTest.test: PASS (0.00 s)
RESULTS    : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0
JOB HTML   :
/home/lmr/avocado/job-results/job-2016-01-28T01.14-c0349ba/html/results.html
TIME       : 0.00 s

Same result. What's going on? I even checked if I had an older version of
avocado through apt-get (which I did, but then removed and re-ran the
develop commands).

So I'm at a loss, and without energy to figure out what's going on. I've
been running a custom version of avocado on my test environments, pre
plugin refactor, so I haven't had any problems until I sit to flush my
patches.

I appreciate any help you guys could provide.

Thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/avocado-devel/attachments/20160128/ddfb3696/attachment.htm>


More information about the Avocado-devel mailing list