[virt-tools-list] [RFC 2 of2] adding 802.1Qbg VSI type support to virtinst and virtmanager
Cole Robinson
crobinso at redhat.com
Mon Mar 7 18:46:31 UTC 2011
On 03/01/2011 08:21 AM, Gerhard Stenzel wrote:
> This is RFC and comments are appreciated ....
>
> The following patch adds support for VSI types so the respective values
> can be viewed and edited via virt-manager
>
> Signed-off-by: Gerhard Stenzel <gerhard.stenzel at de.ibm.com>
>
This patch is also line wrapped and does not apply.
- Cole
> Index: virt-manager/src/virtManager/details.py
> ===================================================================
> --- virt-manager.orig/src/virtManager/details.py
> +++ virt-manager/src/virtManager/details.py
> @@ -375,6 +375,12 @@ class vmmDetails(vmmGObjectUI):
>
> "on_network_model_combo_changed": self.config_enable_apply,
>
> + "on_virtualport-type_changed": self.config_enable_apply,
> + "on_vsi-managerid_changed": self.config_enable_apply,
> + "on_vsi-typeid_changed": self.config_enable_apply,
> + "on_vsi-typeidversion_changed": self.config_enable_apply,
> + "on_vsi-instanceid_changed": self.config_enable_apply,
> +
> "on_vnc_keymap_combo_changed": self.config_enable_apply,
> "on_vnc_password_changed": self.config_enable_apply,
>
> @@ -1713,9 +1719,23 @@ class vmmDetails(vmmGObjectUI):
> # Network options
> def config_network_apply(self, dev_id_info):
> model = self.get_combo_label_value("network-model")
> - return self._change_config_helper(self.vm.define_network_model,
> - (dev_id_info, model))
> -
> + virtualport_type =
> self.window.get_widget("virtualport-type").get_text()
> + vsi_managerid =
> self.window.get_widget("vsi-managerid").get_text()
> + vsi_typeid = self.window.get_widget("vsi-typeid").get_text()
> + vsi_typeidversion =
> self.window.get_widget("vsi-typeidversion").get_text()
> + vsi_instanceid =
> self.window.get_widget("vsi-instanceid").get_text()
> + return
> self._change_config_helper([self.vm.define_network_model,
> +
> self.vm.define_virtualport_type,
> + self.vm.define_vsi_managerid,
> + self.vm.define_vsi_typeid,
> +
> self.vm.define_vsi_typeidversion,
> +
> self.vm.define_vsi_instanceid],
> + [(dev_id_info, model),
> + (dev_id_info,
> virtualport_type),
> + (dev_id_info, vsi_managerid),
> + (dev_id_info, vsi_typeid),
> + (dev_id_info,
> vsi_typeidversion),
> + (dev_id_info,
> vsi_instanceid)])
> # Graphics options
> def config_graphics_apply(self, dev_id_info):
> passwd = self.window.get_widget("gfx-password").get_text() or
> None
> @@ -2177,6 +2197,21 @@ class vmmDetails(vmmGObjectUI):
>
> self.window.get_widget("network-mac-address").set_text(net.macaddr)
> self.window.get_widget("network-source-device").set_text(desc)
>
> + if net.virtualport_type:
> +
> self.window.get_widget("virtualport-type").set_text(net.virtualport_type)
> +
> self.window.get_widget("vsi-managerid").set_text(net.vsi_managerid)
> +
> self.window.get_widget("vsi-typeid").set_text(net.vsi_typeid)
> +
> self.window.get_widget("vsi-typeidversion").set_text(net.vsi_typeidversion)
> +
> self.window.get_widget("vsi-instanceid").set_text(net.vsi_instanceid)
> +
> self.window.get_widget("virtualport-expander").set_expanded(True)
> + else:
> + self.window.get_widget("virtualport-type").set_text("")
> + self.window.get_widget("vsi-managerid").set_text("")
> + self.window.get_widget("vsi-typeid").set_text("")
> + self.window.get_widget("vsi-typeidversion").set_text("")
> + self.window.get_widget("vsi-instanceid").set_text("")
> +
> self.window.get_widget("virtualport-expander").set_expanded(False)
> +
> uihelpers.populate_netmodel_combo(self.vm,
>
> self.window.get_widget("network-model-combo"))
> self.set_combo_label("network-model", 0, model)
> Index: virt-manager/src/virtManager/domain.py
> ===================================================================
> --- virt-manager.orig/src/virtManager/domain.py
> +++ virt-manager/src/virtManager/domain.py
> @@ -404,6 +404,31 @@ class vmmDomainBase(vmmLibvirtObject):
> editdev.model = newmodel
> return self._redefine_device(change, devobj)
>
> + def define_virtualport_type(self, devobj, newtype):
> + def change(editdev):
> + editdev.virtualport_type = newtype or None
> + return self._redefine_device(change, devobj)
> +
> + def define_vsi_managerid(self, devobj, newmanagerid):
> + def change(editdev):
> + editdev.vsi_managerid = newmanagerid or None
> + return self._redefine_device(change, devobj)
> +
> + def define_vsi_typeid(self, devobj, newtypeid):
> + def change(editdev):
> + editdev.vsi_typeid = newtypeid or None
> + return self._redefine_device(change, devobj)
> +
> + def define_vsi_typeidversion(self, devobj, newtypeidversion):
> + def change(editdev):
> + editdev.vsi_typeidversion = newtypeidversion or None
> + return self._redefine_device(change, devobj)
> +
> + def define_vsi_instanceid(self, devobj, newinstanceid):
> + def change(editdev):
> + editdev.vsi_instanceid = newinstanceid or None
> + return self._redefine_device(change, devobj)
> +
> def define_graphics_password(self, devobj, newval):
> def change(editdev):
> editdev.passwd = newval or None
> Index: virt-manager/src/vmm-details.glade
> ===================================================================
> --- virt-manager.orig/src/vmm-details.glade
> +++ virt-manager/src/vmm-details.glade
> @@ -3761,6 +3761,176 @@ I/O:</property>
> <property
> name="position">0</property>
> </packing>
> </child>
> + <child>
> + <widget class="GtkExpander"
> id="virtualport-expander">
> + <property
> name="visible">True</property>
> + <property
> name="can_focus">True</property>
> + <child>
> + <widget class="GtkTable"
> id="table10">
> + <property
> name="visible">True</property>
> + <property
> name="n_rows">5</property>
> + <property
> name="n_columns">2</property>
> + <child>
> + <widget class="GtkEntry"
> id="vsi-instanceid">
> + <property
> name="visible">True</property>
> + <property
> name="can_focus">True</property>
> + <property
> name="invisible_char">●</property>
> + <signal name="changed"
> handler="on_vsi-instanceid_changed"/>
> + </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="y_options"></property>
> + </packing>
> + </child>
> + <child>
> + <widget class="GtkLabel"
> id="vsi-instanceid-label">
> + <property
> name="visible">True</property>
> + <property
> name="xalign">1</property>
> + <property name="label"
> translatable="yes">VSI instance id:</property>
> + <property
> name="use_underline">True</property>
> + </widget>
> + <packing>
> + <property
> name="top_attach">4</property>
> + <property
> name="bottom_attach">5</property>
> + <property
> name="x_options">GTK_FILL</property>
> + <property
> name="y_options"></property>
> + </packing>
> + </child>
> + <child>
> + <widget class="GtkEntry"
> id="vsi-typeidversion">
> + <property
> name="visible">True</property>
> + <property
> name="can_focus">True</property>
> + <property
> name="invisible_char">●</property>
> + <signal name="changed"
> handler="on_vsi-typeidversion_changed"/>
> + </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="y_options"></property>
> + </packing>
> + </child>
> + <child>
> + <widget class="GtkLabel"
> id="vsi-typeidversion-label">
> + <property
> name="visible">True</property>
> + <property
> name="xalign">1</property>
> + <property name="label"
> translatable="yes">VSI typeid version:</property>
> + <property
> name="use_underline">True</property>
> + </widget>
> + <packing>
> + <property
> name="top_attach">3</property>
> + <property
> name="bottom_attach">4</property>
> + <property
> name="x_options">GTK_FILL</property>
> + <property
> name="y_options"></property>
> + </packing>
> + </child>
> + <child>
> + <widget class="GtkEntry"
> id="vsi-typeid">
> + <property
> name="visible">True</property>
> + <property
> name="can_focus">True</property>
> + <property
> name="invisible_char">●</property>
> + <signal name="changed"
> handler="on_vsi-typeid_changed"/>
> + </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="y_options"></property>
> + </packing>
> + </child>
> + <child>
> + <widget class="GtkLabel"
> id="vsi-typeid-label">
> + <property
> name="visible">True</property>
> + <property
> name="xalign">1</property>
> + <property name="label"
> translatable="yes">VSI typeid:</property>
> + <property
> name="use_underline">True</property>
> + </widget>
> + <packing>
> + <property
> name="top_attach">2</property>
> + <property
> name="bottom_attach">3</property>
> + <property
> name="x_options">GTK_FILL</property>
> + <property
> name="y_options"></property>
> + </packing>
> + </child>
> + <child>
> + <widget class="GtkEntry"
> id="vsi-managerid">
> + <property
> name="visible">True</property>
> + <property
> name="can_focus">True</property>
> + <property
> name="invisible_char">●</property>
> + <signal name="changed"
> handler="on_vsi-managerid_changed"/>
> + </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="y_options"></property>
> + </packing>
> + </child>
> + <child>
> + <widget class="GtkLabel"
> id="vsi-managerid-label">
> + <property
> name="visible">True</property>
> + <property
> name="xalign">1</property>
> + <property name="label"
> translatable="yes">VSI managerid:</property>
> + <property
> name="use_underline">True</property>
> + </widget>
> + <packing>
> + <property
> name="top_attach">1</property>
> + <property
> name="bottom_attach">2</property>
> + <property
> name="x_options">GTK_FILL</property>
> + <property
> name="y_options"></property>
> + </packing>
> + </child>
> + <child>
> + <widget class="GtkLabel"
> id="label33">
> + <property
> name="visible">True</property>
> + <property
> name="xalign">1</property>
> + <property
> name="yalign">0.47999998927116394</property>
> + <property name="label"
> translatable="yes"><b>Type:</b></property>
> + <property
> name="use_markup">True</property>
> + <property
> name="use_underline">True</property>
> + <property
> name="mnemonic_widget">network-model-combo</property>
> + </widget>
> + <packing>
> + <property
> name="x_options">GTK_FILL</property>
> + <property
> name="y_options"></property>
> + </packing>
> + </child>
> + <child>
> + <widget class="GtkEntry"
> id="virtualport-type">
> + <property
> name="visible">True</property>
> + <property
> name="can_focus">True</property>
> + <property
> name="invisible_char">●</property>
> + <signal name="changed"
> handler="on_virtualport-type_changed"/>
> + </widget>
> + <packing>
> + <property
> name="left_attach">1</property>
> + <property
> name="right_attach">2</property>
> + <property
> name="y_options"></property>
> + </packing>
> + </child>
> + </widget>
> + </child>
> + <child>
> + <widget class="GtkLabel"
> id="label5">
> + <property
> name="visible">True</property>
> + <property name="label"
> translatable="yes"><b>Virtual Port</b></property>
> + <property
> name="use_markup">True</property>
> + </widget>
> + <packing>
> + <property
> name="type">label_item</property>
> + </packing>
> + </child>
> + </widget>
> + <packing>
> + <property
> name="position">1</property>
> + </packing>
> + </child>
> </widget>
> <packing>
> <property name="position">6</property>
> @@ -4155,7 +4325,7 @@ I/O:</property>
> <property
> name="visible">True</property>
> <property
> name="can_focus">True</property>
> <property
> name="visibility">False</property>
> - <property
> name="invisible_char">â</property>
> + <property
> name="invisible_char">●</property>
> <signal name="changed"
> handler="on_vnc_password_changed"/>
> </widget>
> <packing>
>
>
More information about the virt-tools-list
mailing list