Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package MirrorCache for openSUSE:Factory checked in at 2021-11-20 02:38:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MirrorCache (Old) and /work/SRC/openSUSE:Factory/.MirrorCache.new.1895 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MirrorCache" Sat Nov 20 02:38:45 2021 rev:5 rq:932168 version:1.017 Changes: -------- --- /work/SRC/openSUSE:Factory/MirrorCache/MirrorCache.changes 2021-11-11 21:39:20.357016310 +0100 +++ /work/SRC/openSUSE:Factory/.MirrorCache.new.1895/MirrorCache.changes 2021-11-20 02:39:47.104652476 +0100 @@ -1,0 +2,7 @@ +Thu Nov 11 09:49:34 UTC 2021 - Andrii Nikitin <andrii.niki...@suse.com> + +- Update to version 1.017: + * Find mirror from rest of world + * Add manual test for subsidiaries + +------------------------------------------------------------------- Old: ---- MirrorCache-1.016.obscpio New: ---- MirrorCache-1.017.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MirrorCache.spec ++++++ --- /var/tmp/diff_new_pack.f6lHbu/_old 2021-11-20 02:39:47.656650655 +0100 +++ /var/tmp/diff_new_pack.f6lHbu/_new 2021-11-20 02:39:47.660650642 +0100 @@ -22,7 +22,7 @@ %define main_requires %{assetpack_requires} perl(Carp) perl(DBD::Pg) >= 3.7.4 perl(DBI) >= 1.632 perl(DBIx::Class) >= 0.082801 perl(DBIx::Class::DynamicDefault) perl(DateTime) perl(Encode) perl(Time::Piece) perl(Time::Seconds) perl(Time::ParseDate) perl(DateTime::Format::Pg) perl(Exporter) perl(File::Basename) perl(LWP::UserAgent) perl(Mojo::Base) perl(Mojo::ByteStream) perl(Mojo::IOLoop) perl(Mojo::JSON) perl(Mojo::Pg) perl(Mojo::URL) perl(Mojo::Util) perl(Mojolicious::Commands) perl(Mojolicious::Plugin) perl(Mojolicious::Plugin::RenderFile) perl(Mojolicious::Static) perl(Net::OpenID::Consumer) perl(POSIX) perl(Sort::Versions) perl(URI::Escape) perl(XML::Writer) perl(base) perl(constant) perl(diagnostics) perl(strict) perl(warnings) shadow rubygem(sass) perl(Net::DNS) perl(LWP::Protocol::https) perl(Digest::SHA) %define build_requires %{assetpack_requires} rubygem(sass) tidy sysuser-shadow sysuser-tools Name: MirrorCache -Version: 1.016 +Version: 1.017 Release: 0 Summary: WebApp to redirect and manage mirrors License: GPL-2.0-or-later ++++++ MirrorCache-1.016.obscpio -> MirrorCache-1.017.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MirrorCache-1.016/lib/MirrorCache/WebAPI/Plugin/Dir.pm new/MirrorCache-1.017/lib/MirrorCache/WebAPI/Plugin/Dir.pm --- old/MirrorCache-1.016/lib/MirrorCache/WebAPI/Plugin/Dir.pm 2021-11-04 09:16:45.000000000 +0100 +++ new/MirrorCache-1.017/lib/MirrorCache/WebAPI/Plugin/Dir.pm 2021-11-11 09:43:45.000000000 +0100 @@ -156,15 +156,8 @@ my $c = $dm->c; my $subsidiary = $c->subsidiary; - - if ($subsidiary->headquarter_url) { - if (my $redirect = $subsidiary->redirect_headquarter($dm->region)) { - my $path_query = $dm->path_query; - $c->redirect_to($dm->scheme . "://" . $redirect . $route . $path_query); - $c->stat->redirect_to_headquarter($dm); - return 1; - } - } elsif (my $url = $subsidiary->has($dm->region, $c->req->url)) { + my $url = $subsidiary->has($dm->region, $c->req->url); + if ($url) { $c->redirect_to($url); $c->stat->redirect_to_region($dm); return 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MirrorCache-1.016/lib/MirrorCache/WebAPI/Plugin/RenderFileFromMirror.pm new/MirrorCache-1.017/lib/MirrorCache/WebAPI/Plugin/RenderFileFromMirror.pm --- old/MirrorCache-1.016/lib/MirrorCache/WebAPI/Plugin/RenderFileFromMirror.pm 2021-11-04 09:16:45.000000000 +0100 +++ new/MirrorCache-1.017/lib/MirrorCache/WebAPI/Plugin/RenderFileFromMirror.pm 2021-11-11 09:43:45.000000000 +0100 @@ -490,7 +490,7 @@ } } - if (($metalink && $found_count < $limit) || $mirrorlist || !$country) { + if ($found_count < $limit || $mirrorlist) { $m = $rs->mirrors_query( $country, $region, $folder_id, $file_id, $scheme, $ipv, $lat, $lng, $avoid_countries, $limit, 1, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MirrorCache-1.016/lib/MirrorCache/WebAPI/Plugin/Subsidiary.pm new/MirrorCache-1.017/lib/MirrorCache/WebAPI/Plugin/Subsidiary.pm --- old/MirrorCache-1.016/lib/MirrorCache/WebAPI/Plugin/Subsidiary.pm 2021-11-04 09:16:45.000000000 +0100 +++ new/MirrorCache-1.017/lib/MirrorCache/WebAPI/Plugin/Subsidiary.pm 2021-11-11 09:43:45.000000000 +0100 @@ -17,7 +17,6 @@ package MirrorCache::WebAPI::Plugin::Subsidiary; use Mojo::Base 'Mojolicious::Plugin'; -my $headquarter_url; my $subsidiary_region; my $subsidiaries_initialized = 0; @@ -27,19 +26,11 @@ sub register { my ($self, $app) = @_; my @subsidiaries; - # having both MIRRORCACHE_HEADQUARTER and MIRRORCACHE_REGION means that we are Subsidiary - if ($ENV{MIRRORCACHE_HEADQUARTER} && $ENV{MIRRORCACHE_REGION}) { + # having MIRRORCACHE_REGION means that we are Subsidiary + if ($ENV{MIRRORCACHE_REGION}) { $subsidiary_region = lc($ENV{MIRRORCACHE_REGION}); - $headquarter_url = $ENV{MIRRORCACHE_HEADQUARTER}; - $app->helper('subsidiary.has' => sub { return undef; }); $app->helper('subsidiary.regions' => sub { return undef; }); - $app->helper('subsidiary.redirect_headquarter' => sub { - my ($self, $region) = @_; - # redirect to the headquarter if country is not our region - return $headquarter_url if $region && $subsidiary_region ne lc($region); - return undef; - }); } else { eval { #the table may be missing - no big deal @subsidiaries = $app->schema->resultset('Subsidiary')->all; @@ -68,9 +59,7 @@ $app->helper('subsidiary.has' => \&_has_subsidiary); $app->helper('subsidiary.regions' => \&_regions); - $app->helper('subsidiary.redirect_headquarter' => sub { return undef; }); } - $app->helper('subsidiary.headquarter_url' => sub { return $headquarter_url; }); return $self; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MirrorCache-1.016/t/environ/03-headquarter-subsidiaries-mirrorlist.sh new/MirrorCache-1.017/t/environ/03-headquarter-subsidiaries-mirrorlist.sh --- old/MirrorCache-1.016/t/environ/03-headquarter-subsidiaries-mirrorlist.sh 2021-11-04 09:16:45.000000000 +0100 +++ new/MirrorCache-1.017/t/environ/03-headquarter-subsidiaries-mirrorlist.sh 2021-11-11 09:43:45.000000000 +0100 @@ -6,9 +6,9 @@ # 6 - NA subsidiary # 7 - EU subsidiary -# hq mirros: ap1 ap2 -# na mirros: ap3 ap4 -# eu mirros: ap5 ap6 +# hq mirrors: ap1 ap2 +# na mirrors: ap3 ap4 +# eu mirrors: ap5 ap6 for i in 9 6 7; do x=$(environ mc$i $(pwd)) @@ -54,12 +54,12 @@ $mc9/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap1/print_address)','','t','jp','as'" $mc9/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap2/print_address)','','t','jp','as'" -$mc6/gen_env MIRRORCACHE_REGION=na MIRRORCACHE_HEADQUARTER=$hq_address "MIRRORCACHE_TOP_FOLDERS='folder1 folder2 folder3'" +$mc6/gen_env MIRRORCACHE_REGION=na "MIRRORCACHE_TOP_FOLDERS='folder1 folder2 folder3'" $mc6/start $mc6/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap3/print_address)','','t','us','na'" $mc6/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap4/print_address)','','t','ca','na'" -$mc7/gen_env MIRRORCACHE_REGION=eu MIRRORCACHE_HEADQUARTER=$hq_address "MIRRORCACHE_TOP_FOLDERS='folder1 folder2 folder3'" +$mc7/gen_env MIRRORCACHE_REGION=eu "MIRRORCACHE_TOP_FOLDERS='folder1 folder2 folder3'" $mc7/start $mc7/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap5/print_address)','','t','de','eu'" $mc7/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap6/print_address)','','t','dk','eu'" @@ -116,3 +116,9 @@ mc9/backstage/shoot curl -sL --interface 127.0.0.4 http://$hq_address/folder3/file1.1.dat.mirrorlist | grep -C10 $($ap1/print_address) | grep $($ap2/print_address) + +########################################### +curl -Is --interface $eu_interface http://$eu_address/folder1/file1.1.dat | grep -C10 302 | grep $($ap5/print_address) +curl -Is --interface $na_interface http://$eu_address/folder1/file1.1.dat | grep -C10 302 | grep -E "$($ap5/print_address)|$($ap6/print_address)" + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MirrorCache-1.016/t/environ/03-headquarter-subsidiaries-samedb.sh new/MirrorCache-1.017/t/environ/03-headquarter-subsidiaries-samedb.sh --- old/MirrorCache-1.016/t/environ/03-headquarter-subsidiaries-samedb.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/MirrorCache-1.017/t/environ/03-headquarter-subsidiaries-samedb.sh 2021-11-11 09:43:45.000000000 +0100 @@ -0,0 +1,114 @@ +#!lib/test-in-container-environ.sh +set -ex + +# let all geo locations share the same db + +# environ by number: +# 9 - headquarter +# 6 - NA subsidiary +# 7 - EU subsidiary +# 8 - ASIA subsidiary + +# hq mirrors: ap1 ap2 +# na mirrors: ap3 ap4 +# eu mirrors: ap5 ap6 +# as mirrors: ap7 ap8 + +for i in 6 7 8 9; do + x=$(environ mc$i $(pwd)) + mkdir -p $x/dt/{folder1,folder2,folder3} + echo $x/dt/{folder1,folder2,folder3}/{file1.1,file2.1}.dat | xargs -n 1 touch + mkdir $x/dt/folder1/media.1/ + touch $x/dt/folder1/media.1/media + eval mc$i=$x +done + +for i in 1 2 3 4 5 6 7 8; do + x=$(environ ap$i) + mkdir -p $x/dt/{folder1,folder2,folder3} + echo $x/dt/{folder1,folder2,folder3}/{file1.1,file2.1}.dat | xargs -n 1 touch + mkdir $x/dt/folder1/media.1/ + touch $x/dt/folder1/media.1/media + mkdir $x/dt/folder1/repodata/ + touch $x/dt/folder1/repodata/repomd.xml + touch $x/dt/folder1/repodata/repomd.xml.asc + eval ap$i=$x + $x/start +done + +hq_address=$($mc9/print_address) +na_address=$($mc6/print_address) +na_interface=127.0.0.2 +eu_address=$($mc7/print_address) +eu_interface=127.0.0.3 +as_address=$($mc8/print_address) +as_interface=127.0.0.4 + +# deploy db +$mc9/gen_env MIRRORCACHE_TOP_FOLDERS="'folder1 folder2 folder3'" +$mc9/backstage/shoot + +$mc9/db/sql "insert into subsidiary(hostname,region) select '$na_address','na'" +$mc9/db/sql "insert into subsidiary(hostname,region) select '$eu_address','eu'" +$mc9/db/sql "insert into subsidiary(hostname,region) select '$as_address','as'" +$mc9/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap1/print_address)','','t','br','sa'" +$mc9/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap2/print_address)','','t','br','sa'" +$mc9/start + +$mc6/gen_env MIRRORCACHE_TOP_FOLDERS="'folder1 folder2 folder3'" MIRRORCACHE_REGION=na MIRRORCACHE_HEADQUARTER=$hq_address +rm -r $mc6/db +ln -s $mc9/db $mc6/db +$mc6/start +$mc6/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap3/print_address)','','t','us','na'" +$mc6/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap4/print_address)','','t','ca','na'" + +$mc7/gen_env MIRRORCACHE_TOP_FOLDERS="'folder1 folder2 folder3'" MIRRORCACHE_REGION=eu MIRRORCACHE_HEADQUARTER=$hq_address +rm -r $mc7/db +ln -s $mc9/db $mc7/db +$mc7/start +$mc7/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap5/print_address)','','t','de','eu'" +$mc7/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap6/print_address)','','t','dk','eu'" + +$mc8/gen_env MIRRORCACHE_TOP_FOLDERS="'folder1 folder2 folder3'" MIRRORCACHE_REGION=as MIRRORCACHE_HEADQUARTER=$hq_address +rm -r $mc8/db +ln -s $mc9/db $mc8/db +$mc8/start +$mc8/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap7/print_address)','','t','jp','as'" +$mc8/sql "insert into server(hostname,urldir,enabled,country,region) select '$($ap8/print_address)','','t','jp','as'" + +echo the root folder is not redirected +curl --interface $eu_interface -Is http://$hq_address/ | grep '200 OK' + +for i in 9 6 7 8; do + mc$i/backstage/job -e folder_sync -a '["/folder1"]' + mc$i/backstage/job -e mirror_scan -a '["/folder1"]' + mc$i/backstage/shoot +done + +# curl -s "http://$hq_address/rest/eu?file=/folder1/file1.1.dat" | grep -C50 $($ap5/print_address) | grep $($ap6/print_address) +# curl -s "http://$hq_address/rest/na?file=/folder1/file1.1.dat" | grep -C50 $($ap3/print_address) | grep $($ap4/print_address) + +curl -sL http://$hq_address/folder1/file1.1.dat.metalink | grep file1.1.dat +curl -sL --interface 127.0.0.4 http://$hq_address/folder1/file1.1.dat.metalink | grep file1.1.dat + +curl -s http://$hq_address/folder1/file1.1.dat.mirrorlist | grep file1.1.dat +curl -s --interface $eu_interface http://$eu_address/folder1/file1.1.dat.mirrorlist | grep file1.1.dat +curl -s http://$hq_address/download/folder1/file2.1.dat.mirrorlist | grep file2.1.dat +curl -s --interface $eu_interface http://$eu_address/download/folder1/file2.1.dat.mirrorlist | grep file2.1.dat + +# media.1/media is served from root even when asked from EU +curl -Is --interface $eu_interface http://$hq_address/folder1/media.1/media | grep 200 + +########################################### +# test table demand_mirrorlist: +# if mirrorlist was requested for known file - all countries will be scanned +mc9/backstage/job -e folder_sync -a '["/folder2"]' +mc9/backstage/shoot + +curl -sL --interface 127.0.0.4 http://$hq_address/folder2/file1.1.dat.mirrorlist | grep 'file1.1.dat' +mc9/backstage/job -e mirror_scan_schedule_from_misses +mc9/backstage/job -e mirror_scan_schedule +mc9/backstage/shoot + +curl -sL --interface 127.0.0.4 http://$hq_address/folder2/file1.1.dat.mirrorlist | grep -C10 $($ap1/print_address) | grep $($ap2/print_address) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MirrorCache-1.016/t/environ/03-headquarter-subsidiaries.sh new/MirrorCache-1.017/t/environ/03-headquarter-subsidiaries.sh --- old/MirrorCache-1.016/t/environ/03-headquarter-subsidiaries.sh 2021-11-04 09:16:45.000000000 +0100 +++ new/MirrorCache-1.017/t/environ/03-headquarter-subsidiaries.sh 2021-11-11 09:43:45.000000000 +0100 @@ -31,11 +31,11 @@ $mc9/db/sql "insert into subsidiary(hostname,region) select '$as_address','as'" $mc9/start -$mc6/gen_env MIRRORCACHE_REGION=na MIRRORCACHE_HEADQUARTER=$hq_address +$mc6/gen_env MIRRORCACHE_REGION=na $mc6/start -$mc7/gen_env MIRRORCACHE_REGION=eu MIRRORCACHE_HEADQUARTER=$hq_address +$mc7/gen_env MIRRORCACHE_REGION=eu $mc7/start -$mc8/gen_env MIRRORCACHE_REGION=as MIRRORCACHE_HEADQUARTER=$hq_address +$mc8/gen_env MIRRORCACHE_REGION=as $mc8/start echo the root folder is not redirected @@ -48,22 +48,14 @@ echo check redirection from na curl --interface $na_interface -Is http://$na_address/download/folder1/file1.1.dat | grep '200 OK' -curl --interface $eu_interface -Is http://$na_address/download/folder1/file1.1.dat | grep "Location: http://$hq_address/download/folder1/file1.1.dat" -curl --interface $as_interface -Is http://$na_address/download/folder1/file1.1.dat | grep "Location: http://$hq_address/download/folder1/file1.1.dat" +curl --interface $eu_interface -Is http://$na_address/download/folder1/file1.1.dat | grep '200 OK' echo check redirection from eu -curl --interface $na_interface -Is http://$eu_address/download/folder1/file1.1.dat | grep "Location: http://$hq_address/download/folder1/file1.1.dat" curl --interface $eu_interface -Is http://$eu_address/download/folder1/file1.1.dat | grep '200 OK' -curl --interface $as_interface -Is http://$eu_address/download/folder1/file1.1.dat | grep "Location: http://$hq_address/download/folder1/file1.1.dat" echo check redirection from as -curl --interface $na_interface -Is http://$as_address/download/folder1/file1.1.dat | grep "Location: http://$hq_address/download/folder1/file1.1.dat" -curl --interface $eu_interface -Is http://$as_address/download/folder1/file1.1.dat | grep "Location: http://$hq_address/download/folder1/file1.1.dat" curl --interface $as_interface -Is http://$as_address/download/folder1/file1.1.dat | grep '200 OK' -curl --interface $as_interface -Is http://$as_address/download/folder1/file1.1.dat?COUNTRY=us | grep "Location: http://$hq_address/download/folder1/file1.1.dat" curl --interface $as_interface -Is http://$as_address/download/folder1/file1.1.dat?COUNTRY=cn | grep '200 OK' -curl --interface $as_interface -Is http://$as_address/download/folder1/file1.1.dat?REGION=na | grep "Location: http://$hq_address/download/folder1/file1.1.dat" -curl --interface $as_interface -Is "http://$as_address/download/folder1/file1.1.dat?COUNTRY=cn®ION=na" | grep "Location: http://$hq_address/download/folder1/file1.1.dat" echo check non-download routers shouldnt be redirected curl --interface $na_interface -Is http://$hq_address/rest/server | grep '200 OK' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MirrorCache-1.016/t/environ/06-remote-geo-dynamic.sh new/MirrorCache-1.017/t/environ/06-remote-geo-dynamic.sh --- old/MirrorCache-1.016/t/environ/06-remote-geo-dynamic.sh 2021-11-04 09:16:45.000000000 +0100 +++ new/MirrorCache-1.017/t/environ/06-remote-geo-dynamic.sh 2021-11-11 09:43:45.000000000 +0100 @@ -11,7 +11,8 @@ $mc/gen_env MIRRORCACHE_ROOT=http://$($ap6/print_address) \ MIRRORCACHE_STAT_FLUSH_COUNT=1 \ MIRRORCACHE_SCHEDULE_RETRY_INTERVAL=1 \ - MIRRORCACHE_COUNTRY_RESCAN_TIMEOUT=0 + MIRRORCACHE_COUNTRY_RESCAN_TIMEOUT=0 \ + MIRRORCACHE_BACKSTAGE_WORKERS=5 for x in $ap6 $ap7 $ap8 $ap9; do mkdir -p $x/dt/{folder1,folder2,folder3} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MirrorCache-1.016/t/environ/10-remote-redirect.sh new/MirrorCache-1.017/t/environ/10-remote-redirect.sh --- old/MirrorCache-1.016/t/environ/10-remote-redirect.sh 2021-11-04 09:16:45.000000000 +0100 +++ new/MirrorCache-1.017/t/environ/10-remote-redirect.sh 2021-11-11 09:43:45.000000000 +0100 @@ -96,7 +96,7 @@ rc=0 $ap9/curl_https -IL /folder1/file1.1.dat | grep $($ap7/print_address) || rc=$? test $rc != 0 || break - sleep 1; + sleep 1 n=$((n+1)) test $n -le 5 || break done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MirrorCache-1.016/t/manual/02-headquarter-samedb.sh new/MirrorCache-1.017/t/manual/02-headquarter-samedb.sh --- old/MirrorCache-1.016/t/manual/02-headquarter-samedb.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/MirrorCache-1.017/t/manual/02-headquarter-samedb.sh 2021-11-11 09:43:45.000000000 +0100 @@ -0,0 +1,65 @@ +#!lib/test-in-container-environ.sh +set -ex + +hq=$(environ mc1 $(pwd)) +na=$(environ mc2 $(pwd)) +eu=$(environ mc3 $(pwd)) +oc=$(environ mc4 $(pwd)) + +hq_address=$($hq/print_address) +na_address=$($na/print_address) +na_interface=127.0.0.2 +eu_address=$($eu/print_address) +eu_interface=127.0.0.3 +oc_address=$($oc/print_address) +oc_interface=127.0.0.4 + +declare -A xtra +xtra[$hq]='' +xtra[$eu]=MIRRORCACHE_REGION=eu +xtra[$na]=MIRRORCACHE_REGION=na +xtra[$oc]=MIRRORCACHE_REGION=oc + +for x in $hq $eu $na $oc; do + +$x/gen_env MIRRORCACHE_RECKLESS=0 \ + MIRRORCACHE_ROOT=http://download.opensuse.org \ + MIRRORCACHE_REDIRECT=downloadcontent.opensuse.org \ + MIRRORCACHE_HYPNOTOAD=1 \ + MIRRORCACHE_PERMANENT_JOBS="'folder_sync_schedule_from_misses folder_sync_schedule mirror_scan_schedule_from_misses mirror_scan_schedule_from_path_errors mirror_scan_schedule cleanup stat_agg_schedule mirror_check_from_stat'" \ + MIRRORCACHE_TOP_FOLDERS="'debug distribution tumbleweed factory repositories'" \ + MIRRORCACHE_TRUST_AUTH=127.0.0.16 \ + MIRRORCACHE_PROXY_URL=http://$($x/print_address) \ + MIRRORCACHE_BACKSTAGE_WORKERS=4 \ + MIRRORCACHE_HEADQUARTER=$hq_address \ + ${xtra[$x]} + + test $x != $eu || { + rm -r $x/db + ln -s $hq/db $x/db + } + + $x/backstage/start # start backstage here to deploy db +done + + +$hq/sql -f dist/salt/profile/mirrorcache/files/usr/share/mirrorcache/sql/mirrors-rest.sql mc_test +$hq/sql "delete from server where region = 'oc'" +$hq/sql "insert into subsidiary(hostname,region) select '$na_address','na'" +$hq/sql "insert into subsidiary(hostname,region) select '$eu_address','eu'" +$hq/sql "insert into subsidiary(hostname,region) select '$oc_address','oc'" +$hq/start + +$na/start +$na/sql -f dist/salt/profile/mirrorcache/files/usr/share/mirrorcache/sql/mirrors-na.sql mc_test + +$eu/start +$eu/sql -f dist/salt/profile/mirrorcache/files/usr/share/mirrorcache/sql/mirrors-eu.sql mc_test + +$oc/start +$oc/sql -f dist/salt/profile/mirrorcache/files/usr/share/mirrorcache/sql/mirrors-rest.sql mc_test +$oc/sql "delete from server where region != 'oc'" + +curl -IL http://127.0.0.1:3110/distribution/leap/15.3/iso/openSUSE-Leap-15.3-NET-x86_64-Current.iso +sleep 10 +$na/curl -IL /distribution/leap/15.3/iso/openSUSE-Leap-15.3-NET-x86_64-Current.iso diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MirrorCache-1.016/t/manual/02-headquarter.sh new/MirrorCache-1.017/t/manual/02-headquarter.sh --- old/MirrorCache-1.016/t/manual/02-headquarter.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/MirrorCache-1.017/t/manual/02-headquarter.sh 2021-11-11 09:43:45.000000000 +0100 @@ -0,0 +1,62 @@ +#!lib/test-in-container-environ.sh +set -ex + +hq=$(environ mc1 $(pwd)) +na=$(environ mc2 $(pwd)) +eu=$(environ mc3 $(pwd)) +oc=$(environ mc4 $(pwd)) + +hq_address=$($hq/print_address) +na_address=$($na/print_address) +na_interface=127.0.0.2 +eu_address=$($eu/print_address) +eu_interface=127.0.0.3 +oc_address=$($oc/print_address) +oc_interface=127.0.0.4 + +declare -A xtra +xtra[$hq]='' +xtra[$eu]="MIRRORCACHE_REGION=eu MIRRORCACHE_HEADQUARTER=$hq_address" +xtra[$na]="MIRRORCACHE_REGION=na MIRRORCACHE_HEADQUARTER=$hq_address" +xtra[$oc]="MIRRORCACHE_REGION=oc MIRRORCACHE_HEADQUARTER=$hq_address" + +for x in $hq $eu $na $oc; do + +$x/gen_env MIRRORCACHE_RECKLESS=0 \ + MIRRORCACHE_ROOT=http://download.opensuse.org \ + MIRRORCACHE_REDIRECT=downloadcontent.opensuse.org \ + MIRRORCACHE_HYPNOTOAD=1 \ + MIRRORCACHE_PERMANENT_JOBS="'folder_sync_schedule_from_misses folder_sync_schedule mirror_scan_schedule_from_misses mirror_scan_schedule_from_path_errors mirror_scan_schedule cleanup stat_agg_schedule mirror_check_from_stat'" \ + MIRRORCACHE_TOP_FOLDERS="'debug distribution tumbleweed factory repositories'" \ + MIRRORCACHE_TRUST_AUTH=127.0.0.16 \ + MIRRORCACHE_PROXY_URL=http://$($x/print_address) \ + MIRRORCACHE_BACKSTAGE_WORKERS=4 \ + ${xtra[$x]} + + $x/backstage/start # start backstage here to deploy db +done + + +$hq/sql -f dist/salt/profile/mirrorcache/files/usr/share/mirrorcache/sql/mirrors-rest.sql mc_test +$hq/sql "update server set enabled='f' where region = 'oc'" +$hq/sql "insert into subsidiary(hostname,region) select '$na_address','na'" +$hq/sql "insert into subsidiary(hostname,region) select '$eu_address','eu'" +$hq/sql "insert into subsidiary(hostname,region) select '$oc_address','oc'" +$hq/start + +$na/start +$na/sql -f dist/salt/profile/mirrorcache/files/usr/share/mirrorcache/sql/mirrors-na.sql mc_test + +$eu/start +$eu/sql -f dist/salt/profile/mirrorcache/files/usr/share/mirrorcache/sql/mirrors-eu.sql mc_test + +$oc/start +$oc/sql -f dist/salt/profile/mirrorcache/files/usr/share/mirrorcache/sql/mirrors-rest.sql mc_test +$oc/sql "update server set enabled='f' where region != 'oc'" + +# $hq/backstage/job -e folder_tree -a '["/distribution/leap/15.3"]' +# $us/backstage/job -e folder_tree -a '["/distribution/leap/15.3/iso"]' + +curl -IL http://127.0.0.1:3110/distribution/leap/15.3/iso/openSUSE-Leap-15.3-NET-x86_64-Current.iso +sleep 10 +$na/curl -IL /distribution/leap/15.3/iso/openSUSE-Leap-15.3-NET-x86_64-Current.iso ++++++ MirrorCache.obsinfo ++++++ --- /var/tmp/diff_new_pack.f6lHbu/_old 2021-11-20 02:39:47.904649837 +0100 +++ /var/tmp/diff_new_pack.f6lHbu/_new 2021-11-20 02:39:47.904649837 +0100 @@ -1,5 +1,5 @@ name: MirrorCache -version: 1.016 -mtime: 1636013805 -commit: 20f73d6807be22bb1a291d68a3c2f44bce71c393 +version: 1.017 +mtime: 1636620225 +commit: c6b91b1a3892d5972354173af00be3cdb8254bdc