Description of problem: A tool to sync task RPMs (the base for running Beaker tests) between two Beaker instances would be good to have. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: $ beaker-tasks-sync <server1> <server2> will sync tasks between server 1 and server2 Additional info:
On Gerrit: http://gerrit.beaker-project.org/#/c/1727/
I added the dependency on https://bugzilla.redhat.com/show_bug.cgi?id=912205 since, the script will break if the that bug is not fixed.
This needed two small patches to get it going: http://gerrit.beaker-project.org/1826 http://gerrit.beaker-project.org/1827 but even then, I couldn't get it to successfully sync from production Beaker to beaker-devel. It spends a *really* long time grabbing all the task info from the source, and if something goes wrong like this (I assume a network glitch): Getting the list of tasks from source and destination.. Finding tasks to upload to destination.. XML-RPC connection to beaker.engineering.redhat.com failed: Connection reset by peer, 5 retries left Traceback (most recent call last): File "/usr/bin/beaker-sync-tasks", line 9, in <module> load_entry_point('bkr.server==0.11.3', 'console_scripts', 'beaker-sync-tasks')() File "/usr/lib/python2.6/site-packages/bkr/server/tools/sync_tasks.py", line 303, in main task_urls = task_sync.tasks_diff(new_tasks, old_tasks) File "/usr/lib/python2.6/site-packages/bkr/server/tools/sync_tasks.py", line 152, in tasks_diff task_xml = pool.map(self._get_task_xml, new_tasks) File "/usr/lib64/python2.6/multiprocessing/pool.py", line 148, in map return self.map_async(func, iterable, chunksize).get() File "/usr/lib64/python2.6/multiprocessing/pool.py", line 422, in get raise self._value xmlrpclib.ProtocolError: <ProtocolError for XXX: -1 > then the whole process fails. I think it needs to do each task incrementally instead. Something along these lines: * get list of all tasks in source * for each task in source: * print which task it is doing * get task info from source * get task info from destination * if versions don't match, upload from source to destination
On Gerrit: http://gerrit.beaker-project.org/#/c/1828/
Beaker 0.12 has been released.