Matan Breizman [Wed, 19 Nov 2025 13:49:36 +0000 (15:49 +0200)]
teuthology/task/pexec.py: add logs to command executed
The current output by pexec is:
```
INFO:teuthology.run_tasks:Running task pexec...
INFO:teuthology.task.pexec:Executing custom commands...
INFO:teuthology.task.pexec:Running commands on host ubuntu@smithi012.front.sepia.ceph.com
DEBUG:teuthology.orchestra.run.smithi012:> TESTDIR=/home/ubuntu/cephtest bash -s
```
The output should include the acutal command executed, similar to
exec.py:
```
INFO:teuthology.run_tasks:Running task exec...
INFO:teuthology.task.exec:Executing custom commands...
INFO:teuthology.task.exec:Running commands on role client.0 host ubuntu@smithi168.front.sepia.ceph.com
DEBUG:teuthology.orchestra.run.smithi168:> sudo TESTDIR=/home/ubuntu/cephtest bash -c 'sudo ceph osd pool create low_tier 4'
```
deepssin [Tue, 11 Nov 2025 13:16:20 +0000 (13:16 +0000)]
Fix dispatcher crash on gevent LoopExit exceptions
Handle gevent LoopExit exceptions gracefully to prevent dispatcher
crashes. Add exception handling in main loop and lock_machines() call,
with loop exit counter (max 10) to prevent infinite restarts. Isolate
child processes using start_new_session=True so job supervisors
continue running independently if dispatcher encounters exceptions.
deepssin [Mon, 17 Nov 2025 13:48:35 +0000 (13:48 +0000)]
Add NTP security group rules for OpenStack instances
Add UDP port 123 ingress and egress rules for both server and worker
security groups to enable NTP time synchronization. Also refactor
add_rule() to accept direction parameter instead of hardcoding ingress.
Zack Cerza [Thu, 20 Mar 2025 21:02:44 +0000 (15:02 -0600)]
suite: Filter YAML fragments for distro, version
The behavior of --distro{,-version} was never well-defined. With this change,
they can independently be used to provide a default for jobs which don't
otherwise specify a value; and more importantly, perform a post-merge filter
looking at each job's values, rejecting those which don't match. This behavior
should be more intuitive and more easy to understand.
Ilya Dryomov [Tue, 4 Nov 2025 12:02:46 +0000 (13:02 +0100)]
task/install: don't attempt to handle strings for extra_system_packages
To the best of my knowledge, extra_system_packages has never accepted
a string as a value -- whether at the top level (i.e. on the install
task itself) or on a particular project (e.g. ceph).
Ilya Dryomov [Tue, 4 Nov 2025 12:02:46 +0000 (13:02 +0100)]
task/install: extra_system_packages at the top level can be a list
Commit fc5a3197f22e ("task/install: allow both list and dicts for
extra_system_packages") introduced a regression for job definitions
where extra_system_packages at the top level (i.e. on the install
task itself) is a list. For example
Zack Cerza [Wed, 19 Mar 2025 18:35:11 +0000 (12:35 -0600)]
lock.ops.unlock_one_safe: Invert run-match logic
When unlock_one_safe is called with run_name, the caller means to express
"unlock this node if it belongs to this run".
When it is called with run_name and job_id, it means "unlock this node if it
belongs to this job in this run".
We had inverted the logic, causing leaks on reimage failures.