Send Linux-ha-cvs mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs
or, via email, send a message with subject or body 'help' to
[EMAIL PROTECTED]
You can reach the person managing the list at
[EMAIL PROTECTED]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Linux-ha-cvs digest..."
Today's Topics:
1. Linux-HA CVS: mgmt by zhenh from
([email protected])
----------------------------------------------------------------------
Message: 1
Date: Sat, 13 May 2006 10:20:19 -0600 (MDT)
From: [email protected]
Subject: [Linux-ha-cvs] Linux-HA CVS: mgmt by zhenh from
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
linux-ha CVS committal
Author : zhenh
Host :
Project : linux-ha
Module : mgmt
Dir : linux-ha/mgmt/client
Modified Files:
haclient.glade haclient.py.in
Log Message:
change the UI of adding new resource
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/mgmt/client/haclient.glade,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- haclient.glade 12 May 2006 08:19:46 -0000 1.8
+++ haclient.glade 13 May 2006 16:20:19 -0000 1.9
@@ -784,9 +784,7 @@
<child>
<widget class="GtkComboBoxEntry"
id="default_resource_failure_stickiness">
<property name="visible">True</property>
- <property name="items" translatable="yes">INFINITY
-0
--INFINITY</property>
+ <property name="items" translatable="yes">INFINITY</property>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1974,301 +1972,177 @@
<property name="spacing">0</property>
<child>
- <widget class="GtkHBox" id="hbox4">
+ <widget class="GtkTable" id="table13">
<property name="visible">True</property>
+ <property name="n_rows">1</property>
+ <property name="n_columns">4</property>
<property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <property name="row_spacing">0</property>
+ <property name="column_spacing">0</property>
<child>
- <widget class="GtkTable" id="table4">
+ <widget class="GtkEntry" id="id">
<property name="visible">True</property>
- <property name="n_rows">5</property>
- <property name="n_columns">2</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">0</property>
- <property name="column_spacing">0</property>
-
- <child>
- <widget class="GtkEntry" id="id">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes">resource_</property>
- <property name="has_frame">True</property>
- <property name="invisible_char"
translatable="yes">*</property>
- <property name="activates_default">False</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_padding">10</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkComboBoxEntry" id="class">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_padding">10</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkComboBoxEntry" id="type">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_padding">10</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkComboBoxEntry" id="provider">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_padding">10</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkComboBoxEntry" id="group">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="x_padding">10</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label72">
- <property name="visible">True</property>
- <property name="label" translatable="yes">ID:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">1</property>
- <property name="yalign">0.5</property>
- <property name="xpad">10</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label73">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Class:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">1</property>
- <property name="yalign">0.5</property>
- <property name="xpad">10</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes">resource_</property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_padding">10</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkLabel" id="label74">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Type:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">1</property>
- <property name="yalign">0.5</property>
- <property name="xpad">10</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkLabel" id="label195">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">ID:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">1</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">10</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkLabel" id="label75">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Provider:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">1</property>
- <property name="yalign">0.5</property>
- <property name="xpad">10</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkLabel" id="label200">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Group:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">1</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">10</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkLabel" id="label77">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Group:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">1</property>
- <property name="yalign">0.5</property>
- <property name="xpad">10</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkComboBoxEntry" id="group">
+ <property name="visible">True</property>
</widget>
<packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="y_options">fill</property>
</packing>
</child>
+ </widget>
+ <packing>
+ <property name="padding">10</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkFrame" id="frame19">
+ <property name="height_request">150</property>
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
- <widget class="GtkFrame" id="frame15">
+ <widget class="GtkAlignment" id="alignment18">
<property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">12</property>
+ <property name="right_padding">0</property>
<child>
- <widget class="GtkAlignment" id="alignment14">
+ <widget class="GtkScrolledWindow" id="scrolledwindow12">
<property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
+ <property name="can_focus">True</property>
+ <property
name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property
name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
- <widget class="GtkLabel" id="desc">
+ <widget class="GtkTreeView" id="types">
<property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
</widget>
</child>
</widget>
</child>
+ </widget>
+ </child>
- <child>
- <widget class="GtkLabel" id="label175">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Description of the
type of resource:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkLabel" id="label201">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Type:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
</widget>
<packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkFrame" id="frame6">
+ <property name="height_request">150</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/mgmt/client/haclient.py.in,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -3 -r1.37 -r1.38
--- haclient.py.in 12 May 2006 08:20:03 -0000 1.37
+++ haclient.py.in 13 May 2006 16:20:19 -0000 1.38
@@ -928,13 +928,12 @@
class AddNativeDlg :
param_list = None
+ type_list = None
glade = None
def update_param_list(self) :
if self.param_list :
self.param_list.destory()
- cur_class = self.glade.get_widget("class").child.get_text()
- cur_type = self.glade.get_widget("type").child.get_text()
- cur_provider =
self.glade.get_widget("provider").child.get_text()
+ (cur_class, cur_type, cur_provider) = self.get_cur_select()
meta = manager.get_rsc_meta(cur_class, cur_type, cur_provider)
param_names = None
param_descs = None
@@ -954,44 +953,12 @@
param_list.insert({"id":uuid(),"name":"target_role",
"value":"stopped","shortdesc":"press \"Default\" or
\"Start\" button in toolbar/menu to start the resource"})
self.param_list = param_list
- glade.get_widget("desc").set_text("")
if meta != None :
for param in meta.parameters :
if param["required"] == "1" :
param["id"] = uuid()
self.param_list.insert(param)
- glade.get_widget("desc").set_text(meta.desc)
- def on_provider_changed(self, widget, glade) :
- self.update_param_list()
-
- def on_class_changed(self, widget, glade) :
- cur_class = glade.get_widget("class").child.get_text()
- type_list = manager.get_rsc_types(cur_class)
- store = gtk.ListStore(str)
- for i in type_list:
- store.append([i])
- glade.get_widget("type").set_model(store)
- if glade.get_widget("type").get_text_column() != 0 :
- glade.get_widget("type").set_text_column(0)
- if type_list != None and type_list != [] :
- glade.get_widget("type").child.set_text(type_list[0])
- self.update_param_list()
-
- def on_type_changed(self, widget, glade) :
- cur_class = glade.get_widget("class").child.get_text()
- cur_type = glade.get_widget("type").child.get_text()
- provider_list = manager.get_rsc_providers(cur_class,cur_type)
- store = gtk.ListStore(str)
- for i in provider_list:
- store.append([i])
- glade.get_widget("provider").set_model(store)
- if glade.get_widget("provider").get_text_column() != 0 :
- glade.get_widget("provider").set_text_column(0)
- if provider_list != None and provider_list != [] :
-
glade.get_widget("provider").child.set_text(provider_list[0])
- self.update_param_list()
-
def on_clone_changed(self, widget, glade) :
if glade.get_widget("is_clone").get_active() :
@@ -1022,6 +989,56 @@
glade.get_widget("clone_node_max").set_property("sensitive", False)
glade.get_widget("master_max").set_property("sensitive", False)
glade.get_widget("master_node_max").set_property("sensitive", False)
+
+ def get_cur_select(self) :
+
+ (model, iter) = self.type_list.get_selection().get_selected()
+ if iter == None :
+ return (None, None, None)
+ cur_type = model.get_value(iter, 0)
+ cur_provider = model.get_value(iter, 1)
+ cur_class = "ocf"
+ if cur_provider == "(stonith)" :
+ cur_class = "stonith"
+ cur_provider = "heartbeat"
+ elif cur_provider == "(heartbeat)":
+ cur_class = "heartbeat"
+ cur_provider = "heartbeat"
+ elif cur_provider == "(lsb)":
+ cur_class = "lsb"
+ cur_provider = "heartbeat"
+ return (cur_class, cur_type, cur_provider)
+
+ def on_type_changed(self, type_list) :
+ self.update_param_list()
+ def init_type_list(self):
+ add_column(self.type_list, _("Name"), 0)
+ add_column(self.type_list, _("Provider"), 1)
+ add_column(self.type_list, _("Description"), 2)
+ for i in range(3) :
+ self.type_list.get_column(i).set_sort_column_id(i)
+ store = gtk.ListStore(str,str,str)
+ store.set_sort_column_id(0, gtk.SORT_ASCENDING)
+ types = []
+ class_list = manager.get_rsc_classes()
+ for c in class_list:
+ type_list = manager.get_rsc_types(c)
+ for t in type_list:
+ provider_list = manager.get_rsc_providers(c,t)
+ for p in provider_list :
+ desc = ""
+ meta = manager.get_rsc_meta(c,t,p)
+ if meta != None :
+ desc = meta.desc
+ if c=="heartbeat" :
+ p = "(heartbeat)"
+ elif c=="stonith" :
+ p = "(stonith)"
+ elif c=="lsb" :
+ p = "(lsb)"
+ store.append([t,p,desc])
+ self.type_list.set_model(store)
+ self.type_list.get_selection().select_path((0))
def run(self):
global top_window
@@ -1030,12 +1047,9 @@
glade = gtk.glade.XML(UI_FILE, "addnativedlg", "haclient")
layout = glade.get_widget("addnativedlg")
dialog.vbox.add(layout)
- glade.get_widget("class").child.set_editable(False)
- glade.get_widget("type").child.set_editable(False)
- glade.get_widget("provider").child.set_editable(False)
- glade.get_widget("class").connect("changed",
self.on_class_changed, glade)
- glade.get_widget("type").connect("changed",
self.on_type_changed, glade)
- glade.get_widget("provider").connect("changed",
self.on_provider_changed, glade)
+ self.type_list = glade.get_widget("types")
+ self.type_list.connect("cursor-changed", self.on_type_changed)
+ self.init_type_list()
glade.get_widget("is_clone").connect("toggled",
self.on_clone_changed, glade)
glade.get_widget("is_master").connect("toggled",
self.on_master_changed, glade)
@@ -1047,20 +1061,7 @@
glade.get_widget("master_node_max").set_property("sensitive",
False)
self.glade = glade
- class_list = manager.get_rsc_classes()
- store = gtk.ListStore(str)
- for i in class_list:
- store.append([i])
- glade.get_widget("class").set_model(store)
- glade.get_widget("class").set_text_column(0)
- if class_list != None and class_list != [] :
- if "ocf" in class_list:
- init_class = "ocf"
- else :
- init_class = class_list[0]
- glade.get_widget("class").child.set_text(init_class)
- self.on_class_changed(glade.get_widget("class"), glade)
- self.on_type_changed(glade.get_widget("type"), glade)
+
store = gtk.ListStore(str)
store.append([""])
for rsc in manager.get_all_rsc_id() :
@@ -1098,9 +1099,7 @@
if passed :
rsc = {}
rsc["id"] =
glade.get_widget("id").get_text()
- rsc["class"] =
glade.get_widget("class").child.get_text()
- rsc["type"] =
glade.get_widget("type").child.get_text()
- rsc["provider"] =
glade.get_widget("provider").child.get_text()
+
(rsc["class"],rsc["type"],rsc["provider"]) = self.get_cur_select()
rsc["group"] =
glade.get_widget("group").child.get_text()
rsc["params"] =
self.param_list.get_data()
for param in rsc["params"] :
@@ -1755,7 +1754,7 @@
def get_rsc_type(self, rsc_id) :
return self.query("rsc_type\n"+rsc_id)[0]
-
+
def get_rsc_status(self, rsc_id) :
return self.query("rsc_status\n"+rsc_id)[0]
------------------------------
_______________________________________________
Linux-ha-cvs mailing list
[email protected]
http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs
End of Linux-ha-cvs Digest, Vol 30, Issue 39
********************************************