This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
sccl:configuration:resource_description [2015-01-15 16:25] uls [STST] |
sccl:configuration:resource_description [2015-07-07 15:39] (current) uls [Resources] |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| This chapter describes all possible resource entries. | This chapter describes all possible resource entries. | ||
| + | All packages defined in the packages.conf must have a matching resource (package name = resource name). | ||
| - | :TODO: final translations | + | But not every resource must be a package, a resource can be used by other resources (as sub-resources). |
| + | |||
| + | You can e.g. group resources as one resource and use that in several package resources. | ||
| + | |||
| + | The resource definition is processed from left to right when the resource is started, | ||
| + | from right to left when the resource is stopped. | ||
| === CPKG === | === CPKG === | ||
| - | A specific cluster packages must be active in the cluster. | + | A specific cluster packages must be active in the cluster to continue to process the resource definition. |
| {| | {| | ||
| Line 22: | Line 28: | ||
| | none | | none | ||
| |- | |- | ||
| + | ! examples | ||
| + | | ''CPKG:database:WAIT'' | ||
| + | |} | ||
| + | |||
| + | {| | ||
| ! definition | ! definition | ||
| | ''CPKG:<other_package>[:START]'' | | ''CPKG:<other_package>[:START]'' | ||
| Line 32: | Line 43: | ||
| | none | | none | ||
| |- | |- | ||
| + | ! examples | ||
| + | | ''CPKG:appserver:START'' | ||
| + | |} | ||
| + | |||
| + | {| | ||
| ! definition | ! definition | ||
| | ''CPKG:<other_package>[:WAITSTART[:<m>]'' | | ''CPKG:<other_package>[:WAITSTART[:<m>]'' | ||
| Line 44: | Line 60: | ||
| |- | |- | ||
| ! examples | ! examples | ||
| - | | ''CPKG:database:WAIT'', ''CPKG:appserver:START'', ''CPKG:appserver:WAITSTART:10'' | + | | ''CPKG:appserver:WAITSTART:10'' |
| |} | |} | ||
| Line 50: | Line 66: | ||
| === !CPKG === | === !CPKG === | ||
| - | To start this package, another specific package must not be active in the cluster. | + | To start this resource, a specific package must not be active in the cluster. |
| {| | {| | ||
| Line 249: | Line 265: | ||
| === PROC == | === PROC == | ||
| - | Start only, if a specific process is running. | + | Start this resource only, if a specific process is running. |
| {| | {| | ||
| Line 268: | Line 284: | ||
| === !PROC == | === !PROC == | ||
| - | Start only if specific processes are not running. | + | Start this resource only if specific processes are not running. |
| {| | {| | ||
| Line 306: | Line 322: | ||
| === RO === | === RO === | ||
| - | :TODO: needs translation | + | Create a routing entry. |
| - | + | ||
| - | Routingeintrag erstellen | + | |
| {| | {| | ||
| ! definition | ! definition | ||
| - | | ''RO:<destination>:<netmask>[:<via_ip_of_if>]'' | + | | ''RO:<destination_ip>:<netmask>[:<via_ip_of_if>]'' |
| |- | |- | ||
| ! action when "start" | ! action when "start" | ||
| - | | Es wird ein Routingeintrag ins lokale Netz mit der Netzmaske<netmask> auf das Ziel <destination> über das entsprechendeInterface der <via_ip_of_if> Adresse generiert. Wird<via_ip_of_if> nicht angegeben, dann wird das physischeInterface eth0 verwendet. | + | | A routing entry into the local net is created with net mask <netmask> to the <destination_ip>. |
| + | The optional <via_ip_of_if> is used to derive the correct network interface. If not set, | ||
| + | the physical interface eth0 is used. | ||
| |- | |- | ||
| ! action when "stop" | ! action when "stop" | ||
| Line 324: | Line 340: | ||
| |} | |} | ||
| - | Ein solcher Routingeintrag muss vorgenommen werden, wenn IP:...:ROUTEangegeben ist. Der Server kommuniziert mit anderen Servern dann über die IP- | + | |
| - | Adresse des IP:...:ROUTE Eintrags und verwendet nicht mehr die physischeAdresse. Für diese virtuelle IP-Adresse ist aber üblicherweise keine | + | |
| - | Berechtigung vorhanden (zB exportfs). Mit dem Routingeintrag RO routet man | + | |
| - | wieder die physische IP-Adresse, damit solche Kommunikationsmöglichkeitendennoch funktionieren (insbesondere bei anzudockenden Plattensystemen über NFS). | + | |
| - | + | ||
| === RS === | === RS === | ||
| - | The sub-package (resource) will be started when needed by the first package | + | The resource will be started when needed by the first package |
| - | and it is stopped when the last package, that the sub-package is used by, is stopped. | + | and it is stopped when the last package, that the resource is used by, is stopped. |
| {| | {| | ||
| Line 339: | Line 351: | ||
| |- | |- | ||
| ! action when "start" | ! action when "start" | ||
| - | | All resources of the sub-packages are activated (left to right/forward). | + | | The resource definition is processed (left to right/forward). |
| |- | |- | ||
| ! action when "stop" | ! action when "stop" | ||
| - | | All resources of the sub-packages are deactivated (right to left/backwards). | + | | The resource definition is processed (right to left/backwards). |
| |- | |- | ||
| ! example | ! example | ||
| Line 428: | Line 440: | ||
| ! example | ! example | ||
| | ''SPKG:apache:webhost1'' | | ''SPKG:apache:webhost1'' | ||
| + | |} | ||
| + | |||
| + | |||
| + | === !SRES === | ||
| + | |||
| + | The <resource> must not be active (only for action=stop). | ||
| + | |||
| + | {| | ||
| + | ! definition | ||
| + | | ''!SRES:<resource>[:STOP|WAIT]'' | ||
| + | |- | ||
| + | ! action when "start" | ||
| + | | none | ||
| + | |- | ||
| + | ! action when "stop" | ||
| + | | If STOP is given the <resource> is stopped. If WAIT is given the further stop actions are suspended until the <resource> has been stoppen (through other actions). | ||
| + | |- | ||
| + | ! example | ||
| + | | ''!SRES:stunnel:STOP'' | ||
| |} | |} | ||
| Line 439: | Line 470: | ||
| {| | {| | ||
| ! definition | ! definition | ||
| - | | ''STST:<secs>:<num>[:<pfad>]'' | + | | ''STST:<secs>:<num>[:<path>]'' |
| |- | |- | ||
| ! action when "start" | ! action when "start" | ||
| - | | Wie TST, nur das Paket wird auf dem gleichen Knoten neu gestartet. Wenn <num> angegeben, dann wird maximal <num> mal neu gestartet. | + | | Starts up the test script <path> (see TST for description), restarts the resource on **this** node, if <path> returns an error. |
| + | <num> defines the maximum number of restarts of the resource. | ||
| |- | |- | ||
| ! action when "stop" | ! action when "stop" | ||
| - | | The test script is stopped. | + | | The test script <path> is stopped. |
| |- | |- | ||
| ! example | ! example | ||
| Line 454: | Line 486: | ||
| === TST === | === TST === | ||
| - | Testskript zum automatischen Switch angeben | + | Start a script on the next node (as defined in the packages.conf, if present). |
| + | On the next node, the script does cyclic functional tests, | ||
| + | if an error value is returned, the next node stops that package (best effort) on the current node | ||
| + | and starts the package on the next node. The next node becomes the current node and | ||
| + | again a test script is started on the next node (as defined in the packages.conf, if present). | ||
| + | |||
| + | The chain ends if no more nodes are left over. There is no wrap around. | ||
| + | |||
| + | The script <path> is executed every <secs> seconds. | ||
| + | |||
| + | The default for <path> is: <package>_test | ||
| {| | {| | ||
| Line 461: | Line 503: | ||
| |- | |- | ||
| ! action when "start" | ! action when "start" | ||
| - | | Es wird auf dem nächsten erlaubten Knoten ein Testskriptgestaertet. Dieses Skript ruft alle <secs> Sekunden dasProgramm <path> auf, das die Verfügbarkeit der Ressource prüft. Wenn das Skript einen Fehlerwert liefert, dann wird vom Test-Knoten versucht, das Paket zu stoppen und anschließend wiederzu starten. Der Test-Knoten ist der nächste erlaubte Knoten aus der packages.conf. Wenn das Paket auf dem letzten Knoten ausder packages.conf gestartet wird, dann wird kein Testskript | + | | The test script <path> is started on the next node. |
| - | gestartet. | + | |
| |- | |- | ||
| ! action when "stop" | ! action when "stop" | ||
| - | | The test script is stopped. | + | | The test script <path> is stopped. |
| |- | |- | ||
| ! example | ! example | ||