Red Hat Bugzilla – Bug 236915
add dogtail command to kickstart
Last modified: 2007-11-30 17:12:02 EST
Description of problem:
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Created attachment 152900 [details]
New option in pykickstart/parser.py
I hit enter accidently. Sorry for that.
New option "dogtail <url>" added to kickstart.
This is needed in order to support dogtail scripts in anaconda.
The rpm version is 0.43-1.el5.
The related Dogtail+Ananconda bug is:
Created attachment 152909 [details]
patch to pykicstart/data.py
added self.dogtail = "" in __init__
We won't be able to put a change of this complexity into RHEL5 (since it needs
all the stuff in anaconda as well to really make sense) so I'm going to move
this to the Fedora product. The pykickstart in Fedora is pretty different so
it'll take a bit of modification to make the patch work, but shouldn't be too
I'll target this dogtail work for the first thing on F8.
It is better to use None instead of "" in
self.dogtail = ""
Please consider this when modifying patch to work with Fedora.
Created attachment 154020 [details]
Classes to handle dogtail command in commands/*.py, pykickstart v1.0
Created attachment 154021 [details]
Import dogtail in commands/__init__.py, pykickstart v1.0
Created attachment 154022 [details]
Add dogtail to F7 & RHEL5 in handlers/control.py, pykickstart v1.0
While we are interested in adding dogtail support to anaconda for this next
release, I don't know that it makes much sense to add it into kickstart as well.
When you think about it, kickstart is an automated installation mechanism. It
steps through things automatically, skipping steps that do not need to be
displayed because it already has the information those screens provide.
Similarly, dogtail is an automated mechanism that will also steps through
anaconda screens automatically. If kickstart is already stepping through them,
dogtail won't be able to do anything.
I think it makes more sense to provide this functionality with a command line
(In reply to comment #9)
> Similarly, dogtail is an automated mechanism that will also steps through
> anaconda screens automatically.
Not always. Dogtail is automated GUI testing tool. Dogtail testcases may NOT
need to step over anaconda. It may perform tests independently of kickstart
(e.g. translation tests). Or trying to detect widget creation (exception message
dialog for example).
> I think it makes more sense to provide this functionality with a command line
There is a patch for a command line parameter:
However kickstart is used for automated installation. Adding dogtail command may
be helpful to automate dogtail testing. AFAIK there is no way to specify command
line parameters with kickstart. Am I right?
(In reply to comment #10)
> Not always. Dogtail is automated GUI testing tool. Dogtail testcases may NOT
> need to step over anaconda. It may perform tests independently of kickstart
> (e.g. translation tests). Or trying to detect widget creation (exception
message dialog for example).
Well the point here is that with kickstart, you're not going to see any of the
screens to perform tests on them. The only way you'd get a screen would be to
remove information from the kickstart file, in which case you're now editing the
kickstart file for each run.
What I'm saying is that the automated nature of kickstart makes dogtail sort of
useless, since kickstart will skip over all the interested and complicated UIs
that we'll want to test with dogtail.
> There is a patch for a command line parameter:
I'll be reviewing this in a week or two after we get through some common Fedora
bugs and RHEL5 stuff.
> However kickstart is used for automated installation. Adding dogtail command may
> be helpful to automate dogtail testing. AFAIK there is no way to specify command
> line parameters with kickstart. Am I right?
Correct, command line parameters are processed before any kickstart file is
downloaded. I can sort of see a point to having a kickstart file containing
just the dogtail script location, but that could also just as easily be added to
the PXE boot parameters.
(In reply to comment #11)
> What I'm saying is that the automated nature of kickstart makes dogtail sort of
> useless, since kickstart will skip over all the interested and complicated UIs
> that we'll want to test with dogtail.
One may use kickstart to proceed up to screen X where is a new gui widget or
something of interest. This can be tested with Dogtail and then let kickstart
finish the rest of the installation.
A ks.cfg file containing all but the root password. This will result in anaconda
jumping straigth to the root password entry screen. A dogtail testcase is
waiting for this screen and performs some check (e.g. is the translation
correct, are all strings translated, are buttons, textboxes enabled). Then it
fills the textboxes with root password and clicks next. From this step anaconda
continues with installing packages since it has all information needed.
AFAIK anaconda has limit of command line parameters length. It's 255 chars or
something like that. A longer dogtail url combined with other parameters can
easily go beyond that limit.