Bug 967102 - Add --all flag to oo-admin-move script
Add --all flag to oo-admin-move script
Status: CLOSED DEFERRED
Product: OpenShift Container Platform
Classification: Red Hat
Component: Pod (Show other bugs)
1.1.0
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Luke Meyer
libra bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-05-24 13:49 EDT by claudianus
Modified: 2013-08-15 10:45 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-08-15 10:45:06 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description claudianus 2013-05-24 13:49:40 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):
1.1

How reproducible:
always

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.  
 

Actual results:
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'
	from /usr/sbin/oo-admin-move:111  

Expected results:
You should be able to move all the gears of an app if that is what you want to do.

Additional info:
Note that the error you get while moving the database gear has been reported in bug 963156
Comment 2 Luke Meyer 2013-08-15 10:45:06 EDT
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:

https://trello.com/c/k7Nefq8x/71-8-0-improve-scaling-for-oo-admin-move

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.

Note You need to log in before you can comment on or make changes to this bug.