From: Michael Shigorin <mike@osdn.org.ua> To: ALT Linux Sisyphus mailing list <sisyphus@altlinux.org> Subject: [sisyphus] Re: стабильный... нестабильный... Date: Fri, 24 Jun 2005 19:17:35 +0300 Message-ID: <20050624161735.GN24580@osdn.org.ua> (raw) In-Reply-To: <20050624151852.GC23459@basalt.office.altlinux.org> [-- Attachment #1.1: Type: text/plain, Size: 1970 bytes --] On Fri, Jun 24, 2005 at 07:18:52PM +0400, Dmitry V. Levin wrote: > > > > Иван, а не хотите потихоньку (может, с 3.0) съезжать со всем > > > > этим хозяйством с сизифа на что-то более предсказуемое плюс > > > > бэкпорты по вкусу [и с Вашим участием]? > > > Думаю, что это очень нездравое предложение. > > Поясни? > Ты предлагаешь человеку, который может позволить себе > тестировать не самые широко используемые компоненты Сизифа и > тем самым делать их лучше, прекратить тестирование. Я предлагаю подумать. Подумав сам, что именно предлагаю. > А ведь это нанесёт больший ущерб Сизифу, чем все ругающие ALT > вместе взятые в качестве показателя экспоненты. Если человек в очередной взрыв психанёт и уйдёт из сообщества, будет хуже. К сожалению, так было и не раз (и не с самыми наивными людьми). Как ты можешь помнить, в теме "стабильный сизиф" я всеми конечностями держался за тезис "если можно не разламывать или локализовать проблемы -- давайте постараемся делать так". Бишь мне как разработчику на базе Sisyphus, а не дистрибутивов, *критично* качество части его пакетной базы. Но рекомендации даются не из эгоистических побуждений -- я считаю, что гораздо более уместным вариантом тестирования Sisyphus является наличие у тестирующего: - системы снапшотов (свой кривой скрипт и ещё пару прилагаю); - тестовых систем (возможно, находящихся в эксплуатации, но легко выводимых из неё и/или некритичных -- как, например, один или несколько узлов в кластере); - систем, которые работают на снапшоте, прошедшем предварительную обкатку на тестовых агрегатах. На данный момент моё понимание ситуации говорит о том, что без подобной буферизации тестирование может обойтись слишком дорого человеку, а вследствие этого -- проекту. PS: повешено на http://wiki.sisyphus.ru/admin/HandyAdvice, comments are welcome. -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ [-- Attachment #1.2: daily-rsync.sh --] [-- Type: text/plain, Size: 2194 bytes --] #!/bin/sh # script by Michael Shigorin <mike@osdn.org.ua> for snapshotting # ALT Linux Sisyphus locally; feel free to use and modify, would # be glad to hear back about changes # v0.2: fix STUPID bug which manifested when doing several # syncs per day *and* the first wasn't done off complete (stable) # mirror # v0.3: better $DEST handling in case of repeated rsync failures # during some period of time *but* with some data transferred # so they better not get lost and re-rsynced # v0.4: TIMESTAMP fix by Denis Smirnov (mithraen@altlinux) induced # by discussion with Dmitry Levin (ldv@altlinux) # v0.5: altlinux-release is searched in noarch instead of i586 # mirror/site-specific SRC="ftp.altlinux.org.ua::ALTLinux/Sisyphus/" BASEDIR="/var/ftp/pub/EMT/Sisyphus/" # retry params MAXCOUNT=5 TIMEOUT=60 # shouldn't need to be changed DATE=`date +%Y%m%d` LOGDIR="$BASEDIR/log/" LOGFILE="$LOGDIR/$DATE.log" DEST="$BASEDIR/.syncing/" RSYNCARGS="-av --partial --delete --bwlimit=120" RPMARGS="-qp --queryformat %{RELEASE}\n" TAGFILE="$DEST/files/noarch/RPMS/altlinux-release-Sisyphus-alt*.noarch.rpm" unset OK # init env mkdir -p "$BASEDIR" "$LOGDIR" cd "$BASEDIR" # create hardlinked copy or init dir LAST=`ls -d1 20?????? 2>/dev/null | tail -1` [ -d "$DEST" ] || mkdir -p "$DEST" [ -n "$LAST" ] && { [ `/bin/du -s "$LAST" |cut -f1` -gt `/bin/du -s "$DEST" |cut -f1` ] && { cp -alf "$LAST"/* "$DEST" } } # try to sync up for attempt in `seq 1 $MAXCOUNT`; do rsync $RSYNCARGS "$SRC" "$DEST" 2>&1 >> "$LOGFILE" && { OK="yes" break } sleep "$TIMEOUT" done [ -z "$OK" ] && exit 1 # get timestamp from specific package and move to it #TIMESTAMP=`rpm $RPMARGS $TAGFILE | tail -1 | sed 's/alt//'` TIMESTAMP=$(date +"%Y%m%d" -d "$(grep ^Date: $TAGFILE | sed 's!.*\([0-9][0-9] ... [0-9][0-9][0-9][0-9]\).*!\1!')") [ -d "$TIMESTAMP" ] && { rsync $RSYNCARGS "$DEST" "$TIMESTAMP"/ 2>&1 >> "$LOGFILE" } || { mv "$DEST" "$TIMESTAMP" 2>>"$LOGFILE" } touch -d "$DATE" "$TIMESTAMP" rm -f current ln -s "$TIMESTAMP" current rm -rf "$DEST" # that's all :) echo "** $TIMESTAMP sync OK" >> "$LOGFILE" [-- Attachment #1.3: update_Sisyphus --] [-- Type: text/plain, Size: 1945 bytes --] #!/bin/sh # # Copyright 2004 (c) Michael Shigorin <mike@osdn.org.ua> # Copyright 2004-2005 (c) Ivan Fedorov <ns@altlinux.ru> # script for snapshotting ALT Linux Sisyphus locally. # # # mirror/site-specific SRC="rsync.altlinux.ru::ALTLinux/Sisyphus/" BASEDIR="/var/ftp/pub/distributions/ALTLinux/Sisyphus-daily/" ######################################## ###SRC="sisyphus.irkutsk.ru::ALTLinux/Sisyphus/" ###BASEDIR="/var/tmp/SIS/Sisyphus-daily/" ######################################## # retry params MAXCOUNT=10 TIMEOUT=60 # shouldn't need to be changed DATE=`date +%Y%m%d` DATE_P=`date +%Y/%m/%d` DATE_Y=`date +%Y` DATE_M=`date +%m` ######################################## ###DATE=`date +%Y%m%d -d 1day` ###DATE_P=`date +%Y/%m/%d -d 1day` ######################################## LOGDIR="$BASEDIR/../log/" LOGFILE="$LOGDIR/Sisyphus_$DATE.log" DEST="$BASEDIR/.syncing" RSYNCARGS="-vaz --stats --delete-after" unset OK # init env mkdir -p "$BASEDIR/$DATE_Y/$DATE_M" "$LOGDIR" cd "$BASEDIR" || exit 1 # create hardlinked copy or init dir; order critical LAST=`ls -d1 20??/??/?? 2>/dev/null | sort | tail -1` ######################################## ###LAST="2005/01/19" ######################################## rm -rf "$DEST" mkdir -p "$DEST" [ ! -d "$LAST" ] && { echo "Can't create $DEST" >> "$LOGFILE" exit 1 } for attempt in `seq 1 $MAXCOUNT`; do rsync $RSYNCARGS "$SRC" "$DEST" --link-dest "$BASEDIR/$LAST" 2>&1 >> "$LOGFILE" && { OK="yes" break } sleep "$TIMEOUT" done [ -z "$OK" ] && { echo "Syncing problems" | tee -a "$LOGFILE" exit 1 } [ ! -d "$BASEDIR/$DATE_P" ] && { mv "$DEST" "$DATE_P" # fix symlink rm -f $BASEDIR/../Sisyphus ln -s Sisyphus-daily/"$DATE_P" $BASEDIR/../Sisyphus } || { echo "$DATE_P already exists" | tee -a "$LOGFILE" mv "$DEST" "$DATE_P.new" exit 2 } echo "** $DATE sync OK" >> "$LOGFILE" [-- Attachment #1.4: archive_sisyphus --] [-- Type: text/plain, Size: 1088 bytes --] #!/bin/sh -e PROG="${0##*/}" Fatal() { echo "${0##*/}: $*" >&2 exit 1 } export LC_ALL=C sisyphus=/path/to/Sisyphus pattern='^/path/to/archive/Sisyphus/[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2}$' format='/path/to/archive/Sisyphus/%CY/%Cm/%Cd\n/path/to/archive/Sisyphus/%TY/%Tm/%Td\n' old="$(find /path/to/archive/Sisyphus/ -type d -mindepth 3 -maxdepth 3 |egrep "$pattern" |sort -r |head -1)" || Fatal "old sisyphus lookup failed." [ -n "$old" -a -d "$old" ] || Fatal "old sisyphus lookup failed." new="$(find "$sisyphus"/i?86/base -mindepth 1 -maxdepth 1 -type f -name pkglist.\* -printf "$format")" || Fatal "new sisyphus lookup failed." new="$(echo "$new" |egrep "$pattern" |sort -r |head -1)" [ -n "$new" ] || Fatal "new sisyphus lookup failed." if [ "$old" = "$new" ]; then echo "$old: latest snapshot already exists." exit 0 fi if [ -d "$new" ]; then echo "$old: NON-latest snapshot already exists." exit 0 fi echo "New snapshot to be created: $new" mkdir -pv ${new%/*} cp -al "$old" "$new" rsync -va --delete-after --stats "$sisyphus"/ "$new"/ [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-06-24 16:17 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2005-06-23 21:10 [sisyphus] apache-mod_perl broken? Ivan Adzhubey 2005-06-23 21:55 ` [sisyphus] " Alexey Tourbin 2005-06-24 0:46 ` Ivan Adzhubey 2005-06-24 2:18 ` Alexey Tourbin 2005-06-24 2:44 ` Ivan Adzhubey 2005-06-24 3:54 ` Alexey Tourbin 2005-06-24 5:02 ` Alexey Tourbin 2005-06-24 2:33 ` Alexey Tourbin 2005-06-24 2:56 ` Ivan Adzhubey 2005-06-24 13:45 ` Michael Shigorin 2005-06-24 14:52 ` Dmitry V. Levin 2005-06-24 15:07 ` [sisyphus] стабильный... нестабильный... (was: apache-mod_perl broken?) Michael Shigorin 2005-06-24 15:18 ` Dmitry V. Levin 2005-06-24 16:17 ` Michael Shigorin [this message] 2005-06-24 17:12 ` [sisyphus] Re: стабильный... нестабильный Dmitry V. Levin 2005-06-24 17:26 ` Ivan Adzhubey 2005-06-24 19:11 ` Michael Shigorin 2005-06-24 3:22 ` [sisyphus] Re: apache-mod_perl broken? Ivan Adzhubey 2005-06-24 4:08 ` Alexey Tourbin 2005-06-24 13:56 ` Michael Shigorin 2005-06-24 4:42 ` Mike Lykov 2005-06-24 5:05 ` Ivan Adzhubey 2005-06-24 5:44 ` Mike Lykov 2005-06-24 5:54 ` Ivan Adzhubey 2005-06-24 6:23 ` Mike Lykov 2005-06-24 14:02 ` Michael Shigorin 2005-06-24 13:52 ` [sisyphus] nightly dist-upgrade (was: apache-mod_perl broken?) Michael Shigorin 2005-06-24 12:46 ` [sisyphus] Re: apache-mod_perl broken? Michael Shigorin 2005-06-24 6:40 ` Denis A. Yurashkou 2005-06-23 21:56 ` Michael Shigorin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20050624161735.GN24580@osdn.org.ua \ --to=mike@osdn.org.ua \ --cc=sisyphus@altlinux.org \ --cc=sisyphus@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git