Commit d5c6b939 authored by Eric Vidal's avatar Eric Vidal 💬

Merge branch 'dev' into 'patch-1'

# Conflicts:
#   doc/html/66-update.html
parents 0f545818 fc1d6ee7
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="en" />
<title>The 66 Suite: 66-update</title>
<meta name="Description" content="Detailed documentation for the 66-update command which is part of the 66 software suite" />
<meta name="Keywords" content="66 command 66-update tree supervision format upgrade service" />
<!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
</head>
<body>
<p>
<a href="index.html">66</a><br />
<a href="//obarun.org/">www.obarun.org</a>
</p>
<h1>66-update</h1>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="en" />
<title>The 66 Suite: 66-update</title>
<meta name="Description" content="Detailed documentation for the 66-update command which is part of the 66 software suite" />
<meta name="Keywords" content="66 command 66-update tree supervision format upgrade service" />
<!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
</head>
<body>
<p>
<a href="index.html">66</a><br />
<a href="//obarun.org/">www.obarun.org</a>
</p>
<h1>66-update</h1>
<p>
66-update is a program that is used very rarely, when 66 is revised and is either upgraded or downgraded.
When 66 is replaced by a different edition some services, managed by one or more trees, may be different
than when declared, and trees and services will have to adopt the 66 change. This program transitions
a complete tree, and its live directory, using a database with the previous 66 format (the one being replaced)
so that it uses a database with the new 66 format, and rebuild the tree so it conforms with the changes.
66-update is a program that should be used rarely. At upgrade/downgrade time, the inner file format
used to retrieve informations of tree,service database currently in use, can differ between two versions.
In this case, service databases and trees need to be rebuild to match the new format.The 66-update program makes
a complete transition of trees and the live directory using a old 66 format (the one being replaced) with the new
66 format.
</p>
<p>
The point is to ensure a smooth transition between different versions of 66 without needing a reboot.
The goal is to ensure a smooth transition between different versions of 66 without needing a reboot.
</p>
<h2>Interface</h2>
......@@ -91,14 +91,14 @@
</ul>
<p>
At the end of the process, the tree and the live state has not changed. Services already in use
are not stopped or restarted during the transition process, and match exactly the same state
before and after the process. A complex and tedious process in the past is now completed with one command.
are not stopped or restarted during the transition process and match exactly the same state
before and after the process.
</p>
<p>
It tries to be as safe as possible and exit 111 if a problem occurs. In any case
It tries to be safe as possible and exits 111 if a problem occurs. In any case
on upgrade/downgrade time, 66 tools will not work properly if the transition
is not made smoothly even by the sysadmin itself. So, we prefer to crash instead of
leaving an inconsistent state and let the sysadmin trying to correct things.
</p>
</body>
</html>
is not made smoothly even by the sysadmin itself. So, We prefer to crash instead of
leaving an inconsistent state and let the sysadmin correct the things.
</p>
</body>
</html>
......@@ -328,28 +328,28 @@ MYVALUE</pre>
A service declared as optional dependencies is not mandatory.
The parser will look at all trees if the corresponding service is
already enabled:
<ul>
<li>If It the case, it warn the user and do nothing.</li>
<li>If not, it tries to find the corresponding frontend file.
<ul>
<li>If the frontend service file is found, it enable it.</li>
<li>If it not found it, it warn the user and do nothing</li>
</ul>
</li>
</ul>
</li>
<ul>
<li>If enabled, it will warn the user and do nothing.</li>
<li>If not, it will try to find the corresponding frontend file.
<ul>
<li>If the frontend service file is found, it will enable it.</li>
<li>If it is not found, it will warn the user and do nothing.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>The <em>order is of importance</em> (!). The first service found
<p>The <em>order is important</em> (!). The first service found
will be used and the parse process of the field will be stopped.
So, you can considere @optsdepends field as:
"enable one on this service or none".
</p>
<p>
We talk about enable process here. The start process will not take care
about optional dependencies. If fooA on treeA have an optional dependency fooB which is
declared on treeB, it's the responsability of the sysadmin to start first
treeB then treeA. <tt><a href="66-intree.html">66-intree</a></tt> give you
the order of the start with the field <tt>Start after</tt>.
@optsdepends only affects the enable process. The start process will not consider
optional dependencies. If fooA on treeA has an optional dependency fooB which is
declared on treeB, it's the responsibility of the sysadmin to start first
treeB then treeA. <tt><a href="66-intree.html">66-intree</a></tt> can give you
the start order with the field <tt>Start after</tt>.
</p>
<li><h4>@extdepends</h4></li>
......@@ -363,32 +363,32 @@ MYVALUE</pre>
<li>The <em>name</em> of any valid service with type
<tt>bundle</tt>, <tt>longrun</tt> or <tt>oneshot</tt>. Services of type <tt>classic</tt>
are not allowed.
A service declared as external dependencies is mandatory.
The parser will look at all trees if the corresponding service is
A service declared as an external dependencies is mandatory.
The parser will search through all trees whether the corresponding service is
already enabled:
<ul>
<li>If It the case, it warn the user and do nothing.</li>
<li>If not, it tries to find the corresponding frontend file.
<ul>
<li>If the frontend service file is found, it enable it.</li>
<li>If it not found it, the process is stopped and
<a href="66-enable.html">66-enable</a> exit 111.</li>
</ul>
</li>
<ul>
<li>If enabled, it will warn the user and do nothing.</li>
<li>If not, it will try to find the corresponding frontend file.
<ul>
<li>If the frontend service file is found, it will enable it.</li>
<li>If not, the process is stopped and
<a href="66-enable.html">66-enable</a> exits 111.</li>
</ul>
</li>
</ul>
<br>
This process is made for all services declared in the field.
</li>
</ul>
<br>
<p>So, you can considere @extdepends field as:
"enable the service if it not already declared on a tree".
<p>So, you can consider @extdepends field as:
"enable the service if it is not already declared on a tree".
</p>
<p>We talk about enable process here. The start process will not take care
about external dependencies. If fooA on treeA have an external dependency fooB which is
declared on treeB, it's the responsability of the sysadmin to start first
treeB then treeA. <tt><a href="66-intree.html">66-intree</a></tt> give you
the order of the start with the field <tt>Start after</tt>.</p>
<p>@extdepends only affects the enable process. The start process will not consider
external dependencies. If fooA on treeA has an external dependency fooB which is
declared on treeB, it's the responsibility of the sysadmin to start first
treeB then treeA. <tt><a href="66-intree.html">66-intree</a></tt> will give you
the start order with the field <tt>Start after</tt>.</p>
<br><hr style="border: 1px dashed #000000">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment