Mailinglist Archive: zypp-devel (116 mails)
| < Previous | Next > |
[zypp-devel] Source refresh policy
- From: Jiri Srain <jsrain@xxxxxxx>
- Date: Wed, 20 Jun 2007 17:56:20 +0200
- Message-id: <200706201756.25471.jsrain@xxxxxxx>
Hi!
This is my suggestion on how to define the refresh policy with refactored
ZYPP:
We need to keep the information when last a source was refreshed in order
to decide whether a source needs to be refreshed or not. In addition, we
will need some policies defining whether a source should be refreshed or
not.
The basic refresh should be done by a cron job. However, there may be
a reason not to do refresh via a cron job and do it only when SW management
tool starts.
There are two kinds of tools:
1. Tools which take care of having the system up-to-date. They must always
work on as fresh metadata as possible
2. Tools which should install a package. They should work as fast as possible.
we can pay the price of installing package which already has an update at
least in some cases.
Therefore we need two different policies depending on the kind of source
(this is optional) and on the operation user performs (they can be set
to vehave the same of course).
How often refresh is being performed via cron (if it is) can be read from
the cron configuration, I don't think we need to put this information to
any configuration file.
In addition to cron, I suggest adding following variables (comments hopefully
explain their meaning)
--- snip ---
# should the on-line update paplication (eg. YOU) consider doing a refresh
# or should it rely on a cron job?
ONLINE_UPDATE_AUTO_REFRESH="yes"
# if the time since last refresh is higher than specified amount of time,
# the update tools refresh the source first
# if it is an update source (provided we have the tags); 0 means to refresh
# always when starting the on-line update tool
# filtering on-line update sources is questionable (consistency)
ONLINE_UPDATE_REFRESH_INTERVAL="1h"
# should the desktop applet perform any refresh or just rely on cron job?
DESKTOP_APPLET_REFRESH="yes"
# define how often the desktop applet should perform refresh.
DESKTOP_APPLET_REFRESH_INTERVAL="3h"
# master switch for enabling or disabling auto refresh for software
# management tools (eg. 'yast -i', 'zypper')
# if disabled, refresh must be performed manually or via cron
INSTALLER_AUTO_REFRESH="yes"
# auto refresh interval for tools primarily installing packages, not doing
# update; "0" means always when initializing source(s)
INSTALLER_AUTO_REFRESH_INTERVAL="24h"
--- snap ---
The above variables can be added to /etc/sysconfig/sw_management.
The way time is specified can be discussed, I guess that the granularity of
hours or at most minutes is perfectly sufficient, however, we may support
any of fixed units or specifying the units with the value (as in examples
above).
Any other ideas or suggestions?
--
Regards,
Jiri Srain
YaST Team Leader
---------------------------------------------------------------------
SUSE LINUX, s.r.o. e-mail: jsrain@xxxxxxx
Lihovarska 1060/12 tel: +420 284 028 959
190 00 Praha 9 fax: +420 284 028 951
Czech Republic http://www.suse.cz
This is my suggestion on how to define the refresh policy with refactored
ZYPP:
We need to keep the information when last a source was refreshed in order
to decide whether a source needs to be refreshed or not. In addition, we
will need some policies defining whether a source should be refreshed or
not.
The basic refresh should be done by a cron job. However, there may be
a reason not to do refresh via a cron job and do it only when SW management
tool starts.
There are two kinds of tools:
1. Tools which take care of having the system up-to-date. They must always
work on as fresh metadata as possible
2. Tools which should install a package. They should work as fast as possible.
we can pay the price of installing package which already has an update at
least in some cases.
Therefore we need two different policies depending on the kind of source
(this is optional) and on the operation user performs (they can be set
to vehave the same of course).
How often refresh is being performed via cron (if it is) can be read from
the cron configuration, I don't think we need to put this information to
any configuration file.
In addition to cron, I suggest adding following variables (comments hopefully
explain their meaning)
--- snip ---
# should the on-line update paplication (eg. YOU) consider doing a refresh
# or should it rely on a cron job?
ONLINE_UPDATE_AUTO_REFRESH="yes"
# if the time since last refresh is higher than specified amount of time,
# the update tools refresh the source first
# if it is an update source (provided we have the tags); 0 means to refresh
# always when starting the on-line update tool
# filtering on-line update sources is questionable (consistency)
ONLINE_UPDATE_REFRESH_INTERVAL="1h"
# should the desktop applet perform any refresh or just rely on cron job?
DESKTOP_APPLET_REFRESH="yes"
# define how often the desktop applet should perform refresh.
DESKTOP_APPLET_REFRESH_INTERVAL="3h"
# master switch for enabling or disabling auto refresh for software
# management tools (eg. 'yast -i', 'zypper')
# if disabled, refresh must be performed manually or via cron
INSTALLER_AUTO_REFRESH="yes"
# auto refresh interval for tools primarily installing packages, not doing
# update; "0" means always when initializing source(s)
INSTALLER_AUTO_REFRESH_INTERVAL="24h"
--- snap ---
The above variables can be added to /etc/sysconfig/sw_management.
The way time is specified can be discussed, I guess that the granularity of
hours or at most minutes is perfectly sufficient, however, we may support
any of fixed units or specifying the units with the value (as in examples
above).
Any other ideas or suggestions?
--
Regards,
Jiri Srain
YaST Team Leader
---------------------------------------------------------------------
SUSE LINUX, s.r.o. e-mail: jsrain@xxxxxxx
Lihovarska 1060/12 tel: +420 284 028 959
190 00 Praha 9 fax: +420 284 028 951
Czech Republic http://www.suse.cz
| < Previous | Next > |