python-oq-engine postinst executed before rabbitmq-server setup
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenQuake Engine |
Fix Released
|
High
|
Daniele Viganò |
Bug Description
Sometime, during the python-oq-engine installation from Ubuntu packages, the postinst is executed before rabbitmq-server is completely installed. This is causing a failure in the installation.
The causes are:
- The rabbitmq-server is a "suggested" package and it is not a requirement. Since that RabbitMQ is not always installed and configured before the python-oq-engine
- The postinst script from our oq-engine package is checking the existence of the rabbitmqctl executable and then it creates the queues in rabbit. It happens that rabbitmq is installed but not configured, so our postinst check on executable presence will return true but the command inside the "if" check fails with an error since rabbit is not yet configured and the "rabbitmq" user hasn't been created yet by rabbit's postinst.
Evidence: https:/
Solution: move rabbitmq-server from "reccomends" to "requires" in debian/control
PR: https:/
Changed in oq-engine: | |
assignee: | nobody → Daniele Viganò (daniele-vigano) |
Changed in oq-engine: | |
status: | Fix Committed → Fix Released |
Merged: https:/ /github. com/gem/ oq-engine/ pull/1393