This is a patchset that makes the needed changes for making autotest behave well on a system-wide install. The ultimate reason for that is, the single directory design of autotest is not receiving a warm reception among Fedora package reviewers, although I'm sure this would apply equally well to Debian/Ubuntu and other distro maintainers. So, the need to make the autotest entry points installable system wide motivated this work.
Unfortunately, some highly visible API changes had to be introduced. In particular, on server control files, one needs to change code looking like this: at = autotest.Autotest() to at = autotest_remote.Autotest() We felt like it was the cleanest solution to the problem, since we avoid namespace clashes, although very disruptive. We ask to all parties involved (I tried to include the names I remember, sorry if you're not working on autotest anymore) to take a good look at this and let us know your concerns. Lucas Meneghel Rodrigues (7): client: Cleaning up namespace for system wide install server: clean up the namespace for system wide install Autotest namespace setup: Allow searching on sys.path Convert entry points to use system-wide autotest libs v3 Global config: Make autotest look for the global config files in /etc Make it possible to specify a server log dir on global_config.ini Make it possible to use another directory for pid files CODING_STYLE | 5 +- cli/acl_unittest.py | 5 +- cli/action_common_unittest.py | 5 +- cli/atest | 5 +- cli/atest.py | 5 +- cli/atest_migrate_host | 5 +- cli/atest_unittest.py | 5 +- cli/atomicgroup_unittest.py | 5 +- cli/autotest-rpc-client | 5 +- cli/change_protection_level.py | 5 +- cli/cli_mock.py | 5 +- cli/common.py | 18 +- cli/compose_query | 5 +- cli/contrib/common.py | 18 +- cli/contrib/why_isnt_my_job_running.py | 5 +- cli/host_unittest.py | 5 +- cli/job_unittest.py | 17 +- cli/label_unittest.py | 5 +- cli/query_keyvals | 5 +- cli/query_results | 5 +- cli/rpc_unittest.py | 5 +- cli/test_unittest.py | 5 +- cli/threads_unittest.py | 5 +- cli/topic_common_unittest.py | 5 +- cli/user_unittest.py | 5 +- client/bin/autotest | 4 +- client/bin/autotest-local | 4 +- client/bin/autotest.py | 106 -- client/bin/autotest_client | 5 +- client/bin/autotest_local.py | 109 ++ client/bin/autotestd | 5 +- client/bin/autotestd_monitor | 5 +- client/bin/client_logging_config.py | 5 +- client/bin/common.py | 15 +- client/bin/fsdev_disks_unittest.py | 5 +- client/bin/fsinfo.py | 5 +- client/bin/fsinfo_unittest.py | 5 +- client/bin/harness.py | 5 +- client/bin/harness_unittest.py | 5 +- client/bin/job_unittest.py | 5 +- client/bin/kernel_unittest.py | 5 +- client/bin/kernel_versions_unittest.py | 5 +- client/bin/local_host_unittest.py | 5 +- client/bin/net/common.py | 15 +- client/bin/net/net_tc.py | 10 +- client/bin/net/net_tc_unittest.py | 5 +- client/bin/net/net_utils_unittest.py | 5 +- client/bin/package_unittest.py | 5 +- client/bin/partition_unittest.py | 5 +- client/bin/profilers.py | 5 +- client/bin/setup_job.py | 5 +- client/bin/setup_job_unittest.py | 5 +- client/common_lib/autotemp_unittest.py | 5 +- client/common_lib/barrier_unittest.py | 5 +- client/common_lib/base_barrier_unittest.py | 5 +- client/common_lib/base_job_unittest.py | 5 +- client/common_lib/base_utils.py | 16 +- client/common_lib/base_utils_unittest.py | 5 +- client/common_lib/boottool_unittest.py | 5 +- client/common_lib/common.py | 15 +- client/common_lib/control_data_unittest.py | 5 +- client/common_lib/global_config.py | 19 +- client/common_lib/global_config_unittest.py | 5 +- client/common_lib/hosts/base_classes_unittest.py | 5 +- client/common_lib/logging_config.py | 9 +- client/common_lib/logging_manager_test.py | 5 +- client/common_lib/profiler_manager.py | 5 +- client/common_lib/profiler_manager_unittest.py | 5 +- client/common_lib/software_manager.py | 5 +- client/common_lib/test_unittest.py | 5 +- client/setup_modules.py | 16 +- client/tests/iozone/common.py | 15 +- client/tests/iozone/postprocessing.py | 5 +- client/tests/kvm/common.py | 15 +- client/tests/kvm/get_started.py | 9 +- client/tests/kvm/multi_host.srv | 8 +- client/tests/kvm/tests/stepmaker.py | 5 +- client/tests/wb_kupdate/common.py | 18 +- client/tools/cd_hash.py | 5 +- client/tools/html_report.py | 1 - client/virt/aexpect.py | 5 +- client/virt/virt_step_editor.py | 6 +- common.py | 18 +- contrib/virt/control.template | 2 +- database/autotest-upgrade-db | 7 +- database/common.py | 18 +- database/database_connection.py | 5 +- database/database_connection_unittest.py | 5 +- database/db_utils_unittest.py | 5 +- database/migrate.py | 5 +- database/migrate_unittest.py | 5 +- frontend/afe/common.py | 18 +- frontend/afe/control_file.py | 7 +- frontend/afe/doctests/003_misc_rpc_features.txt | 4 +- frontend/afe/frontend_test_utils.py | 5 +- frontend/afe/json_rpc/common.py | 18 +- frontend/afe/json_rpc/serviceHandler_unittest.py | 5 +- frontend/afe/model_attributes.py | 5 +- frontend/afe/models.py | 5 +- frontend/afe/models_test.py | 5 +- frontend/afe/resources_test.py | 5 +- frontend/afe/rpc_interface.py | 5 +- frontend/afe/rpc_interface_unittest.py | 5 +- frontend/afe/rpcserver_logging.py | 5 +- frontend/afe/test.py | 5 +- frontend/autotest-manage-rpc-server | 10 +- frontend/client_compilation_unittest.py | 5 +- frontend/common.py | 18 +- frontend/frontend_unittest.py | 5 +- frontend/make_superuser.py | 5 +- frontend/manage.py | 5 +- frontend/migrations/044_rename_afe_tables.py | 5 +- frontend/migrations/045_test_planner_framework.py | 5 +- frontend/migrations/046_merge_databases.py | 5 +- frontend/migrations/059_drone_sets_permissions.py | 5 +- .../061_drone_sets_permissions_proper.py | 5 +- frontend/migrations/062_drone_sets_unique.py | 5 +- frontend/migrations/common.py | 18 +- frontend/settings.py | 5 +- frontend/setup_django_environment.py | 5 +- frontend/setup_test_environment.py | 5 +- frontend/shared/common.py | 18 +- frontend/tko/common.py | 18 +- frontend/tko/csv_encoder.py | 5 +- frontend/tko/csv_encoder_unittest.py | 5 +- frontend/tko/resources_test.py | 5 +- frontend/tko/rpc_interface_unittest.py | 5 +- frontend/tko/urls.py | 5 +- global_config.ini | 7 + mirror/common.py | 18 +- mirror/database_unittest.py | 5 +- mirror/mirror | 5 +- mirror/source_unittest.py | 5 +- mirror/trigger_unittest.py | 5 +- scheduler/archive_results.py | 6 +- scheduler/babysitter_logging_config.py | 5 +- scheduler/common.py | 18 +- scheduler/drone_manager.py | 6 +- scheduler/drone_manager_unittest.py | 5 +- scheduler/drone_utility.py | 5 +- scheduler/drone_utility_unittest.py | 5 +- scheduler/drones.py | 5 +- scheduler/email_manager.py | 5 +- scheduler/gc_stats_unittest.py | 5 +- scheduler/metahost_scheduler_unittest.py | 5 +- scheduler/monitor_db.py | 5 +- scheduler/monitor_db_babysitter | 5 +- scheduler/monitor_db_cleanup_test.py | 5 +- scheduler/monitor_db_functional_test.py | 5 +- scheduler/monitor_db_unittest.py | 5 +- scheduler/scheduler_config.py | 5 +- scheduler/scheduler_logging_config.py | 5 +- scheduler/scheduler_models_unittest.py | 5 +- scheduler/status_server.py | 5 +- server/autoserv | 1 - server/autoserv.py | 10 +- server/autoserv_parser_unittest.py | 5 +- server/autotest-remote | 7 +- server/autotest.py | 1084 -------------------- server/autotest_remote.py | 1084 ++++++++++++++++++++ server/autotest_remote_unittest.py | 358 +++++++ server/autotest_unittest.py | 358 ------- server/base_utils_unittest.py | 5 +- server/common.py | 18 +- server/control_segments/client_wrapper | 2 +- server/deb_kernel_unittest.py | 5 +- server/frontend.py | 5 +- server/frontend_unittest.py | 5 +- server/hosts/abstract_ssh.py | 12 +- server/hosts/base_classes_unittest.py | 5 +- server/hosts/bootloader_unittest.py | 5 +- server/hosts/common.py | 18 +- server/hosts/factory.py | 4 +- server/hosts/monitors/common.py | 18 +- server/hosts/monitors/console_patterns_test.py | 5 +- server/hosts/remote_unittest.py | 5 +- server/prebuild.py | 5 +- server/profiler.py | 5 +- server/profilers.py | 18 +- server/rpm_kernel_unittest.py | 5 +- server/samples/failtest.srv | 2 +- server/samples/git_kernel.srv | 2 +- server/samples/kernbench.srv | 2 +- server/samples/netperf-guest-to-host-far.srv | 2 +- server/samples/parallel.srv | 2 +- server/samples/parallel_sleeptest.srv | 2 +- server/samples/profilertest.srv | 2 +- server/samples/run_test.srv | 2 +- server/samples/sleeptest.srv | 2 +- server/self-test/autotest_test.py | 20 +- server/self-test/timed_test.srv | 4 +- server/server_job.py | 4 +- server/server_job_unittest.py | 5 +- server/server_logging_config.py | 5 +- server/site_autoserv_parser.py | 5 +- server/source_kernel.py | 4 +- server/source_kernel_unittest.py | 11 +- server/standalone_profiler.py | 5 +- server/subcommand_unittest.py | 5 +- server/test.py | 4 +- server/tests/barriertest_2client/control.srv | 2 +- server/tests/iperf/iperf.py | 6 +- server/tests/netperf2/netperf2.py | 6 +- server/tests/netpipe/netpipe.py | 6 +- tko/common.py | 18 +- tko/compose_query.cgi | 5 +- tko/db.py | 5 +- tko/db_mysql.py | 5 +- tko/frontend.py | 5 +- tko/job_serializer_unittest.py | 5 +- tko/jsonp_fetcher.cgi | 5 +- tko/machine_aggr.cgi | 5 +- tko/machine_benchmark.cgi | 5 +- tko/machine_test_attribute_graph.cgi | 5 +- tko/migrations/031_rename_tko_tables.py | 5 +- tko/migrations/common.py | 18 +- tko/nightly.py | 5 +- tko/parse | 5 +- tko/parse.py | 5 +- tko/parsers/common.py | 18 +- tko/parsers/test/common.py | 18 +- tko/parsers/test/execute_parser.py | 5 +- tko/parsers/test/inspect_parser_result_store.py | 5 +- tko/parsers/test/new_scenario.py | 5 +- tko/parsers/test/scenario_base.py | 5 +- tko/parsers/test/templates/base.py | 5 +- .../test/templates/scenario_package_common.py | 18 +- tko/parsers/version_0_unittest.py | 5 +- tko/parsers/version_1_unittest.py | 5 +- tko/query_history.cgi | 5 +- tko/retrieve_logs.cgi | 5 +- tko/status_lib.py | 5 +- tko/status_lib_unittest.py | 5 +- tko/test.cgi | 5 +- tko/utils_unittest.py | 5 +- utils/build_externals.py | 5 +- utils/check_control_file_vars.py | 5 +- utils/check_patch.py | 5 +- utils/common.py | 18 +- utils/compile_gwt_clients.py | 5 +- utils/modelviz/common.py | 16 +- utils/modelviz/generate_schema_diagrams.py | 5 +- utils/packager.py | 7 +- utils/read_config_var.py | 5 +- utils/reverify_repair_failed.py | 5 +- utils/run_pylint.py | 5 +- utils/test_importer.py | 5 +- utils/tko_publish.py | 5 +- utils/unittest_suite.py | 5 +- 249 files changed, 2752 insertions(+), 1988 deletions(-) delete mode 100644 client/bin/autotest.py create mode 100644 client/bin/autotest_local.py delete mode 100644 server/autotest.py create mode 100644 server/autotest_remote.py create mode 100755 server/autotest_remote_unittest.py delete mode 100755 server/autotest_unittest.py -- 1.7.7.6 _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
