Re: [ovirt-devel] SSO using remote-viewer

2014-08-13 Thread Vinzenz Feenstra

On 08/12/2014 03:01 PM, Denis Kirjanov wrote:

Ok, vdsClient with the desktopLogin works pretty well on the first step.
I found a weird behavior when closing remote-viewer window. Even a session
remains open (no logout/switch user is performed), the subsequent connect with 
the _same ticket_ spits out a gdm window
with a password...
You mean the password is shown to the user? That would be pretty bad. As 
for the disconnect that surprises me a little bit. Can you please 
perform the connection to the VM and then disconnect and pass me the 
logs of vdsm /var/log/vdsm/vdsm.log for the host the vm is running on?


Also it'd be great if you could before turn on debug logging on the VM 
for the guest agent /etc/ovirt-guest-agent.conf (replace INFO with 
DEBUG) and restart the service.


# service ovirt-guest-agent restart

and pass me the logs for it as well ( 
/var/log/ovirt-guest-agent/ovirt-guest-agent.log )


Thanks




- Исходное сообщение -
От: Denis Kirjanov k...@itsirius.su
Кому: Vinzenz Feenstra vfeen...@redhat.com
Копия: devel@ovirt.org
Отправленные: Понедельник, 11 Август 2014 г 18:34:24
Тема: Re: [ovirt-devel] SSO using remote-viewer



- Исходное сообщение -
От: Vinzenz Feenstra vfeen...@redhat.com
Кому: Denis Kirjanov k...@itsirius.su
Копия: Michal Skrivanek michal.skriva...@redhat.com, devel@ovirt.org
Отправленные: Понедельник, 11 Август 2014 г 17:26:30
Тема: Re: [ovirt-devel] SSO using remote-viewer

On 08/11/2014 03:12 PM, Denis Kirjanov wrote:

- Исходное сообщение -
От: Vinzenz Feenstra vfeen...@redhat.com
Кому: Michal Skrivanek michal.skriva...@redhat.com, Denis Kirjanov 
k...@itsirius.su
Копия: devel@ovirt.org
Отправленные: Понедельник, 11 Август 2014 г 17:07:40
Тема: Re: [ovirt-devel] SSO using remote-viewer

On 08/11/2014 03:06 PM, Vinzenz Feenstra wrote:

On 08/11/2014 03:01 PM, Michal Skrivanek wrote:

On Aug 11, 2014, at 14:14 , Denis Kirjanov k...@itsirius.su wrote:


Hi guys,

I'm trying to login to a virtual machine without using the web
interface (User Portal) but through the remote-viewer and a small
python script to gather all required info such a certificate
subject, ticken and ports.
The virtual machine has the rhevm sso package installed so I can get
to the machine through the web UI,
but I can't do the same thing using remote-viewer. What I do see is
a gdm login window with
my user account and 2 icons (Login into session and RHEV-M SSO login).

Looks like I have to invoke something inside my python script to get
an access but I can't figure out what is missing…

you need to issue the desktopLogin command to actually perform the
sign on. The viewer itself doesn't do anything

If this is going through vdsm then it's the desktop login command. Via
the REST API it'd be just /vms/{vmid}/logon

Note: The REST API supports this from oVirt/RHEV 3.5

Thanks, but we're using oVirt/RHEV 3.1.
Does the PythonAPI (or ReST API) support something like this in 3.1?

Well only the XMLRPC api of the Host supports the desktopLogin verb, as
Michal already said.

vdsClient for example can do this, when it has the right certificates

vdsClient -s HOSTIP desktopLogin VMID DOMAIN USER PASSWORD

HTH

Could you please guide me on how to set a required certificates on
a client?

Thanks!




Thanks,
michal


Thanks!
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel





--
Regards,

Vinzenz Feenstra | Senior Software Engineer
RedHat Engineering Virtualization R  D
Phone: +420 532 294 625
IRC: vfeenstr or evilissimo

Better technology. Faster innovation. Powered by community collaboration.
See how it works at redhat.com

___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel

Re: [ovirt-devel] Why there is no Ovirt Engine register item on Ovirt Node

2014-08-13 Thread Fabian Deutsch
- Original Message -
 Hi Fabian and Ryan,
  
 Even though the ovirt-node that is built  by myself on CentOS has boot
 successfully. However,
 When I test my ovirt-node, and  find one problem. please take a look the
 follow two ovirt-node running pictures.
  
 1, Offical ovirt-node running screenshot
 
  
  
 
 2, My ovirt-node running screenshot
 
 
 There is no Ovirt Engine register function. Compare the size of this two
 ovirt-node iso, offical node is 250M, but my ovirt-node is 200M.
 I think Ovirt Engine register function isn't built into ovirt node.  Who
 know how to resolve this problem? Thank you very much!
 
 Looking forward to anyone's feedback. Thanks!

Hey Tao,

the Engine part of Node is part of the ovirt-node-plugin-vdsm.

To build the Node for Engine, you need to build that plugin too and use the 
kickstart provided in that plugin.

- fbaian


 Best Regards!
 Tao
 
 
  
 
 
 
 
 
 
 
 At 2014-08-13 03:04:41, Fabian Deutsch fdeut...@redhat.com wrote:
 - Original Message -
  Hi fdeutsch and Ryan,
  
  I test the ovirt-node iso that is built by myself. It can boot
  successfully
  from hard disk on physical PC.
  
  Thanks very much for both's help recently!  Have you a nice day!
  
  Best Regards!
  Tao
 
 Hey Tao,
 
 that is great news!
 
 Might I ask if you do something special with Node?
 
 Greetings
 fabian
 
 
 
 
 ___
 Devel mailing list
 Devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/devel
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel

Re: [ovirt-devel] Why there is no Ovirt Engine register item on Ovirt Node

2014-08-13 Thread yangtao
Hi  Fabian,

How to build build plugin and use the kickstart provided in that plugin?
What's more, I use 3.1.0 master version to build.   The ovirt node master 
version doesn't include the VSDM plugin, right?

Best Regards!
Tao








At 2014-08-13 04:53:55, Fabian Deutsch fdeut...@redhat.com wrote:
- Original Message -
 Hi Fabian and Ryan,
  
 Even though the ovirt-node that is built  by myself on CentOS has boot
 successfully. However,
 When I test my ovirt-node, and  find one problem. please take a look the
 follow two ovirt-node running pictures.
  
 1, Offical ovirt-node running screenshot
 
  
  
 
 2, My ovirt-node running screenshot
 
 
 There is no Ovirt Engine register function. Compare the size of this two
 ovirt-node iso, offical node is 250M, but my ovirt-node is 200M.
 I think Ovirt Engine register function isn't built into ovirt node.  Who
 know how to resolve this problem? Thank you very much!
 
 Looking forward to anyone's feedback. Thanks!

Hey Tao,

the Engine part of Node is part of the ovirt-node-plugin-vdsm.

To build the Node for Engine, you need to build that plugin too and use the 
kickstart provided in that plugin.

- fbaian


 Best Regards!
 Tao
 
 
  
 
 
 
 
 
 
 
 At 2014-08-13 03:04:41, Fabian Deutsch fdeut...@redhat.com wrote:
 - Original Message -
  Hi fdeutsch and Ryan,
  
  I test the ovirt-node iso that is built by myself. It can boot
  successfully
  from hard disk on physical PC.
  
  Thanks very much for both's help recently!  Have you a nice day!
  
  Best Regards!
  Tao
 
 Hey Tao,
 
 that is great news!
 
 Might I ask if you do something special with Node?
 
 Greetings
 fabian
 
 
 
 
 ___
 Devel mailing list
 Devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/devel
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel

Re: [ovirt-devel] Why there is no Ovirt Engine register item on Ovirt Node

2014-08-13 Thread Douglas Schilling Landgraf

On 08/13/2014 05:12 AM, yangtao wrote:

Hi  Fabian,

How to build build plugin and use the kickstart provided in that plugin?
What's more, I use 3.1.0 master version to build.   The ovirt node
master version doesn't include the VSDM plugin, right?


Hi Tao,

In the below link there are steps how to build ovirt-node-plugin-vdsm 
and vdsm. Additionally, there is an example how to add these packages 
into the iso with edit-node tool:


http://dougsland.livejournal.com/123418.html

More info about VDSM, please consult:
http://www.ovirt.org/Vdsm_Developers



Best Regards!
Tao





At 2014-08-13 04:53:55, Fabian Deutsch fdeut...@redhat.com wrote:

- Original Message -

Hi Fabian and Ryan,

Even though the ovirt-node that is built  by myself on CentOS has boot
successfully. However,
When I test my ovirt-node, and  find one problem. please take a look the
follow two ovirt-node running pictures.

1, Offical ovirt-node running screenshot




2, My ovirt-node running screenshot


There is no Ovirt Engine register function. Compare the size of this two
ovirt-node iso, offical node is 250M, but my ovirt-node is 200M.
I think Ovirt Engine register function isn't built into ovirt node.  Who
know how to resolve this problem? Thank you very much!

Looking forward to anyone's feedback. Thanks!


Hey Tao,

the Engine part of Node is part of the ovirt-node-plugin-vdsm.

To build the Node for Engine, you need to build that plugin too and use the 
kickstart provided in that plugin.

- fbaian



Best Regards!
Tao










At 2014-08-13 03:04:41, Fabian Deutsch fdeut...@redhat.com wrote:
- Original Message -
 Hi fdeutsch and Ryan,

 I test the ovirt-node iso that is built by myself. It can boot
 successfully
 from hard disk on physical PC.

 Thanks very much for both's help recently!  Have you a nice day!

 Best Regards!
 Tao

Hey Tao,

that is great news!

Might I ask if you do something special with Node?

Greetings
fabian




___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel






___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel




--
Cheers
Douglas
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel

[ovirt-devel] Command coordination deep-dive session

2014-08-13 Thread Oved Ourfali
Hi everyone

The youtube streaming link for this session is:
 http://www.youtube.com/watch?v=Zn2DlCDP6bY

It will start in a few minutes.

Enjoy!
Oved
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


Re: [ovirt-devel] popup dialog

2014-08-13 Thread Vojtech Szocs
Hi,

in order to add new dialog, follow these steps:

1, create UiCommon model for the dialog, I see you already did this
   (TemplateBackupModel) - however from your code I don't understand
   why is there an unused _asyncQuery inside model constructor
   
2, modify existing list model to trigger your new dialog, I see you
   also did this (second code snippet), I assume you put that code
   inside TemplateListModel:

  // inside TemplateListModel#backup - this method should be private
  // since UI code executes this method via associated UICommand
  ...
  TemplateBackupModel model = new TemplateBackupModel();
  setWindow(model);
  
model.setTitle(ConstantsManager.getInstance().getConstants().templateBackupTitle());
  model.setHelpTag(HelpTag.template_backup);
  model.setHashName(template_backup);//$NON-NLS-1$
  ...

   now, expose UICommand that triggers your dialog like this:

  public UICommand getTemplateBackupCommand() {
return privateTemplateBackupCommand;
  }

  private void setTemplateBackupCommand(UICommand value) {
privateExportCommand = value;
  }

  // inside TemplateListModel constructor
  ...
  setTemplateBackupCommand(new UICommand(TemplateBackup, this)); //$NON-NLS-1$
  ...

  // inside TemplateListModel#executeCommand
  ...
  else if (command == getTemplateBackupCommand()) {
backup();
  }
  ...

3, tell UI (GWTP) infra how to handle your dialog model - in this
   particular case, edit TemplateModule#getTemplateListProvider:

  ...
  if (lastExecutedCommand == model.getEditCommand()) {
return popupProvider.get();
  } else if (lastExecutedCommand == getModel().getExportCommand()) {
return exportPopupProvider.get();
  } else if (lastExecutedCommand == getModel().getTemplateBackupCommand()) {
return templateBackupProvider.get();
  } else {
return super.getModelPopup(source, lastExecutedCommand, windowModel);
  }
  ...

   now, add parameter to TemplateModule#getTemplateListProvider:

  @Provides
  @Singleton
  public MainModelProviderVmTemplate, TemplateListModel 
getTemplateListProvider(
...
final ProviderTemplateBackupPopupPresenterWidget 
templateBackupPopupProvider) {
  ...

4, create PresenterWidget  View for your dialog, this is the visual
   part of the dialog (dialog model just encapsulates the dialog logic)

  public class TemplateBackupPopupPresenterWidget extends 
AbstractModelBoundPopupPresenterWidgetTemplateBackupModel, 
TemplateBackupPopupPresenterWidget.ViewDef {

public interface ViewDef extends 
AbstractModelBoundPopupPresenterWidget.ViewDefTemplateBackupModel {
}

@Inject
public TemplateBackupPopupPresenterWidget(EventBus eventBus, ViewDef view) {
  super(eventBus, view);
}

  }

  ---

  public class TemplateBackupPopupView extends 
AbstractModelBoundPopupViewTemplateBackupModel implements 
TemplateBackupPopupPresenterWidget.ViewDef {

// you can get some inspiration from VmExportPopupView

  }

5, you are done :)

Vojtech


- Original Message -
 From: 力波 王 wlblea...@126.com
 To: devel@ovirt.org
 Sent: Tuesday, August 12, 2014 7:57:24 AM
 Subject: [ovirt-devel] popup dialog
 
 Hi, everyone:
 I add a button, named backup in the Template Tab,
 And the click event is ok.
 Now I want add a dialog after clicked the button,
 So, I add a model , but the dialog didn’t display at all.
 
 So, I want to know is there some necessary class need
 To modify or add?
 
 The model code is like this:
 TemplateBackupModel.java
 
 public class TemplateBackupModel extends Model {
 
 private EntityModel privatePassword;
 
 public EntityModel getPassword()
 {
 return privatePassword;
 }
 
 public void setPassword(EntityModel value)
 {
 privatePassword = value;
 }
 
 public TemplateBackupModel(){
 
 setPassword(new EntityModel());
 
 AsyncQuery _asyncQuery = new AsyncQuery();
 _asyncQuery.setModel(this);
 _asyncQuery.asyncCallback = new INewAsyncCallback() {
 @Override
 public void onSuccess(Object model, Object result)
 {
 
 }
 };
 
 }
 
 @Override
 public void eventRaised(Event ev, Object sender, EventArgs args) {
 super.eventRaised(ev, sender, args);
 }
 
 public boolean validate(){
 return true;
 }
 }
 
 
 And created a model in the backup button click callback like this:
 
 public void backup()
 {
 
 if (getWindow() != null)
 {
 return;
 }
 
 TemplateBackupModel model = new TemplateBackupModel();
 setWindow(model);
 model.setTitle(TemplateBackup);//$NON-NLS-1$
 model.setHashName(TemplateBackup);//$NON-NLS-1$
 
 
 UICommand tempVar = new UICommand(OnBackup, this); //$NON-NLS-1$
 tempVar.setTitle(ConstantsManager.getInstance().getConstants().ok());
 tempVar.setIsDefault(true);
 model.getCommands().add(tempVar);
 UICommand tempVar2 = new UICommand(Cancel, this); //$NON-NLS-1$
 tempVar2.setTitle(ConstantsManager.getInstance().getConstants().cancel());
 

Re: [ovirt-devel] popup dialog

2014-08-13 Thread Vojtech Szocs
Hi,

forgot to mention, one more thing needs to be done:

  // in PresenterModule
  bindPresenterWidget(TemplateBackupPopupPresenterWidget.class,
TemplateBackupPopupPresenterWidget.ViewDef.class,
TemplateBackupPopupView.class);

(Above binds popup PresenterWidget/View within GIN DI context.)

Regards,
Vojtech


- Original Message -
 From: Vojtech Szocs vsz...@redhat.com
 To: 力波 王 wlblea...@126.com
 Cc: devel@ovirt.org
 Sent: Wednesday, August 13, 2014 6:00:08 PM
 Subject: Re: [ovirt-devel] popup dialog
 
 Hi,
 
 in order to add new dialog, follow these steps:
 
 1, create UiCommon model for the dialog, I see you already did this
(TemplateBackupModel) - however from your code I don't understand
why is there an unused _asyncQuery inside model constructor

 2, modify existing list model to trigger your new dialog, I see you
also did this (second code snippet), I assume you put that code
inside TemplateListModel:
 
   // inside TemplateListModel#backup - this method should be private
   // since UI code executes this method via associated UICommand
   ...
   TemplateBackupModel model = new TemplateBackupModel();
   setWindow(model);
   
 model.setTitle(ConstantsManager.getInstance().getConstants().templateBackupTitle());
   model.setHelpTag(HelpTag.template_backup);
   model.setHashName(template_backup);//$NON-NLS-1$
   ...
 
now, expose UICommand that triggers your dialog like this:
 
   public UICommand getTemplateBackupCommand() {
 return privateTemplateBackupCommand;
   }
 
   private void setTemplateBackupCommand(UICommand value) {
 privateExportCommand = value;
   }
 
   // inside TemplateListModel constructor
   ...
   setTemplateBackupCommand(new UICommand(TemplateBackup, this));
   //$NON-NLS-1$
   ...
 
   // inside TemplateListModel#executeCommand
   ...
   else if (command == getTemplateBackupCommand()) {
 backup();
   }
   ...
 
 3, tell UI (GWTP) infra how to handle your dialog model - in this
particular case, edit TemplateModule#getTemplateListProvider:
 
   ...
   if (lastExecutedCommand == model.getEditCommand()) {
 return popupProvider.get();
   } else if (lastExecutedCommand == getModel().getExportCommand()) {
 return exportPopupProvider.get();
   } else if (lastExecutedCommand == getModel().getTemplateBackupCommand()) {
 return templateBackupProvider.get();
   } else {
 return super.getModelPopup(source, lastExecutedCommand, windowModel);
   }
   ...
 
now, add parameter to TemplateModule#getTemplateListProvider:
 
   @Provides
   @Singleton
   public MainModelProviderVmTemplate, TemplateListModel
   getTemplateListProvider(
 ...
 final ProviderTemplateBackupPopupPresenterWidget
 templateBackupPopupProvider) {
   ...
 
 4, create PresenterWidget  View for your dialog, this is the visual
part of the dialog (dialog model just encapsulates the dialog logic)
 
   public class TemplateBackupPopupPresenterWidget extends
   AbstractModelBoundPopupPresenterWidgetTemplateBackupModel,
   TemplateBackupPopupPresenterWidget.ViewDef {
 
 public interface ViewDef extends
 AbstractModelBoundPopupPresenterWidget.ViewDefTemplateBackupModel {
 }
 
 @Inject
 public TemplateBackupPopupPresenterWidget(EventBus eventBus, ViewDef
 view) {
   super(eventBus, view);
 }
 
   }
 
   ---
 
   public class TemplateBackupPopupView extends
   AbstractModelBoundPopupViewTemplateBackupModel implements
   TemplateBackupPopupPresenterWidget.ViewDef {
 
 // you can get some inspiration from VmExportPopupView
 
   }
 
 5, you are done :)
 
 Vojtech
 
 
 - Original Message -
  From: 力波 王 wlblea...@126.com
  To: devel@ovirt.org
  Sent: Tuesday, August 12, 2014 7:57:24 AM
  Subject: [ovirt-devel] popup dialog
  
  Hi, everyone:
  I add a button, named backup in the Template Tab,
  And the click event is ok.
  Now I want add a dialog after clicked the button,
  So, I add a model , but the dialog didn’t display at all.
  
  So, I want to know is there some necessary class need
  To modify or add?
  
  The model code is like this:
  TemplateBackupModel.java
  
  public class TemplateBackupModel extends Model {
  
  private EntityModel privatePassword;
  
  public EntityModel getPassword()
  {
  return privatePassword;
  }
  
  public void setPassword(EntityModel value)
  {
  privatePassword = value;
  }
  
  public TemplateBackupModel(){
  
  setPassword(new EntityModel());
  
  AsyncQuery _asyncQuery = new AsyncQuery();
  _asyncQuery.setModel(this);
  _asyncQuery.asyncCallback = new INewAsyncCallback() {
  @Override
  public void onSuccess(Object model, Object result)
  {
  
  }
  };
  
  }
  
  @Override
  public void eventRaised(Event ev, Object sender, EventArgs args) {
  super.eventRaised(ev, sender, args);
  }
  
  public boolean validate(){
  return true;
  }
  }
  
  
  And 

Re: [ovirt-devel] Command coordination deep-dive session

2014-08-13 Thread Leaboy
Hi,
   Could you give the PPT for us? ^_^

在 8/13/14, 21:22, Oved Ourfali ov...@redhat.com 写入:

Hi everyone

The youtube streaming link for this session is:
 http://www.youtube.com/watch?v=Zn2DlCDP6bY

It will start in a few minutes.

Enjoy!
Oved
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel



___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel

Re: [ovirt-devel] popup dialog

2014-08-13 Thread Leaboy
Hi,Vojtech Szocs:
Thanks for your help, I have let it work,

The Error I got just because I miss the step 3 you noted.

Another question is how could I got the returnValue after
executeCommand , and let the returnValue display on the oher
Popup dialog.


在 8/14/14, 0:07, Vojtech Szocs vsz...@redhat.com 写入:

Hi,

forgot to mention, one more thing needs to be done:

  // in PresenterModule
  bindPresenterWidget(TemplateBackupPopupPresenterWidget.class,
TemplateBackupPopupPresenterWidget.ViewDef.class,
TemplateBackupPopupView.class);

(Above binds popup PresenterWidget/View within GIN DI context.)

Regards,
Vojtech


- Original Message -
 From: Vojtech Szocs vsz...@redhat.com
 To: 力波 王 wlblea...@126.com
 Cc: devel@ovirt.org
 Sent: Wednesday, August 13, 2014 6:00:08 PM
 Subject: Re: [ovirt-devel] popup dialog
 
 Hi,
 
 in order to add new dialog, follow these steps:
 
 1, create UiCommon model for the dialog, I see you already did this
(TemplateBackupModel) - however from your code I don't understand
why is there an unused _asyncQuery inside model constructor

 2, modify existing list model to trigger your new dialog, I see you
also did this (second code snippet), I assume you put that code
inside TemplateListModel:
 
   // inside TemplateListModel#backup - this method should be private
   // since UI code executes this method via associated UICommand
   ...
   TemplateBackupModel model = new TemplateBackupModel();
   setWindow(model);
   
model.setTitle(ConstantsManager.getInstance().getConstants().templateBack
upTitle());
   model.setHelpTag(HelpTag.template_backup);
   model.setHashName(template_backup);//$NON-NLS-1$
   ...
 
now, expose UICommand that triggers your dialog like this:
 
   public UICommand getTemplateBackupCommand() {
 return privateTemplateBackupCommand;
   }
 
   private void setTemplateBackupCommand(UICommand value) {
 privateExportCommand = value;
   }
 
   // inside TemplateListModel constructor
   ...
   setTemplateBackupCommand(new UICommand(TemplateBackup, this));
   //$NON-NLS-1$
   ...
 
   // inside TemplateListModel#executeCommand
   ...
   else if (command == getTemplateBackupCommand()) {
 backup();
   }
   ...
 
 3, tell UI (GWTP) infra how to handle your dialog model - in this
particular case, edit TemplateModule#getTemplateListProvider:
 
   ...
   if (lastExecutedCommand == model.getEditCommand()) {
 return popupProvider.get();
   } else if (lastExecutedCommand == getModel().getExportCommand()) {
 return exportPopupProvider.get();
   } else if (lastExecutedCommand ==
getModel().getTemplateBackupCommand()) {
 return templateBackupProvider.get();
   } else {
 return super.getModelPopup(source, lastExecutedCommand,
windowModel);
   }
   ...
 
now, add parameter to TemplateModule#getTemplateListProvider:
 
   @Provides
   @Singleton
   public MainModelProviderVmTemplate, TemplateListModel
   getTemplateListProvider(
 ...
 final ProviderTemplateBackupPopupPresenterWidget
 templateBackupPopupProvider) {
   ...
 
 4, create PresenterWidget  View for your dialog, this is the visual
part of the dialog (dialog model just encapsulates the dialog logic)
 
   public class TemplateBackupPopupPresenterWidget extends
   AbstractModelBoundPopupPresenterWidgetTemplateBackupModel,
   TemplateBackupPopupPresenterWidget.ViewDef {
 
 public interface ViewDef extends
 AbstractModelBoundPopupPresenterWidget.ViewDefTemplateBackupModel
{
 }
 
 @Inject
 public TemplateBackupPopupPresenterWidget(EventBus eventBus, ViewDef
 view) {
   super(eventBus, view);
 }
 
   }
 
   ---
 
   public class TemplateBackupPopupView extends
   AbstractModelBoundPopupViewTemplateBackupModel implements
   TemplateBackupPopupPresenterWidget.ViewDef {
 
 // you can get some inspiration from VmExportPopupView
 
   }
 
 5, you are done :)
 
 Vojtech
 
 
 - Original Message -
  From: 力波 王 wlblea...@126.com
  To: devel@ovirt.org
  Sent: Tuesday, August 12, 2014 7:57:24 AM
  Subject: [ovirt-devel] popup dialog
  
  Hi, everyone:
  I add a button, named backup in the Template Tab,
  And the click event is ok.
  Now I want add a dialog after clicked the button,
  So, I add a model , but the dialog didn’t display at all.
  
  So, I want to know is there some necessary class need
  To modify or add?
  
  The model code is like this:
  TemplateBackupModel.java
  
  public class TemplateBackupModel extends Model {
  
  private EntityModel privatePassword;
  
  public EntityModel getPassword()
  {
  return privatePassword;
  }
  
  public void setPassword(EntityModel value)
  {
  privatePassword = value;
  }
  
  public TemplateBackupModel(){
  
  setPassword(new EntityModel());
  
  AsyncQuery _asyncQuery = new AsyncQuery();
  _asyncQuery.setModel(this);
  _asyncQuery.asyncCallback = new INewAsyncCallback() {
  @Override
  public void