summaryrefslogtreecommitdiffstats
path: root/controller/bin
Commit message (Collapse)AuthorAgeFilesLines
* controller: add --separate-volume option for dtf-get-machinePavel Raiskup2015-06-081-4/+16
| | | | | | | | | | TODO: deal with volume removal after VM termination? * controller/bin/dtf-get-machine.in: Option parsing code added. ($opt_separate_volume): New global. (show_help): Describe --separate-volume option. (boot): Use --block-device instead of --image option for nova boot if --separate-volume is used.
* controller: better logging feature for dtf-controllerPavel Raiskup2014-11-241-10/+73
| | | | | | | | | | | | | | | Use logging wrapper functions and log into dedicated file per sub-task (apart from STDERR/STDOUT as usual). * controller/bin/dtf-controller (log_info, log_error, log_die) (log_any): New logging functions. ($log_procid, $log_logfile, @log_buffer): New logging related variables. (load_runfile): Remove old comment. (subcommand): Use log_info instead of print. (child_task): Open child's logging file. Better parse check $run content. (main): Use log_info instead of print.
* controller: option checking in dtf-run-remotePavel Raiskup2014-11-241-0/+8
| | | | | * controller/bin/dtf-run-remote.in: Check that --setup-playbook and --taskdir do point to existing files.
* controller: fix remote-run handlingPavel Raiskup2014-11-202-1/+12
| | | | | | | * controller/bin/dtf-return-machine.in: Do not return machines which were faked (by DTF_GET_MACHINE_FAKE_IP). * controller/bin/dtf-run-remote.in: Do not lowercase all option arguments.
* controller: make the system setup configurablePavel Raiskup2014-11-202-23/+50
| | | | | | | | | | | | | | | | | | | | Add the --setup-playbook option for dtf-run-remote which allows us to submit configuration (or any) playbook which will be included into the default one, executed before actual testing. * controller/Makefile.am: s/fedora.yml/default.yml/. * controller/bin/dtf-controller.in: Call dtf-remote-run with --setup-playbook option. * controller/bin/dtf-run-remote.in: Fix the option parsing. Add new option --setup-playbook. (error): New function. (die): Use '$*' instead of '*@'. * controller/share/dtf-controller/ansible/playbooks/fedora.yml: Rename to default.yml. * controller/share/dtf-controller/ansible/playbooks/default.yml: Moved from fedora.yml. * controller/share/--/--/playbooks/include/prepare-testenv.yml: Removed hard-wired configuration.
* dtf-run-remote: make sure basename will successPavel Raiskup2014-11-061-1/+1
| | | | | | * controller/bin/dtf-run-remote.in (tarball): First process the $opt_taskdir with readlink -f to get some real path (instead of '.' e.g.) and then call basename.
* controller: bash - fail in case of not handled optionPavel Raiskup2014-11-042-1/+12
| | | | | | * bin/dtf-get-machine.in: Exit if option was parsed but was not handled explicitly by case statement. * bin/dtf-run-remote.in: Likewise.
* controller: shutdown VM when run was successfulPavel Raiskup2014-11-042-0/+46
| | | | | | | | | | | | | | | | | | New script 'dtf-return-machine' returns the VM to OpenStack based on its public IP. In future, this may be abstracted to any VM provider (or VM pool or whatever), but that requires also some IP <=> VM mapping shared between dtf-get-machine and dtf-return-machine. * controller/.gitignore: Ignore new scripts. * controller/Makefile.am: Build new scripts. * controller/bin/dtf-return-machine.in: New script for VM * deletion. * controller/libexec/dtf-nova.in: New wrapper around 'nova' command, showing only data output where fields are separated by tabulator. * controller/share/dtf-controller/ansible/playbooks/fedora.yml: Finally call dtf-return-machine after successful test run.
* controller/dtf-controller: saner stdout logPavel Raiskup2014-11-031-1/+1
| | | | * controller/bin/dtf-controller.in: Print '\n' after error msg.
* controller/dtf-get-machine: make nova boot fail fatalPavel Raiskup2014-11-031-2/+1
| | | | | * controller/bin/dtf-get-machine.in: Do not try to check for IP address if 'nova boot' command failed.
* controller: commit results even if 'run' failedPavel Raiskup2014-10-301-1/+0
| | | | | | | * controller/bin/dtf-controller.in (child_task): Do not exit if dtf-run-remote failed. This allows us commit at least log files. * controller/libexec/dtf-commit-results.in: Do not try to extract dtf.tar.gz archive if it does not exist (dtf-run-remote fail).
* controller: typofixPavel Raiskup2014-10-271-1/+1
| | | | | * controller/bin/dtf-controller.in: Really generate html instead of xml.
* controller: better connect with other utilitiesPavel Raiskup2014-10-271-14/+35
| | | | | | | | | | | | | | | | | * controller/bin/dtf-controller.in (subcommand): Generate stdout and stderr files separately. (child_task): Generate '*.err' and '*.out' logs for subcommands. Call dtf-run-remote with --distro/--distro-version options. Call the dtf-result-stats finally and save its output to results.html. (main): Simple debugging info and comment adjusting. * controller/libexec/dtf-commit-results.in: Tak three arguments now. * controller/libexec/dtf-result-stats.in: Better read the 'tester/run' output. * controller/share/dtf-controller/ansible/playbooks/fedora.yml: Run the 'run --force' instead of 'run' on remote host. * controller/share/dtf-controller/results-stats-templates/html.tmpl React on exit_status 2.
* controller/dtf-run-remote: start VM via dtf-get-machinePavel Raiskup2014-10-272-5/+20
| | | | | | | | | | | | | | | .. rather than by ansible nova_compute module directly. Allows me implement more variability in VM handling. * controller/bin/dtf-get-machine.in: Add --quiet option which causes that only allocated IP is shown. Add also DTF_GET_MACHINE_FAKE_IP variable usable for faster debugging; when set, dtf-get-machine prints its content to standard output without allocating new VM. * controller/bin/dtf-run-remote.in: Add -v (verbose) option to ansible-playbook call to get more verbose output. * controller/share/dtf-controller/ansible/playbooks/fedora.yml: Use dtf-get-machine. Also remove creds file requirement.
* controller: new perl wrapperPavel Raiskup2014-10-271-0/+133
| | | | | | | | | | | | | Controller is able to read simple YAML configuration file with list of task to be performed in parallel (the task actually are run the testsuite remotely, commit results to DB, count statistics and upload results). * controller/bin/dtf-controller.in: New template for binary. * controller/libexec/dtf-commit-results.in: Copy whole result directory instead of 'dtf' subdir only. * controller/.gitignore: Ignore new binary. * controller/Makefile.am: Build dtf-commit-results.
* controller/dtf-get-machine: use actual configurationPavel Raiskup2014-10-241-2/+6
| | | | | * controller/bin/dtf-get-machine.in: Use $HOME/.dtf/.. rather than $srcdir/config/...
* controller/dtf-run-remote: fix problems with default OS IDPavel Raiskup2014-10-231-2/+3
| | | | | | | | | | | | Rename the config vairable from DTF_OPENSTACK_ID to DTF_OPENSTACK_DEFAULT_ID to better match the name with its purpose. * controller/bin/dtf-run-remote.in: Use DTF_OPENSTACK_DEFAULT_ID instead of DTF_OPENSTACK_ID. * controller/config/config.sh.template: Moved. * controller/etc/dtf.conf.d/config.sh.template: Document renamed variable on new place.
* controller: autoconfiscatePavel Raiskup2014-10-232-0/+198
First part of converting controller to autoconf/automake solution. * .gitignore: New gitignore; autotools ignores. * Makefile.am: New file. * get_machine: Renamed to template bin/dtf-get-machine.in. * bin/dtf-get-machine.in: New template based on get_machine. * run_remote: Renamed to template bin/dtf-run-remote.in. * bin/dtf-run-remote.in: New binary template from run_remote. * build: New bootstrap like helper script (git-only). * configure.ac: New file. * etc/dtf.sh.in: Likewise. * ansible_helpers/wait-for-ssh: Renamed to libexec/dtf-wait-for-ssh. * share/dtf-controller/parse_credsfile: Reworked script for parsing OS credentials. * parse_credsfile: Moved to share/dtf-controller. * libexec/dtf-wait-for-ssh: Renamed from wait-for-ssh. * ansible/*: Moved into share/dtf-controller/ansible/*. * share/dtf-controller/ansible/vars/generated-vars.yml.in: New template file exporting configure-time variables into playbooks.