Re: Taskotron and Cloud Image tests

2014-04-17 Thread Tim Flink
On Thu, 17 Apr 2014 17:35:13 +0200
Vitaly Kuznetsov  wrote:



> > Another possible snag is that I want to start locking down network
> > access on most if not all of the test clients so that it's less
> > possible for user-submitted tasks to go awry and do things they
> > shouldn't. This hasn't been done yet, though and it's something
> > that we can discuss going forward.
> 
> For valid we'll require two things:
> 1) Access to Cloud's (AWS, Openstack, ...) endpoint
> 2) SSH to running VM

Interfacing with EC2 wasn't a use-case that I was thinking of for
network isolation of the taskotron clients, so those plans may change
somewhat. The clients aren't isolated yet, so this won't be a problem
immediately.

> Can we have special dedicated test client for valid? That would make
> sense from securitty pov as we need to store cloud access credentials
> there.

I suppose that we could but I'd really prefer to avoid that if at all
possible. Having one "special" client isn't an issue but it does open
the door to other task authors asking for the same thing and that will
get unmanageable pretty quick.

That being said, I'm not sure how to go about managing credentials like
that in a secure fashion. This'll require some more thought but
suggestions are certainly welcome :)

Tim


signature.asc
Description: PGP signature
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/qa-devel


Re: Taskotron and Cloud Image tests

2014-04-17 Thread Vitaly Kuznetsov
Tim Flink  writes:

> On Thu, 17 Apr 2014 14:25:03 +0200
> Vitaly Kuznetsov  wrote:
>
>> Tim Flink  writes:
>> 
>> >> For RHEL cloud image checks we have special tool called 'valid':
>> >> https://github.com/RedHatQE/valid , it can be reused for Fedora as
>> >> well. The questions are: how do you see the integration and how can
>> >> someone (me?) work on this (non-existent atm) part of Taskotron.
>> >
>> > For now, I think that the best place to start would be to figure out
>> > what's missing from taskotron in order for the integration to
>> > happen.
>> >  - would the cloud image startup be done by valid or in taskotron?
>> >  - where would the cloud images be run?
>> >  - what other image work would be done in the task?
>> 
>> Atm 'valid' gets EC2 AMI id as an input and produces test result (yaml
>> file with all tests, their steps and results + logs). I think we can
>> easily kick off such testing tasks from taskotron. The only missing
>> piece in the picture is an 'image uploader': after image was built in
>> koji someone needs to upload it as an AMI to EC2  (afaict Dennis
>> does that manually now).
>
> The concern I have with this is around EC2 credentials and accounts. If
> I'm understanding you correctly, we would need to have those
> credentials stored on the clients and we'd be using EC2 time for
> testing Fedora.
>
> Does someone have budget or account time that could be used for this
> in an account that we could use? I wonder if trying to use the fedora
> openstack setup be a better route (assuming that valid can work with
> openstack).
>

It can't right now but switching from boto to something like libcloud is
already in my backlog. In case we do have such requirement (and Matt's
letter says we do) I can increase the priority for the task.

> Another possible snag is that I want to start locking down network
> access on most if not all of the test clients so that it's less
> possible for user-submitted tasks to go awry and do things they
> shouldn't. This hasn't been done yet, though and it's something that we
> can discuss going forward.

For valid we'll require two things:
1) Access to Cloud's (AWS, Openstack, ...) endpoint
2) SSH to running VM

Can we have special dedicated test client for valid? That would make
sense from securitty pov as we need to store cloud access credentials
there.

>> 2mattdm: Matt, I remember you telling me that someone is working on
>> such uploader. Can you please shed some light on what's the status
>> now and what can be done in before f21?
>> 
>> >> I can see two possible approaches:
>> >> 1) 'Easy'. We create special type of task (sorry if I'm not that
>> >> precise with terminology) which is being executed on static slave
>> >> node which runs valid (in black-box mode) on newly uploaded image,
>> >> grabs the result and returns it back.
>> >
>> > I suspect that this will be the best way to get started. The
>> > ephemeral client work you mention below is going to be a lot of work
>> > and there are a bunch of unknowns (use openstack or not, how
>> > isolated should the clients be etc.). If we want to have a shot at
>> > having some of the automated cloud tests done for f21, I think that
>> > starting with the easiest route would likely be best
>> 
>> Ok, I think that having something ready in f21 timeframe is really
>> doable in case releng can automate AMIs uploading process. I'll take a
>> look at the runner in libtaskotron and existing tasks examples.
>
> Cool, let us know if you have any questions or if anything isn't clear.
>
> Tim

-- 
  Vitaly Kuznetsov, Cloud QE
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/qa-devel


Re: Taskotron and Cloud Image tests

2014-04-17 Thread Matthew Miller
On Thu, Apr 17, 2014 at 09:11:10AM -0600, Tim Flink wrote:
> Does someone have budget or account time that could be used for this
> in an account that we could use? I wonder if trying to use the fedora
> openstack setup be a better route (assuming that valid can work with
> openstack).

I think we can use the Fedora community cloud EC2 account for this, but I
will double check. If that's not possible, I'll beg for the required budget.

We _should_ test on both OpenStack and EC2.

-- 
Matthew Miller--   Fedora Project--
  "Tepid change for the somewhat better!"
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/qa-devel


Re: Taskotron and Cloud Image tests

2014-04-17 Thread Tim Flink
On Thu, 17 Apr 2014 14:25:03 +0200
Vitaly Kuznetsov  wrote:

> Tim Flink  writes:
> 
> >> For RHEL cloud image checks we have special tool called 'valid':
> >> https://github.com/RedHatQE/valid , it can be reused for Fedora as
> >> well. The questions are: how do you see the integration and how can
> >> someone (me?) work on this (non-existent atm) part of Taskotron.
> >
> > For now, I think that the best place to start would be to figure out
> > what's missing from taskotron in order for the integration to
> > happen.
> >  - would the cloud image startup be done by valid or in taskotron?
> >  - where would the cloud images be run?
> >  - what other image work would be done in the task?
> 
> Atm 'valid' gets EC2 AMI id as an input and produces test result (yaml
> file with all tests, their steps and results + logs). I think we can
> easily kick off such testing tasks from taskotron. The only missing
> piece in the picture is an 'image uploader': after image was built in
> koji someone needs to upload it as an AMI to EC2  (afaict Dennis
> does that manually now).

The concern I have with this is around EC2 credentials and accounts. If
I'm understanding you correctly, we would need to have those
credentials stored on the clients and we'd be using EC2 time for
testing Fedora.

Does someone have budget or account time that could be used for this
in an account that we could use? I wonder if trying to use the fedora
openstack setup be a better route (assuming that valid can work with
openstack).

Another possible snag is that I want to start locking down network
access on most if not all of the test clients so that it's less
possible for user-submitted tasks to go awry and do things they
shouldn't. This hasn't been done yet, though and it's something that we
can discuss going forward.

> 2mattdm: Matt, I remember you telling me that someone is working on
> such uploader. Can you please shed some light on what's the status
> now and what can be done in before f21?
> 
> >> I can see two possible approaches:
> >> 1) 'Easy'. We create special type of task (sorry if I'm not that
> >> precise with terminology) which is being executed on static slave
> >> node which runs valid (in black-box mode) on newly uploaded image,
> >> grabs the result and returns it back.
> >
> > I suspect that this will be the best way to get started. The
> > ephemeral client work you mention below is going to be a lot of work
> > and there are a bunch of unknowns (use openstack or not, how
> > isolated should the clients be etc.). If we want to have a shot at
> > having some of the automated cloud tests done for f21, I think that
> > starting with the easiest route would likely be best
> 
> Ok, I think that having something ready in f21 timeframe is really
> doable in case releng can automate AMIs uploading process. I'll take a
> look at the runner in libtaskotron and existing tasks examples.

Cool, let us know if you have any questions or if anything isn't clear.

Tim


signature.asc
Description: PGP signature
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/qa-devel


Re: Taskotron and Cloud Image tests

2014-04-17 Thread Vitaly Kuznetsov
Tim Flink  writes:

>> For RHEL cloud image checks we have special tool called 'valid':
>> https://github.com/RedHatQE/valid , it can be reused for Fedora as
>> well. The questions are: how do you see the integration and how can
>> someone (me?) work on this (non-existent atm) part of Taskotron.
>
> For now, I think that the best place to start would be to figure out
> what's missing from taskotron in order for the integration to happen.
>  - would the cloud image startup be done by valid or in taskotron?
>  - where would the cloud images be run?
>  - what other image work would be done in the task?

Atm 'valid' gets EC2 AMI id as an input and produces test result (yaml
file with all tests, their steps and results + logs). I think we can
easily kick off such testing tasks from taskotron. The only missing
piece in the picture is an 'image uploader': after image was built in
koji someone needs to upload it as an AMI to EC2  (afaict Dennis
does that manually now).

2mattdm: Matt, I remember you telling me that someone is working on such
uploader. Can you please shed some light on what's the status now and
what can be done in before f21?

>> I can see two possible approaches:
>> 1) 'Easy'. We create special type of task (sorry if I'm not that
>> precise with terminology) which is being executed on static slave
>> node which runs valid (in black-box mode) on newly uploaded image,
>> grabs the result and returns it back.
>
> I suspect that this will be the best way to get started. The
> ephemeral client work you mention below is going to be a lot of work
> and there are a bunch of unknowns (use openstack or not, how isolated
> should the clients be etc.). If we want to have a shot at having some
> of the automated cloud tests done for f21, I think that starting with
> the easiest route would likely be best

Ok, I think that having something ready in f21 timeframe is really
doable in case releng can automate AMIs uploading process. I'll take a
look at the runner in libtaskotron and existing tasks examples.

>
> Apologies for the delayed response. Looking forward to working with you
> on cloud image testing.
>

No prob)

-- 
  Vitaly Kuznetsov
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/qa-devel


Re: Taskotron and Cloud Image tests

2014-04-14 Thread Vitaly Kuznetsov
Vitaly Kuznetsov  writes:

> Hi Tim & all,
>
> in Cloud WG we have 'Automatic Smoketests on Image Build' task:
> https://fedorahosted.org/cloud/ticket/38
> AFAIK you have somehting similar among future Taskotron goals. It would
> be nice if we can collaborate here. By writing this message I just want
> to start the conversation :-)
>
> For RHEL cloud image checks we have special tool called 'valid':
> https://github.com/RedHatQE/valid , it can be reused for Fedora as
> well. The questions are: how do you see the integration and how can
> someone (me?) work on this (non-existent atm) part of Taskotron.
>
> I can see two possible approaches:
> 1) 'Easy'. We create special type of task (sorry if I'm not that precise
> with terminology) which is being executed on static slave node which
> runs valid (in black-box mode) on newly uploaded image, grabs the result
> and returns it back.
>
> 2) 'Hard'. We work on 'ephemeral task clients' (term from
> http://tirfa.com/an-initial-idea-for-taskbot.html). The benefit here is
> that in that case we can run any test on a cloud VM. This approach will
> require some optimization from the very beginning, at least:
> 1. One VM should be user for multiple tests (so several dozens of image
> tests won't require several dozens of VMs created)
> 2. Tests should be able to 'control' VM (e.g. use cloud-specific
> features: attach device, reboot VM,...) - that can be workarounded by
> providing cloud credential inside the VM itself but that doesn't sound
> that attractive.
>
> Yesterday I've tried setting up Taskotron (according to
> http://roshi.fedorapeople.org/dexy-themed/) on 3 F20 VMs in EC2 and
> actually I've failed (some ansible playbooks are out-of-sync with some
> git repos, e.g. 'master playbook' is failing with 'stderr: cp: cannot
> stat '/home/qaadmin/trigger/jobtrigger.py': No such file or directory'
> in 'TASK: [copy fedmsg config]'. I totally understand these instructions
> and repos are rather proof-of-concept and can be slightly outdated but
> I want to ask about 'minimalistic one-host dev environment' setup
> anyway. Can 'Host' be eliminated from the setup completely and can we
> merge Master and Slave (in case we'll need it for 'cloud') on one host?
> That would help a lot.
>
> I'm looking forward to hearing from you.

Sorry to bug you again about this, am I completely out of sync with
whatever is going on? I would really appreciate your comments..

-- 
  Vitaly Kuznetsov
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/qa-devel


Taskotron and Cloud Image tests

2014-04-08 Thread Vitaly Kuznetsov
Hi Tim & all,

in Cloud WG we have 'Automatic Smoketests on Image Build' task:
https://fedorahosted.org/cloud/ticket/38
AFAIK you have somehting similar among future Taskotron goals. It would
be nice if we can collaborate here. By writing this message I just want
to start the conversation :-)

For RHEL cloud image checks we have special tool called 'valid':
https://github.com/RedHatQE/valid , it can be reused for Fedora as
well. The questions are: how do you see the integration and how can
someone (me?) work on this (non-existent atm) part of Taskotron.

I can see two possible approaches:
1) 'Easy'. We create special type of task (sorry if I'm not that precise
with terminology) which is being executed on static slave node which
runs valid (in black-box mode) on newly uploaded image, grabs the result
and returns it back.

2) 'Hard'. We work on 'ephemeral task clients' (term from
http://tirfa.com/an-initial-idea-for-taskbot.html). The benefit here is
that in that case we can run any test on a cloud VM. This approach will
require some optimization from the very beginning, at least:
1. One VM should be user for multiple tests (so several dozens of image
tests won't require several dozens of VMs created)
2. Tests should be able to 'control' VM (e.g. use cloud-specific
features: attach device, reboot VM,...) - that can be workarounded by
providing cloud credential inside the VM itself but that doesn't sound
that attractive.

Yesterday I've tried setting up Taskotron (according to
http://roshi.fedorapeople.org/dexy-themed/) on 3 F20 VMs in EC2 and
actually I've failed (some ansible playbooks are out-of-sync with some
git repos, e.g. 'master playbook' is failing with 'stderr: cp: cannot
stat '/home/qaadmin/trigger/jobtrigger.py': No such file or directory'
in 'TASK: [copy fedmsg config]'. I totally understand these instructions
and repos are rather proof-of-concept and can be slightly outdated but
I want to ask about 'minimalistic one-host dev environment' setup
anyway. Can 'Host' be eliminated from the setup completely and can we
merge Master and Slave (in case we'll need it for 'cloud') on one host?
That would help a lot.

I'm looking forward to hearing from you.

-- 
  Vitaly Kuznetsov
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/qa-devel