summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* lib: lint bash constructsPavel Raiskup2014-10-202-16/+9
| | | | | * lib.sh: Mostly fix double-quoting and back-tick removal. * lib_pgsql.sh: Likewise.
* tasks/upgrade-locale-utf8-syntax: new testcasePavel Raiskup2014-10-204-34/+76
| | | | | | | | | | | | | | | | | | | | When system's locale changed e.g. from en_US.utf8 to en_US.UTF-8, older PostgreSQL versions were unable to upgrade the data directory. From Fedora 20 we should be able to upgrade without issues. Related: #1007802 * lib_pgsql.sh (dtf_postgresql_cb_upgrade) (dtf_postgresql_cb_upgrade_select): New callbacks for dtf_postgresql_upgrade_tour function. (dtf_postgresql_upgrade_tour): Function determining against which data the installation is able to upgrade and performs all the possible upgrade scenarios. * tasks/upgrade-basic/runtest.sh: Switch to dtf_postgresql_upgrade_tour usage. * tasks/upgrade-utf8-syntax/config.sh: New testcase config. * tasks/upgrade-utf8-syntax/runtest.sh: New testcase.
* tasks/upgrade: add basic upgrade testcasePavel Raiskup2014-10-204-0/+82
| | | | | | | | | | | | Based on pre-generated tarball with PostgreSQL data - download the tarball, unpack and perform 'postgresql-setup upgrade'. * lib_pgsql.sh (dtf_postgresql_unpack_remote_data): New function. (dtf_postgresql_upgrade_matrix): New function. Detect which data should we test against. * run: Define new global $dtf_dataurl. * tasks/upgrade-basic/config.sh: New testcase config. * tasks/upgrade-basic/runtest.sh: New testcase.
* parse_credsfile: export OpenStack variablesPavel Raiskup2014-10-171-1/+1
| | | | | * parse_credsfile: Use export to correctly propagate values which are parsed.
* gen-data: remote_generate addedPavel Raiskup2014-10-175-0/+29
| | | | | | | | | | | | | Allow automatized generating of data structures on remote host. Run like ./remote_generate IP_ADDRESS. * gen-data/dist/dist: New file. Wrapper around tar to package important files for data generation. * gen-data/dist/dist.list: Include list for ^. * gen-data/dist/dist.exclude: Exclude list for ^. * gen-data/prep: Remote script to prepare everything for successful ./generate run. * gen-data/remote_generate: Wrapper running all the above.
* gen-data/tasks: new task 'locale-utf-typo'Pavel Raiskup2014-10-173-16/+24
| | | | | | | | | | | | | In F20+ we should be able to deal with upgrades where user (or system itself) changed the system locale like from 'en_US.utf8' to 'en_US.UTF-8' (which is just a syntax change). Data generated by this task should help testing this. * gen-data/tasks/templates/locale-change.sh: Add new template for locale related data-generation. * gen-data/tasks/locale-cz/run.sh: Reuse template ^^. * gen-data/tasks/locale-utf-typo/run.sh: New file for 'en_US.UTF-8' to 'en_US.utf8' switch. Reuse template ^^.
* gen-data/tasks: add new 'locale-cz' taskPavel Raiskup2014-10-172-5/+31
| | | | | | | | | | | | | | | This data should help with checking of 'postgresql --upgrade' behavior when the system locale changed significantly (from en_US.UTF-8 to cs_CZ.utf8). * gen-data/tasks/locale-cz/run.sh: New task file. * gen-data/generate (locale_prereq): Fix missing LANG= prefix in expected locale. Quote current/expected locale strings in error output. (single_task): Adjust $INDENT in sub-shell to not affect subsequent calls. Create tarball in $OUTPUTDIR rather than in `pwd`. Introduce hook_end callback. (generate_tasks): Use dynamic list of tasks.
* get_machine: use the default configurationPavel Raiskup2014-10-172-45/+59
| | | | | | * get_machine: Rework, new options, using parse_credsfile script to parse configuration etc. * parse_credsfile: New config-parsing script.
* gen-data: add infrastructure for data generationPavel Raiskup2014-10-173-0/+166
| | | | | | | | | Add also first task 'basic' which generates simple 'pagila' database. * generate: New file. * databases/pagila.sh: New database file. * tasks/basic/run.sh: New task file.
* controller: rsync results to presenterPavel Raiskup2014-10-142-1/+12
| | | | | | * controller: Just rsync. * config/config.sh.template: Document the DTF_PRESENTER_PLACE option.
* controller: configuration cleanupPavel Raiskup2014-10-1413-48/+129
| | | | | | | | | | | | | | | | | | | | | | | Better define configuration and provide examples. * controller: Unpack results to correct directory, load the configuration from new place, call run_remote with proper arguments, generate 'results.html' with result_stats script. * ansible/run_include: Adjust to better simulate run_remote. * ansible/fedora.yml: Adjust for fixed configuration. * run_remote: Likewise. Also small issues with option parsing fixed. * config.sh.template: Moved as config/config.sh.template. * config/config.sh.template: Copyyed from /config.sh.template, better documented options. * run: Fix typo - use 'while read i' instead of 'for i in'. * config/os/EXAMPLE.sh: New file - exmaple configuration. * private/os/EXAMPLE.yml: Likewise. * config/hosts.template: Likewise. * dist.include: New file with file patterns that should be distributed to test machine. * dist: Distribute only those files which are necessary. * config/.gitignore: New gitignore file.
* ansible: fix syntaxe errorsPavel Raiskup2014-10-142-5/+5
| | | | | | * ansible/fedora.yml: Remove leading dashes from before dict keys. * ansible/include/download-results.yml: Make sure that trailing slash is added to fetch destination.
* run: shell-lint some constructsPavel Raiskup2014-10-121-20/+22
| | | | | * run: Double-quote variables, do not use A && B || C construct, do not use backticks but rather use $().
* ansible: add result downloadingPavel Raiskup2014-10-122-2/+14
| | | | | | | * ansible/fedora.yml: Make the ./run non-fatal. Include download-results.yml and add skeleton for VM shutdown. * ansible/include/download-results.yml: Download the run results into directory specified by opt_tmp_resultdir.
* controller: createPavel Raiskup2014-10-124-0/+182
| | | | | | | | | | | | | Controller script runs the script on remote machine (OpenStack), downloads the results, stores the result into its own result-database and re-generates statistics for runs done so far. It will be able to upload the results to "presenter" machine. * config.sh.template: New doc file. * controller: New file (the central script for CI). * runner/result_stats: New file. Based on downloaded results from testing machine, it generates single html file with stats. * runner/result_templates/html.tmpl: New file. Template for ^^^.
* runner: create yml file per each taskPavel Raiskup2014-10-121-0/+5
| | | | * run (run): Create the yml file as TASK_ID.result.
* run_remote: add options handlerPavel Raiskup2014-10-121-1/+37
| | | | * run_remote: Do $subject by incorporating getopt.
* run_include: fix to be more like 'run_remote'Pavel Raiskup2014-10-122-5/+15
| | | | | | | * ansible/dummy-wrapper.yml: Do not require 'script_name' variable. * ansible/run_include: Better work with actual directory when including other scripts or searching for included playbook.
* tasks/initdb: fixes for f20Pavel Raiskup2014-10-032-4/+10
| | | | | | | | | Older versions of postgresql-setup do not support --initdb option. * lib_pgsql.sh (dtf_postgresql_phase_cleanup): Do not fail when the data directory is not created by test. * tasks/initdb/runtest.sh: Avoid running this test on older RHEL/Fedora systems.
* ansible: incorporate os1 triggersPavel Raiskup2014-10-0312-6/+210
| | | | | | | | | | | | | | | | | | | | | * ansible/dummy-wrapper.yml: Helper playbook to directly invoke "included" playbooks. * ansible/fedora.yml: The "main" playbook (new file). * ansible/include/beakerlib.yml: New file, install beakerlib remotely. * ansible/include/prepare-testenv.yml: Install the test dependencies remotely. * ansible/run_include: Helper script to run included playbooks. * dist: Do not distribute ansible playbooks in tarball. * get_machine: Helper script to obtain openstack machine, not used currently. * lib_pgsql.sh: Assert for PG_VERSION, not for datadir (as it by default exists after postgresql-server installation. * run_remote: Helper script invoking the main ansible playbook. * ansible_helpers/wait-for-ssh: Helper script as 'wait_for' is broken? * README: Document. * .gitignore: Ignore private files.
* dist: create distribution scriptPavel Raiskup2014-10-032-0/+11
| | | | | | | | This script creates tarball having self-standing testsuite which is able to run on remote host. * dist: New file. * .gitignore: New file, ignore tarballs.
* library/run: structured output in xmlPavel Raiskup2014-10-033-2/+57
| | | | | | | | | | Generate xml output easily parse-able by xsltproc. * lib.sh (dtf_resultxml_init, dtf_resultxml_finish, dtf_resultxml_cache, dtf_die): New functions. * run.sh: Include lib.sh globally. * run.sh (run): Reuse new lib api. * tasks/initdb_old/config.sh: Typo: use DTF_TEST_DESCRIPTION.
* Initial commitPavel Raiskup2014-10-038-0/+282
Initializet the lib/run structure and created two basic tests for PostgreSQL. * README: New file. * lib.sh: Likewise. * lib_pgsql.sh: Likewise. * run: Likewise. * tasks/initdb/config.sh: Likewise. * tasks/initdb/runtest.sh: Likewise. * tasks/initdb_old/config.sh: Likewise. * tasks/initdb_old/runtest.sh: Likewise.