Description of problem: When adding a node to district, if the node does not exist, or if the node is not reachable from the broker, oo-admin-ctl-district is broken and backtrace is displayed. Version-Release number of selected component (if applicable): On devenv_4997 How reproducible: Always Steps to Reproduce: 1. Create a district 2. Stop the mcollective of node and add this node to broker(or add a node that does not exist) Actual results: [root@ip-10-153-190-194 ~]# oo-broker oo-admin-ctl-district -c add-node -n test -i ip-10-153-190-19 /usr/sbin/oo-admin-ctl-district:217:in `block in <main>': undefined method `casecmp' for nil:NilClass (NoMethodError) from /usr/sbin/oo-admin-ctl-district:179:in `block in collate_errors' from /usr/sbin/oo-admin-ctl-district:177:in `each' from /usr/sbin/oo-admin-ctl-district:177:in `collate_errors' from /usr/sbin/oo-admin-ctl-district:214:in `<main>' Expected results: Instead of backtrace, oo-admin-ctl-district should show that it can not add this node to broker Additional info:
https://github.com/openshift/origin-server/pull/5663 I added detection to make sure node_platform is not nil before casecmp If node_platform is nil I then return with error
I saw this is a dup with bug 1102553. https://bugzilla.redhat.com/show_bug.cgi?id=1102553
Commit pushed to master at https://github.com/openshift/origin-server https://github.com/openshift/origin-server/commit/e17edc775d8debf9706c5a677e730084b5635b50 fix bug 1122339 https://bugzilla.redhat.com/show_bug.cgi?id=1122339 add detection to make sure node_platform is not nil before casecmp
Tested on devenv_5167, when the node is not reachable from the broker, it can show proper message. So move the bug to verified, thanks. [root@ip-10-81-186-51 openshift]# /etc/init.d/ruby193-mcollective stop Shutting down mcollective: [ OK ] [root@ip-10-81-186-51 openshift]# oo-broker oo-admin-ctl-district -c add-node -n dist_1 -i ip-10-81-186-51 {"_id"=>"5417e19fe22aa22272000001", "uuid"=>"1499132e3d7011e48e60da48c8899057", "available_uids"=>"<6000 uids hidden>", "name"=>"dist_1", "platform"=>"linux", "gear_size"=>"small", "available_capacity"=>6000, "max_uid"=>6999, "max_capacity"=>6000, "active_servers_size"=>0, "updated_at"=>2014-09-16 07:07:11 UTC, "created_at"=>2014-09-16 07:07:11 UTC} ERROR OUTPUT: Cannot connect to node. For the node doesn't exist, please refer to bug 1102553.