Blob Blame History Raw
From c601e0f7e93db3e136eb9080fc2d4f4a0c999360 Mon Sep 17 00:00:00 2001
From: Ondrej Mular <omular@redhat.com>
Date: Mon, 21 Sep 2015 17:53:51 +0200
Subject: [PATCH] web UI fixes

- fix loading resource optional argument form
- fix master/slave resource status from old pcsd
- fix status of failed resource
---
 pcsd/cluster_entity.rb | 10 ++++++----
 pcsd/public/js/pcsd.js |  4 +++-
 pcsd/views/main.erb    |  2 ++
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/pcsd/cluster_entity.rb b/pcsd/cluster_entity.rb
index 8f29a40..c746544 100644
--- a/pcsd/cluster_entity.rb
+++ b/pcsd/cluster_entity.rb
@@ -191,6 +191,7 @@ module ClusterEntity
             mi =  ClusterEntity::Clone.new
           else
             mi = ClusterEntity::MasterSlave.new
+            mi.masters_unknown = true
           end
           mi.id = mi_id
           mi.meta_attr = ClusterEntity::get_meta_attr_from_status_v1(
@@ -539,7 +540,7 @@ module ClusterEntity
         status = ClusterEntity::ResourceStatus.new(:disabled)
       elsif running > 0
         status = ClusterEntity::ResourceStatus.new(:running)
-      elsif failed > 0
+      elsif failed > 0 or @error_list.length > 0
         status = ClusterEntity::ResourceStatus.new(:failed)
       else
         status = ClusterEntity::ResourceStatus.new(:blocked)
@@ -854,10 +855,11 @@ module ClusterEntity
 
 
   class MasterSlave < MultiInstance
-    attr_accessor :masters, :slaves
+    attr_accessor :masters, :slaves, :masters_unknown
 
     def initialize(master_cib_element=nil, crm_dom=nil, rsc_status=nil, parent=nil, operations=nil)
       super(master_cib_element, crm_dom, rsc_status, parent, operations)
+      @masters_unknown = false
       @class_type = 'master'
       @masters = []
       @slaves = []
@@ -869,7 +871,7 @@ module ClusterEntity
           primitive_list = @member.members
         end
         @masters, @slaves = get_masters_slaves(primitive_list)
-        if (@masters.empty? and
+        if (@masters.empty? and !@masters_unknown and
           @status != ClusterEntity::ResourceStatus.new(:disabled)
         )
           @warning_list << {
@@ -913,7 +915,7 @@ module ClusterEntity
           primitive_list = @member.members
         end
         @masters, @slaves = get_masters_slaves(primitive_list)
-        if (@masters.empty? and
+        if (@masters.empty? and !@masters_unknown and
           @member.status == ClusterEntity::ResourceStatus.new(:running)
         )
           @status = ClusterEntity::ResourceStatus.new(:partially_running)
diff --git a/pcsd/public/js/pcsd.js b/pcsd/public/js/pcsd.js
index 23fd316..04bee0f 100644
--- a/pcsd/public/js/pcsd.js
+++ b/pcsd/public/js/pcsd.js
@@ -2010,7 +2010,9 @@ function tree_view_onclick(resource_id, auto) {
 
   tree_view_select(resource_id);
 
-  load_agent_form(resource_id, resource_obj.get('stonith'));
+  Ember.run.next(Pcs, function() {
+    load_agent_form(resource_id, resource_obj.get('stonith'));
+  });
 }
 
 function tree_view_select(element_id) {
diff --git a/pcsd/views/main.erb b/pcsd/views/main.erb
index e7e611d..b7260ad 100644
--- a/pcsd/views/main.erb
+++ b/pcsd/views/main.erb
@@ -277,8 +277,10 @@
     {{#if stonith}}
       <div style="clear:left; margin-top: 2em;" id="stonith_agent_form"></div>
     {{else}}
+    {{#if resource.is_primitive}}
       <div style="clear:left; margin-top: 2em;" id="resource_agent_form"></div>
     {{/if}}
+    {{/if}}
   {{else}}
     {{#if stonith}}
       NO FENCE DEVICE IN CLUSTER
-- 
1.9.1