[opensuse-buildservice] Publisher not publishing to stageserver on private instance 2.10
Hi all, I have trouble with my private OBS instance: I have configured a stageserver in BSConfig.pm, as ==== our $stageserver = 'rsync://192.168.22.23/repos'; ==== The target is available and running, but the publisher fails to send the data there. In /srv/obs/log/publisher.log the following error messages are logged: ==== 2019-09-18 15:07:17: [14920] publishing userweb/openSUSE_Leap_15.1 fetched 0 patterns running createrepo running rsync to rsync://192.168.22.23/repos at Wed Sep 18 15:07:18 2019 Use of uninitialized value $args[2] in exec at /usr/lib/obs/server/ bs_publish line 134. rsync version 3.1.3 protocol version 31 Copyright (C) 1996-2018 by Andrew Tridgell, Wayne Davison, and others. [... all the rest of a plain call of "rsync" ...] See http://rsync.samba.org/ for updates, bug reports, and answers rsync error: syntax or usage error (code 1) at options.c(2356) [client=3.1.3] publish failed for userweb/openSUSE_Leap_15.1 : rsync failed at Wed Sep 18 15:09:58 2019: 256 syncing database (6 ops) ==== I am pretty sure, that I did not change the setting for the stageserver in BSConfig.pm for several years now, and, according to logs, it worked until mid-July, when I updated the machine to OBS 2.10. Here my question for help: Did something change in the way staging is configured, and I missed a required configuration change, or is this a bug in the publisher of 2.10? Thank you for your help, Stefan PS: Even scarier question: Am I the only user using a stageserver? -- Stefan Botter zu Hause Bremen
Hi Stefan, Am 18.09.19 um 15:20 schrieb Stefan Botter:
Hi all,
I have trouble with my private OBS instance: I have configured a stageserver in BSConfig.pm, as ==== our $stageserver = 'rsync://192.168.22.23/repos'; ==== The target is available and running, but the publisher fails to send the data there. In /srv/obs/log/publisher.log the following error messages are logged: ==== 2019-09-18 15:07:17: [14920] publishing userweb/openSUSE_Leap_15.1 fetched 0 patterns running createrepo running rsync to rsync://192.168.22.23/repos at Wed Sep 18 15:07:18 2019 Use of uninitialized value $args[2] in exec at /usr/lib/obs/server/ bs_publish line 134.
I know this, I did spend quite some time on debugging that. This is because you did not set $rsync_extra_options in BSConfig.pm. Of course you did not, because nobody told you to ;-) and it is not set in the example config file. Anyway, this harmless option fixes the warning for me: obs:~ # grep rsync_extra_options /usr/lib/obs/server/BSConfig.pm #our $rsync_extra_options = "--whole-file"; our $rsync_extra_options = "-v"; I'm not sure if it was a fatal error or if I did just add this to shut up bs_publish ;-)
rsync version 3.1.3 protocol version 31 Copyright (C) 1996-2018 by Andrew Tridgell, Wayne Davison, and others.
[... all the rest of a plain call of "rsync" ...]
See http://rsync.samba.org/ for updates, bug reports, and answers rsync error: syntax or usage error (code 1) at options.c(2356) [client=3.1.3] publish failed for userweb/openSUSE_Leap_15.1 : rsync failed at Wed Sep 18 15:09:58 2019: 256 syncing database (6 ops) ====
I am pretty sure, that I did not change the setting for the stageserver in BSConfig.pm for several years now, and, according to logs, it worked until mid-July, when I updated the machine to OBS 2.10.
Here my question for help: Did something change in the way staging is configured, and I missed a required configuration change, or is this a bug in the publisher of 2.10?
This is a bug in OBS 2.10.
PS: Even scarier question: Am I the only user using a stageserver?
I'm using $obspublishhook and $stageserver ;-) my $obspublishhook = '/etc/obs_publish_hook.sh'; our $publishedhook_use_regex = 1; our $publishedhook = { "FOO-Cloud/.*" => $obspublishhook, "FOO-Cloud:CC/.*" => $obspublishhook, "FOO-Cloud:SOC6/.*" => $obspublishhook, "FOO-Cloud:SOC7/.*" => $obspublishhook, "FOO" => $obspublishhook, "FOO:(?!.*test).*" => $obspublishhook, "Infrastructure/.*" => $obspublishhook, "JPaaS.*" => $obspublishhook, "OpenStack.*" => $obspublishhook, }; The obs_publish_hook.sh creates an archive repository where all the old built package versions are kept in case someone needs them later. -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Hi Stefan, On Thursday, September 19, 2019 11:24:23 AM CEST Stefan Seyfried wrote:
Hi Stefan,
:
I know this, I did spend quite some time on debugging that. This is because you did not set $rsync_extra_options in BSConfig.pm. Of course you did not, because nobody told you to ;-) and it is not set in the example config file.
Anyway, this harmless option fixes the warning for me:
obs:~ # grep rsync_extra_options /usr/lib/obs/server/BSConfig.pm #our $rsync_extra_options = "--whole-file"; our $rsync_extra_options = "-v";
I'm not sure if it was a fatal error or if I did just add this to shut up bs_publish ;-)
Thank you very much! Adding any viable rsync option as rsync_extra_options fixes publishing in general with a configured stageserver. I know, that I could have circumvented this problem with obspublishhook - we use that on Packman's PMBS, but did not want to go that mile ATM. Meanwhile I created issue #8384, and Michael also commented with the rsync_extra_options solution. Thanks again, Stefan -- Stefan Botter zu Hause Bremen
participants (2)
-
Stefan Botter
-
Stefan Seyfried