atex 2.0.dev1__tar.gz → 2.0.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {atex-2.0.dev1 → atex-2.0.dev2}/PKG-INFO +1 -1
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/shvirt/common.py +1 -1
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/virt/install.py +0 -1
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/shvirt/shvirt.py +17 -8
- {atex-2.0.dev1 → atex-2.0.dev2}/pyproject.toml +1 -1
- {atex-2.0.dev1 → atex-2.0.dev2}/.claude/CLAUDE.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/.editorconfig +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/.github/pull_request_template.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/.github/scripts/pdoc/patch_pdoc.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/.github/scripts/pdoc/post_process_repo.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/.github/scripts/pdoc/prepare_templates.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/.github/workflows/pages.yaml +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/.github/workflows/self-tests.yaml +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/.github/workflows/style.yaml +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/.gitignore +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/AGENTS.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/API_RULES.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/COPYING.txt +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/DEVEL.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/jsonl/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/jsonl/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/jsonl/jsonl.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/multi/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/multi/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/multi/multi.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/reportportal/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/reportportal/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/reportportal/api.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/reportportal/reportportal.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/yamld/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/yamld/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/aggregator/yamld/yamld.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/fmf.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/reportportal.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/shvirt/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/shvirt/install.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/shvirt/reserve.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/testingfarm.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/virt/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/virt/kickstart.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/virt/ks.cfg +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/cli/virt/reserve.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/local/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/local/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/local/local.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/podman/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/podman/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/podman/podman.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/ssh/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/ssh/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/connection/ssh/ssh.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/beakerlib/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/beakerlib/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/beakerlib/beakerlib.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/command/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/command/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/command/command.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/RESULTS.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/TEST_CONTROL.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/discover.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/duration.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/fmf.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/metadata.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/reporter.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/scripts.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/test-wrapper +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/executor/fmf/testcontrol.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/orchestrator/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/orchestrator/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/orchestrator/adhoc/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/orchestrator/adhoc/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/orchestrator/adhoc/adhoc.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/orchestrator/adhoc/mixins.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/orchestrator/simple/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/orchestrator/simple/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/orchestrator/simple/simple.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/anyconn/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/anyconn/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/anyconn/anyconn.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/local/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/local/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/local/local.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/podman/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/podman/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/podman/podman.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/podman/systemd.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/podman/utils.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/shvirt/PROTOCOL.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/shvirt/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/shvirt/SERVER.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/shvirt/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/shvirt/atex-virt-helper +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/tempvirt/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/tempvirt/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/tempvirt/tempvirt.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/tempvirt/utils.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/testingfarm/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/testingfarm/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/testingfarm/api.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/testingfarm/cleaning.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/provisioner/testingfarm/testingfarm.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/README.md +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/dedent.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/loggers.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/named_mapping.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/nonblock_line_reader.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/null_logger.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/path.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/ssh.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/subprocess.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/atex/util/threads.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/aggregator/conftest.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/aggregator/shared.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/aggregator/test_jsonl.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/aggregator/test_jsonl_gzip.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/aggregator/test_jsonl_lzma.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/aggregator/test_multi.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/aggregator/test_yamld.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/conftest.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/connection/test_ssh.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/conftest.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/libraries/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/libraries/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/libraries/rlimport.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/libraries/rlimport_all.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/reboot/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/reboot/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/reboot/reboot.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/reboot/reboot_fail.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/reboot/reboot_noend.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/reboot/reboot_rlrun.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/results/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/results/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/results/report_result.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/results/submit_log.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/sanity/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/sanity/fallback_status.sh +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/sanity/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/test_libraries.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/test_reboot.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/test_results.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/test_sanity.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/command/conftest.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/command/test_command.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/conftest.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/conftest.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/cwd/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/cwd/file_in_fmfdir +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/cwd/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/cwd/subdir/file_in_subdir +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/cwd/subdir/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/discover/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/discover/extlib/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/discover/extlib/extfunc/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/discover/extlib/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/discover/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/discover/mylib/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/discover/subdir/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/env/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/env/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/adjusted.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/disabled.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/environment.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/filters.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/inherit/child/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/inherit/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/manual.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/nontest.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/plans/filtered.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/plans/with_env.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/simple/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/story.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/virtual.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/misc/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/misc/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/pkgs/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/pkgs/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/pty/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/pty/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/reboot/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/reboot/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/results/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/results/functions +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/results/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/results/randfile +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/user/.fmf/version +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/user/main.fmf +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/test_cwd.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/test_discover.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/test_env.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/test_metadata.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/test_misc.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/test_pkgs.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/test_pty.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/test_reboot.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/test_results.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/test_user.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/orchestrator/conftest.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/orchestrator/test_adhoc.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/provisioner/shared.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/provisioner/test_anyconn.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/provisioner/test_local.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/provisioner/test_podman.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/provisioner/test_podman_systemd.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/provisioner/test_tempvirt.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/provisioner/test_testingfarm.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/testutil/__init__.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/testutil/ssh.py +0 -0
- {atex-2.0.dev1 → atex-2.0.dev2}/tests/testutil/timeout.py +0 -0
|
@@ -13,7 +13,7 @@ def make_helper_cmd(args):
|
|
|
13
13
|
"ssh",
|
|
14
14
|
"-oLogLevel=ERROR",
|
|
15
15
|
"-oStrictHostKeyChecking=no", "-oUserKnownHostsFile=/dev/null",
|
|
16
|
-
"-oConnectionAttempts=3", "-oServerAliveCountMax=
|
|
16
|
+
"-oConnectionAttempts=3", "-oServerAliveCountMax=10", "-oServerAliveInterval=30",
|
|
17
17
|
"-oTCPKeepAlive=no", "-oEscapeChar=none", "-oRequestTTY=no",
|
|
18
18
|
f"-oIdentityFile={str(Path(args.helper_sshkey).absolute())}",
|
|
19
19
|
f"-oUser={args.helper_user}", f"-oHostname={args.helper_host}",
|
|
@@ -129,7 +129,6 @@ def install(args):
|
|
|
129
129
|
"--graphics", "none",
|
|
130
130
|
"--console", "pty",
|
|
131
131
|
"--rng", "/dev/urandom",
|
|
132
|
-
"--os-variant", "rhel8-unknown",
|
|
133
132
|
"--extra-args", (
|
|
134
133
|
"brltty=no " # avoid heavy console spam on missing devices
|
|
135
134
|
"mitigations=off " # make things a bit faster during install
|
|
@@ -347,11 +347,22 @@ class SharedVirtProvisioner(Provisioner):
|
|
|
347
347
|
else:
|
|
348
348
|
break
|
|
349
349
|
|
|
350
|
-
|
|
350
|
+
# .stop() or .clear() was called while we were reserving,
|
|
351
|
+
# release the just-reserved Remote
|
|
352
|
+
abort = False
|
|
351
353
|
with self._lock:
|
|
352
|
-
self.
|
|
353
|
-
|
|
354
|
-
|
|
354
|
+
if self._to_reserve <= 0:
|
|
355
|
+
abort = True
|
|
356
|
+
else:
|
|
357
|
+
self._to_reserve -= 1
|
|
358
|
+
self._remotes.add(remote)
|
|
359
|
+
self._reserving_remotes.add(remote)
|
|
360
|
+
if abort:
|
|
361
|
+
self.logger.debug(f"releasing unrequested {remote}")
|
|
362
|
+
remote.release()
|
|
363
|
+
continue
|
|
364
|
+
|
|
365
|
+
self.logger.debug(f"created new {remote}")
|
|
355
366
|
self._reserving_events.release(1)
|
|
356
367
|
|
|
357
368
|
# delay for reserve_delay before reserving more
|
|
@@ -470,10 +481,8 @@ class SharedVirtProvisioner(Provisioner):
|
|
|
470
481
|
return None
|
|
471
482
|
|
|
472
483
|
def clear(self):
|
|
473
|
-
#
|
|
474
|
-
#
|
|
475
|
-
# it back to >= 0 and a follow-up .get_remote() will get the one
|
|
476
|
-
# Remote that was reserved before
|
|
484
|
+
# any reservation in progress will be released, not returned
|
|
485
|
+
# via .get_remote(), when it completes
|
|
477
486
|
with self._lock:
|
|
478
487
|
self._to_reserve = 0
|
|
479
488
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/libraries/rlimport_all.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/beakerlib/fmf_trees/sanity/fallback_status.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/discover/extlib/extfunc/main.fmf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atex-2.0.dev1 → atex-2.0.dev2}/tests/executor/fmf/fmf_trees/metadata/inherit/child/main.fmf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|