Red Hat Bugzilla – Bug 967102
Add --all flag to oo-admin-move script
Last modified: 2013-08-15 10:45:06 EDT
Description of problem:
The oo-admin-move should have --all flag to allow parallelizing move of all gears from one node to another.
It will also be helpful if it allow moving an embedded cartridge/gear while moving the main cartridge. For example if I have a jbosseap app that has a database (postgres or mysql) then when I move the jbosseap gear the embedded gears should also move with it.
It should also make the destination optional so that when no provided, it is assumed that the move is from one node a district to another node within the same district.
Note also that there is a bug associated with this script which cause an error when one tries to move database gear from one node to another. Note here that this was observed whith a setup that is not using districts. The but id is 963156
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. setup a multi-node env (1, 2)
2. create a scalable app that will use an embedded cartridge (a php app or a jboss app will do).
3. add at least one database gear to the app (mysql or postgres)
4. move the app to another node
While moving the app you will notice you have to do this one gear at a time.
You have to move gears one at a time.
Also You will get an error while moving the database gear.
App UUID: 65ddaa7339504b01acc7695bbd30cefe
Gear UUID: e7b66d9cf7d4465bac76bee1559c1355
DEBUG: Source district uuid: NONE
DEBUG: Destination district uuid: NONE
DEBUG: Getting existing app 'scaledphp' status before moving
DEBUG: Gear component 'php-5.3' was running
DEBUG: Stopping existing app cartridge 'mysql-5.1' before moving
DEBUG: Performing cartridge level pre-move for embedded mysql-5.1 for 'scaledphp' on node1.oseoloncadjaibr.csb
DEBUG: Performing cartridge level post-move for embedded mysql-5.1 for 'scaledphp' on node1.oseoloncadjaibr.csb
ERROR: Error performing cartridge level post-move for embedded mysql-5.1 for 'scaledphp' on node1.oseoloncadjaibr.csb: Node execution failure (invalid exit code from node). If the problem persists please contact Red Hat support.
/usr/lib/ruby/gems/1.8/gems/openshift-origin-msg-broker-mcollective-1.0.5/lib/openshift-origin-msg-broker-mcollective/lib/openshift/mcollective_application_container_proxy.rb:1265:in `run_cartridge_command': Node execution failure (invalid exit code from node). If the problem persists please contact Red Hat support. (OpenShift::NodeException)
from /usr/lib/ruby/gems/1.8/gems/openshift-origin-msg-broker-mcollective-1.0.5/lib/openshift-origin-msg-broker-mcollective/lib/openshift/mcollective_application_container_proxy.rb:731:in `send'
from /usr/lib/ruby/gems/1.8/gems/openshift-origin-msg-broker-mcollective-1.0.5/lib/openshift-origin-msg-broker-mcollective/lib/openshift/mcollective_application_container_proxy.rb:731:in `move_gear_pre'
from /usr/lib/ruby/gems/1.8/gems/openshift-origin-msg-broker-mcollective-1.0.5/lib/openshift-origin-msg-broker-mcollective/lib/openshift/mcollective_application_container_proxy.rb:708:in `each'
from /usr/lib/ruby/gems/1.8/gems/openshift-origin-msg-broker-mcollective-1.0.5/lib/openshift-origin-msg-broker-mcollective/lib/openshift/mcollective_application_container_proxy.rb:708:in `move_gear_pre'
from /usr/lib/ruby/gems/1.8/gems/openshift-origin-msg-broker-mcollective-1.0.5/lib/openshift-origin-msg-broker-mcollective/lib/openshift/mcollective_application_container_proxy.rb:769:in `move_gear'
You should be able to move all the gears of an app if that is what you want to do.
Note that the error you get while moving the database gear has been reported in bug 963156
This is more tricky than it might seem. There is an existing story in Trello to parallelize oo-admin-move; it just hasn't become a priority. Please watch that for updates:
As far as the DB gear failing - I don't think there's anything specifically wrong with that. JBoss itself had issues with being moved in OSE 1.1, which I think got better with OSE 1.2.
A word on terminology - "embedded" cartridges coexist with the framework cartridge in non-scaled apps, while in a scaled application the DB would be separated on another gear.
In either case there should be no problem moving the gear the DB is on - please open a bug specifically for that if it is still occurring in latest OSE.