Re: [ovirt-devel] Unable to create ovirtmgmt network on node

2017-07-19 Thread Shubhendu Tripathi
Thanks Edy for the help. Could this related to some firewall issues or 
something?
Any specific firewalld configuration required here?

Regards,
Shubhendu

- Original Message -
From: "Edward Haas" <eh...@redhat.com>
To: "Shubhendu Tripathi" <shtri...@redhat.com>
Cc: "engine-de...@ovirt.org" <devel@ovirt.org>
Sent: Wednesday, July 19, 2017 5:13:34 PM
Subject: Re: [ovirt-devel] Enable to create ovirtmgmt network on node

Hi,

Looks like you are not getting a response from the dhcp on VLAN 802  @em3
interface.

Thanks,
Edy.


On Wed, Jul 19, 2017 at 12:46 PM, Shubhendu Tripathi <shtri...@redhat.com>
wrote:

> While creating a cluster, on one of the nodes creation of ovirtmgmt fails
> and node is not in active state.
> Looking at supervdsm.log, below are few snippets of errors-
>
> ===
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31
> 14:54:57,665::supervdsmServer::116::SuperVdsm.ServerCallback::(wrapper)
> call setupNetworks with ({'ovirtmgmt': {'ipv6autoconf': False, 'nic':
> 'em3', 'vlan': '802', 'mtu': 1500, 'switch': 'legacy', 'dhcpv6': False,
> 'bridged': 'false', 'defaultRoute': True, 'bootproto': 'dhcp'}}, {},
> {'connectivityCheck': 'true', 'connectivityTimeout': 120}) {}
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
> 14:54:57,665::api::887::setupNetworks::(setupNetworks)
> Setting up network according to configuration: networks:{'ovirtmgmt':
> {'ipv6autoconf': False, 'nic': 'em3', 'vlan': '802', 'mtu': 1500, 'switch':
> 'legacy', 'dhcpv6': False, 'bridged': 'false', 'defaultRoute': True,
> 'bootproto': 'dhcp'}}, bondings:{}, options:{'connectivityCheck': 'true',
> 'connectivityTimeout': 120}
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31
> 14:54:57,666::api::891::root::(setupNetworks) Validating configuration
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 14:54:57,670::
> libvirtconnection::161::root::(get) trying to connect libvirt
> MainProcess|jsonrpc.Executor/6::INFO::2017-05-31
> 14:54:57,690::netinfo::503::root::(_getNetInfo) Obtaining info for net
> ovirtmgmt.
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 482, in
> _getNetInfo
> data.update({'ports': ports(iface),
>   File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 187, in
> ports
> return os.listdir('/sys/class/net/' + bridge + '/brif')
> OSError: [Errno 2] No such file or directory: '/sys/class/net/ovirtmgmt/
> brif'
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
> 14:54:57,708::api::901::setupNetworks::(setupNetworks)
> Applying...
> MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 14:54:57,708::
> netconfpersistence::73::root::(setBonding) Adding bond0({'nics': [],
> 'options': 'mode=0'})
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
> 14:54:57,709::api::926::setupNetworks::(setupNetworks)
> Removing broken network 'ovirtmgmt'
> MainProcess|jsonrpc.Executor/6::INFO::2017-05-31
> 14:54:57,717::netinfo::503::root::(_getNetInfo) Obtaining info for net
> ovirtmgmt.
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 482, in
> _getNetInfo
> data.update({'ports': ports(iface),
>   File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 187, in
> ports
> return os.listdir('/sys/class/net/' + bridge + '/brif')
> OSError: [Errno 2] No such file or directory: '/sys/class/net/ovirtmgmt/
> brif'
> MainProcess|jsonrpc.Executor/6::INFO::2017-05-31
> 14:54:57,726::api::463::root::(_delNetwork) Removing network ovirtmgmt
> with vlan=None, bonding=None, nics=[u'em3'],keep_bridge=False options={}
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31
> 14:54:57,727::ifcfg::335::root::(_atomicNetworkBackup) Backed up ovirtmgmt
> MainProcess|jsonrpc.Executor/6::INFO::2017-05-31
> 14:54:57,729::api::496::root::(_delNetwork) Removing network entity
> ovirtmgmt
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31
> 14:54:57,729::models::188::root::(remove) Removing bridge
> Bridge(ovirtmgmt: Nic(em3))
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31
> 14:54:57,729::utils::671::root::(execCmd) /usr/bin/taskset --cpu-list 0-5
> /usr/sbin/ifdown ovirtmgmt (cwd None)
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31
> 14:54:57,760::utils::689::root::(execCmd) FAILED:  = 'usage: ifdown
> \n';  = 1
> MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31
> 14:54:57,760::__init__::144::root::(_removeSourceRoute) Removing source
> route for device ovirtmgmt
> MainProcess|jsonrpc.Executor/6::WARNING::2017-05-31
> 14:54:57,761::utils::140::root::(rmFile) File: 
> /etc/sysconfig/network-scripts/rule-ovirtmgmt
> already removed

Re: [ovirt-devel] Unable to create ovirtmgmt network on node

2017-07-19 Thread Shubhendu Tripathi
Corrected the Subject line.

- Original Message -
From: "Shubhendu Tripathi" <shtri...@redhat.com>
To: "engine-de...@ovirt.org" <devel@ovirt.org>
Sent: Wednesday, July 19, 2017 3:16:07 PM
Subject: Enable to create ovirtmgmt network on node

While creating a cluster, on one of the nodes creation of ovirtmgmt fails and 
node is not in active state.
Looking at supervdsm.log, below are few snippets of errors-

===
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,665::supervdsmServer::116::SuperVdsm.ServerCallback::(wrapper) call 
setupNetworks with ({'ovirtmgmt': {'ipv6autoconf': False, 'nic': 'em3', 'vlan': 
'802', 'mtu': 1500, 'switch': 'legacy', 'dhcpv6': False, 'bridged': 'false', 
'defaultRoute': True, 'bootproto': 'dhcp'}}, {}, {'connectivityCheck': 'true', 
'connectivityTimeout': 120}) {}
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,665::api::887::setupNetworks::(setupNetworks) Setting up network 
according to configuration: networks:{'ovirtmgmt': {'ipv6autoconf': False, 
'nic': 'em3', 'vlan': '802', 'mtu': 1500, 'switch': 'legacy', 'dhcpv6': False, 
'bridged': 'false', 'defaultRoute': True, 'bootproto': 'dhcp'}}, bondings:{}, 
options:{'connectivityCheck': 'true', 'connectivityTimeout': 120}
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,666::api::891::root::(setupNetworks) Validating configuration
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,670::libvirtconnection::161::root::(get) trying to connect libvirt
MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 
14:54:57,690::netinfo::503::root::(_getNetInfo) Obtaining info for net 
ovirtmgmt.
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 482, in 
_getNetInfo
data.update({'ports': ports(iface),
  File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 187, in ports
return os.listdir('/sys/class/net/' + bridge + '/brif')
OSError: [Errno 2] No such file or directory: '/sys/class/net/ovirtmgmt/brif'
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,708::api::901::setupNetworks::(setupNetworks) Applying...
MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 
14:54:57,708::netconfpersistence::73::root::(setBonding) Adding bond0({'nics': 
[], 'options': 'mode=0'})
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,709::api::926::setupNetworks::(setupNetworks) Removing broken network 
'ovirtmgmt'
MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 
14:54:57,717::netinfo::503::root::(_getNetInfo) Obtaining info for net 
ovirtmgmt.
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 482, in 
_getNetInfo
data.update({'ports': ports(iface),
  File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 187, in ports
return os.listdir('/sys/class/net/' + bridge + '/brif')
OSError: [Errno 2] No such file or directory: '/sys/class/net/ovirtmgmt/brif'
MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 
14:54:57,726::api::463::root::(_delNetwork) Removing network ovirtmgmt with 
vlan=None, bonding=None, nics=[u'em3'],keep_bridge=False options={}
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,727::ifcfg::335::root::(_atomicNetworkBackup) Backed up ovirtmgmt
MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 
14:54:57,729::api::496::root::(_delNetwork) Removing network entity ovirtmgmt
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,729::models::188::root::(remove) Removing bridge Bridge(ovirtmgmt: 
Nic(em3))
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,729::utils::671::root::(execCmd) /usr/bin/taskset --cpu-list 0-5 
/usr/sbin/ifdown ovirtmgmt (cwd None)
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,760::utils::689::root::(execCmd) FAILED:  = 'usage: ifdown 
\n';  = 1
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,760::__init__::144::root::(_removeSourceRoute) Removing source route 
for device ovirtmgmt
MainProcess|jsonrpc.Executor/6::WARNING::2017-05-31 
14:54:57,761::utils::140::root::(rmFile) File: 
/etc/sysconfig/network-scripts/rule-ovirtmgmt already removed
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,761::ifcfg::292::root::(_removeFile) Removed file 
/etc/sysconfig/network-scripts/rule-ovirtmgmt
MainProcess|jsonrpc.Executor/6::WARNING::2017-05-31 
14:54:57,761::utils::140::root::(rmFile) File: 
/etc/sysconfig/network-scripts/route-ovirtmgmt already removed
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,762::ifcfg::292::root::(_removeFile) Removed file 
/etc/sysconfig/network-scripts/route-ovirtmgmt
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,762::utils::671::root::(execCmd) /usr/bin/taskset --cpu-list 0-5 
/usr/sbin/brctl delbr ovirtmgmt (cwd None)
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,769::utils::689::root::(execCmd) FAILED:  = "bridge ovir

[ovirt-devel] Enable to create ovirtmgmt network on node

2017-07-19 Thread Shubhendu Tripathi
While creating a cluster, on one of the nodes creation of ovirtmgmt fails and 
node is not in active state.
Looking at supervdsm.log, below are few snippets of errors-

===
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,665::supervdsmServer::116::SuperVdsm.ServerCallback::(wrapper) call 
setupNetworks with ({'ovirtmgmt': {'ipv6autoconf': False, 'nic': 'em3', 'vlan': 
'802', 'mtu': 1500, 'switch': 'legacy', 'dhcpv6': False, 'bridged': 'false', 
'defaultRoute': True, 'bootproto': 'dhcp'}}, {}, {'connectivityCheck': 'true', 
'connectivityTimeout': 120}) {}
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,665::api::887::setupNetworks::(setupNetworks) Setting up network 
according to configuration: networks:{'ovirtmgmt': {'ipv6autoconf': False, 
'nic': 'em3', 'vlan': '802', 'mtu': 1500, 'switch': 'legacy', 'dhcpv6': False, 
'bridged': 'false', 'defaultRoute': True, 'bootproto': 'dhcp'}}, bondings:{}, 
options:{'connectivityCheck': 'true', 'connectivityTimeout': 120}
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,666::api::891::root::(setupNetworks) Validating configuration
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,670::libvirtconnection::161::root::(get) trying to connect libvirt
MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 
14:54:57,690::netinfo::503::root::(_getNetInfo) Obtaining info for net 
ovirtmgmt.
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 482, in 
_getNetInfo
data.update({'ports': ports(iface),
  File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 187, in ports
return os.listdir('/sys/class/net/' + bridge + '/brif')
OSError: [Errno 2] No such file or directory: '/sys/class/net/ovirtmgmt/brif'
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,708::api::901::setupNetworks::(setupNetworks) Applying...
MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 
14:54:57,708::netconfpersistence::73::root::(setBonding) Adding bond0({'nics': 
[], 'options': 'mode=0'})
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,709::api::926::setupNetworks::(setupNetworks) Removing broken network 
'ovirtmgmt'
MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 
14:54:57,717::netinfo::503::root::(_getNetInfo) Obtaining info for net 
ovirtmgmt.
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 482, in 
_getNetInfo
data.update({'ports': ports(iface),
  File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 187, in ports
return os.listdir('/sys/class/net/' + bridge + '/brif')
OSError: [Errno 2] No such file or directory: '/sys/class/net/ovirtmgmt/brif'
MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 
14:54:57,726::api::463::root::(_delNetwork) Removing network ovirtmgmt with 
vlan=None, bonding=None, nics=[u'em3'],keep_bridge=False options={}
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,727::ifcfg::335::root::(_atomicNetworkBackup) Backed up ovirtmgmt
MainProcess|jsonrpc.Executor/6::INFO::2017-05-31 
14:54:57,729::api::496::root::(_delNetwork) Removing network entity ovirtmgmt
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,729::models::188::root::(remove) Removing bridge Bridge(ovirtmgmt: 
Nic(em3))
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,729::utils::671::root::(execCmd) /usr/bin/taskset --cpu-list 0-5 
/usr/sbin/ifdown ovirtmgmt (cwd None)
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,760::utils::689::root::(execCmd) FAILED:  = 'usage: ifdown 
\n';  = 1
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,760::__init__::144::root::(_removeSourceRoute) Removing source route 
for device ovirtmgmt
MainProcess|jsonrpc.Executor/6::WARNING::2017-05-31 
14:54:57,761::utils::140::root::(rmFile) File: 
/etc/sysconfig/network-scripts/rule-ovirtmgmt already removed
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,761::ifcfg::292::root::(_removeFile) Removed file 
/etc/sysconfig/network-scripts/rule-ovirtmgmt
MainProcess|jsonrpc.Executor/6::WARNING::2017-05-31 
14:54:57,761::utils::140::root::(rmFile) File: 
/etc/sysconfig/network-scripts/route-ovirtmgmt already removed
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,762::ifcfg::292::root::(_removeFile) Removed file 
/etc/sysconfig/network-scripts/route-ovirtmgmt
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,762::utils::671::root::(execCmd) /usr/bin/taskset --cpu-list 0-5 
/usr/sbin/brctl delbr ovirtmgmt (cwd None)
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,769::utils::689::root::(execCmd) FAILED:  = "bridge ovirtmgmt 
doesn't exist; can't delete it\n";  = 1
MainProcess|jsonrpc.Executor/6::WARNING::2017-05-31 
14:54:57,770::utils::140::root::(rmFile) File: 
/etc/sysconfig/network-scripts/ifcfg-ovirtmgmt already removed
MainProcess|jsonrpc.Executor/6::DEBUG::2017-05-31 
14:54:57,770::ifcfg::292::root::(_removeFile) Removed file 

Re: [ovirt-devel] Fedora 22

2015-06-01 Thread Shubhendu Tripathi
I had to do this at least for fedora 21.
Worst part is Firefox as we cannot use anything greater than 25 for gwt 
debugging.


Sent from Samsung Mobile

 Original message 
From: Greg Sheremeta gsher...@redhat.com 
Date:01/06/2015  20:15  (GMT+05:30) 
To: devel@ovirt.org 
Subject: [ovirt-devel] Fedora 22 

Anyone upgrade to F22 yet? Looking for tips on running engine
after I upgrade. I assume I'll still have to install JDK 1.7
and JBoss 7.

Thanks.

Greg Sheremeta
Red Hat, Inc.
Sr. Software Engineer, RHEV
Cell: 919-807-1086
gsher...@redhat.com

___
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] [oVirt 3.6 Localization Question #10] Gluster snapshot info failed

2015-05-13 Thread Shubhendu Tripathi
The error 
ACTION_TYPE_FAILED_REMOVE_BRICK_FROM_DISTRIBUTED_DISPERSE_VOLUME_NOT_SUPPORTED 
is not mapped to string Gluster snapshot info failed.
Its actually mapped to a string Cannot ${action} ${type}. Removal of 
bricks from distributed disperse volume is not supported.. You can 
verify the same in AppErrors.properties.


This is used to error out if removal of bricks tried from distributed 
disperse volume.


Regards,
Shubhendu

On 05/13/2015 02:16 PM, Yuko Katabami wrote:

Hello all,

I would like to ask for your help in the following question.
*
File:***VdsmErrors
*Resource 
ID:***ACTION_TYPE_FAILED_REMOVE_BRICK_FROM_DISTRIBUTED_DISPERSE_VOLUME_NOT_SUPPORTED

*String:*** Gluster snapshot info failed
*Question:* Could anyone please explain if this means Failed to 
*fetch* Gluster snapshot info or Failed to *verify* Gluster snapshot 
info or failed in some other action?


Kind regards,

Yuko




___
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] [oVirt 3.6 Localization Question #8] VAR__ACTION__VOLUME_SNAPSHOT_CONFIG_UPDATE

2015-05-13 Thread Shubhendu Tripathi

Hope this is resolved as Einav already sent a patch for the same.
Thanks Einav for the patch [1]. Copy paste errors :(

Regards,
Shubhendu

[1] https://gerrit.ovirt.org/#/c/40887/

On 05/13/2015 08:31 PM, Einav Cohen wrote:

@Shubhendu(/others) - can you please assist with the $type-related question?

@Yuko: as for the double-quotation marks - these indeed are not needed.
same for the following string (in the same file):
Resrouce ID: VALIDATION_DATA_CENTER_DESCRIPTION_INVALID
String: Data Center description must be formed of ASCII charis only

please instruct the translators to ignore the double-quotation marks,
i.e., to not include the double-quotation marks in their translations
for those two strings.
I will make sure that the source (English) strings are fixed.


Thanks,
Einav

- Original Message -

From: Yuko Katabami ykata...@redhat.com
To: devel@ovirt.org
Sent: Wednesday, May 13, 2015 3:43:44 AM
Subject: Re: [ovirt-devel] [oVirt 3.6 Localization Question #8] 
VAR__ACTION__VOLUME_SNAPSHOT_CONFIG_UPDATE

Hi all,

I am reposting this question.
Could anyone able to answer it?

Kind regards,

Yuko

On 05/11/2015 10:08 PM, Yuko Katabami wrote:


Hello again and sorry for increasing email traffic.

Here is another question I would like to ask:

File: AppErrors
Resource ID: VAR__ACTION__VOLUME_SNAPSHOT_CONFIG_UPDATE
String: $action gluster volume snapshot config update
Question: Does this string need to be enclosed in double quotation marks,
unlike other $action?
What $type is this likely to be combined with? (in Cannot ${action}
${type}.) It is a bit tricky to make translation to work when this is used
as a variable, so I would like to check the usage examples.

Kind regards,

Yuko




___
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


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


Re: [ovirt-devel] [oVirt 3.6 Localization Question #8] VAR__ACTION__VOLUME_SNAPSHOT_CONFIG_UPDATE

2015-05-13 Thread Shubhendu Tripathi

Sorry Yuko,

I overlooked.
The value of $type here in this case would be replaced with Gluster 
Volume Snapshot.


Regards,
Shubhendu

On 05/14/2015 09:41 AM, Yuko Katabami wrote:

Hi Shubhendu,

Thank you very much for that.

Actually a part of my question is still not answered yet, which is:

What $type is this likely to be combined with? (in Cannot ${action}
${type}.) It is a bit tricky to make translation to work when this is 
used

as a variable, so I would like to check the usage examples.

Could you please provide me an example?

Kind regards,

Yuko

On 05/14/2015 02:07 PM, Shubhendu Tripathi wrote:

Hope this is resolved as Einav already sent a patch for the same.
Thanks Einav for the patch [1]. Copy paste errors :(

Regards,
Shubhendu

[1] https://gerrit.ovirt.org/#/c/40887/

On 05/13/2015 08:31 PM, Einav Cohen wrote:
@Shubhendu(/others) - can you please assist with the $type-related 
question?


@Yuko: as for the double-quotation marks - these indeed are not needed.
same for the following string (in the same file):
Resrouce ID: VALIDATION_DATA_CENTER_DESCRIPTION_INVALID
String: Data Center description must be formed of ASCII charis only

please instruct the translators to ignore the double-quotation marks,
i.e., to not include the double-quotation marks in their translations
for those two strings.
I will make sure that the source (English) strings are fixed.


Thanks,
Einav

- Original Message -

From: Yuko Katabami ykata...@redhat.com
To: devel@ovirt.org
Sent: Wednesday, May 13, 2015 3:43:44 AM
Subject: Re: [ovirt-devel] [oVirt 3.6 Localization Question #8]
VAR__ACTION__VOLUME_SNAPSHOT_CONFIG_UPDATE


Hi all,

I am reposting this question.
Could anyone able to answer it?

Kind regards,

Yuko

On 05/11/2015 10:08 PM, Yuko Katabami wrote:


Hello again and sorry for increasing email traffic.

Here is another question I would like to ask:

File: AppErrors
Resource ID: VAR__ACTION__VOLUME_SNAPSHOT_CONFIG_UPDATE
String: $action gluster volume snapshot config update
Question: Does this string need to be enclosed in double quotation 
marks,

unlike other $action?
What $type is this likely to be combined with? (in Cannot ${action}
${type}.) It is a bit tricky to make translation to work when this 
is used

as a variable, so I would like to check the usage examples.

Kind regards,

Yuko




___
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








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


Re: [ovirt-devel] [oVirt 3.6 Localization Question #9] distributed disperse volume vs disperse volume

2015-05-12 Thread Shubhendu Tripathi
Disperse volume is nothing but erasure encoded volume which is another 
way to achieve replication of data with lesser space utilization.
Refer URL: 
http://www.gluster.org/community/documentation/index.php/Features/disperse 
for more details.


On 05/12/2015 03:54 PM, Yuko Katabami wrote:

Hi all,

Could anyone help me with the following question?

*File:***AppErrors
*Resource 
ID:***ACTION_TYPE_FAILED_REMOVE_BRICK_FROM_DISTRIBUTED_DISPERSE_VOLUME_NOT_SUPPORTED
*String:***Cannot ${action} ${type}. Removal of bricks from 
distributed disperse volume is not supported.
*Question:* Sorry to ask you a basic question but could anyone explain 
the difference between distributed disperse volume and disperse 
volume? These words are synonymous and a bit difficult to 
differentiate in my language. I would like to have some extra 
information/context in order to translate them accurately.


Thank you,

Yuko



___
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] Proposing Sahina Bose as oVirt core maintainer

2015-03-01 Thread Shubhendu Tripathi

+1

Sent from Samsung Mobile

 Original message 
From: Oved Ourfali ov...@redhat.com 
Date: 01/03/2015  17:27  (GMT+05:30) 
To: engine-de...@ovirt.org devel@ovirt.org 
Subject: [ovirt-devel] Proposing Sahina Bose as oVirt core maintainer 
 
Hi all!

I would like to propose Sahina Bose as an engine-core maintainer, with regards 
to Gluster related code.
Sahina joined the oVirt project two years ago, and has since contributed over 
150 patches, and has been instrumental in reviews of all Gluster patches.

Will appreciate your response!

Thanks,
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] Gluster Volume Snapshots - Feature review

2015-01-01 Thread Shubhendu Tripathi

On 01/01/2015 10:36 PM, Einav Cohen wrote:

- Original Message -
From: Shubhendu Tripathi shtri...@redhat.com
Sent: Thursday, January 1, 2015 10:05:48 AM

On 12/31/2014 11:42 PM, Einav Cohen wrote:

Thanks, Shubhendu. Additional comments:


...
Yes, attempt to create second snapshot schedule is actually an override
option. Of course spot creation is allowed in addition to the scheduled.
...
...
If the option Volumes - Snapshots - New selected, the dialog opens
with pre-populated snapshot name prefix and Recurrence type selected as
None by default. This effectively is one time snapshot creation.
If this is first time and user wants to schedule the snapshot creation,
he/she can change the recurrence type and provide details. Snapshot
creation is scheduled in this case.
Later, it user wants to edit the schedule, he/she needs to select option
Volumes - Snapshots - Schedule (may be for this reason only I want to
call it Edit Schedule). So effectively option Volumes - Snapshots -
Schedule is meant for only re-scheduling the snapshot creation. If its
not yet scheduled dialog opens with recurrence type selected as None.
...

  From your latest responses, I conclude the following.

via the New dialog, you can:

(1) create a one-time snapshot
(2) create a new snapshot schedule
(3) override (and practically, edit) an existing snapshot schedule

via the Schedule dialog, you can:

(a) create a one-time snapshot (by selecting the 'None' recurrence)
(b) create a new snapshot schedule (by selecting something other than
'None' in the recurrence field, given that no schedule exists yet)
(c) edit an existing snapshot schedule (which is what this dialog is
actually meant to do).

I am not sure about (a), but it doesn't matter much for my point: New
and Schedule have the exact same functionality. To be more accurate:
New contains all of the needed functionality; Schedule is not really
needed. The only thing that New is potentially missing is showing the
values of the already-existing snapshot schedule, if one exists.

I think that this may confuse to the user; I recommend to either
unite both of these actions/dialogs to a single action/dialog, or
separate completely some functionalists.

So my recommendation is to do one of the following:

(a) unite:
Have a single action (Create / Schedule) which will display a
dialog very similar to the New dialog, with the option to see the
values of the already-existing snapshot schedule, if one exists.
In this case, I would actually recommend to go with something more
similar to option 2 in http://i.imgur.com/4j7hvRY.png, rather than
option 3 (so the separation between *creating new* *one-time*
snapshot and *editing an existing* *scheduled* snapshot is clearer).
see http://i.imgur.com/ZgCp9Tz.png for an updated suggestion.

- or -

(b) separate:
Have two completely separate actions: Create Now and Schedule.

- The Create Now dialog will look like the 'General' side-section
of the New dialog (i.e. without the Schedule side-section;
it will allow only one-time immediate snapshot creation.

- The Schedule dialog will look like the New dialog (with both
'General' and 'Schedule' side-sections) without the None recurrence,
and will allow only creating a new recurring snapshot schedule (if one
doesn't exist yet) or editing the existing schedule (in this case, the
dialog would be pre-populated with the values of the existing schedule).

I am more in favor of (b) - it seems simpler and more user-friendly in
my view.

Option (b) is something which we had started with, then at later stage
it was discussed that scheduling as well should be in the flow of
creation of snapshot so merged with New Snapshot option. After this as
we need Edit option for snapshot schedule, so introduced Schedule option.

But still, as you suggest I feel option (b) is no doubt a clearer and
user friendly way.

Alok, need a point of view from PMs on this.

Thanks, Shubhendu.

@Alok (and all):
the main pain-point in the current design that I am trying to address is
the fact that in the 'New' dialog, you have the option to create a one-
time snapshot, and within the same dialog, with a very small (too small
IMO) change, you have the option to edit (override) an already-existing
schedule, without even realizing necessarily that you are editing
something (since you are in a 'New' dialog) and without seeing the values
of the object that you are editing. From a UX perspective, this may be
confusing and misleading.

if it is imperative to combine the one-time creation functionality with
the scheduling functionality, you have option (a).

here is another option (c) that will allow you to create a one-time
snapshot and *create* a new schedule in the same dialog.
it is also probably the closest option to the original design in the
wiki, so I encourage you to consider it:

(c) Have two options, New and Schedule, like today.

- New will be *only* for creating new objects, not editing/overriding
existing ones. It will look very

Re: [ovirt-devel] Gluster Volume Snapshots - Feature review

2014-12-30 Thread Shubhendu Tripathi

Thanks Einav for the detailed review and your comments.
Find below the comment inline.

Will update the wiki accordingly and circulate.

Team, please provide your thoughts (if conflicting) on this.

Thanks and Regards,
Shubhendu

On 12/30/2014 05:33 AM, Einav Cohen wrote:

Hi Shubhendu,

First of all - very detailed wiki pages (I focused mainly on the
User Experience part) - nicely done.

I have a couple of comments / suggestions regarding the GUI:

Snapshot action-group:

- from the wiki page:

A new action-group Snapshot would be introduced under actions
for a volume.

I assume that you will implement it similarly to the Power Management
action-group (on Hosts main tab) or the Profiling action-group (on
the Volumes tab), i.e. with a drop-down-like styling
[http://i.imgur.com/eWRg6o8.png]?


Yes. That's correct.


- If the Snapshot-related actions are expected to be core/critical in
the Volumes-related workflows, it makes sense to put them in the main-
tab, but please consider adding them to the Snapshots sub-tab as well,
in order to be consistent with other similar oVirt workflows.


Yes that's true for most of the cases. But having Options setting from 
sub-tab, not sure if that's correct. May be New is fine.



New Snapshot dialog - Schedule section:

- I suggest to implement the time-interval selection with a drop-down,
rather than a radio-button group; it is more consistent with e.g.
event-repeat scheduling in a calendar [http://i.imgur.com/y9Gn3wq.png],
it will save real-estate within the dialog and it will be more easily
readable for the user.


That's a good suggestion. Will do this.


- to my understanding, the New Snapshot functionality doesn't have to
be recurrent; however, there isn't any way to disable the recurring
aspect. Here are some suggestions to how this should be added:
http://i.imgur.com/4j7hvRY.png


Once scheduled the only way to stop snapshot creation is to provide an 
end date.



Option 3 is my personal favorite - it is the simplest, and is consistent
with Calendear-scheduling UI. Option 1 is my least favorite, however it
is consistent with e.g. the Enable Power Management UI within the New
Host dialog.


Option-3 looks good to me as well. Should be doable I feel.


Snapshots - Options:

- I think that there are a couple of problematic issues with this dialog:

   * the different functionality of this dialog when a Volume is selected
vs. when no Volume is selected may be unclear to the user.


Agree

   
   * the fact that we can update Cluster-related parameters (which

potentially affects *all* volumes in that Cluster) within a specific
Volume-context dialog is a bit risky - and we don't have anything similar
to that anywhere in the application today IIRC.

my recommendations:

   * have separate Options - Cluster and Options - Volume actions;
Options - Cluster should always be enabled.
Options - Volume should be enabled only when a Volume is selected.


Accept


   * Seehttp://i.imgur.com/pfRpjrH.png  for my suggestion for Cluster
Options vs. Volume Options. Note that from the Volume Options
dialog, you may allow editing the Cluster Options by clicking on the
link-button, which will either (a) open the Cluster Options dialog
on top or (b) allow editing the Cluster Values inline within the
already-open dialog - this should be accompanied with a clear note to
the user that he is editing Cluster-related parameters from the current
(Volume) context, which may affect *all* Volumes in that Cluster.
Also note that in my suggestion, the user can conveniently see both the
Volume values and the Cluster Values side-by-side at once, for reference.


Accept


Snapshots - Schedule:

- to my understanding, this should be very similar (or identical) to the
New Snapshot functionality? if so, we may want to simply open the New
Snapshot dialog focused on the Schedule side-section (rather than the
'General' side-section, maybe already pre-populated with some values in
the 'General' side-section (which will still be editable by the user) and
something already pre-selected in the (focused) Schedule section.

please let me know whether you think these can/should be incorporated
into the design, and/or if you have any comments or questions.


Accept. The snapshot create dialog itself can be used here.


thanks.


Regards,
Einav

- Original Message -

From: Shubhendu Tripathishtri...@redhat.com
To:de...@linode01.ovirt.org,jhern...@redhat.com, Michael 
Pasternakmpast...@redhat.com
Sent: Monday, November 10, 2014 1:52:40 AM
Subject: [ovirt-devel] Gluster Volume Snapshots - Feature review

Hi All,

Please help us to review the design of Gluster Volume Snapshots in oVirt,

Here are two design on wiki page

General Feature Design
http://www.ovirt.org/Features/GlusterVolumeSnapshots

Detailed Design
http://www.ovirt.org/Features/Design/GlusterVolumeSnapshots

We target it in ovirt 3.6 release.

Marked Juan/Michael specifically for REST review.

Best Regards,
Shubhendu Tripathi

Re: [ovirt-devel] Gluster Volume Snapshots - Feature review

2014-12-30 Thread Shubhendu Tripathi
 will be pre-populated with the most common/reasonable recurrence
schedule, in case the user will not touch it.
BTW, if this is indeed the case, then there is probably no need for both
'New' and 'Schedule' buttons - only 'Schedule' is sufficient.


Accept. The snapshot create dialog itself can be used here.

Just need to make sure to change its title accordingly (to 'Schedule
Snapshot' or something similar; right now it says New Snapshot in
the wiki).

I assume that this dialog can be used for:

(a) creating a New snapshot schedule (which should look very similar
to the 'New Snapshot' dialog, maybe with some pre-populated values,
maybe without the 'None' option in the Recurrence drop-down).


If the option Volumes - Snapshots - New selected, the dialog opens 
with pre-populated snapshot name prefix and Recurrence type selected as 
None by default. This effectively is one time snapshot creation.
If this is first time and user wants to schedule the snapshot creation, 
he/she can change the recurrence type and provide details. Snapshot 
creation is scheduled in this case.
Later, it user wants to edit the schedule, he/she needs to select option 
Volumes - Snapshots - Schedule (may be for this reason only I want to 
call it Edit Schedule). So effectively option Volumes - Snapshots - 
Schedule is meant for only re-scheduling the snapshot creation. If its 
not yet scheduled dialog opens with recurrence type selected as None.




- and/or -

(b) editing the already-existing schedule (in this case, fields that
cannot be edited should be disabled).


As above.



I hope I was clear - please let me know if you have any questions or
comments.

Thanks again!


Regards,
Einav

- Original Message -

From: Shubhendu Tripathi shtri...@redhat.com
To: Einav Cohen eco...@redhat.com
Cc: de...@linode01.ovirt.org, rhsc-dev rhsc-...@redhat.com
Sent: Tuesday, December 30, 2014 7:09:51 AM
Subject: Re: [ovirt-devel] Gluster Volume Snapshots - Feature review

Thanks Einav for the detailed review and your comments.
Find below the comment inline.

Will update the wiki accordingly and circulate.

Team, please provide your thoughts (if conflicting) on this.

Thanks and Regards,
Shubhendu

On 12/30/2014 05:33 AM, Einav Cohen wrote:

Hi Shubhendu,

First of all - very detailed wiki pages (I focused mainly on the
User Experience part) - nicely done.

I have a couple of comments / suggestions regarding the GUI:

Snapshot action-group:

- from the wiki page:

A new action-group Snapshot would be introduced under actions
for a volume.

I assume that you will implement it similarly to the Power Management
action-group (on Hosts main tab) or the Profiling action-group (on
the Volumes tab), i.e. with a drop-down-like styling
[http://i.imgur.com/eWRg6o8.png]?

Yes. That's correct.


- If the Snapshot-related actions are expected to be core/critical in
the Volumes-related workflows, it makes sense to put them in the main-
tab, but please consider adding them to the Snapshots sub-tab as well,
in order to be consistent with other similar oVirt workflows.

Yes that's true for most of the cases. But having Options setting from
sub-tab, not sure if that's correct. May be New is fine.


New Snapshot dialog - Schedule section:

- I suggest to implement the time-interval selection with a drop-down,
rather than a radio-button group; it is more consistent with e.g.
event-repeat scheduling in a calendar [http://i.imgur.com/y9Gn3wq.png],
it will save real-estate within the dialog and it will be more easily
readable for the user.

That's a good suggestion. Will do this.


- to my understanding, the New Snapshot functionality doesn't have to
be recurrent; however, there isn't any way to disable the recurring
aspect. Here are some suggestions to how this should be added:
http://i.imgur.com/4j7hvRY.png

Once scheduled the only way to stop snapshot creation is to provide an
end date.


Option 3 is my personal favorite - it is the simplest, and is consistent
with Calendear-scheduling UI. Option 1 is my least favorite, however it
is consistent with e.g. the Enable Power Management UI within the New
Host dialog.

Option-3 looks good to me as well. Should be doable I feel.


Snapshots - Options:

- I think that there are a couple of problematic issues with this dialog:

* the different functionality of this dialog when a Volume is selected
vs. when no Volume is selected may be unclear to the user.

Agree


* the fact that we can update Cluster-related parameters (which

potentially affects *all* volumes in that Cluster) within a specific
Volume-context dialog is a bit risky - and we don't have anything similar
to that anywhere in the application today IIRC.

my recommendations:

* have separate Options - Cluster and Options - Volume actions;
Options - Cluster should always be enabled.
Options - Volume should be enabled only when a Volume is selected.

Accept


* Seehttp://i.imgur.com/pfRpjrH.png  for my suggestion for Cluster
Options vs

Re: [ovirt-devel] Gluster Volume Snapshots - Feature review

2014-12-30 Thread Shubhendu Tripathi

Small typo error corrected.

On 12/31/2014 11:26 AM, Shubhendu Tripathi wrote:

Hi Einav,

Find the comments inline.

Thanks and Regards,
Shubhendu

On 12/30/2014 11:13 PM, Einav Cohen wrote:

Thank you, Shubhendu! I have a few more comments:


Yes that's true for most of the cases. But having Options setting from
sub-tab, not sure if that's correct. May be New is fine.

I think that if a user already got to the Snapshots sub-tab of a
specific Volume, it would seem strange that not all Snapshots-related
actions for that Volume are available from there - but I will leave it
to your discretion; I think that New is indeed the most important one
to have also in the sub-tab.


We may have the New option available under sub tab as well. Setting 
configuration options would only be available in Volumes main tab.





Once scheduled the only way to stop snapshot creation is to provide an
end date.
let me try and understand what are the exact snapshot creation 
capabilities.

consider the following use-cases (which may make absolutely no sense,
just giving these as examples in order to understand the capabilities):

(1) let's say that I want to do two recurring snapshots schedules in
parallel for a single volume: one Monthly, and another one Weekly.
Can I do that?


We can have only one schedule for a volume at a time.



I am assuming that I can't, i.e. there can only be one 
recurring-snapshot-

creation schedule per volume (which you create via New and edit via
Schedule) - is that correct? If so: are you blocking an attempt to
create a New recurring snapshot schedule when one already exists for
this Volume (e.g. disable the New button, fail a CanDoAction with a
message such as Cannot create snapshot scheduling. A snapshot 
scheduling
already exists for this Volume, etc.) or allowing override of the 
already-

existing schedule (with a proper warning)?


Even if a volume snapshot creation is scheduled user can still opt for 
onetime spot snapshot creation and New would be available.




If my assumption is wrong, and I can have two (or more) recurring-
snapshot-creation schedules per volume: how do I *edit* these schedules?
what happens when I click on Schedule? which one of the two schedules
will I edit? The Weekly one? The Monthly one?


As there is only one schedule for a volume at a time, so this is not 
valid scenario. Exiting single instance of schedule can be edited 
using the option Volumes - Snapshots - Schedule. May be if you 
suggest this option can be renamed to Edit Schedule.


If I am comparing the terminology to the one of Calendar meeting 
schedule

(see http://i.imgur.com/xvf5w30.png): I don't have any series objects
that I can 'edit', I can see only instances, and I can edit only one
global 'series' object via the Schedule button.
[again: if there can only be one recurring-snapshot-creation schedule 
per

volume, then the current design is OK, assuming the attempt to create a
second snapshot-schedule for a volume is properly 
blocked/overridden/...]


Yes, attempt to create second snapshot schedule is actually an 
override option. Of course spot creation is allowed in addition to the 
scheduled.




(2) let's say that I want to do a weekly recurring snapshot 
scheduling for

a certain volume. In addition to that weekly recurring snapshots, I want
to take a one-time snapshot of this volume right now. Can I do that?


Yes, as discussed above stop one time creation in addition to the 
scheduled is allowed.


%s/stop/spot/g





If so: then my suggestion [http://i.imgur.com/4j7hvRY.png, option 3] is
indeed valid; I am assuming that the user can create, per volume: one
recurring snapshot schedule + unlimited one-time snapshots.


Yes. That's correct.


[If the user can create two (or more) recurring snapshot schedules - see
(1) above].
need to make sure that the user is able to create a New snapshot with
the Weekly recurrence schedule, and then another New snapshot(s) 
with
the None recurrence schedule, which will create the one-time 
snapshot(s)

immediately, and that the schedule of the Weekly snapshot can be edited
via the Schedule option.


So it goes like this. Say a Weekly snapshot is scheduled for certain 
volume and later user wants to create single on-spot snapshot. For 
this he/she need to select the option Volumes - Snapshots - New and 
not Volumes - Snapshots - Schedule. By default the option None is 
selected as Recurrence type and it creates a one time snapshot. Still 
the schedule stands valid in the system and if the user wants to edit 
the schedule he/she need to select the option Volumes - Snapshots - 
Schedule. Hope this clarifies.




If not (i.e. the user can create only one recurring snapshot schedule,
and that's it - no additional recurring snapshot schedules, no one-time
immediate snapshots, etc.), then my suggestion is invalid, and a 'None'
recurrence is not needed.


As said above, one time snapshot creation is still allowed in addition 
to the scheduled. (Using Volumes

Re: [ovirt-devel] Gluster Volume Snapshots - Feature review

2014-12-23 Thread Shubhendu Tripathi

Hi Juan,

Incorporated the comments in the wiki.
Kindly do have a look.

Thanks and Regards,
Shubhendu

On 12/18/2014 06:38 PM, Shubhendu Tripathi wrote:

Hi Juan,

Thanks for the detailed comments.
My comments inline.

Thanks and Regards,
Shubhendu

On 12/11/2014 08:56 PM, Juan Hernández wrote:

On 12/11/2014 05:36 AM, Shubhendu Tripathi wrote:

Hi Juan,

Incorporated the review comments.
Kindly have a look and let us know if everything looks well and good.

Thanks and Regards,
Shubhendu


Thanks for making the changes. I have some additional comments:

1. URL segments shouldn't have underscores. For example, you are
proposing URLs like this:

/clusters/{cluster:id}/glustervolumes/{volume:id}/volume_snapshots

The last component should be volumesnapshots, without the underscore.
Note that on the other hand XML element should have underscores, like in
volume_snapshots, that is correct.


Sure. Will do the changes accordingly.



2. Try to avoid abbreviations. For example, instead of whatever_params
use whatever_parameters, and instead of scheduling_det use
scheduling_details, use cron_expression instead of cronexpr, so 
on.


Sure. Will do the changes accordingly.



3. If possible the action to delete a snapshot shouldn't receive any
parameters, not even an empty action/ element.


Sure. Will do the changes accordingly.



4. The schedulesnapshot action should be modeled using REST style, not
an action. My understanding is that you plan to have for each volume a
set of rules that define when the snapshots will be created. This should
be implemented as a sub-collection of the volume, so that these rules
can be queried, added, modified and deleted:

   To query:

   GET ...{volume:id}/snapshotrules
   snapshot_rules
 snapshot_rule id=... href=...
   crontab_expression.../crontab_expression
 /snapshot_rule
 ...
   /snapshot_rules

   To add:

   POST ...{volume:id{/snapshotrules
   snapshot_rule
 crontab_expression.../crontab_expression
   /snapshot_rule

   To modify:

   PUT ...{volume:id}/snapshotrules/{snapshotrule:id}
   snapshot_rule
 crontab_expression.../crontab_expression
   /snapshot_rule

   To delete (note that there is no body):

DELETE ...{volume:id}/snapshotrules/{snapshotrule:id}

If there will be only one of these rules per volume then you can model
them as attributes of the volume itself, without the sub-collection.


At a time there would be only one rule for a volume, so as suggested 
it could be a volume attribute. Will model accordingly.




5. The snapshotconfigs should be modeled as an attribute of the
volume, not as an action.


As above.




On 12/09/2014 07:23 PM, Shubhendu Tripathi wrote:
Thanks Juan for the comments. I would update the wiki accordingly 
and send for confirmation.


Regards
Shubhendu

Sent from Samsung Mobile

 Original message 
From: Juan Hernández jhern...@redhat.com
Date: 09/12/2014  18:51  (GMT+05:30)
To: Shubhendu Tripathi 
shtri...@redhat.com,devel@ovirt.org,Michael Pasternak 
mpast...@redhat.com

Subject: Re: [ovirt-devel] Gluster Volume Snapshots - Feature review
   On 12/04/2014 07:11 PM, Shubhendu Tripathi wrote:

Hi Juan/Michael,

This is a gentle reminder for the review of the REST api design 
for the

below feature.
We would be starting the REST development for the same soon 
(probably by

Dec 2014 end).

If there are specific comments, please pass it on. If no comments we
would go ahead with the current design and implement accordingly.

Request your time for this.

Thanks and Regards,
Shubhendu

On 11/10/2014 12:22 PM, Shubhendu Tripathi wrote:

Hi All,

Please help us to review the design of Gluster Volume Snapshots 
in oVirt,


Here are two design on wiki page

General Feature Design
http://www.ovirt.org/Features/GlusterVolumeSnapshots

Detailed Design
http://www.ovirt.org/Features/Design/GlusterVolumeSnapshots

We target it in ovirt 3.6 release.

Marked Juan/Michael specifically for REST review.

Best Regards,
Shubhendu Tripathi

My comments about the RESTAPI:

1. You can't use the snapshot and snapshots XML elements, as those
are already in use for disk snapshots, and we don't have name space
support in the RESTAPI. You will have to use something different, for
example gluster_volume_snapshots and gluster_volume_snapshot.

2. When adding a volume snapshot the name of the volume shouldn't be a
parameter, as that is implicit. Only the name and description of the
snapshot should be provided.

3. The operation to delete a snapshot should be performed on the
snapshot resource, not on the collection:

DELETE
/clusters/{cluster:id}/glustervolumes/{volume:id}/snapshots/{snapshot:id} 



Ideally this operation shouldn't receive any parameters (thus no 
body).

If it does require parameters then they should be contained inside an
action element.

4. The operation to update the snapshot configuration should be the 
PUT

operation of the volume, not a new snapshotconfig sub-resource, as
these kind of sub

Re: [ovirt-devel] Gluster Volume Snapshots - Feature review

2014-12-18 Thread Shubhendu Tripathi

Hi Juan,

Thanks for the detailed comments.
My comments inline.

Thanks and Regards,
Shubhendu

On 12/11/2014 08:56 PM, Juan Hernández wrote:

On 12/11/2014 05:36 AM, Shubhendu Tripathi wrote:

Hi Juan,

Incorporated the review comments.
Kindly have a look and let us know if everything looks well and good.

Thanks and Regards,
Shubhendu


Thanks for making the changes. I have some additional comments:

1. URL segments shouldn't have underscores. For example, you are
proposing URLs like this:

   /clusters/{cluster:id}/glustervolumes/{volume:id}/volume_snapshots

The last component should be volumesnapshots, without the underscore.
Note that on the other hand XML element should have underscores, like in
volume_snapshots, that is correct.


Sure. Will do the changes accordingly.



2. Try to avoid abbreviations. For example, instead of whatever_params
use whatever_parameters, and instead of scheduling_det use
scheduling_details, use cron_expression instead of cronexpr, so on.


Sure. Will do the changes accordingly.



3. If possible the action to delete a snapshot shouldn't receive any
parameters, not even an empty action/ element.


Sure. Will do the changes accordingly.



4. The schedulesnapshot action should be modeled using REST style, not
an action. My understanding is that you plan to have for each volume a
set of rules that define when the snapshots will be created. This should
be implemented as a sub-collection of the volume, so that these rules
can be queried, added, modified and deleted:

   To query:

   GET ...{volume:id}/snapshotrules
   snapshot_rules
 snapshot_rule id=... href=...
   crontab_expression.../crontab_expression
 /snapshot_rule
 ...
   /snapshot_rules

   To add:

   POST ...{volume:id{/snapshotrules
   snapshot_rule
 crontab_expression.../crontab_expression
   /snapshot_rule

   To modify:

   PUT ...{volume:id}/snapshotrules/{snapshotrule:id}
   snapshot_rule
 crontab_expression.../crontab_expression
   /snapshot_rule

   To delete (note that there is no body):

DELETE ...{volume:id}/snapshotrules/{snapshotrule:id}

If there will be only one of these rules per volume then you can model
them as attributes of the volume itself, without the sub-collection.


At a time there would be only one rule for a volume, so as suggested it 
could be a volume attribute. Will model accordingly.




5. The snapshotconfigs should be modeled as an attribute of the
volume, not as an action.


As above.




On 12/09/2014 07:23 PM, Shubhendu Tripathi wrote:

Thanks Juan for the comments. I would update the wiki accordingly and send for 
confirmation.

Regards
Shubhendu

Sent from Samsung Mobile

 Original message 
From: Juan Hernández jhern...@redhat.com
Date: 09/12/2014  18:51  (GMT+05:30)
To: Shubhendu Tripathi shtri...@redhat.com,devel@ovirt.org,Michael Pasternak 
mpast...@redhat.com
Subject: Re: [ovirt-devel] Gluster Volume Snapshots - Feature review
   
On 12/04/2014 07:11 PM, Shubhendu Tripathi wrote:

Hi Juan/Michael,

This is a gentle reminder for the review of the REST api design for the
below feature.
We would be starting the REST development for the same soon (probably by
Dec 2014 end).

If there are specific comments, please pass it on. If no comments we
would go ahead with the current design and implement accordingly.

Request your time for this.

Thanks and Regards,
Shubhendu

On 11/10/2014 12:22 PM, Shubhendu Tripathi wrote:

Hi All,

Please help us to review the design of Gluster Volume Snapshots in oVirt,

Here are two design on wiki page

General Feature Design
http://www.ovirt.org/Features/GlusterVolumeSnapshots

Detailed Design
http://www.ovirt.org/Features/Design/GlusterVolumeSnapshots

We target it in ovirt 3.6 release.

Marked Juan/Michael specifically for REST review.

Best Regards,
Shubhendu Tripathi

My comments about the RESTAPI:

1. You can't use the snapshot and snapshots XML elements, as those
are already in use for disk snapshots, and we don't have name space
support in the RESTAPI. You will have to use something different, for
example gluster_volume_snapshots and gluster_volume_snapshot.

2. When adding a volume snapshot the name of the volume shouldn't be a
parameter, as that is implicit. Only the name and description of the
snapshot should be provided.

3. The operation to delete a snapshot should be performed on the
snapshot resource, not on the collection:

DELETE
/clusters/{cluster:id}/glustervolumes/{volume:id}/snapshots/{snapshot:id}

Ideally this operation shouldn't receive any parameters (thus no body).
If it does require parameters then they should be contained inside an
action element.

4. The operation to update the snapshot configuration should be the PUT
operation of the volume, not a new snapshotconfig sub-resource, as
these kind of sub-resources aren't well supported by the SDKs and the CLI.


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

Re: [ovirt-devel] Gluster Volume Snapshots - Feature review

2014-12-09 Thread Shubhendu Tripathi

Thanks Juan for the comments. I would update the wiki accordingly and send for 
confirmation.

Regards
Shubhendu

Sent from Samsung Mobile

 Original message 
From: Juan Hernández jhern...@redhat.com 
Date: 09/12/2014  18:51  (GMT+05:30) 
To: Shubhendu Tripathi shtri...@redhat.com,devel@ovirt.org,Michael Pasternak 
mpast...@redhat.com 
Subject: Re: [ovirt-devel] Gluster Volume Snapshots - Feature review 
 
On 12/04/2014 07:11 PM, Shubhendu Tripathi wrote:
 Hi Juan/Michael,
 
 This is a gentle reminder for the review of the REST api design for the 
 below feature.
 We would be starting the REST development for the same soon (probably by 
 Dec 2014 end).
 
 If there are specific comments, please pass it on. If no comments we 
 would go ahead with the current design and implement accordingly.
 
 Request your time for this.
 
 Thanks and Regards,
 Shubhendu
 
 On 11/10/2014 12:22 PM, Shubhendu Tripathi wrote:
 Hi All,

 Please help us to review the design of Gluster Volume Snapshots in oVirt,

 Here are two design on wiki page

 General Feature Design
 http://www.ovirt.org/Features/GlusterVolumeSnapshots

 Detailed Design
 http://www.ovirt.org/Features/Design/GlusterVolumeSnapshots

 We target it in ovirt 3.6 release.

 Marked Juan/Michael specifically for REST review.

 Best Regards,
 Shubhendu Tripathi

My comments about the RESTAPI:

1. You can't use the snapshot and snapshots XML elements, as those
are already in use for disk snapshots, and we don't have name space
support in the RESTAPI. You will have to use something different, for
example gluster_volume_snapshots and gluster_volume_snapshot.

2. When adding a volume snapshot the name of the volume shouldn't be a
parameter, as that is implicit. Only the name and description of the
snapshot should be provided.

3. The operation to delete a snapshot should be performed on the
snapshot resource, not on the collection:

  DELETE
/clusters/{cluster:id}/glustervolumes/{volume:id}/snapshots/{snapshot:id}

Ideally this operation shouldn't receive any parameters (thus no body).
If it does require parameters then they should be contained inside an
action element.

4. The operation to update the snapshot configuration should be the PUT
operation of the volume, not a new snapshotconfig sub-resource, as
these kind of sub-resources aren't well supported by the SDKs and the CLI.

-- 
Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta
3ºD, 28016 Madrid, Spain
Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel

[ovirt-devel] Certain questions about Quartz based scheduling in oVirt

2014-11-23 Thread Shubhendu Tripathi

Hi All,

We are in a requirement where we need to schedule jobs at certain time 
interval, hourly, daily, weekly and monthly (i.e. repetitive and cron 
kind of scheduling).
I was trying to understand quartz based scheduling mechanism in oVirt to 
achieve the scenarios.


Have some basic questions regarding the same -
1. Is there is mechanism to persist the scheduling data in oVirt ?
2. How to tackle edit and rescheduling of jobs ?

Kindly guide on how to achieve these.

Thanks and Regards,
Shubhendu
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


Re: [ovirt-devel] Error while building ovirt upstream

2014-11-13 Thread Shubhendu Tripathi

On 11/13/2014 12:54 PM, Sandro Bonazzola wrote:

Il 13/11/2014 06:16, Shubhendu Tripathi ha scritto:

Hi,

Today I rebased with master and getting below error while building the engine.

[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ vdsbroker ---
[INFO] Compiling 312 source files to 
Home/work/ovirt-engine/backend/manager/modules/vdsbroker/target/classes
[INFO] -
[ERROR] COMPILATION ERROR :
[INFO] -
[ERROR] error: error reading
Home/.m2/repository/org/ovirt/vdsm-jsonrpc-java/vdsm-jsonrpc-java-client/1.1.0-SNAPSHOT/vdsm-jsonrpc-java-client-1.1.0-SNAPSHOT.jar;
 error in
opening zip file
[INFO] 1 error

Kindly help resolving the same.


Looks like your jar file got corrupted.
Can you try removing 
~/.m2/repository/org/ovirt/vdsm-jsonrpc-java/vdsm-jsonrpc-java-client/1.1.0-SNAPSHOT/vdsm-jsonrpc-java-client-1.1.0-SNAPSHOT.jar
and rebuild?


Sandro,

I removed the whole dir ~/.m2 and tried again, but still the issue.

I did one more analysis where I took latest master and reset to the 
state one patch below change-id 
Ib69768ab2b384136308e16624a365c98583fba63 (jsonrpc: json version bumped).

Then the build went through.
If I apply the above mentioned patch again, build fails. So I guess this 
issue is specific to some packages (though a weird guess).


Regards,
Shubhendu


Regards,
Shubhendu

___
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] Error while building ovirt upstream

2014-11-13 Thread Shubhendu Tripathi

On 11/13/2014 02:19 PM, Piotr Kliczewski wrote:

On Thu, Nov 13, 2014 at 9:26 AM, Shubhendu Tripathi shtri...@redhat.com wrote:

On 11/13/2014 12:54 PM, Sandro Bonazzola wrote:

Il 13/11/2014 06:16, Shubhendu Tripathi ha scritto:

Hi,

Today I rebased with master and getting below error while building the
engine.

[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @
vdsbroker ---
[INFO] Compiling 312 source files to
Home/work/ovirt-engine/backend/manager/modules/vdsbroker/target/classes
[INFO] -
[ERROR] COMPILATION ERROR :
[INFO] -
[ERROR] error: error reading

Home/.m2/repository/org/ovirt/vdsm-jsonrpc-java/vdsm-jsonrpc-java-client/1.1.0-SNAPSHOT/vdsm-jsonrpc-java-client-1.1.0-SNAPSHOT.jar;
error in
opening zip file
[INFO] 1 error

Kindly help resolving the same.


Looks like your jar file got corrupted.
Can you try removing
~/.m2/repository/org/ovirt/vdsm-jsonrpc-java/vdsm-jsonrpc-java-client/1.1.0-SNAPSHOT/vdsm-jsonrpc-java-client-1.1.0-SNAPSHOT.jar
and rebuild?


Sandro,

I removed the whole dir ~/.m2 and tried again, but still the issue.


Is the build failing with the same issue:  error opening zip or
something else?


Even after deleting the whole dir it was failing with same.
So explicitly I downloaded the JAR from 
https://oss.sonatype.org/content/repositories/snapshots/org/ovirt/vdsm-jsonrpc-java/vdsm-jsonrpc-java-client/1.1.0-SNAPSHOT/.
After this build works fine. Not sure how come during build some wrong 
jar is getting downloaded which is corrupt.



I did one more analysis where I took latest master and reset to the state
one patch below change-id Ib69768ab2b384136308e16624a365c98583fba63
(jsonrpc: json version bumped).
Then the build went through.
If I apply the above mentioned patch again, build fails. So I guess this
issue is specific to some packages (though a weird guess).

Regards,
Shubhendu



Regards,
Shubhendu

___
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




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


Re: [ovirt-devel] Error while building ovirt upstream

2014-11-13 Thread Shubhendu Tripathi

On 11/13/2014 03:53 PM, Piotr Kliczewski wrote:

On Thu, Nov 13, 2014 at 11:12 AM, Shubhendu Tripathi
shtri...@redhat.com wrote:

On 11/13/2014 02:19 PM, Piotr Kliczewski wrote:

On Thu, Nov 13, 2014 at 9:26 AM, Shubhendu Tripathi shtri...@redhat.com
wrote:

On 11/13/2014 12:54 PM, Sandro Bonazzola wrote:

Il 13/11/2014 06:16, Shubhendu Tripathi ha scritto:

Hi,

Today I rebased with master and getting below error while building the
engine.

[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @
vdsbroker ---
[INFO] Compiling 312 source files to

Home/work/ovirt-engine/backend/manager/modules/vdsbroker/target/classes
[INFO] -
[ERROR] COMPILATION ERROR :
[INFO] -
[ERROR] error: error reading


Home/.m2/repository/org/ovirt/vdsm-jsonrpc-java/vdsm-jsonrpc-java-client/1.1.0-SNAPSHOT/vdsm-jsonrpc-java-client-1.1.0-SNAPSHOT.jar;
error in
opening zip file
[INFO] 1 error

Kindly help resolving the same.


Looks like your jar file got corrupted.
Can you try removing

~/.m2/repository/org/ovirt/vdsm-jsonrpc-java/vdsm-jsonrpc-java-client/1.1.0-SNAPSHOT/vdsm-jsonrpc-java-client-1.1.0-SNAPSHOT.jar
and rebuild?


Sandro,

I removed the whole dir ~/.m2 and tried again, but still the issue.


Is the build failing with the same issue:  error opening zip or
something else?


Even after deleting the whole dir it was failing with same.
So explicitly I downloaded the JAR from
https://oss.sonatype.org/content/repositories/snapshots/org/ovirt/vdsm-jsonrpc-java/vdsm-jsonrpc-java-client/1.1.0-SNAPSHOT/.
After this build works fine. Not sure how come during build some wrong jar
is getting downloaded which is corrupt.


What is the mirror that is configured in your settings.xml?


Once I deleted ~/.m2 and executed build again I dont have a settings.xml 
explicitly.





I did one more analysis where I took latest master and reset to the state
one patch below change-id Ib69768ab2b384136308e16624a365c98583fba63
(jsonrpc: json version bumped).
Then the build went through.
If I apply the above mentioned patch again, build fails. So I guess this
issue is specific to some packages (though a weird guess).

Regards,
Shubhendu



Regards,
Shubhendu

___
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






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


[ovirt-devel] Gluster Volume Snapshots - Feature review

2014-11-09 Thread Shubhendu Tripathi

Hi All,

Please help us to review the design of Gluster Volume Snapshots in oVirt,

Here are two design on wiki page

General Feature Design
http://www.ovirt.org/Features/GlusterVolumeSnapshots

Detailed Design
http://www.ovirt.org/Features/Design/GlusterVolumeSnapshots

We target it in ovirt 3.6 release.

Marked Juan/Michael specifically for REST review.

Best Regards,
Shubhendu Tripathi
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


[Engine-devel] Gluster volume capacity feature

2013-12-20 Thread Shubhendu Tripathi

Hi All,

A new wiki has been published for feature Gluster Volume Capacity
http://www.ovirt.org/Features/Gluster_Volume_Capacity

Please review the same and provide your comments.

Added Michael and Ori specifically for review of REST apis.

Thanks,
Shubhendu Tripathi

___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] [jenkins] dao tests broken

2013-12-15 Thread Shubhendu Tripathi
The class VdcUserTest does not exist in master.
Whereas it is present in all other branches like ovirt-engine-3.3, 
ovirt-engine-3.3.0, ovirt-engine-3.3.1 and ovirt-engine-3.3.2.

- Original Message -
From: Yair Zaslavsky yzasl...@redhat.com
To: Ohad Basan oba...@redhat.com
Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
Sent: Sunday, December 15, 2013 6:59:12 PM
Subject: Re: [Engine-devel] [jenkins] dao tests broken

Worked for me perfectly on master.


- Original Message -
 From: Ohad Basan oba...@redhat.com
 To: Gilad Chaplik gchap...@redhat.com
 Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
 Sent: Sunday, December 15, 2013 1:44:08 PM
 Subject: Re: [Engine-devel] [jenkins] dao tests broken
 
 this job doesn't do any rebase
 where do you see it ?
 http://jenkins.ovirt.org/job/ovirt_engine_dao_unit_tests/5446/console
 I didn't find rebase in the console log
 
 
 - Original Message -
  From: Gilad Chaplik gchap...@redhat.com
  To: Eyal Edri ee...@redhat.com
  Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
  Sent: Sunday, December 15, 2013 1:06:04 PM
  Subject: Re: [Engine-devel] [jenkins] dao tests broken
  
  
  - Original Message -
   From: Eyal Edri ee...@redhat.com
   To: engine-devel engine-devel@ovirt.org
   Cc: infra in...@ovirt.org, Gilad Chaplik gchap...@redhat.com
   Sent: Sunday, December 15, 2013 12:10:11 PM
   Subject: [jenkins] dao tests broken
   
   fyi,
   
   dao tests are broken for some time now, who can look into it?
   current failing tests are:
  
  Hi Eyal,
  
  what fails is unit tests and not dao tests (fails on dao job),
  it looks like you're trying to rebase ovirt-engine-3.3 on top of master
  (you
  can see it even it the log, comparing the last success and first fail
  jobs).
  
  can you check it out?
  
  Thanks,
  Gilad.
  
   
   Tests in error:
 testAdUserConstrcutor(org.ovirt.engine.core.common.users.VdcUserTest):
 
   org.ovirt.engine.core.common.businessentities.LdapUser.setPassword(Ljava/lang/String;)V
 
   testAdUserAndFalseBooleanConstrcutor(org.ovirt.engine.core.common.users.VdcUserTest):
 
   org.ovirt.engine.core.common.businessentities.LdapUser.setPassword(Ljava/lang/String;)V
 
   testAdUserAndTrueBooleanConstrcutor(org.ovirt.engine.core.common.users.VdcUserTest):
 
   org.ovirt.engine.core.common.businessentities.LdapUser.setPassword(Ljava/lang/String;)V
 getUserFQN(org.ovirt.engine.core.common.users.VdcUserTest):
 
   org.ovirt.engine.core.common.businessentities.LdapUser.setPassword(Ljava/lang/String;)V
   
   http://jenkins.ovirt.org/job/ovirt_engine_dao_unit_tests/5446/console
   
   looks like it started after commit :
   http://jenkins.ovirt.org/job/ovirt_engine_dao_unit_tests/5438/
   core: scheduling: handle cpu load duration (detail / gitweb)
   
   Eyal.
   
  ___
  Engine-devel mailing list
  Engine-devel@ovirt.org
  http://lists.ovirt.org/mailman/listinfo/engine-devel
  
 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel
 
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] IMP: Regarding an issue while translating the error messages for gluster using ErrorTranslator class

2013-11-21 Thread Shubhendu Tripathi

On 11/11/2013 08:48 PM, Einav Cohen wrote:

- Original Message -
From: Shubhendu Tripathi shtri...@redhat.com
Sent: Saturday, November 9, 2013 4:07:44 AM

On 11/06/2013 07:40 PM, Einav Cohen wrote:

- Original Message -
From: Alexander Wels aw...@redhat.com
Sent: Wednesday, November 6, 2013 8:28:13 AM

Looking at the code, if you start the error message with a $ it will not
do
the . to _ replacement. Not sure if your error message will now simply
start
with a $, but it is worth a try I guess.

AFAIK: the '$' prefix is for variable-value message.
e.g. if you have a message cannot run VM ${vm-name} and another one
$vm-name vm1,
then their combination would eventually yield cannot run VM vm1.
Also, I think that messages that begin with $ cannot be displayed when
they
are on their own.
i.e. if you will get message $vm-name vm1 'alone', nothing will
eventually be displayed.
but, as I mentioned, if you will get message $vm-name vm1 along with
message cannot run
VM ${vm-name}, eventually cannot run VM vm1 will be displayed.

I think that the replacement of . to _ should be done only if the
message
represents a *key* in the relevant resource (VdsmErrors in this case).
but if the message is not a key, and would be displayed as-is, on . to
_ replacement
should take place.
adding Derez for his thoughts (I think that he changed something around it
a while ago).

There is an upstream patch according to Einav's suggestion above.
http://gerrit.ovirt.org/#/c/21083/

Many thanks, Shubhendu.
@Derez - any chance that you can take a look (as you probably understand best
this particular code/logic)?

Daniel, any comments on the patch ?

http://gerrit.ovirt.org/#/c/21083/




On Wednesday, November 06, 2013 03:37:34 PM Shubhendu Tripathi wrote:

Hi,

In the case of Gluster, as there are no one to one mappings available
for all the error messages from Gluster, we set the error in the
VdcFault object as NULL.
We also populate the actual error from the Gluster as error message in
the fault object.

/getReturnValue().getExecuteFailedMessages().add(error);//
//getReturnValue().getFault().setMessage(error);//
//getReturnValue().getFault().setError(null);/

Because of above settings and the below code snippet in /Frontend.java/
class the error message as is gets displayed on the error dialog -
/
//public String translateVdcFault(final VdcFault fault) {//
//return
getVdsmErrorsTranslator().TranslateErrorTextSingle(fault.getError() ==
null//
//? fault.getMessage() : fault.getError().toString());//
//}//
/
Well and good till now !!

But while translation of the error messages, all the occurrences of .
get replaced with _.
This causes an issue for the gluster errors. If the error message sent
from gluster has .s (say IP Address of a host or FQDN for a host),
that also gets replaced with _ and the error message does not look
correct.

Request your suggestion for handling such a case.

*PS: *One thing I can think of is, introducing a flag called
/isExternalError/ in /VdcFault/ class to identify if the source of the
fault is external. From Gluster we would set the flag as /true/, and
while replacement of . with _, if the flag is set it will not do the
replacements.

Regards,
Shubhendu

___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel







___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] RSDL breakage in oVirt upstream

2013-11-15 Thread Shubhendu Tripathi

On 11/15/2013 09:28 AM, Shubhendu Tripathi wrote:

On 11/14/2013 08:26 PM, Michael Pasternak wrote:

Hi Shubhendu,

On 11/14/2013 04:32 PM, Shubhendu Tripathi wrote:

Hi Michael/Ori,

There is payload breakage for RSDL in upstream oVirt.

can you elaborate a bit? [1] works for me.

[1] http://localhost:8080/api?rsdl
I have raised the patch http://gerrit.ovirt.org/#/c/21308/ resolving the 
same issue.

Kindly have a look and do the needful.

Hi Michael,

The RSDL gets displayed but there are some issues while showing the 
payload details for 'glustervolumes'.

Current value shown in the UI is as below -

link href=/ovirt-engine/api/clusters/{cluster:id}/glustervolumes 
rel=add

request
http_methodPOST/http_method
body
typeGlusterVolume/type
/body
/request
response
typeGlusterVolume/type
/response
/link

Attached the RSDl file for reference.

Whereas the correct value should be as below -

link href=/api/clusters/{cluster:id}/glustervolumes rel=add
descriptionadd a new gluster volume to the cluster/description
request
http_methodPOST/http_method
headers
header required=true
nameContent-Type/name
valueapplication/xml|json/value
/header
header required=false
nameExpect/name
value201-created/value
/header
header required=false
nameCorrelation-Id/name
valueany string/value
/header
/headers
body
typeGlusterVolume/type
parameters_set
description
add a new gluster volume to the cluster at the specified gluster fs 
server

/description
parameter required=true type=xs:string
namegluster_volume.name/name
/parameter
parameter required=true type=xs:string
namegluster_volume.volume_type/name
/parameter
parameter required=true type=collection
namegluster_volume.bricks.brick/name
parameters_set
parameter required=true type=xs:string
namebrick.server_id/name
/parameter
parameter required=true type=xs:string
namebrick.brick_dir/name
/parameter
/parameters_set
/parameter
parameter required=false type=collection
namegluster_volume.transport_types/name
parameters_set
parameter required=false type=xs:string
nametransport_type/name
/parameter
/parameters_set
/parameter
parameter required=false type=xs:unsignedShort
namegluster_volume.replica_count/name
/parameter
parameter required=false type=xs:unsignedShort
namegluster_volume.stripe_count/name
/parameter
parameter required=false type=collection
namegluster_volume.options.option/name
parameters_set
parameter required=false type=xs:string
nameoption.name/name
/parameter
parameter required=false type=xs:string
nameoption.value/name
/parameter
/parameters_set
/parameter
/parameters_set
/body
/request
response
typeGlusterVolume/type
/response
/link




This has happened somewhere between the patches 
gerrit.ovirt.org/#/c/20610/ and http://gerrit.ovirt.org/#/c/15409/.
If I try to test out with patch http://gerrit.ovirt.org/#/c/15409/, 
it does break.


Not sure what could be the issue. Tried debugging but not able to 
figure it out.


Kindly help me on the same figuring out what could be the issue.

Thanks and Regards,
Shubhendu







___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] REST-API: Problem with additional DELETE action at collection level

2013-11-11 Thread Shubhendu Tripathi

Self and Ori had a detailed discussion on the topic.

Points discussed -

1. Ori mentioned that Michael and Ori did not mean to have a separate 
DELETE action for the purpose of commit in previous discussions.
2. Ori tried to understand the intention behind the separate commit 
command in gluster and suggested that ideally gluster should remember 
that a migration of data is started on the set of bricks, and if there 
is a delete fired on the same bricks it should perform a commit action 
because commit is nothing but a delete action

3. Ori suggested that in an ideal situation APIs needed would be
- start migrate
- stop migrate
- delete bricks
- retain bricks
4. As suggested by Ori, the remove bricks action should internally 
decide if there was a data migration, started on the set of bricks. If 
so, it should effectively fire a commit for the set of bricks. And if 
there was not occurrence of data migration it should behave like a 
normal force remove action.


Ori, please add your comments if I have missed out anything here.

Sahina, request your comments on the same.

Thanks and Regards,
Shubhendu

On 11/11/2013 10:30 AM, Shubhendu Tripathi wrote:

On 11/10/2013 11:06 PM, Moti Asayag wrote:


- Original Message -

From: Shubhendu Tripathi shtri...@redhat.com
To: engine-devel engine-devel@ovirt.org, Michael Pasternak 
mpast...@redhat.com, ol...@redhat.com

Sent: Friday, November 8, 2013 8:37:30 AM
Subject: [Engine-devel] REST-API: Problem with additional DELETE 
action atcollection level


Hi All,

There is a DELETE action defined at collection level for Gluster 
Bricks with

signature -

@DELETE
public Response remove ( GlusterBricks bricks );

Recently we had needed a commit action to remove migrated bricks.
After multiple rounds of discussion on introducing a commit action 
to remove
migrated bricks we introduced a DELETE action [1] which accepts a 
boolean

parameter isForce.
If the parameter is set to true , forced deletion of bricks happens 
without

any data migration.
And if the parameter is not set or set to false, the deletion is 
meant for a

brick on which migration has already taken place.

To achieve the above functionality we introduced another DELETE 
action with

new signature as below and also marked the first action as deprecated -

@DELETE
public Response remove ( Action action );

The problem arises now as the new api works fine for all possible 
scenarios

with below input structure -

action
forcetrue/false/force
bricks
brick
name brick1-name/name
namebrick2-name/name
/brick
/bricks
/action

BUT after these change backward compatibility is broken and the old 
api does

not work.
If we try invoking old DELETE with bricks as input parameter as 
below, it
still invokes the new api and gives an error saying  Invalid 
parameter .


Maybe I've missed it some where, but i wasn't able to find the new 
'force' parameter

in the rsdl, and specifically not in optionalArguments list of:

- name: 
/api/clusters/{cluster:id}/glustervolumes/{glustervolume:id}/bricks|rel=delete


and perhaps the correct approach will be to deprecate this signature 
and introduce a new

one with the 'force' in the 'mandatoryArguments' section.
Moti, I have introduced another methods remove of DELETE type which 
takes Action as input.

I pass list of bricks and force as parameter in the same Action.

Also, I tried marking the old method deprecated and introduced the new 
one BUT as mentioned above, after introduction of new DELETE with 
Action parameter old one STOPS working.
Is it OK to stop working for a method if its deprecated?? I don't feel 
so. Please comment.



bricks
brick id=brick1-id/
brick id=brick2-id/
/bricks

Kindly suggest a solution around the same.

PS: Both the actions are defined at collection level (
/api/clusters/cluster-id/glustervolumes/volume-id/bricks )

[1]: http://gerrit.ovirt.org/#/c/21043/

Thanks and Regards,
Shubhendu





___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel



___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel




___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] REST-API: Problem with additional DELETE action at collection level

2013-11-11 Thread Shubhendu Tripathi

On 11/11/2013 04:08 PM, Ori Liel wrote:

- Original Message -
From: Shubhendu Tripathi shtri...@redhat.com
To: ol...@redhat.com, Michael Pasternak mpast...@redhat.com, Sahina Bose 
sab...@redhat.com
Cc: Dusmant Pati dp...@redhat.com, engine-devel engine-devel@ovirt.org
Sent: Monday, November 11, 2013 12:00:34 PM
Subject: Re: [Engine-devel] REST-API: Problem with additional DELETE action at  
collection level

Self and Ori had a detailed discussion on the topic.

Points discussed -

1. Ori mentioned that Michael and Ori did not mean to have a separate
DELETE action for the purpose of commit in previous discussions.

That's right - no need for a new delete signature; existing signatures are 
enough.


2. Ori tried to understand the intention behind the separate commit
command in gluster and suggested that ideally gluster should remember
that a migration of data is started on the set of bricks, and if there
is a delete fired on the same bricks it should perform a commit action
because commit is nothing but a delete action
3. Ori suggested that in an ideal situation APIs needed would be
 - start migrate
 - stop migrate
 - delete bricks
 - retain bricks
4. As suggested by Ori, the remove bricks action should internally
decide if there was a data migration, started on the set of bricks. If
so, it should effectively fire a commit for the set of bricks. And if
there was not occurrence of data migration it should behave like a
normal force remove action.

Ori, please add your comments if I have missed out anything here.

I agree with what you wrote, let me sort of say it again in my words:

I don't like requiring two consecutive commands from the API user, to perform 
migrate.
If the user only does 'migrate', and doesn't do the second step, we are in a 
state of
corruption. But Shubhendu explained to me that there's no way around this; the
administrator *must* take a look and decide; it is simply not possible to make 
this
decision in advance. So I accepted this heavy-heartedly.

Then we were left with the decision of how to model this two step operation. I 
tried to
look at it from the point of view of the user; what would be the simplest way 
to 'tell him
the story?'

- If you want to migrate a brick, run 'migrate' on it.
- If you want to stop migration of the brick, run 'stopMigrate' on it.
- If you want to resume the migration of the brick, simply run 'migrate' on it 
again.
After migration is done:
- if you want to remove the brick, DELETE it (regular delete).
- if you want to keep using the brick, run 'reactivate' on it.

And that's the whole story.

The advantages are:

* In simple English, not bound to Gluster terms, the administrator has to 
decide whether to
get rid of the brick, remove it, when migration is done. So what would be more 
natural than
to delete it? It makes sense, and there's no need for a new 'action'. On the 
Gluster side,
if user tried to delete a brick which is undergoing migration - simply don't 
allow it. This
is something you have to do anyway; a user might try to delete a brick which is 
undergoing
migration and you have to stop him from doing so. So 0 extra work here.

* Instead of stopMigrate meaning two different things in two different 
contexts, we now
have stopMigration mean exactly what its name suggests: it stops the migration, 
and 'reactive'
mean exactly what it suggests - mark this brick as active again, allow it to be 
used.

Thanks Ori for the detailed mail.
So now the final set of APIs are -
- migrate
- stopmigrate
- delete (existing delete to be enabled for commit)
- reactivate

Will go ahead with this and raise the patches accordingly.

Thanks and Regards,
Shubhendu

Sahina, request your comments on the same.

Thanks and Regards,
Shubhendu

On 11/11/2013 10:30 AM, Shubhendu Tripathi wrote:

On 11/10/2013 11:06 PM, Moti Asayag wrote:

- Original Message -

From: Shubhendu Tripathi shtri...@redhat.com
To: engine-devel engine-devel@ovirt.org, Michael Pasternak
mpast...@redhat.com, ol...@redhat.com
Sent: Friday, November 8, 2013 8:37:30 AM
Subject: [Engine-devel] REST-API: Problem with additional DELETE
action atcollection level

Hi All,

There is a DELETE action defined at collection level for Gluster
Bricks with
signature -

@DELETE
public Response remove ( GlusterBricks bricks );

Recently we had needed a commit action to remove migrated bricks.
After multiple rounds of discussion on introducing a commit action
to remove
migrated bricks we introduced a DELETE action [1] which accepts a
boolean
parameter isForce.
If the parameter is set to true , forced deletion of bricks happens
without
any data migration.
And if the parameter is not set or set to false, the deletion is
meant for a
brick on which migration has already taken place.

To achieve the above functionality we introduced another DELETE
action with
new signature as below and also marked the first action as deprecated -

@DELETE
public Response remove

Re: [Engine-devel] REST-API: Problem with additional DELETE action at collection level

2013-11-10 Thread Shubhendu Tripathi

On 11/10/2013 11:06 PM, Moti Asayag wrote:


- Original Message -

From: Shubhendu Tripathi shtri...@redhat.com
To: engine-devel engine-devel@ovirt.org, Michael Pasternak 
mpast...@redhat.com, ol...@redhat.com
Sent: Friday, November 8, 2013 8:37:30 AM
Subject: [Engine-devel] REST-API: Problem with additional DELETE action at  
collection level

Hi All,

There is a DELETE action defined at collection level for Gluster Bricks with
signature -

@DELETE
public Response remove ( GlusterBricks bricks );

Recently we had needed a commit action to remove migrated bricks.
After multiple rounds of discussion on introducing a commit action to remove
migrated bricks we introduced a DELETE action [1] which accepts a boolean
parameter isForce.
If the parameter is set to true , forced deletion of bricks happens without
any data migration.
And if the parameter is not set or set to false, the deletion is meant for a
brick on which migration has already taken place.

To achieve the above functionality we introduced another DELETE action with
new signature as below and also marked the first action as deprecated -

@DELETE
public Response remove ( Action action );

The problem arises now as the new api works fine for all possible scenarios
with below input structure -

action
forcetrue/false/force
bricks
brick
name brick1-name/name
namebrick2-name/name
/brick
/bricks
/action

BUT after these change backward compatibility is broken and the old api does
not work.
If we try invoking old DELETE with bricks as input parameter as below, it
still invokes the new api and gives an error saying  Invalid parameter .


Maybe I've missed it some where, but i wasn't able to find the new 'force' 
parameter
in the rsdl, and specifically not in optionalArguments list of:

- name: 
/api/clusters/{cluster:id}/glustervolumes/{glustervolume:id}/bricks|rel=delete

and perhaps the correct approach will be to deprecate this signature and 
introduce a new
one with the 'force' in the 'mandatoryArguments' section.
Moti, I have introduced another methods remove of DELETE type which 
takes Action as input.

I pass list of bricks and force as parameter in the same Action.

Also, I tried marking the old method deprecated and introduced the new 
one BUT as mentioned above, after introduction of new DELETE with Action 
parameter old one STOPS working.
Is it OK to stop working for a method if its deprecated?? I don't feel 
so. Please comment.



bricks
brick id=brick1-id/
brick id=brick2-id/
/bricks

Kindly suggest a solution around the same.

PS: Both the actions are defined at collection level (
/api/clusters/cluster-id/glustervolumes/volume-id/bricks )

[1]: http://gerrit.ovirt.org/#/c/21043/

Thanks and Regards,
Shubhendu





___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel



___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


[Engine-devel] Error message while trying to delete default cluster

2013-11-10 Thread Shubhendu Tripathi

Hi,

While trying to delete the Default cluster in oVirt it shows the below 
error message -


Cannot remove default Host Cluster.
Cannot remove Cluster. One or more Template(s) are still associated with it

But in the case of RHSC, Templates are not used and this message is not 
relevant. [1].


Can we opt for not installing the templates while engine setup? And 
would it be having any impact/consequences ?


Kindly provide your thoughts and possibility of the same.

Thanks and Regards,
Shubhendu

PS:
[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1019838
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] IMP: Regarding an issue while translating the error messages for gluster using ErrorTranslator class

2013-11-09 Thread Shubhendu Tripathi

On 11/06/2013 07:40 PM, Einav Cohen wrote:

- Original Message -
From: Alexander Wels aw...@redhat.com
Sent: Wednesday, November 6, 2013 8:28:13 AM

Looking at the code, if you start the error message with a $ it will not do
the . to _ replacement. Not sure if your error message will now simply start
with a $, but it is worth a try I guess.

AFAIK: the '$' prefix is for variable-value message.
e.g. if you have a message cannot run VM ${vm-name} and another one $vm-name 
vm1,
then their combination would eventually yield cannot run VM vm1.
Also, I think that messages that begin with $ cannot be displayed when they
are on their own.
i.e. if you will get message $vm-name vm1 'alone', nothing will eventually be 
displayed.
but, as I mentioned, if you will get message $vm-name vm1 along with message 
cannot run
VM ${vm-name}, eventually cannot run VM vm1 will be displayed.

I think that the replacement of . to _ should be done only if the message
represents a *key* in the relevant resource (VdsmErrors in this case).
but if the message is not a key, and would be displayed as-is, on . to _ 
replacement
should take place.
adding Derez for his thoughts (I think that he changed something around it a 
while ago).

There is an upstream patch according to Einav's suggestion above.
http://gerrit.ovirt.org/#/c/21083/




On Wednesday, November 06, 2013 03:37:34 PM Shubhendu Tripathi wrote:

Hi,

In the case of Gluster, as there are no one to one mappings available
for all the error messages from Gluster, we set the error in the
VdcFault object as NULL.
We also populate the actual error from the Gluster as error message in
the fault object.

/getReturnValue().getExecuteFailedMessages().add(error);//
//getReturnValue().getFault().setMessage(error);//
//getReturnValue().getFault().setError(null);/

Because of above settings and the below code snippet in /Frontend.java/
class the error message as is gets displayed on the error dialog -
/
//public String translateVdcFault(final VdcFault fault) {//
//return
getVdsmErrorsTranslator().TranslateErrorTextSingle(fault.getError() ==
null//
//? fault.getMessage() : fault.getError().toString());//
//}//
/
Well and good till now !!

But while translation of the error messages, all the occurrences of .
get replaced with _.
This causes an issue for the gluster errors. If the error message sent
from gluster has .s (say IP Address of a host or FQDN for a host),
that also gets replaced with _ and the error message does not look
correct.

Request your suggestion for handling such a case.

*PS: *One thing I can think of is, introducing a flag called
/isExternalError/ in /VdcFault/ class to identify if the source of the
fault is external. From Gluster we would set the flag as /true/, and
while replacement of . with _, if the flag is set it will not do the
replacements.

Regards,
Shubhendu

___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel





___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


[Engine-devel] REST-API: Problem with additional DELETE action at collection level

2013-11-07 Thread Shubhendu Tripathi

Hi All,

There is a DELETE action defined at collection level for Gluster Bricks 
with signature -


/@DELETE
publicResponse//remove//(//GlusterBricks//bricks//);/

Recently we had needed a commit action to remove migrated bricks.
After multiple rounds of discussion on introducing a commit action to 
remove migrated bricks we introduced a DELETE action [1] which accepts a 
boolean parameter isForce.
If the parameter is set to /true/, forced deletion of bricks happens 
without any data migration.
And if the parameter is not set or set to /false,/ the deletion is meant 
for a brick on which migration has already taken place.


To achieve the above functionality we introduced another DELETE action 
with new signature as below and also marked the first action as deprecated -


/@DELETE
publicResponse//remove//(//Action//action//);/

The problem arises now as the new api works fine for all possible 
scenarios with below input structure -

/
//action//
//forcetrue/false/force//
//bricks//
//brick//
//name//brick1-name/name//
//namebrick2-name/name//
///brick//
///bricks//
///action/

BUT after these change backward compatibility is broken and the old api 
does not work.
If we try invoking old DELETE with bricks as input parameter as below, 
it still invokes the new api and gives an error saying Invalid parameter.

/
//bricks
brick id=brick1-id/
//brick id=brick2-id/
/bricks/

Kindly suggest a solution around the same.

*PS:* Both the actions are defined at collection level 
(//api/clusters/cluster-id/glustervolumes/volume-id/bricks/)


[1]: http://gerrit.ovirt.org/#/c/21043/

Thanks and Regards,
Shubhendu




___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


[Engine-devel] REST-API: Problem with additional DELETE action at collection level

2013-11-07 Thread Shubhendu Tripathi

Hi All,

There is a DELETE action defined at collection level for Gluster Bricks 
with signature -


/@DELETE
publicResponse//remove//(//GlusterBricks//bricks//);/

Recently we had needed a commit action to remove migrated bricks.
After multiple rounds of discussion on introducing a commit action to 
remove migrated bricks we introduced a DELETE action [1] which accepts a 
boolean parameter isForce.
If the parameter is set to /true/, forced deletion of bricks happens 
without any data migration.
And if the parameter is not set or set to /false,/ the deletion is meant 
for a brick on which migration has already taken place.


To achieve the above functionality we introduced another DELETE action 
with new signature as below and also marked the first action as deprecated -


/@DELETE
publicResponse//remove//(//Action//action//);/

The problem arises now as the new api works fine for all possible 
scenarios with below input structure -

/
//action//
//forcetrue/false/force//
//bricks//
//brick//
//name//brick1-name/name//
//namebrick2-name/name//
///brick//
///bricks//
///action/

BUT after these change backward compatibility is broken and the old api 
does not work.
If we try invoking old DELETE with bricks as input parameter as below, 
it still invokes the new api and gives an error saying Invalid parameter.

/
//bricks
brick id=brick1-id/
//brick id=brick2-id/
/bricks/

Kindly suggest a solution around the same.

*PS:* Both the actions are defined at collection level 
(//api/clusters/cluster-id/glustervolumes/volume-id/bricks/)


[1]: http://gerrit.ovirt.org/#/c/21043/

Thanks and Regards,
Shubhendu


___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


[Engine-devel] IMP: Regarding an issue while translating the error messages for gluster using ErrorTranslator class

2013-11-06 Thread Shubhendu Tripathi

Hi,

In the case of Gluster, as there are no one to one mappings available 
for all the error messages from Gluster, we set the error in the 
VdcFault object as NULL.
We also populate the actual error from the Gluster as error message in 
the fault object.


/getReturnValue().getExecuteFailedMessages().add(error);//
//getReturnValue().getFault().setMessage(error);//
//getReturnValue().getFault().setError(null);/

Because of above settings and the below code snippet in /Frontend.java/ 
class the error message as is gets displayed on the error dialog -

/
//public String translateVdcFault(final VdcFault fault) {//
//return 
getVdsmErrorsTranslator().TranslateErrorTextSingle(fault.getError() == 
null//

//? fault.getMessage() : fault.getError().toString());//
//}//
/
Well and good till now !!

But while translation of the error messages, all the occurrences of . 
get replaced with _.
This causes an issue for the gluster errors. If the error message sent 
from gluster has .s (say IP Address of a host or FQDN for a host), 
that also gets replaced with _ and the error message does not look 
correct.


Request your suggestion for handling such a case.

*PS: *One thing I can think of is, introducing a flag called 
/isExternalError/ in /VdcFault/ class to identify if the source of the 
fault is external. From Gluster we would set the flag as /true/, and 
while replacement of . with _, if the flag is set it will not do the 
replacements.


Regards,
Shubhendu
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] IMP: Regarding an issue while translating the error messages for gluster using ErrorTranslator class

2013-11-06 Thread Shubhendu Tripathi

On 11/06/2013 07:43 PM, Daniel Erez wrote:


- Original Message -

From: Shubhendu Tripathi shtri...@redhat.com
To: de...@redhat.com, engine-devel engine-devel@ovirt.org
Cc: Dusmant Pati dp...@redhat.com
Sent: Wednesday, November 6, 2013 12:07:34 PM
Subject: IMP: Regarding an issue while translating the error messages for 
gluster using ErrorTranslator class

Hi,

In the case of Gluster, as there are no one to one mappings available
for all the error messages from Gluster, we set the error in the
VdcFault object as NULL.
We also populate the actual error from the Gluster as error message in
the fault object.

/getReturnValue().getExecuteFailedMessages().add(error);//
//getReturnValue().getFault().setMessage(error);//
//getReturnValue().getFault().setError(null);/

Because of above settings and the below code snippet in /Frontend.java/
class the error message as is gets displayed on the error dialog -
/
//public String translateVdcFault(final VdcFault fault) {//
//return
getVdsmErrorsTranslator().TranslateErrorTextSingle(fault.getError() ==
null//
//? fault.getMessage() : fault.getError().toString());//
//}//
/
Well and good till now !!

But while translation of the error messages, all the occurrences of .
get replaced with _.
This causes an issue for the gluster errors. If the error message sent
from gluster has .s (say IP Address of a host or FQDN for a host),
that also gets replaced with _ and the error message does not look
correct.

This mechanism of replacing [1] has been introduced to allow proper
message translation when retrieving a message key that contains dots.
E.g. AppErrors.properties - VALIDATION.ROLES.NAME.MAX is translated
to VALIDATION_ROLES_NAME_MAX in AppErrors.java interface (as interface
signatures cannot contain dots. Note that this process shouldn't
address the message; i.e. only the key is examined for dots.

As you've mentioned VdsmErrorsTranslator I guess there's an issue
only when translating VdsmErrors messages.
Can you please send an example of a message usage?
One example of the error message which is shown on the dialog after 
translation is as below -


/Error while executin action Create Gluster Volume: Volume create 
failed error: Staging failed on //*10_70_43_122_*//Error: /export/vol1-a 
is already part of a volume/


If you see the highlighted portion not only the dots in IP address but 
also the full stop is changed to _.

(and maybe try the same message using AppErrors instead)
There are no one to one mapping of these messages in AppErrors as they 
arise randomly, so in such cases we throw the VDSM error message as is 
on the dialog.


[1] ErrorTranslator - translateErrorTextSingle()


Request your suggestion for handling such a case.

*PS: *One thing I can think of is, introducing a flag called
/isExternalError/ in /VdcFault/ class to identify if the source of the
fault is external. From Gluster we would set the flag as /true/, and
while replacement of . with _, if the flag is set it will not do the
replacements.

Regards,
Shubhendu



___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] IMP: Regarding an issue while translating the error messages for gluster using ErrorTranslator class

2013-11-06 Thread Shubhendu Tripathi

On 11/06/2013 07:41 PM, Einav Cohen wrote:

but if the message is not a key, and would be displayed as-is, on . to _
replacement should take place.

on - no*
This solution looks fine. If the error message is not found in the map, 
we can revert back to original message which has the .s.

Request comments from others as well.



- Original Message -
From: Einav Cohen eco...@redhat.com
Sent: Wednesday, November 6, 2013 9:10:09 AM


- Original Message -
From: Alexander Wels aw...@redhat.com
Sent: Wednesday, November 6, 2013 8:28:13 AM

Looking at the code, if you start the error message with a $ it will not do
the . to _ replacement. Not sure if your error message will now simply
start
with a $, but it is worth a try I guess.

AFAIK: the '$' prefix is for variable-value message.
e.g. if you have a message cannot run VM ${vm-name} and another one
$vm-name vm1,
then their combination would eventually yield cannot run VM vm1.
Also, I think that messages that begin with $ cannot be displayed when they
are on their own.
i.e. if you will get message $vm-name vm1 'alone', nothing will eventually
be displayed.
but, as I mentioned, if you will get message $vm-name vm1 along with
message cannot run
VM ${vm-name}, eventually cannot run VM vm1 will be displayed.

I think that the replacement of . to _ should be done only if the message
represents a *key* in the relevant resource (VdsmErrors in this case).
but if the message is not a key, and would be displayed as-is, on . to _
replacement
should take place.
adding Derez for his thoughts (I think that he changed something around it a
while ago).


On Wednesday, November 06, 2013 03:37:34 PM Shubhendu Tripathi wrote:

Hi,

In the case of Gluster, as there are no one to one mappings available
for all the error messages from Gluster, we set the error in the
VdcFault object as NULL.
We also populate the actual error from the Gluster as error message in
the fault object.

/getReturnValue().getExecuteFailedMessages().add(error);//
//getReturnValue().getFault().setMessage(error);//
//getReturnValue().getFault().setError(null);/

Because of above settings and the below code snippet in /Frontend.java/
class the error message as is gets displayed on the error dialog -
/
//public String translateVdcFault(final VdcFault fault) {//
//return
getVdsmErrorsTranslator().TranslateErrorTextSingle(fault.getError() ==
null//
//? fault.getMessage() : fault.getError().toString());//
//}//
/
Well and good till now !!

But while translation of the error messages, all the occurrences of .
get replaced with _.
This causes an issue for the gluster errors. If the error message sent
from gluster has .s (say IP Address of a host or FQDN for a host),
that also gets replaced with _ and the error message does not look
correct.

Request your suggestion for handling such a case.

*PS: *One thing I can think of is, introducing a flag called
/isExternalError/ in /VdcFault/ class to identify if the source of the
fault is external. From Gluster we would set the flag as /true/, and
while replacement of . with _, if the flag is set it will not do the
replacements.

Regards,
Shubhendu

___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel





___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] IMP: Regarding an issue while translating the error messages for gluster using ErrorTranslator class

2013-11-06 Thread Shubhendu Tripathi

On 11/06/2013 09:29 PM, Daniel Erez wrote:


- Original Message -

From: Shubhendu Tripathi shtri...@redhat.com
To: Daniel Erez de...@redhat.com
Cc: engine-devel engine-devel@ovirt.org, Dusmant Pati dp...@redhat.com
Sent: Wednesday, November 6, 2013 4:31:52 PM
Subject: Re: IMP: Regarding an issue while translating the error messages for 
gluster using ErrorTranslator class

On 11/06/2013 07:43 PM, Daniel Erez wrote:

- Original Message -

From: Shubhendu Tripathi shtri...@redhat.com
To: de...@redhat.com, engine-devel engine-devel@ovirt.org
Cc: Dusmant Pati dp...@redhat.com
Sent: Wednesday, November 6, 2013 12:07:34 PM
Subject: IMP: Regarding an issue while translating the error messages for
gluster using ErrorTranslator class

Hi,

In the case of Gluster, as there are no one to one mappings available
for all the error messages from Gluster, we set the error in the
VdcFault object as NULL.
We also populate the actual error from the Gluster as error message in
the fault object.

/getReturnValue().getExecuteFailedMessages().add(error);//
//getReturnValue().getFault().setMessage(error);//
//getReturnValue().getFault().setError(null);/

Because of above settings and the below code snippet in /Frontend.java/
class the error message as is gets displayed on the error dialog -
/
//public String translateVdcFault(final VdcFault fault) {//
//return
getVdsmErrorsTranslator().TranslateErrorTextSingle(fault.getError() ==
null//
//? fault.getMessage() : fault.getError().toString());//
//}//
/
Well and good till now !!

But while translation of the error messages, all the occurrences of .
get replaced with _.
This causes an issue for the gluster errors. If the error message sent
from gluster has .s (say IP Address of a host or FQDN for a host),
that also gets replaced with _ and the error message does not look
correct.

This mechanism of replacing [1] has been introduced to allow proper
message translation when retrieving a message key that contains dots.
E.g. AppErrors.properties - VALIDATION.ROLES.NAME.MAX is translated
to VALIDATION_ROLES_NAME_MAX in AppErrors.java interface (as interface
signatures cannot contain dots. Note that this process shouldn't
address the message; i.e. only the key is examined for dots.

As you've mentioned VdsmErrorsTranslator I guess there's an issue
only when translating VdsmErrors messages.
Can you please send an example of a message usage?

One example of the error message which is shown on the dialog after
translation is as below -

/Error while executin action Create Gluster Volume: Volume create
failed error: Staging failed on //*10_70_43_122_*//Error: /export/vol1-a
is already part of a volume/

What are the keys that been sent from the engine (i.e. the message before 
translation)?
We set message code as NULL and error message is set as is whatever is 
received from VDSM. Message contains dots (.) as part of it.

Code snippet is shown below -

/getReturnValue().getExecuteFailedMessages().add(error);
getReturnValue().getFault().setMessage(error);
getReturnValue().getFault().setError(null);/



If you see the highlighted portion not only the dots in IP address but
also the full stop is changed to _.

(and maybe try the same message using AppErrors instead)

There are no one to one mapping of these messages in AppErrors as they
arise randomly, so in such cases we throw the VDSM error message as is
on the dialog.

[1] ErrorTranslator - translateErrorTextSingle()


Request your suggestion for handling such a case.

*PS: *One thing I can think of is, introducing a flag called
/isExternalError/ in /VdcFault/ class to identify if the source of the
fault is external. From Gluster we would set the flag as /true/, and
while replacement of . with _, if the flag is set it will not do the
replacements.

Regards,
Shubhendu





___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


[Engine-devel] Regarding access to ovirt.org for creating feature pages

2013-05-27 Thread Shubhendu Tripathi

Hi All,

I have joined RedHat this month and work with RHSC team.
I need to create a feature page on Ovirt WIKI, and so raised a request 
for the same to get an id created.


I have not received any confirmation till now.
Kindly let me know if something is missing or I need to follow some 
other process.


ID Created: shtripat
Email Id: shtri...@redhat.com

Thanks and Regards,
Shubhendu Tripathi
attachment: shtripat.vcf___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel