Hey guys,
I am relatively new to the kernel autotest framework and am currently
experiencing a bit of trouble with its operations and so forth on fedora 16 and
was wondering if any of you guys could clarify a few things for me. :) I have
read through all of the open and closed issues on the website but have not
found any solutions or guidelines to the problems that I am having. :(
>From what I understand, there are two main functions of the autotest web front
>end, the AFE (Autotest Front End) used for scheduling and modifying jobs and
>so forth, and the TKO (Test Kernel .org I think) which is used as a GUI for
>report based test output.
I have installed autotest inclusive of the web front end and it seems to be
working fine except for a few things. On the AFE side of things, I can
manually add and schedule tests by entering a path to reference the main
control file (/usr/local/autotest/client/tests/'testname'/control) but I can
not seem to get any tests to actually run and send data to the TKO database
which will hopefully lead to some visible results in the TKO results interface.
The most success I've had is to get a test to go into 'parsing' mode but then
does not complete.
I can run the tests manually from the command line (using the 'bin/autotest/
tests/'testname'/control' command) and the test completes successfully as the
results are then written to
/usr/local/autotest/client/results/default/'testname' directory. I can view the
'/usr/local/autotest/client/results/default/job_report.html' file in a browser
successfully, but if I do it this way, every time a new test is run, the folder
that stores the previous results becomes overwritten by the results from the
new test that I had just run.
On a different matter, on the 'results database' interface (TKO database), it
gives me this error:
Traceback (most recent call last):
File "/usr/local/autotest/tko/compose_query.cgi", line 378, in <module>
main()
File "/usr/local/autotest/tko/compose_query.cgi", line 367, in main
display.print_table(gen_matrix())
File "/usr/local/autotest/tko/compose_query.cgi", line 283, in gen_matrix
query_reasons = ('status' in [row,column])
File "/usr/local/autotest/tko/frontend.py", line 89, in get_matrix_data
where=where, group_by=group_by, max_rows = MAX_RECORDS)
File "/usr/local/autotest/tko/db.py", line 219, in select
return self.run_with_retry(exec_sql)
File "/usr/local/autotest/tko/db.py", line 104, in run_with_retry
result = function(*args, **dargs)
File "/usr/local/autotest/tko/db.py", line 211, in exec_sql
numRec = self.cur.execute(sql, values)
File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 174, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 36, in
defaulterrorhandler
raise errorclass, errorvalue
ProgrammingError: (1146, "Table 'autotest_web.tko_test_view' doesn't exist")
I can see that there is a table (tko_test_view) that TKO is trying to access,
but it is not there. I retraced all of the steps in the installation guide
(http://www.linux-kvm.org/page/KVM-Autotest/Server_Install) to see if there
could possibly be an error but after reviewing the source codes for all of the
commands that I thought were relevant to the issue, especially the one that was
used to populate the mysql database, there was no direct reference to this
mysql table at all. For some reason, every time that it updates the
'autotest_web' database, it creates and names the table 'tko_test_view_2'
instead of 'tko_test_view'.
I have also traced back and had a look at the source code for all of the files
that are executed prior to this error (eg.
/usr/local/autotest/tko/compose_query.cgi) and the only file that references
the 'tko_test_view' table directly is frontend.py (line 8 of error message
above) so I tried to modify it to reference the tko_test_view_2 table instead.
I'm not sure if this has fixed the error, but the message no longer appears and
the internet browser now tries to load some information and seems to just hang
there. I have looked at the mysql database table in question and there is no
data in there so I assume that there is either no information to send to TKO or
that by modifying frontend.py, the programming is now incorrect (which is more
likely). I have also done a search on the whole directory structure and have
found a couple of other files that also reference this table directly, but even
after modifying their source codes to try and remedy the problem, nothing seems
to change.
>From my understanding, the TKO results database is reading information from
>the mysql database but i'm not sure how the mysql database gathers its
>information from the tests. Even running the tests manually, I can not get
>any data to fill the 'tko_test_view_2' table in the mysql databse so that TKO
>can display it. I assume that as I am an autotest server, i should still be
>able to run tests on my own machine and have TKO display that information. I
>have also run tests on a remote client machine from the server's command line
>but this gives me the same result.
I'm sorry for the long email and my inexperience with this whole framework but
I am trying my best to understand its inner workings so I can effectively
manipulate it to suit my project requirements. I have un-installed and then
re-installed this framework a number of times but am faced with the same
problems. :( Any help or guidance that you could give me would be greatly
appreciated.. :)
If there was anything else that you needed to ask me, just let me know.. :)
Thank you for your time.. :)
Regards,
Thai Pham Ha
_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest