Commit Graph

412 Commits

Author SHA1 Message Date
wilderrodrigues 02571728c6 Refactored the remaining commands
- Unit tests added

In the executeRequest I needed to keep the following:

// We need this one because the StorageSubSystemCommand is from another hierarchy.
        if (cmd instanceof StorageSubSystemCommand) {
            return storageHandler.handleStorageCommands((StorageSubSystemCommand) cmd);
        }
2015-03-31 10:38:32 +02:00
wilderrodrigues 24bbfbc1e6 Refactoring other 8 command wrapper in order to cope with the new design
- Advanced unit tests added for half of the commands
  - Basic unit tests added for the other half
2015-03-31 10:38:32 +02:00
wilderrodrigues fbcae54a5b Refactoring NetworkRulesSystemVmCommand, OvsCreateTunnelCommand, OvsDestroyBridgeCommand, OvsDestroyTunnelCommand, OvsSetupBridgeCommand in order to
cope with new design.

   - Meny unit ests added.
2015-03-31 10:38:31 +02:00
wilderrodrigues 751c14b929 Refactoring CleanupNetworkRulesCmd, OvsCreateGreTunnelCommand, OvsDeleteFlowCommand, OvsVpcPhysicalTopologyConfigCommand and OvsVpcRoutingPolicyConfigCommand
in order to cope with the new design.

  - Meny new unit tests added that cover more than the basics!
2015-03-31 10:38:31 +02:00
wilderrodrigues 30b770aeab Refactoring CheckSshCommand, OvsFetchInterfaceCommand and SecurityGroupRulesCommand to cope with new design.
- Unit Tests added
2015-03-31 10:38:30 +02:00
wilderrodrigues 74faf73408 Refactoring CheckOnHostCommand, ModifySshKeysCommand, OvsSetTagAndFlowCommand and StartCommand to cope with new design
- Unit tests added
2015-03-31 10:38:30 +02:00
wilderrodrigues 18470a48d0 Refactoring PingTestCommand to cope with new design
- Basic tests added
2015-03-31 10:38:30 +02:00
wilderrodrigues 3a70912b7c Make methods in subclasses public.
Remove the if-commands that I have already refactored.
2015-03-31 10:38:29 +02:00
wilderrodrigues 637a56c3c1 Refactoring GetVncPortCommand, MaintainCommand and SetupCommand to cope with new design.
- Basic test added, but could not mock all the static stuff so the test is not complete yet.
     Will look further into it.
2015-03-31 10:38:29 +02:00
wilderrodrigues 11d0336803 Refactoring GetStorageStatsCommand and PrimaryStorageDownloadCommand to cope with the new design
Fix the NPE in the constructor that was never used
  - Basic tests added for all changes
2015-03-31 10:38:29 +02:00
wilderrodrigues ea374b6a2f Refactoring AttachIsoCommand, AttachVolumeCommand and UpgradeSnapshotCommand to cope with new design
- Basic tests added
2015-03-31 10:38:28 +02:00
wilderrodrigues 6c775951c7 Refactoring DeleteStoragePoolCommand, ModifyStoragePoolCommand and ResizeVolumeCommand to cope with new design
- Basic tests added.
2015-03-31 10:38:28 +02:00
wilderrodrigues a06958f469 Refactoring DestroyCommand and CreateStoragePoolCommand wrappers to cope with the new design
- Basic tests added

s Please enter the commit message for your changes. Lines starting
2015-03-31 10:38:27 +02:00
wilderrodrigues a70d80dfd6 Refactoring PrepareForMigrationCommand and MigrateCommand in order to cope with the new design
- Basic tests added
2015-03-31 10:38:27 +02:00
wilderrodrigues cb07b0ba08 Refactoring the CitrixCheckVirtualMachineCommand toc ope with new design
- Added basic tests
  - Added tests for RebootRouterCommand
  - Removed the code from CitrixResourceBase that has already been refactored
2015-03-31 10:38:27 +02:00
wilderrodrigues f2fab5c8c3 Refactoring the CitrixRebootCommand in order to have the new design applied
- Added basic tests
  - Changed the way RebootCommand gets called from RebootRouterCommand
  - Made a couple of methods public in the CitrixResourceBase and its subclasses
2015-03-31 10:38:27 +02:00
wilderrodrigues 9e41b8051e Renaming files
- Forgot to add "Citrix" before the new command wrappers
2015-03-31 10:38:26 +02:00
wilderrodrigues 6b80c79986 Refactoring the StopCommand on CitrixResourceBase to cope with new design
- Added basic tests
2015-03-31 10:38:26 +02:00
wilderrodrigues c7830efef5 Refactor the CheckHealthCommand and GetVmDiskStatsCommand classes in CitrixResourceBase
- Added basic tests for both wrappers
2015-03-31 10:38:26 +02:00
wilderrodrigues 8f04108e23 Refactoring the GetVmStatsCommand
- Added basic tests
2015-03-31 10:38:25 +02:00
wilderrodrigues 0e51379da7 Refactoring the GetHostStatsCommand
- Added basic tests
  - Added test for when the key (Command) does not exist in the Map
2015-03-31 10:38:25 +02:00
wilderrodrigues 30e72e4a15 Refactoring the whole XsHost thing
Refactor the ReadyCommand
Fixing the old test
Adding basic tests for ReadyCommandWrapper
2015-03-31 10:38:25 +02:00
wilderrodrigues c3ae8c793b Adding the refactor of CitrixCheckConsoleProxyLoadCommandWrapper.java and CitrixWatchConsoleProxyLoadCommandWrapper.java
- plus basic tests
2015-03-31 10:38:24 +02:00
wilderrodrigues 4256418af9 Adding CitrixCreateCommandWrapper.java and basic unit tests 2015-03-31 10:38:24 +02:00
wilderrodrigues a1e8778211 First piece of the refactor of the CitrisResourceBase
- The same pattern will be used by the other subclasses of the ServerResource interface.
2015-03-31 10:38:24 +02:00
Rohit Yadav 694b723899 CLOUDSTACK-8312: Fix NPE regression, copy template can have NULL volume size
The copy command reply can have null size returned, so check and set values

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 53ca0b1861)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-20 17:27:14 +05:30
Rohit Yadav 3c429ee6b5 Merge remote-tracking branch 'sbp/feature/persisten-systemvm-redundant-vpc-REBASE'
This closes #118

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-17 15:44:57 +05:30
wilderrodrigues 84ba06b87d Fix: the update_config.py was not parsing the incoming guest net configuration properly
Added comments to the CitrixResourceBase class: do not destroy the cd-rom
2015-03-16 11:39:49 +01:00
wilderrodrigues 2bb79b8115 Adding some info to the update_config.py 2015-03-16 11:39:49 +01:00
wilderrodrigues edd839ab10 Fix: allow multiple VIFs per Mac Address
Fix: RTNETLINK errors
     - Management Server health check trying to create already existing interface
     - Changes on update_config.py, cs_guestnetwork.py, merger.py
Fix: replace RRouTER_LOG in the CsRedundant.py per log file location
Fix: Guest Net address association during Router restart
     - Changes on NicProfileHelper, NicProfileHelperImpl
Fix: aggregationExecution() method on VirtualNetworkApplianceManagerImpl
     - Do not send an AggregationControlCommand to a non-configured router

Some classes have been formatted.
2015-03-16 11:39:48 +01:00
wilderrodrigues 33b0ce816b Make sure we can plug the nic in 2 routers with the same mac address
The still some work to do on the prepareNetworkElementCommand() method.
2015-03-16 11:39:16 +01:00
Rohit Yadav c8901a7990 utils: use a better extended implementation of SSLSocketFactory
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit b4a5a32a74)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 17:32:07 +05:30
Sanjay Tripathi 520d96724a CLOUDSTACK-8312: The storage usage of "Primary Storage Allocated" is incorrect. 2015-03-10 16:52:25 +05:30
Daan Hoogland d14a994689 findbugs: make use of default charset explicit 2015-03-07 20:14:24 +01:00
Jayapal 619f014255 CLOUDSTACK-8298: Update copying large size VR config file in xenserver
When there is large size VR configuration (aggregate commands) copying data to VR using vmops plugin was failed
 because of the ARG_MAX size limitation. The configuration data size is around 300KB.

 Updated this to create file in host by scp with file contents. This will create file in host.
 Then copy the file from the host to VR using hte vmops createFileInDomr method.

  In host file get created in /tmp/ with name VR-<UUID>.cfg, once it copied to VR this file will be removed.
2015-03-04 11:52:10 +05:30
Sanjay Tripathi 736c7d7668 CLOUDSTACK-8296 VMs cannot be migrated with XenMotion as network is not available. 2015-03-03 13:14:04 +05:30
Daan Hoogland e13d45e2c6 catch specific exception and log clear message on error 2015-02-21 12:32:29 +01:00
Rohit Yadav 083a4950a9 Fix typos
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit af278fe1ab)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-06 15:54:01 +05:30
Rohit Yadav 06437dadf5 CLOUDSTACK-8220: Let's have a separate XenServer 6.5 resource
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-06 14:44:10 +05:30
Mike Tutkowski f983e6ed82 Un-plug any remaining VBDs and PBDs 2015-01-22 17:36:04 -07:00
Rohit Yadav 664186f483 CLOUDSTACK-8160: use preferable protocols
(cherry picked from commit debfcdef78)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-21 18:04:45 +05:30
Mike Tutkowski 0f84e042b9 Adding support for creating a volume from a snapshot when the snapshot is on managed storage 2015-01-20 15:24:33 -07:00
Wei Zhou 71103772b7 CLOUDSTACK-7219: Cannot display Cluster Settings for missing commit 95e41fdf0d 2015-01-16 10:56:25 +01:00
Daan Hoogland 2c9cc1ecde CID-1261666 added null check 2015-01-05 16:05:57 +01:00
Daan Hoogland 54e5f28ace CID-1261669 added comment to clarify false positive 2015-01-05 15:43:51 +01:00
Saksham Srivastava 1df0453d27 CLOUDSTACK-8088: VM scale up is failing in vmware with Unable to execute ScaleVmCommand due to java.lang.NullPointerException 2014-12-18 14:27:55 +05:30
Jayapal 8f8e311110 CLOUDSTACK-8030: Updated router to come up egress default ALLOW
On default iptables rules are updated to add ACCEPT egress traffic.
    If the network egress default policy is false, CS remove ACCEPT and adds the DROP rule which
    is egress default rule when there are no other egress rules.

    If the CS network egress default policy is true, CS won't configure any default rule for egress because
    router already came up to accept egress traffic. If there are already egress rules for network then the
    egress rules get applied on VR.

    For isolated network with out firewall service, VR default allows egress traffic (guestnetwork --> public network)
2014-12-08 11:32:01 +05:30
Laszlo Hornyak 3577423da9 removed executable flags from java classes
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:49:01 +01:00
Laszlo Hornyak b2023d04ba Simplification on Properties handling
- Added method to create properties and load contents from file

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:48:56 +01:00
Sanjay Tripathi dda2994936 CLOUDSTACK-7940: Exception printed completely on the UI. Not in a readable format. 2014-11-19 15:59:03 +05:30
Daan Hoogland 7aa64b9efa CID-1254838 catch individual exceptions types 2014-11-17 15:09:03 +01:00
Mike Tutkowski 5c388a5c80 Add properties file in same folder as template 2014-11-11 17:03:08 -07:00
Mike Tutkowski 18091e9642 Adding support for backend snapshots to Xenserver625StorageProcessor 2014-11-10 22:41:00 -07:00
Sanjay Tripathi 6a6d4d876f CLOUDSTACK-7868: Failed storage.PrimaryStorageDownloadCommand leaves corrupt VDIs in primary storage. 2014-11-08 13:43:56 +05:30
Mike Tutkowski 455ffc3342 Create a template from a SAN snapshot 2014-11-06 10:33:23 -07:00
Sanjay Tripathi b844155240 CLOUDSTACK-7842: Wrong size column is getting updated with snapshot physical size in snapshot_store_ref table.
Also fixed the issue that snapshot size with hypervisor XS >= 6.2.5 is not getting updated in snapshot_store_ref table.
2014-11-05 16:42:28 +05:30
Anthony Xu aa84770347 if attach volume fails, destroy the VBD device 2014-11-03 11:20:37 -08:00
amoghvk efc9632c1b CLOUDSTACK:6915 search including removed 2014-10-31 15:47:18 -07:00
Anthony Xu b8d6396409 don't need to check if pv driver is updated, old pv driver should work 2014-10-30 10:27:34 -07:00
Hugo Trippaers 4ebaf0a583 Bump master version to 4.6.0-SNAPSHOT after branching 4.5.0-SNAPSHOT 2014-10-29 14:54:23 +01:00
Anthony Xu 95b9be0cb6 allow reentrance of disassociate ip , if vif is gone, return success 2014-10-27 11:07:51 -07:00
Mike Tutkowski b1ffd88a42 Save off the UUID of the VDI before detaching its SR 2014-10-21 16:01:15 -06:00
Mike Tutkowski 0cea0346ae Support for back-end snapshots on primary storage 2014-10-21 16:01:14 -06:00
Anthony Xu 45611a0f83 don't need to check if pv driver is updated, old pv driver should work 2014-10-21 11:14:15 -07:00
Sanjay Tripathi e4a8bbcdf4 CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect
GPU enabled hosts from non-GPU VM deployment.
Cluster reordering is based on the number of unique host tags in a cluster,
cluster with most number of unique host tags will put at the end of list.
Hosts with GPU capability will get tagged with implicit tags defined by
global config param 'implicit.host.tags' at the time os host discovery.

Also added FirstFitPlannerTest unit test file.
2014-10-14 17:53:50 +05:30
Santhosh Edukulla 0a9742f914 Fixed few coverity issues
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-10-14 17:16:50 +05:30
Anthony Xu 95c7ffbd46 fixed NPE on calculating vm snasphot volume size 2014-10-13 10:49:45 -07:00
Edison Su d233f39c82 disable parallel for xenserver. Also for vmware, if full.clone is enabled and migratecommand will have the behavor of start/stop command 2014-10-09 17:14:57 -07:00
amoghvk fbcab01ff0 Revert "CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect"
This reverts commit d910b4ff14 since it is causing encryption/decryption issues with RPM builds
2014-10-09 15:39:19 -07:00
Sanjay Tripathi d910b4ff14 CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect
GPU enabled hosts from non-GPU VM deployment.
Cluster reordering is based on the number of unique host tags in a cluster,
cluster with most number of unique host tags will put at the end of list.
Hosts with GPU capability will get tagged with implicit tags defined by
global config param 'implicit.host.tags' at the time os host discovery.

Also added FirstFitPlannerTest unit test file.
2014-10-07 16:49:38 +05:30
Santhosh Edukulla 45597766a5 Fixed few coverity issues 2014-10-07 12:19:39 +05:30
amoghvk 0ef6cd36c4 Revert "CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect"
This reverts commit 39fe766c2b.
2014-10-02 13:28:52 -07:00
Anthony Xu 70efe1507c added more log for create vm snapshot 2014-10-01 16:18:28 -07:00
Sanjay Tripathi 39fe766c2b CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect
GPU enabled hosts from non-GPU VM deployment.
Cluster reordering is based on the number of unique host tags in a cluster,
cluster with most number of unique host tags will put at the end of list.
Hosts with GPU capability will get tagged with implicit tags defined by
global config param 'implicit.host.tags' at the time os host discovery.

Also added FirstFitPlannerTest unit test file.
2014-10-01 17:25:41 +05:30
Rohit Yadav 410092bbe1 XenServer56FP1Resource: remove unused import
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-25 17:12:40 +02:00
Rohit Yadav b3946802e3 CID-1222206: Remove DLS from XenServer56FP1Resource
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-25 16:48:27 +02:00
Daan Hoogland 7f440854f7 CLOUDSTACK-7184 retry-wait loop config to deal with network glitches
(cherry picked from commit a29f954a26)

Conflicts:
	engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
2014-09-18 12:55:05 +02:00
Daan Hoogland dec9133dcd CLOUDSTACK-7184: xenheartbeat gets passed timeout and interval
(cherry picked from commit 4d065b9a3a)

Conflicts:
	plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/discoverer/XcpServerDiscoverer.java
	plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
	server/src/com/cloud/configuration/Config.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/resource/DiscovererBase.java
2014-09-18 12:51:10 +02:00
imduffy15 2648912afa Fix CID-1222222 2014-09-16 11:26:46 +01:00
Anthony Xu fcf2c1b6bc CLOUDSTACK-7505:
if VM is created from ISO, don't change platform metadat for VM on XS
2014-09-09 14:02:37 -07:00
Anthony Xu 5811ebeee7 if VM scale is disable, don't set any scale option for VM 2014-09-03 14:40:00 -07:00
Hugo Trippaers dc3f0cbc63 Improve the handling of the findbug exclude files 2014-09-03 10:41:22 +02:00
Mike Tutkowski 3773ff060e Update to volume-resize logic 2014-08-21 20:18:20 -06:00
Anthony Xu b7f5e95c8f map XS 6.5 betas to the same resource, that all XS 6.5 betas will use the same resource and guest os list 2014-08-21 16:57:19 -07:00
Anthony Xu dbe950a27e avoid creating same primary storage multiple times for XenServer 2014-08-18 17:55:34 -07:00
Anthony Xu 81c5e184ba clean up XenServer resource code 2014-08-18 17:25:10 -07:00
Anthony Xu 2be02d1f51 added XS 6.5 beta1 support, will change the version after XS 6.5 is released 2014-08-15 11:45:24 -07:00
amoghvk d1d722f9bd CLOUDSTACK-7295: VMs is Stopped state have no host ID, resulting in NPE 2014-08-11 14:56:58 -07:00
Santhosh Edukulla f9e11540c7 Fixed few coverity issues 2014-08-11 16:02:19 +05:30
Anthony Xu 0fe1d4bb27 got VBD statistics from RRD 2014-08-04 13:57:18 -07:00
Damodar b73fe32519 Fixing Coverity Issues(2nd) in CitrixResourceBase.java
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-08-04 17:30:43 +05:30
Anthony Xu 330c4ba578 completed the new vmsync TODOs in the code.
removed old vmsync logic
2014-07-28 12:51:37 -07:00
Sheng Yang abc0b40acb CLOUDSTACK-7124: Fix semicolon caused VPN programming issue on Xen 2014-07-25 16:56:35 -07:00
Damodar 0a5940c9a8 Coverity: Fixing some of the coverity issues reported in CitrixResourceBase.java.
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2014-07-25 15:34:20 +05:30
Suresh Ramamurthy 03de9cc335 CLOUDSTACK-6845 : NuageVsp Network plugin
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2014-07-21 10:49:49 +02:00
Anthony Xu d05549e16b XS task object may disappear, change the log level 2014-07-18 16:05:54 -07:00
Joris van Lieshout e8c32c7f5b Disable inband management of openvswitch on the link local network. You don't want instances connected to this network to be able to talk to the openvswitch management interface.
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-07-15 13:35:02 +02:00
Amogh Vasekar c30821f703 CLOUDSTACK-6671: Missing patch in master 2014-07-14 17:00:08 -07:00
amoghvk 6831ed4026 CLOUDSTACK-6358: Missing patches in master branch 2014-07-14 15:17:58 -07:00
Santhosh Edukulla 97d296bfbd Fixed Coverity reported performance issues like inefficient string concatenations, wrong boxing or unboxing types, inefficent map element retrievals
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-07-01 22:06:25 +02:00
Mike Tutkowski 03b1e86bde CLOUDSTACK-7003 2014-06-30 10:17:50 -06:00
Anthony Xu d5fea10222 Cs tries to destroy vlan object on XS host when destroying VM, if the VLAN object is being used, CS expects the exception, lower the log level here 2014-06-27 15:13:57 -07:00
Anthony Xu 54d7e8dcd3 Destroy unplugged VIFs before creating a VIF for a VM, and reuse the device id 2014-06-27 15:00:49 -07:00
Sanjay Tripathi 69e86cb459 CLOUDSTACK-6453: [GPU] Windows 2012 Server instance created with vGPU offering is not coming up after installing PV drivers. 2014-06-27 15:58:42 +05:30
Mike Tutkowski 3d9eaf0753 Fixed some spacing issues from 4d6c682f18 2014-06-24 15:27:06 -06:00
punith-cloudbyte 4d6c682f18 supporting nfs protocol and resize feature for managed storage for xenserver
resize feature refactored

Signed-off-by: Mike Tutkowski <mike.tutkowski@solidfire.com>
2014-06-24 15:16:45 -06:00
Damodar Reddy 5cbb182c6d CLOUDSTACK-6636: [Windows] Can not create Template from ROOT snapshot on Windows management server with Xen/NFS storage type. This change is only for XenServer with NFS Storage Server. Will fix remaining when we touch them.
Signed-off-by: Koushik Das <koushik@apache.org>
2014-06-19 09:35:26 +05:30
Murali Reddy 70a114c3a8 CLOUDSTACK-6925: [OVS] get rid custom logic to create bridges on hosts
in the XenServer pool for GRE tunnel networks

Fix uses XenServer recommended way
Network.other_config:assume_network_is_shared=true
which ensures bridge is created automatically on hosts in the pool for
GRE tunnel networks. Fix also gets rid of  error prone custom logic that ensures
bridge is created by plugging a VIF into the dom0 and connected to
GRE tunnel network.

Conflicts:
	plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
2014-06-17 17:54:12 +05:30
Mike Tutkowski 42d00cae58 SolidFire (shared-access) Provider 2014-06-16 12:15:29 -06:00
Murali Reddy f4d4e3ffe4 CLOUDSTACK-6755: [OVS] Can't create more than 7 GRE tunnel networks in
xen cluster

XenServer does not create a bridge automatically when VIF from domU is connected
to internal network. So there is logic to force bridge creation by
creating VIF in dom0 connected to GRE tunnel network. But there is no
logic to delete the VIF after bridge gets created. So this fix ensure
VIF is delted when atleast there is one domU VIF connected to the
network.
2014-06-12 14:22:56 +05:30
Hugo Trippaers cd4723794e Fix a few coverity findings 2014-06-11 14:06:16 +02:00
Tim Mackey a8212d9ef4 Cleanup of Xen and XenServer terms. Cloned xen plugin creating a xenserver plugin, then removed xen plugin
Signed-off-by: Tim Mackey <tmackey@gmail.com>
Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
2014-06-07 04:50:23 -04:00