Commit Graph

28423 Commits

Author SHA1 Message Date
Rajani Karuturi ac80a2df50 Merge pull request #808 from karuturi/CLOUDSTACK-8835
CLOUDSTACK-8835: Added alerts incase of template download failureAuthored-By: @sanjaytripathi
Reviewed-By: @devdeep

* pr/808:
  CLOUDSTACK-8835: Added alerts incase of template download failure

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-14 09:47:46 +05:30
Rajani Karuturi f888e93e44 Merge pull request #782 from karuturi/CLOUDSTACK-8816
Cloudstack 8816 entityuuid missing in some of the eventsIn some of the events generated, entity uuid was missing making it difficult to find the entity. Fixed the same.

Tested it on rabbitmq instance.
There are the events before after the fix:

Before
--------------------------------------------------------------------------------

routing_key: management-server.ActionEvent.ACCOUNT-DELETE.Account.*
exchange: cloudstack-events
message_count: 2
payload:
{"eventDateTime":"2015-09-04 17:59:24 +0530","status":"Scheduled","description":"deleting User test4 (id: 28) and accountId \u003d 28","event":"ACCOUNT.DELETE","Account":"c09e2e81-8edc-4c27-b072-25005b522b63","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}

payload_bytes: 304
payload_encoding: string
redelivered: False

--------------------------------------------------------------------------------

routing_key: management-server.AsyncJobEvent.complete.Account.*
exchange: cloudstack-events
message_count: 0
payload: {"cmdInfo":"{\"id\":\"9dd3abc2-3f8b-4852-aa60-a74b234acb13\",\"response\":\"json\",\"sessionkey\":\"5ig1ItP2_5v-mgY4cVJbJN5hw_w\",\"ctxDetails\":\"
{\\\"interface com.cloud.user.Account\\\":\\\"9dd3abc2-3f8b-4852-aa60-a74b234acb13\\\"}

\",\"cmdEventType\":\"ACCOUNT.DELETE\",\"expires\":\"2015-09-07T11:11:56+0000\",\"ctxUserId\":\"2\",\"signatureversion\":\"3\",\"httpmethod\":\"GET\",\"uuid\":\"9dd3abc2-3f8b-4852-aa60-a74b234acb13\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"447\"}","instanceType":"Account","jobId":"5004989d-0cde-4922-8afa-66bf38b75ea7","status":"SUCCEEDED","processStatus":"0","commandEventType":"ACCOUNT.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.admin.account.DeleteAccountCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/
{\"success\":true}

","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
payload_bytes: 914
payload_encoding: string
redelivered: False

--------------------------------------------------------------------------------

After
--------------------------------------------------------------------------------

 routing_key: management-server.ActionEvent.ACCOUNT-DELETE.Account.e5e2db91-414d-484c-99d5-c4e265c14ad8
exchange: cloudstack-events
message_count: 13
payload: {"eventDateTime":"2015-09-07 17:32:26 +0530","status":"Completed","description":"Successfully completed deleting account. Account Id: 45","event":"ACCOUNT.DELETE","entityuuid":"e5e2db91-414d-484c-99d5-c4e265c14ad8","entity":"com.cloud.user.Account","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
payload_bytes: 344
payload_encoding: string
redelivered: True

--------------------------------------------------------------------------------

routing_key: management-server.AsyncJobEvent.complete.Account.e5e2db91-414d-484c-99d5-c4e265c14ad8
exchange: cloudstack-events
message_count: 12
payload: {"cmdInfo":"{\"id\":\"e5e2db91-414d-484c-99d5-c4e265c14ad8\",\"response\":\"json\",\"sessionkey\":\"8AJVbn8HIpg5LZ_VaVfSPs_QN2k\",\"ctxDetails\":\"{\\\"interface com.cloud.user.Account\\\":\\\"e5e2db91-414d-484c-99d5-c4e265c14ad8\\\"}\",\"cmdEventType\":\"ACCOUNT.DELETE\",\"expires\":\"2015-09-07T12:17:42+0000\",\"ctxUserId\":\"2\",\"signatureversion\":\"3\",\"httpmethod\":\"GET\",\"uuid\":\"e5e2db91-414d-484c-99d5-c4e265c14ad8\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"465\"}","instanceType":"Account","instanceUuid":"e5e2db91-414d-484c-99d5-c4e265c14ad8","jobId":"0bb08486-6d9f-4e9f-bfef-b7463c42e71b","status":"SUCCEEDED","processStatus":"0","commandEventType":"ACCOUNT.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.admin.account.DeleteAccountCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/{\"success\":true}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
payload_bytes: 968
payload_encoding: string
redelivered: True

--------------------------------------------------------------------------------

* pr/782:
  CLOUDSTACK-8816 Systemvm reboot event doesnt have uuids. Fixed the same
  CLOUDSTACK-8816: Project UUID is not showing for some of operations in RabbitMQ.
  CLOUDSTACK-8816: entity uuid missing in create network event
  CLOUDSTACK-8816: instance uuid is missing in events for delete account
  CLOUDSTACK-8816 Fixed entityUuid missing in some cases is events

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-14 09:42:44 +05:30
Wido den Hollander 120e1cc934 Merge pull request #810 from ashwinswaroop/feature_x
This is the fix for the JIRA issue CLOUDSTACK-8817.This is my first contribution to Apache CloudStack. The return values for endpoint and startpoint have now been changed to Integer instead of String. Please let me know if this is the only change that is required or if there are additional files which will be impacted by this change which require modification also.

* pr/810:
  CLOUDSTACK-8817: listFirewallRules response JSON startport/endport not an int
  This is the fix for the JIRA issue CLOUDSTACK-8817. The return values for endpoint and startpoint are now Integer instead of String.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-09-13 22:24:00 +02:00
Ashwin Swaroop 221624d2fe CLOUDSTACK-8817: listFirewallRules response JSON startport/endport not an int 2015-09-13 14:45:44 -04:00
Ashwin Swaroop 4d626c11bc This is the fix for the JIRA issue CLOUDSTACK-8817. The return values for endpoint and startpoint are now Integer instead of String. 2015-09-11 18:27:31 -04:00
Rajani Karuturi ff1ce07aef Merge pull request #728 from shwetaag/attach_iso
CLOUDSTACK-8756:Incorrect guest os mapping in CCP 4.2.1-6 for CentOS 5.9Check the bug 8756 for more details

* pr/728:
  CLOUDSTACK-8756:Incorrect guest os mapping in CCP 4.2.1-6 for CentOS 5.9

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-11 21:20:03 +05:30
Rajani Karuturi adfa9c0ca6 Revert "CLOUDSTACK-8756:Incorrect guest os mapping in CCP 4.2.1-6 for CentOS 5.9"
This reverts commit ba59a43333.
Reverting as this is a direct commit to master. Will be followed by a
merge
2015-09-11 21:18:25 +05:30
wilderrodrigues 6b9e2ac16a Merge pull request #800 from bvbharatk/CLOUDSTACK-8798
CLOUDSTACK-8798 Fixed the vrrp virtual ip config in case of rvr enablFixed the vrrp virtual ip config in case of rvr enabled isolated networks.
changed the CsRedundant.py to bring down the public interface when rvr changes state to
backup. Also fixed vrrp authentication for isolated networks.

This fix dose not effect the vpc networks. it is only meant for rvr isolated networks.

manullay deployed a vm in rvr enabled isolated network and ran the tests below.

nosetests --with-marvin --marvin-config=/marvin-config test/integration/component/test_redundant_router_services.py

Test redundant router internals ... === TestName: test_enableVPNOverRvR | Status : SUCCESS ===

----------------------------------------------------------------------
Ran 1 test in 633.336s

nosetests --with-marvin --marvin-config=/marvin-config test/integration/component/test_redundant_router_cleanups.py

Test network garbage collection with RVR ... === TestName: test_network_gc | Status : SUCCESS ===
ok
Test restarting RvR network without cleanup ... === TestName: test_restart_ntwk_no_cleanup | Status : SUCCESS ===
ok
Test restart RvR network with cleanup ... === TestName: test_restart_ntwk_with_cleanup | Status : SUCCESS ===

----------------------------------------------------------------------
Ran 3 tests in 2120.263s

* pr/800:
  CLOUDSTACK-8798 Fixed the vrrp virtual ip config in case of rvr enabled isolated networks. changed the CsRedundant.py to bring down the public interface when rvr changes state to backup. Also fixed vrrp authentication for isolated networks.

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-09-11 15:27:41 +02:00
Bharat Kumar b66dcda49f CLOUDSTACK-8799 fixed for vpc networks. 2015-09-11 14:57:32 +02:00
Boris Schrijver 1c6378ec00 Added QCOW2 virtual size checking for S3.
- Cleaned up S3TemplateDownloader
- Created static QCOW2 utils class.
- Reformatted some parts of DownloadManagerImpl
2015-09-11 14:57:32 +02:00
Bharat Kumar 1a02773b55 CLOUDSTACK-8799 fixed the defalut routes
CLOUDSTACK-8799 made changes to fix CsRedundant.py
2015-09-11 14:57:32 +02:00
wilderrodrigues a04b8f6e82 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/cloudstack 2015-09-11 14:55:53 +02:00
Wido den Hollander 5812f714fc Merge pull request #807 from karuturi/createuser-unittests
unittests to verify empty password is not allowed during account/user create

* pr/807:
  unittests to verify empty password is not allowed during account create

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-09-11 14:54:47 +02:00
wilderrodrigues 9f13f5b9da Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/cloudstack 2015-09-11 14:54:44 +02:00
Wido den Hollander 6330ef0236 Merge pull request #794 from borisroman/LocalTemplateDownloader
Removal of test/debug code.Removed main() method from LocalTemplateDownloader.java

* pr/794:
  Added Unit Test for LocalTemplateDownloader.
  Removal of test/debug code.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-09-11 14:53:02 +02:00
wilderrodrigues 68bf049106 Merge pull request #805 from ekholabs/improvement/callable_CLOUDSTACK-8822
CLOUDSTACK-8822 - Replacing Runnable by CallableThat's the first part of the refactor, which will touch the ManagedContextRunnable and all its subclasses. However, in order to reduce impact, the first part comprises the Agent and Nio related classes (NioConnection, NioServer and NioClient).

* All the sub-classes were also updated according to the changes in the super-classes
* Improved exception handling
* There were also code formatting changes

Changes were structural and the NioTest covered them without need to modify the unit test.

This PR is quite extensive. Please, wait for the Test Report in order to proceed with further review.

ping @remibergsma @miguelaferreira @bhaisaab @karuturi @wido @DaanHoogland @borisroman @K0zka

Cheers,
Wilder

* pr/805:
  CLOUDSTACK-8822 - Replacing Runnable by Callable in the Taks and NioConnection classes

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-09-11 14:52:36 +02:00
shweta agarwal ba59a43333 CLOUDSTACK-8756:Incorrect guest os mapping in CCP 4.2.1-6 for CentOS 5.9
This closes #728
2015-09-11 17:56:24 +05:30
Daan Hoogland 6e2ac9974a Merge pull request #791 from nitin-maharana/CloudStack-Nitin3
CLOUDSTACK-8821: UI Change while configuring firewall rule.It provides appropriate message in the UI when configuring the firewall rules in Network page.
If the default egress policy is allow, then it says to block traffic. If the default egress policy is deny, then it says to allow traffic.

* pr/791:
  CLOUDSTACK-8821: Provide appropriate message in the UI when configuring the Firewall rules.

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-09-11 13:52:19 +02:00
Sanjay Tripathi 9a35f87d37 CLOUDSTACK-8835: Added alerts incase of template download failure
Reviewed-By: Devdeep
2015-09-11 16:07:35 +05:30
Rajani Karuturi 1865433e69 unittests to verify empty password is not allowed during account create 2015-09-11 15:52:38 +05:30
Rajani Karuturi d807403472 Merge pull request #796 from ustcweizhou/unit-tests-for-snapshot
CLOUDSTACK-5863: Add unit tests for volume snapshot

* pr/796:
  Fix coverity scan 1323172
  CLOUDSTACK-5863: Add unit tests for take volume snapshot
  CLOUDSTACK-5863: Add unit tests for create/delete/revert volume snapshot

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-11 15:46:35 +05:30
wilderrodrigues 79a3f8c577 CLOUDSTACK-8822 - Replacing Runnable by Callable in the Taks and NioConnection classes
- All the sub-classes were also updated according to the changes in the super-classes
   - There were also code formatting changes
2015-09-11 11:28:40 +02:00
Bharat Kumar 6f68ecc3bf CLOUDSTACK-8798 Fixed the vrrp virtual ip config in case of rvr enabled isolated networks.
changed the CsRedundant.py to bring down the public interface when rvr changes state to
backup. Also fixed vrrp authentication for isolated networks.
2015-09-10 22:42:12 -07:00
Boris Schrijver c3f2ea6ae0 Added Unit Test for LocalTemplateDownloader. 2015-09-10 13:07:34 +02:00
Wei Zhou c15729e71a Fix coverity scan 1323172 2015-09-10 08:01:36 +02:00
Wei Zhou e586d11a1b CLOUDSTACK-5863: Add unit tests for take volume snapshot 2015-09-10 08:01:33 +02:00
Wei Zhou 007f5b842d CLOUDSTACK-5863: Add unit tests for create/delete/revert volume snapshot 2015-09-10 08:01:30 +02:00
wilderrodrigues 2d90f18b82 Merge pull request #788 from ekholabs/fix/iso_net-CLOUDSTACK-8814
CLOUDSTACK-8814 - Refactoring the configuration of Routers and VPC routers nicsHi there,

I refactored the configureDefaultNics() method in order to split the implementations for Routers and VPC Routers.

The following tests were executed:

* test_vm_life_cycle
* test_routers
* test_vpc_router_nics
* test_vpc_routers
* test_vpc_offerings

@remibergsma @bhaisaab @koushik-das @miguelaferreira @DaanHoogland @karuturi , could you please have a look/test this PR?

Thanks in advance.

Cheers,
Wilder

* pr/788:
  CLOUDSTACK-8814 - Refactoring the configuration of Routers and VPC routers nics

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-09-09 14:08:15 +02:00
borisroman 5f2c732a2c Removal of test/debug code.
Removed main() method from LocalTemplateDownloader.java
2015-09-09 11:16:14 +02:00
Rajani Karuturi 358846492a CLOUDSTACK-8816 Systemvm reboot event doesnt have uuids. Fixed the same
Also removed duplicate console proxy event thats generated both for ssvm
and console proxy reboot.
2015-09-09 14:23:29 +05:30
Rajani Karuturi 3bd53521e8 CLOUDSTACK-8816: Project UUID is not showing for some of operations in RabbitMQ. 2015-09-09 14:23:28 +05:30
Rajani Karuturi b12d4730a6 CLOUDSTACK-8816: entity uuid missing in create network event
*Before*

|                      routing_key                       |     exchange      | message_count |                                                                                                                               payload                                                                                                                               | payload_bytes | payload_encoding | redelivered |
| management-server.ActionEvent.NETWORK-CREATE.Network.* | cloudstack-events | 0             | {"eventDateTime":"2015-09-09 09:35:02 +0530","status":"Completed","description":"Successfully completed creating network. Network Id: 206","event":"NETWORK.CREATE","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"} | 259           | string           | False       |

*After*

|                                                    routing_key                                                    |     exchange      | message_count |                                                                                                                                                                           payload                                                                                                                                                                            | payload_bytes | payload_encoding | redelivered |
| management-server.ActionEvent.NETWORK-CREATE.Network.c9ed8d0d-6e58-456e-be58-28bb809f0b3a                         | cloudstack-events | 52            | {"eventDateTime":"2015-09-09 10:12:37 +0530","status":"Completed","description":"Successfully completed creating network. Network Id: 210","event":"NETWORK.CREATE","entityuuid":"c9ed8d0d-6e58-456e-be58-28bb809f0b3a","entity":"com.cloud.network.Network","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"} | 348           | string           | False       |
2015-09-09 14:23:28 +05:30
Rajani Karuturi 0d12666482 CLOUDSTACK-8816: instance uuid is missing in events for delete account
instance uuid is populated from the getInstanceId of the command which
is returning null. returning the correct value now.
2015-09-09 14:23:28 +05:30
Rajani Karuturi 37c3451aae CLOUDSTACK-8816 Fixed entityUuid missing in some cases is events
context parameters is Map<object,Object>. This has been used
interchangeably with String and class object resulting the param value
not being available in some cases if its put with object and get with
class.forName()

made the put and get consistent by using Object as key everywhere.
2015-09-09 14:23:27 +05:30
Wido den Hollander 28d18dce00 Merge pull request #776 from exoscale/fix/firewall-sysctl
sysctl: don't modify /etc/sysctl.confTo configure firewall rules, CloudStack modifies `/etc/sysctl.conf` and
execute those modifications. This may be harmful for several reasons:

 1. `/etc/sysctl.conf` may be managed by some configuration management
    system. Such a system will constantly restore the previous version.

 2. `/etc/sysctl.conf` may contain additional properties that have been
    changed later by some system administrator (for example, once a
    firewall has been configured, forwarding may have been activated
    while it is disabled in `/etc/sysctl.conf`). Executing the file
    again at a later time may disrupt the system.

 3. Entries are added again and again. `/etc/sysctl.conf` will contain
    the same directives repeated several times.

Using a configuration file is not needed as `sysctl` is able to directly
modify sysctl values with `-w` flag.

Signed-off-by: Vincent Bernat <Vincent.Bernat@exoscale.ch>

* pr/776:
  sysctl: don't modify /etc/sysctl.conf

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-09-09 10:29:20 +02:00
wilderrodrigues 1bc8b6b190 Merge pull request #772 from jayapalu/rvpn
CLOUDSTACK-8690:Added remote access vpn and vpn users configuration@remibergsma  @wilderrodrigues
Added the VR configuration changes for
1. Remote access vpn
2. Remote access vpn users.

* pr/772:
  CLOUDSTACK-8690: Updated the iptables order
  CLOUDSTACK-8690:Added remote access vpn and vpn users configuration

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-09-09 09:59:18 +02:00
Nitin Kumar Maharana 93ed525c00 CLOUDSTACK-8821: Provide appropriate message in the UI when configuring the Firewall rules. 2015-09-09 12:42:15 +05:30
Jayapal 33f4f952cf CLOUDSTACK-8690: Updated the iptables order 2015-09-09 10:50:50 +05:30
Jayapal f661ac0a2a CLOUDSTACK-8690:Added remote access vpn and vpn users configuration 2015-09-09 10:50:50 +05:30
Rajani Karuturi 76c81a7bd9 Merge pull request #685 from kansal/CLOUDSTACK-8727
CLOUDSTACK-8727: API call listVirtualMachines returns same keypairCurrently the user can register same key with different names. Upon listing the VM's the name which got registered first is being returned and not the actual one. Anyhow this behavior is rare and not good. I have added a UNIQUE constraint on the ssh_keypairs table and also made sure that the previous registered keys(with duplicates) get deleted.

* pr/685:
  CLOUDSTACK-8727: API call listVirtualMachines returns same keypair: Corrected and test cases added

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-09 10:39:43 +05:30
Kshitij Kansal 82fbd80193 CLOUDSTACK-8727: API call listVirtualMachines returns same keypair: Corrected and test cases added 2015-09-09 09:35:48 +05:30
wilderrodrigues 5e9e9b84fb CLOUDSTACK-8814 - Refactoring the configuration of Routers and VPC routers nics 2015-09-08 15:34:29 +02:00
wilderrodrigues 237e0e4611 Merge pull request #765 from schubergphilis/fix/default_policies
CLOUDSTACK-8688 - default policies for INPUT and FORWARD should be set to DROP instead of ACCEPT

  - In order to be able to access the routers via the link local interface, we have to add a rules with NEW and ESTABLISHED state

* pr/765:
  CLOUDSTACK-8688 - Adding Marvin tests in order to cover the fixes applied
  CLOUDSTACK-8688 - default policies for INPUT and FORWARD should be set to DROP instead of ACCEPT

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-09-08 13:45:19 +02:00
Rohit Yadav 30792532ed Merge pull request #777 from resmo/fix/config-string
config: doc: add default value 10 in description for vm.network.nic.max.secondary.ipaddresses

value hardcoded by commit 4925b9f6a1

* pr/777:
  config: doc: add default value 10 in description for vm.network.nic.max.secondary.ipaddresses

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-09-08 16:55:51 +05:30
Wido den Hollander bbafaf05b1 Merge pull request #783 from wido/debian-depends
debian: Updated dependencies for PackagesA few dependencies have been updated to their latest version and some
have been removed.

The ordering for some dependencies has been changed so that we will
depend on Java 8 over Java 7 when doing a new install.

* pr/783:
  debian: Updated dependencies for Packages

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-09-08 10:28:49 +02:00
wilderrodrigues 1742b10f1b CLOUDSTACK-8688 - Adding Marvin tests in order to cover the fixes applied
- Changing refactored the utils.get_process_status() function
   - Adding 2 tests: test_01_single_VPC_iptables_policies and test_02_routervm_iptables_policies
2015-09-07 17:00:32 +02:00
Wido den Hollander ae5025aca8 debian: Updated dependencies for Packages
A few dependencies have been updated to their latest version and some
have been removed.

The ordering for some dependencies has been changed so that we will
depend on Java 8 over Java 7 when doing a new install.
2015-09-07 16:45:34 +02:00
Rajani Karuturi 5da70837a7 Merge pull request #781 from karuturi/ui-label-issue
Fixed issue: UI labels are display with key. ex: label.yesdue to missing comma in the jsp, all the labels below it are broken leading to showing keys instead of strings in UI

* pr/781:
  Fixed issue: UI labels are display with key. ex: label.yes

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-07 18:02:14 +05:30
Jayapal c4cd4626ca CLOUDSTACK-8690: Updated the iptables order 2015-09-07 16:01:57 +05:30
Rajani Karuturi 30b19d3f61 Fixed issue: UI labels are display with key. ex: label.yes 2015-09-07 14:59:28 +05:30