You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by Valentin Aitken <bo...@gmail.com> on 2016/11/09 15:05:10 UTC
[Proposal] Installing RPM package shouldn't start Brooklyn
Hi,
This suggestion is linked to our effort to improve the overall RPM user
experience with install, upgrade and erase actions.
Currently on installing or upgrading Apache Brooklyn from RPM the
installer spec starts Apache Brooklyn.
Launching on first install pros and cons.
+ very easy first user experience.
- I expect users to have to tweak their credentials and other details
and having to restart Apache Brooklyn they start using it
Launching on upgrade pros and cons:
- user will not be able to check the GUI immediately.
- If the GUI is not there
then a new user can get bog down in other configurations details and
delay startup additionally.
+ User can be proactive and react better if there is an error with
installing.
Observations from Aled Sage which he made offline :
mysql does NOT start the process -
https://dev.mysql.com/doc/refman/5.5/en/linux-installation-rpm.html
"In MySQL 5.5.5 and later, during a new installation using RPM
packages, the server boot scripts are installed,
but the MySQL server is not started at the end of the
installation, since the status of the server during an unattended
installation is not known."
For upgrade:
"if the MySQL server is running when the upgrade occurs, the
MySQL server is stopped, the upgrade occurs, and the MySQL server is
restarted.
If the MySQL server is not already running when the RPM upgrade
occurs, the MySQL server is not started at the end of the installation."
- Elasticsearch does NOT start the process -
https://github.com/elastic/elasticsearch/issues/3722
MongoDB does NOT start the process -
https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-red-hat/
RabbitMQ does NOT start the process -
https://www.rabbitmq.com/install-rpm.html
Cassandra does NOT start the process -
https://docs.datastax.com/en/cassandra/2.0/cassandra/install/installRHEL_t.html
A strange behaviour for me which I noticed is
that on CentOS 6 if the process(service) is stopped then when user do
upgrade or erase of the rpm then the action fails.
----
Launching on upgrade.
I'd like to separate this discussion.
Ideally if Apache Brooklyn is started then we would want upgrading to
not interrupt the process.
Putting details here how we can actually implement such behaviour.
The usual way for upgrading Apache Brooklyn is to launch the upgraded
process in a non highAvailability mode
e.g. HOT_BACKUP or similar in order to check persistence
compatibility. (Better to be with a command which exits after it checks
persistence.)
If the above gives no error then user should run the new process in
STAND_BY and then stop the old version.
I am happy to add other points here.
The above scenario may not be easy to implement in rpm.
Before doing an actual upgrade of Apache Brooklyn application files, it
should first extract the rpm contents in a tmp folder and
then use new temp Apache Brooklyn to execute the HOT_BACKUP check.
If that can be implemented then the next step with starting the new
process should be easier.
rpm script should then start the new process in STAND_BY and then stop
the old Apache Brooklyn process.
The discussion is also applicable for .deb or other installers.
--
Kind Regards,
Valentin Aitken!