Changeset 937 in orxonox.OLD
- Timestamp:
- Nov 27, 2003, 12:55:34 AM (21 years ago)
- Author:
- amir
- Message:
-
Merged branches/unison-disc to trunk.
The unison-disc branch contained the following changes:
Added multi-disk support to SR::Service consisting of the files SR::Core::Disk,
SR::Disk::*.
Added new multi-disk type SR::Disk::Unison and SR::Disk::Subversion. All current
and future developed SR::Service based service primitive scripts will support these
multi-disks.
Added two helper scripts named 'srrinstall-unison' and 'srrunison' allowing
seamlessly integration of the unison multi-disk type. The srrinstall-unison script
allows a user to configure a chroot environment for the system for usage by the
unison multi-disk. The second helper script named 'srrunison' is not supposed to
be used by the user directly but will be called by the implementation of the service
primitive script. The service primitive script inherits SR::Service which will handle
the instantiation of the SR::Disk::Unison class which by itself implements the real
synchronisation functionality.
In essence this means a user is now able to simply choose arbitrary numbers of
assocated disks for synchronisation for any included service. Any number or
combinations of such disks are possible and allowed. The SR library framework by
itself guarantees to synchronize the configured data at the correct moments in a
service's life time. This behavior is disk type dependend! Subversion disk and
Unison disks implement this differently according to their protocol dependend
needs. These differences are encapsulated and are not visible to the service
primitive implementor.
Added support for service primitive state variable type named '*_password' for
password fields in the user interface. The field will be duplicated and will use
stars instad of characters on typing. The field will not be loaded with current
password for security reasons, but will contain a dummy which will be recognized
if it does not get changed by the user's typing in that field.
Added support for service primitive state variabale type '*_list' for lists with a
fixed set of items which will be displayed as popup field and the new type '*_flag'
for flag fields (yes/no) which will be displayed as check boxes. Furthermore we
added the new type '*_editable' for editable file location variables. Such fields
have a 'Edit' link besides them allowing the user to edit that file on request. For
each of these files a validate_config_file() method gets called which can be
overloaded by any subclass to check the config when the user presses the save button.
Added automatic service configuration validation on service primitive config save.
All services have the possibility to validate the newly changed configuration before
storing it to the service config files. If a configuration error is found the new
configuration will be rejected and not saved. The user will be presented a error
message and the possibility to fix the configured error.
Added support for the new hook_*_pre() and hook_*_post() hooks in service primitive
scripts. Each service primitive has the possibility to overload these methods to to
specific pre- or post-hook actions. The multi-disk implementation uses these methods
too to synchronize the disks at the correct points in service startup.
Added multi-line support for SR::Service error messages and SR::Alerter::*. Fixed
buffer size problems in http.c resulting in crashes when too many http GET
parameters got passed.
Extended all SR::Service based service primitive scripts with support for a new
command line 'prompt' target. If started with the argument 'prompt' the scripts
fall into a interactive mode allowing the user to interact with the service primitive
scripts's commands interactivly. The multi-disk support adds comands for interactive
synchronisation of configured disks. If a Unison disk gets into a conflict state the
user can resolve the conflict by calling this interactive prompt and using the commands
available to return the Unison disk to a conflict less state.
Added service primitive script support for Apache2 by SR::Service::Apache2.
This service primitive allows to configure multiple instances of itself associated
with one or multiple ssl or non-ssl virtual hosts. The service primitive is smart
enough to fail-over these single virtual hosts without having to shutdown the whole
apache daemon. In case of non-ssl virtual hosts it even can switch the virtual hosts
without restarting Apache2! In the case of ssl virtual hosts a Apache2 daemon restart
is needed to get Apache2 to correctly recognize changed keys or certificates. The
SR::Service::Apache2 object correctly determines restart method, as well as
automatically changes the Apache2 config files. It also allows to add new virtual
hosts over the SRRD GUI using the hook_cgi()'s possibilities. Apache2 config files
are editable over the SRRD GUI and will be automatically verified when saving.
- (No files)
-