cameo issueshttps://code.ill.fr/cameo/cameo/-/issues2020-02-14T08:27:26+01:00https://code.ill.fr/cameo/cameo/-/issues/63Thread-safety to be checked2020-02-14T08:27:26+01:00yannick legocThread-safety to be checkedCheck the classes: Server, etc. See if they can be thread-safe: unique_ptr is used to limit the risk of using in parallel.Check the classes: Server, etc. See if they can be thread-safe: unique_ptr is used to limit the risk of using in parallel.https://code.ill.fr/cameo/cameo/-/issues/16Deployment of a new version of a managed application2020-10-01T14:14:32+02:00yannick legocDeployment of a new version of a managed application* Solution
* new set of states for an Application that are independent from the current states: UP_TO_DATE, WAITING_FOR_UPDATE (version is waiting to be installed), UPDATING, ERROR (blocking the application?). We call it the update stat...* Solution
* new set of states for an Application that are independent from the current states: UP_TO_DATE, WAITING_FOR_UPDATE (version is waiting to be installed), UPDATING, ERROR (blocking the application?). We call it the update state.
* push a new version on a Cameo server. It is a request when processed:
* application becomes WAITING_FOR_UPDATE immediately
* the new version data is saved locally and replaces the previous new version if it is not installed yet
* the server installs it when the application is stopped (option: stop the application immediately)
* the application has the state UPDATING (new state in the current list)
* the config file is modified after each installation (to memorize the version number)
* the server shall not be brutally stopped
* enable to stop nicely the server
* default installation: copy file (jar) to install_directory, untar a tar to install_directory
* or an installation script
* command line: cmo app1 update app1.jar 1.2.3
* monitoring notifications:
* the Cameo server publishes a new status when the version is installed
* status VERSION value
* version in the application info
* class This can access versionhttps://code.ill.fr/cameo/cameo/-/issues/9Create a peer to peer network of Cameo servers2017-04-10T14:45:40+02:00yannick legocCreate a peer to peer network of Cameo serversWith the existence of Cameo servers running on different computers, it becomes easy to create a peer to peer network of Cameo servers.
The first thing is to create the links between Cameo servers. It will be done in the configuration ...With the existence of Cameo servers running on different computers, it becomes easy to create a peer to peer network of Cameo servers.
The first thing is to create the links between Cameo servers. It will be done in the configuration file or programmatically for a more dynamic way.
The link is twoway so that when a server attaches another one, both become available for the other one.
A simple API update can provides interesting features:
+ Server.getLinkedServerList(): ServerList
ServerList:
+ start(...): same interface than Server (add a special interface for common Server and ServerList?)
+ connect(...): same interface than Server
+ ...
+ iterator(): ServersIterator.
The ServersIterator class provides a dynamic iteration from the closest to the furthest (for node distance).
Load balancing is not implemented in the API: a simple start can be used: if it fails then try another server. The failure can happen if the application can only run once and is already running. Generalize the attribute multiple to have a maximum fixed number of instances?
Provide a load factor or simply let the client code do it?
Features must be simple. Complexity shoud be implemented in the client code.