Commit Graph

2228 Commits

Author SHA1 Message Date
Kanzhe Jiang 736b236eaf bigswitch controller support
Reviewed-by: Chiradeep Vittal <chiradeepv@gmail.com>

Signed-off-by: Murali Reddy <murali.reddy@citrix.com>
2013-02-01 12:42:04 +05:30
Kishan Kavala 9ea90c3359 Merge branch 'master' into regions
Conflicts:
	client/tomcatconf/components.xml.in
	server/src/com/cloud/api/ApiResponseHelper.java
2013-02-01 11:38:16 +05:30
Murali Reddy 96c24930ae Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-cloudstack
Conflicts:
	server/src/com/cloud/network/NetworkManagerImpl.java
2013-02-01 08:45:53 +05:30
Kelven Yang 7bd8bec68a Sync javelin with master up to 894cb8f7d9 2013-01-31 17:20:19 -08:00
Sheng Yang 5cb9df91a1 Merge branch 'ipv6'
Conflicts:
	api/src/com/cloud/network/NetworkProfile.java
2013-01-31 15:07:33 -08:00
frank 8416d81b99 Merge branch 'ucs' into javelin
Conflicts:
	api/src/org/apache/cloudstack/api/ApiConstants.java
	plugins/pom.xml
	utils/src/com/cloud/utils/exception/CloudRuntimeException.java
	utils/src/com/cloud/utils/exception/RuntimeCloudException.java
2013-01-31 14:44:07 -08:00
Murali Reddy e7a554fc6a Merging events framework branch into master. This commit will bring
following changes

   - introduced notion of event bus with publish, subscribe, unsubscribe
     semantics

   - a plug-in can implement the EventBus abstraction to provide event
     bug to CloudStack

   - A rabbitMQ based plug-in that can interact with AMQP servers to
     provide message broker based event-bug

   - stream lines, action events, usage events, alerts publishing in to
     convineance classed which are also used to publish corresponding
     event on to event bus

   - introduced notion of state change event. On a state change, in the
     state machine corrsponding to the resource, a state change event is
     published on the event bug

   - associated a state machined with Snapshot and Network objects

   - Virtual Machine, Volume, Snaphost, Network object state changes wil
     result in a state change event
2013-02-01 01:37:24 +05:30
Kelven Yang 1b2b369ecb Merge latest master into javelin 2013-01-31 11:34:49 -08:00
Kishan Kavala a33d8f9601 Fixed listRegions serach by id, name 2013-01-31 23:25:29 +05:30
Kishan Kavala c607e03f0e Merge branch 'master' into regions 2013-01-31 22:31:25 +05:30
Kishan Kavala e7341313e9 Added unit tests 2013-01-31 22:28:09 +05:30
Kishan Kavala 8b1a5b1de2 - Separated RegionServiceImpl and RegionManagerImpl
- Added comments
- Changed package name to org.apache.cloudstack.region
2013-01-31 18:08:20 +05:30
Jayapal b6727e5646 CLOUDSTACK-299: Egress firewall rules feature for guest network on VR 2013-01-31 11:20:47 +05:30
Jayapal 48fdc25daa CLOUDSTACK-299: Egress firewall rules feature for guest network on VR 2013-01-31 10:57:30 +05:30
Sheng Yang f57cbaacd6 IPv6: Fix VlanIpRangeResponse 2013-01-30 20:01:04 -08:00
Sheng Yang f45576bce5 IPv6: Fix missed AddressFormat in nic table 2013-01-30 19:46:30 -08:00
Sheng Yang 4adc974ab7 IPv6: Disable untested features 2013-01-30 17:43:29 -08:00
Harikrishna Patnala b21595c10d CLOUDSTACK-297: Reset SSH key to access VM
This feature provides resetting a SSH key for an existing VM which means,
setting the old ssh key that is assigned to the VM previously with the new ssh
key.

Signed-off-by: Harikrishna Patnala <harikrishna.patnala@citrix.com>
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-30 17:33:44 -08:00
Marcus Sorensen 15906c03ca Summary: add/remove/update default nics feature
Description: Adds API calls updateDefaultNicForVirtualMachine,
addNicToVirtualMachine, and removeNicFromVirtualMachine. These are
intended to allow a user to modify a VM's configuration post
deployment, to adjust the networks to which the VM belongs.

BUG-ID: CLOUDSTACK-645
Submitted-by: Brian Angus <blangus@betterservers.com>
Submitted-by: Ryan Dietrich <ryan@betterservers.com>
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1359494800 -0700
2013-01-30 17:43:21 -07:00
Rohit Yadav 85aa3a9977 Revert "api: Include cloudstack-version in both xml and json api response"
This reverts commit f8a483fc5a.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-30 16:12:21 -08:00
Sheng Yang 25ae2e4f3f IPv6: Remove dualstack parameter from createNetworkCmd
We can tell if it's dual stack by looking into the startIp and startIpv6.
2013-01-30 13:35:47 -08:00
Sheng Yang b1972f6c11 IPv6: Update NetworkResponse and NicResponse 2013-01-29 22:01:31 -08:00
Sheng Yang 85d0546fe8 IPv6: Make the IPv6 input all lowercase
To make them consistent.
2013-01-29 22:01:25 -08:00
Kishan Kavala e848a937df Add sync entry to region_sunc table on region api failure 2013-01-30 11:20:30 +05:30
frank 1f7eaf3d61 CloudStack CLOUDSTACK-774
Supporting kickstart in CloudStack baremetal

merge baremetal feature to master
2013-01-29 17:19:57 -08:00
Kishan Kavala d3089ba2a5 Merge branch 'master' into regions 2013-01-29 11:50:49 +05:30
Sheng Yang 2cbca372bf IPv6: Add support for IPv6 on DeployVMCmd 2013-01-28 18:54:34 -08:00
Rohit Yadav 5b92c57b2c DeployVMCmd: Remove @ACL on ipToNetwork map to avoid NPE
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-28 16:16:02 -08:00
Rohit Yadav 9a95495f87 DeployVMCmd: Remove entityType for ipToNetworkList, MAP is string->string
Remove entityType as it can confuse people, right now we process map to string
data type maps<string,string> This map should be handled in cmd class level by
an api writer to getObject by uuid or by long int id as in getIpToNetworkMap()
of DeployVMCmd

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-28 16:15:55 -08:00
Rohit Yadav 99a04a416c DeployVMCmd: Remove @ACL on ipToNetwork map to avoid NPE
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-28 16:10:12 -08:00
Rohit Yadav 66430c9745 DeployVMCmd: Remove entityType for ipToNetworkList, MAP is string->string
Remove entityType as it can confuse people, right now we process map to string
data type maps<string,string> This map should be handled in cmd class level by
an api writer to getObject by uuid or by long int id as in getIpToNetworkMap()
of DeployVMCmd

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-28 15:43:37 -08:00
Min Chen 4ad38f8afb CLOUDSTACK-274: fix duplicate error code. 2013-01-28 10:49:06 -08:00
Kishan Kavala def9fd1f2e remove finduser, findaccount, finddomain APIs 2013-01-28 17:04:25 +05:30
Mice Xia e13d93279e make API changeServiceForVirtualMachine work by changing @entityType of parameter serviceOfferingId to ServiceOfferingResponse 2013-01-28 15:39:54 +08:00
Sheng Yang bd4bc025d1 IPv6: Accept IPv6 parameter for createNetworkCmd
Also ass public_ipv6_address for ipv6 address management.

Extend nics and vlans for ipv6 address.

Add dependency to com.googlecode.ipv6(java-ipv6).

Modify dhcpcommand for ipv6.
2013-01-26 23:14:15 -08:00
frank 301b0b9090 CloudStack CLOUDSTACK-723
Enhanced baremetal servers support on Cisco UCS

init
2013-01-25 15:00:09 -08:00
Kishan Kavala c6ae19d12f Merge branch 'master' into regions 2013-01-25 18:49:47 +05:30
Kishan Kavala de20cb6c1a Apply API refactoring changes. Make changes to Regions API to work with new code 2013-01-25 18:45:01 +05:30
Kishan Kavala 1f57d925eb Apply API refactoring changes. Make changes to Regions API to work with new code 2013-01-25 18:41:59 +05:30
Rohit Yadav 356866c72b Merge branch 'master' into javelin
- Fixed new join dao impls as spring components
- Fixed component context xml to load api rate limit checker
- Fixed root pom.xml for duplicate plugin
- Fixed list data centers method
- Fixed following conflicts:
	api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java
	api/src/org/apache/cloudstack/api/command/user/offering/ListServiceOfferingsCmd.java
	api/src/org/apache/cloudstack/api/command/user/template/DeleteTemplateCmd.java
	api/src/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java
	plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/api/query/QueryManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/swift/SwiftManagerImpl.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-24 19:18:53 -08:00
Rohit Yadav b63b7ddf60 UserContext: Threadsafe singleton, inject using ComponentContext, spring di failsafe
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-24 17:00:12 -08:00
Rohit Yadav 531c2f030c api: Fix annotations on iso related cmd
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-24 10:33:04 -08:00
Kelven Yang a26e075f0e Remove final modifer to ListS3Cmd class as it conflicts with Spring injection 2013-01-23 18:24:03 -08:00
Rohit Yadav ec0c6b00b4 api: Fix correct annotation value in template cmds for template id
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 16:00:39 -08:00
Rohit Yadav 9e91584d07 CLOUDSTACK-225: Fix redundant field values in class and apidocs
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 15:50:56 -08:00
Rohit Yadav b335684ec5 EntityManager: Implement method to search by uuid including removed entities
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 14:57:41 -08:00
Rohit Yadav 8273af7cbf CopyTemplateCmd: Fix correct annotation for id param in copytemplate
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 14:57:40 -08:00
Rohit Yadav dba413a3d4 CreateNetworkOfferingCmd: Fix correct annotation for serviceofferingId param
Thanks to Hugo for pointing this out: http://markmail.org/thread/gbu4pkanncbe4xqt

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 10:57:08 -08:00
Min Chen c3f1a9d324 CLOUDSTACK-355: fix count for listSwiftsCmd. 2013-01-22 17:14:44 -08:00
Min Chen 26be5ce2df CLOUDSTACK-355: create DB view for ZoneResponse to fix count for
listZonesByCmd.
2013-01-22 16:39:45 -08:00
Prachi Damle 1cb0ce44df Removing BareMetalService referrences. We will load UserVMService by default. 2013-01-22 12:54:20 -08:00
Prachi Damle 94e8090bf3 Deploy, Start, Stop, Destroy VM orchestration service changes 2013-01-22 12:54:04 -08:00
Min Chen 6e40c33628 CLOUDSTACK-355: create DB view for ServiceOfferingResponse to fix count
for ListServiceOfferingsCmd.
2013-01-21 15:25:49 -08:00
Min Chen 6db719d58b CLOUDSTACK-355: Create DB view to fix count issue for
listDiskOfferingsCmd.
2013-01-21 10:50:10 -08:00
Alex Huang fe6f0457d5 fixed unit tests from merge 2013-01-18 15:58:55 -08:00
Min Chen 2955d58976 Fix "Count" for listSnapshotPoliciesCmd. 2013-01-18 13:55:11 -08:00
Alex Huang 10d9c019a9 All merge conflicts resolved 2013-01-18 12:14:57 -08:00
Min Chen 5a865462e9 Merge branch 'api_limit' 2013-01-18 09:43:54 -08:00
Chiradeep Vittal ce4b49d30b network-refactor merge: fix nonoss build
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-18 09:38:49 -08:00
Kishan Kavala 51c1ca7cbe CLOUDSTACK-1010: Fix count issue for listHosts command 2013-01-18 16:13:25 +05:30
Min Chen 2fd1d476b4 Merge branch 'master' into api_limit 2013-01-17 21:23:50 -08:00
Chiradeep Vittal 56cd809600 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-cloudstack
Re-merge with network-refactor
2013-01-17 11:32:49 -08:00
Min Chen c1a540c6bb Merge branch 'master' into api_limit
Conflicts:
	api/src/org/apache/cloudstack/api/BaseCmd.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/api/ApiServlet.java

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-16 22:48:22 -08:00
Min Chen 3dabd5fbf3 Clean up ApiServer, ApiServlet and ApiDispatcher flow to handle various CloudRuntimeException
and CloudException in one place, and Introduced ApiErrorCode to handle CloudStack API error
code to standard Http code mapping.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-16 22:36:34 -08:00
Min Chen bdcfa1919b Clean up ApiServer, ApiServlet and ApiDispatcher in handling various
exceptions, and Introduced ApiErrorCode to handle CloudStack API error
code to standard Http code mapping.
2013-01-16 21:52:48 -08:00
Chiradeep Vittal cadca5fc0c Merge branch 'master' into network-refactor-merge2
Conflicts:
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/element/RemoteAccessVPNServiceProvider.java
	plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
	server/src/com/cloud/acl/DomainChecker.java
	server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
2013-01-16 19:17:14 -08:00
Kelven Yang 497dcd5044 Get rid of PlugService annotation, replace it with Spring standard injection in command classes 2013-01-16 18:44:44 -08:00
Marcus Sorensen 975021dda1 Summary: adding resizeVolume api call
Detail: This merges the resizevolume feature branch, which provides the
ability to migrate a disk between disk offerings, thereby changing its
size, or specifying a new size if current disk offering is custom.

BUG-ID: CLOUDSTACK-644
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1358358209 -0700
2013-01-16 17:43:35 -07:00
Min Chen e83fe471c7 Merge branch 'master' into api_limit 2013-01-16 10:49:25 -08:00
Murali Reddy 4b67340d8c Revert "Summary: partical check-in for L4-L7 network services in the
shared"

This reverts commits 0de5a145e4,
28bbf6c527

Reverting due to IP clearance issues for the commits done as part of CLOUDSTACK-312
2013-01-16 16:43:37 +05:30
Murali Reddy c7840cf91f reverting the earlier commit 432ea9c7d4
done for bug CLOUDSTACK-265 due to IP clearence issues.
2013-01-16 15:10:27 +05:30
Min Chen 97cb16944f Merge branch 'master' into api_limit 2013-01-15 18:18:34 -08:00
Min Chen 939acb0f4c Remove unused CloudExecutionException. 2013-01-15 18:17:35 -08:00
Kelven Yang df684261cf Put command classes under Spring injection framework 2013-01-15 18:07:19 -08:00
Min Chen 8608925216 Consolidate RuntimeCloudException and CloudRuntimeException into one
class CloudRuntimeException, and removed RuntimeCloudException to avoid
confusion.
2013-01-15 18:07:08 -08:00
Rohit Yadav f6a8b45de5 ApiDiscovery: Use UserContext getCallerUser, do a lazy eval to get account service
Impl. and use UserContext to get User.
CloudStack's @Inject is horrible, it may sometimes fail to inject account service
during startup. Do a lazy injection using ComponentLocator when needed.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-15 16:11:51 -08:00
Min Chen 3698d64ba2 Use 429 Error code for API_LIMIT_EXCEED error due to latest Http status
code in
http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error
2013-01-15 16:08:47 -08:00
Min Chen 4355d06a86 Reuse APIChecker adapter interface for APi Rate limit checking and optimize ApiRateLimitService interface.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-15 15:53:19 -08:00
Rohit Yadav b9c020fa7c APIChecker: Fix interface definition to take in User
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-14 19:01:25 -08:00
Min Chen 4d0c850dc8 Fix plugin component configuration. 2013-01-14 17:13:18 -08:00
Rohit Yadav 896e505da6 APIChecker: Make interface generic, pass user and not just role
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-14 15:08:45 -08:00
Rohit Yadav 38eaa04b98 Pull changes from master into javelin
- Disables simulator plugin, breaks build, available via simulator profile
- Fixes spring injections
- Fix api,acl plugins, ApiServer, ApiDispatcher
- Fix other merge conflicts

Conflicts:
	docs/en-US/external-firewalls-and-load-balancers.xml
	plugins/acl/static-role-based/src/org/apache/cloudstack/acl/StaticRoleBasedAPIAccessChecker.java
	server/src/com/cloud/api/ApiDispatcher.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
	utils/test/com/cloud/utils/log/CglibThrowableRendererTest.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-12 06:02:54 -08:00
Rohit Yadav ad063ed610 StaticRoleBasedAPIAccessChecker: Throw exception on failed check
Plugin should not be responsible for existence of checking an API, this was wrong.
Throw exception boldly when checkAccess fails.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 19:24:11 -08:00
Rohit Yadav 0dca44efe8 ApiServer: Debug messages, don't spam with info, remove identity helper in ResponseGenerator
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 18:44:20 -08:00
Rohit Yadav 40779975d3 ExtractVolumeCmd: Fix regression, use Zone Id for getting zone
Fixes regression introduced in b14b39a69f

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 18:44:20 -08:00
Rohit Yadav a35db97355 NetworkService: Add method to interface to get network by uuid
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 18:44:20 -08:00
Rohit Yadav 35544f26e5 DeployVmCmd: Remove usage of IdentityDao, use Network to get by id or uuid
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 18:44:20 -08:00
Rohit Yadav 31dd412626 DomainService: Fix getDomain by uuid string
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 18:44:19 -08:00
Min Chen 57e67c57d7 Merge branch 'master' into api_limit
Conflicts:
	server/src/com/cloud/api/ApiServer.java

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-11 15:50:21 -08:00
Kelven Yang f57dcaa820 Loadable components to be in separted Spring component bundling 2013-01-11 15:33:15 -08:00
Rohit Yadav 86a77e29dc ApiDiscovery: Fix listApis to return api response, related apis etc.
- Fix method to return listApis per api name basis
- Return api response, api related cmd etc. as part of response
- Caching and processing all cmd, response classes when plugin starts, made class
  list, maps static so they are shared by multiple instances in case, takes about
  1306ms to do the processsing but only on load time
- Cache for first listApi() and return precached data thereon, takes 2.2ms
  for first call, during runtime and 0ms thereon

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 22:52:10 -08:00
Rohit Yadav 74bb043c37 APIChecker: Rename refactor and add interface checkExistence
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 18:51:30 -08:00
Rohit Yadav 18bdc58ceb APIAccessChecker: Refactor and simply plugin implementation using better data structures
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 17:21:58 -08:00
Alex Huang 1294cdc701 pulled from master 2013-01-10 16:01:01 -08:00
Alex Huang d6f44a4d6a merged from master 2013-01-10 15:55:42 -08:00
Rohit Yadav 1425736c19 AccountManager: Add method to translate account type to role type
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 15:55:01 -08:00
Rohit Yadav 1ac48bc36c RoleType: public enum to get presently defined static role in CloudStack
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 15:55:01 -08:00
Rohit Yadav 62a42723f9 APIAccessChecker: Make it check based on role type and not user
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 11:49:15 -08:00
Alex Huang 56e5fbdee2 removed import of componentlocator and inject from all files 2013-01-10 11:44:47 -08:00
Alex Huang f40e7b7511 removed componentlocator and inject 2013-01-10 11:05:20 -08:00
Rohit Yadav c6d9877d64 ApiDiscoveryService: Move refactor, interface should be in plugins and not in cloud-api
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 10:59:38 -08:00
Min Chen 0b69d9449a Merge branch 'master' into api_limit 2013-01-10 09:51:41 -08:00
Chiradeep Vittal 1776659fe7 Network-refactor: move validateRule to LB manager since it now has access to LB elements.
NetworkServiceImpl does not need a cache of system network offerings
Ensure mocks build to new APIs.

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 18:36:29 -08:00
Chiradeep Vittal 745fae93f6 Network-refactor: some clean up of the NetworkService interface
- remove unused public apis
- remove unused members
- change visibility of methods to protected if they do not implement a method in the interface

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 18:36:23 -08:00
Min Chen 7f8262d45e Remove IdentityProxy and IdentityTypeAdapter class.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-09 17:40:58 -08:00
Rohit Yadav d13cc7e7e4 ApiDiscoveryService: Use only as pluggable service
Remove usage and impl as adapter.
We have duplicate code that generates apiname:cmd class maps which is
unavoidable right now as:

- Plugin should not depend on ApiServer or any other component
- cloud-utils cannot depend on cloud-api for the APICommand annotation
- Use java reflect to create a static method in cloud-utils that does the job
  would be unsafe.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 17:25:29 -08:00
Rohit Yadav 3dc7626ebc api: Comment out @APICommand annotation for api cmd classes that are unknown
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 17:20:46 -08:00
Min Chen 8d98daa1be Add API throttling config items and APILimitChecker Adapter interface,
add api limit checking in APIServer flow.
2013-01-09 16:11:23 -08:00
Chiradeep Vittal 88df984ff3 Network-refactor: add a method for plugins to get the source nat ip
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:02 -08:00
Chiradeep Vittal 0c3001530f Network-refactor: move readonly interface NetworkModel into api project so that plugins can stop depending on the server project
Network-refactor: accidentally injected NetworkModel twice (revert one of them)

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00
Min Chen dcbb0ecef5 Fix CLOUDSTACK-936: fix nonoss build due to CloudException IdentityProxy
removal.
2013-01-09 13:47:53 -08:00
Min Chen 9924b64830 commit 3a3cb60e85c0254ebceff55d0b210ca1ff5386a6
Author: Likitha Shetty <likitha.shetty@citrix.com>
Date:   Wed Jan 9 11:54:25 2013 +0530

    CLOUDSTACK-614: ListTemplates API is not returning "Enable SSH Key" attribute for any given template. Update the TemplateResponse by adding 'sshkeyenabled' attribute to it. This attribute is set to the value that the user passes as input for parameter 'sshkeyenabled' while registering the template.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-09 10:42:44 -08:00
Rohit Yadav 7c5c3c5dfc api: Re-add deleted addProxyObject method on CloudException
- This was removed part of the response work
- Re-adding as this kind of method definition is available in several other
  exception classes and is used in a lot of cmd classes and in service layer
- TODO: We need to find a way to replace old code and refactor method with the
  new definition that gets only uuid.
- FIXME: Some tables don't have uuid for ex. ClusterVSMMapVO, in this case
  we should keep the method until we find a way to fix this issue

Partially reverting a88ce6bb7f

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 05:43:41 -08:00
Alex Huang b6c56736e5 merge from master 2013-01-09 05:20:36 -08:00
Alex Huang 0bcb64605f all built with the latest 2013-01-09 05:02:39 -08:00
Kelven Yang ff26a42eb2 Get rid of static references to component framework 2013-01-08 19:01:27 -08:00
Rohit Yadav 2c04dad529 ApiDiscovery: New plugin to help discover apis on mgmt server
- Introduces api/discovery plugin that helps discover apis on the mgmt server
- It's a pluggable service, therefore has it's own api-discovery_commands.properties
  where the discovery api, listApi can be blacklisted (by removing it), or it's
  role mask can be changed
- By default its response has all the apis
- Changes in other parts of the code to make it work, viz. components.xml, pom.xml,
  and in ApiServer where it is used as an adapter to get apiname, cmd mappings

The ApiDiscoveryService interface is a contract that the implementing class will
provide:

1. A means to get all the apis as a list of response, plugin is free to implement
   the response class, as long as it extends on the BaseResponse:

    ListResponse<? extends BaseResponse> listApis();

2. Provides a map of apiname as the key and cmd class as the value:

    Map<String, Class<?>> getApiNameCmdClassMapping();

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-08 18:54:29 -08:00
Alex Huang e54ed85926 getting it to compile 2013-01-08 14:39:05 -08:00
Alex Huang cf8de7ee17 Removed all the .project files 2013-01-08 14:11:00 -08:00
Alex Huang 30f2565d98 Merge branch 'api_refactoring' into javelin 2013-01-08 12:36:04 -08:00
Min Chen 74c15a22a0 Create DB view for ListStoragePools API performance optimization.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-08 12:33:18 -08:00
Prachi Damle a4f4c98670 OrchestrationService: some changes for DeployVM 2013-01-08 11:53:54 -08:00
Kelven Yang 559933f062 First page of Javelin management server bootstraped by Spring is able to show now 2013-01-07 15:54:18 -08:00
Chiradeep Vittal f4da21998c WIP : extract NetworkService
WIP : move stuff between network manager and network service.
      at this point there is about 700 lines of duplicated code
WIP: Leave creation of default offerings to NetworkManager init
WIP: clean up imports

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-07 14:25:03 -08:00
Rohit Yadav 39b829bffe api: ACL annotation and checkAccess removal refactor for StopVMCmd
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 17:19:49 -08:00
Rohit Yadav 96b9164e4b Fix ACL processor and methods in ApiDispatcher and their usages
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 17:18:45 -08:00
Rohit Yadav a9ab42d962 api: Extend to infra. interface entities that are not associated with any account
Includes, datacenter, pod, sotragenetworkiprange,vlan,diskoffering,networkoffering,
serviceoffering.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 15:36:59 -08:00
Rohit Yadav e51bc8b161 InfrastructureEntity: New interface contract for classes not associated with any account
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 15:32:40 -08:00
Rohit Yadav ed0637b8c2 api: Refactor move acl to org.apache.cloudstack
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 15:30:58 -08:00
Rohit Yadav b246ed7be7 api: Fix name fields for autoscale @APICommand annotation
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 14:56:30 -08:00
Rohit Yadav 8b085d3308 api: Move base template*cmd class to org.apache.cloudstack.api, fix names and annotations 2013-01-06 14:46:02 -08:00
Rohit Yadav 6a112bd64c api: Rename Validator to Validate, cosmetic fixes
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-05 16:52:53 -08:00
Rohit Yadav 63481ecb34 CLOUDSTACK-212: Move api response classes to cloud-api under org.apache.cloudstack
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-05 16:27:36 -08:00
Rohit Yadav c5abc180ab CLOUDSTACK-212: Move api/test pkg to org.apache.cloudstack
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-05 15:53:59 -08:00
Rohit Yadav 73a0c3e07f api: Refactor move storagepool apis to storage pkg
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-05 15:32:58 -08:00
Rohit Yadav f07a98a740 api: Refactor and move s3 to api.command.admin.storage
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-05 15:30:38 -08:00
Rohit Yadav 5119785cf7 Get latest changes, merge branch 'master' into api_refactoring
Conflicts:
	api/src/com/cloud/network/element/RemoteAccessVPNServiceProvider.java
	server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
	server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 22:21:20 -08:00
Sheng Yang 42c8c73ab6 CLOUDSTACK-306: Introducing IpDeployingRequester and implement inline mode
For LB device in inline mode, the ip deployer(the owner of public ip) is the
firewall in front of it, not itself. So check if it's inline or not, if it's
inline, return the firewall as ip deployer
2013-01-04 19:18:03 -08:00
Sheng Yang 177e157cbf CLOUDSTACK-306: Move inline mode parameter from device to network offering
One F5 device can be used as inline and side-by-side at the same time(for
different networks). So we can define inline or not on network base.
2013-01-04 19:17:58 -08:00
Sheng Yang 717f9dcd4d CLOUDSTACK-306: Implement SRX firewall
Use SRX firewall filter as SRX firewall. The old security policy mechanism
cannot be used as IP based. This would enable SRX's ability to control traffic
for F5 behind it.
2013-01-04 19:17:50 -08:00
Rohit Yadav 95e605ed25 api: Fix failing unit test, regression due to recent merge
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 18:16:29 -08:00
Rohit Yadav 364116074e api: Remove IdentityMapper finally
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 17:12:14 -08:00
Chiradeep Vittal 3529c47248 Rationalize the interface by injecting ipDeployers. This is step 1 and includes 2 service providers - Remote AccessVPN and S2S VPN
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-04 15:08:55 -08:00
Chiradeep Vittal b0a1a47d48 Not all network service providers need to be NetworkElements. NetworkElements are only those that are interested in L2 events. Since only NetworkElements were injected, and only in NetworkManagerImpl, this has led to all kinds of contortions. As a first step, enable individual service providers to be injected.
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-04 12:14:49 -08:00
Rohit Yadav 6fa8c708ee api: Fix service and disk offering annotations
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-03 22:32:46 -08:00
Rohit Yadav 223bfc07c3 api: Fix Parameter annotation in DeleteServiceOfferingCmd.java
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-03 22:32:46 -08:00
Rohit Yadav 65b274d09b api: Fix incorrect annotation for list template cmd
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-03 22:32:46 -08:00
Edison Su 9410cd1f3c add deletevolume and createdata disk 2013-01-03 18:56:18 -08:00
Min Chen daeb4abcca Create DB views for AsyncJobResponse to speed up listAsyncJobsCmd.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-03 15:35:26 -08:00
Rohit Yadav 072c6f1988 acl: Remove getApiCommands() method on APIAccessChecker interface
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-02 18:43:59 -08:00
Min Chen ebfb90e217 Create DB view for Account to speed up ListAccountsCmd, and add missing async job information for some response objects.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-02 17:38:58 -08:00
Rohit Yadav d8d87adc22 Merge branch 'master' into api_refactoring
Conflicts:
	api/src/com/cloud/api/commands/ListS3sCmd.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-02 13:57:55 -08:00
John Burwell e4583ced2e S3-backed Secondary Storage 2013-01-02 10:28:47 -08:00
Rohit Yadav d928014a75 api: Add CopyIsoCmd, boilerplate cmd class for api copyIso
Two apis, copyIso and copyTemplate point to the same Cmd class, the commit adds
the child class CopyIsoCmd that extends on CopyTemplateCmd. This just serves as
the boilerplate class. Every api cmd name maps 1:1 to a cmd class.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-28 01:49:43 -08:00
Rohit Yadav 983fe9712f api: Fix name field in @APICommand for CopyTemplateCmd.java
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-28 01:47:22 -08:00
Rohit Yadav 76ea0e7c45 api: Annotate and fill name field of @APICommand from commands.properties.in
- Reads and fills name field of all cmd class and api name mapping from
  commands.properties.in
- Automation using following python script ensures correctness of the change

import os
file_prefix = "api/src/"
search_pattern = "@APICommand("
pattern_len = len(search_pattern)
prop_file = "client/tomcatconf/commands.properties.in"
f = open(prop_file, 'r')
data = f.read()
f.close()
apis = filter(lambda x: x.strip()!='' and (not x.startswith('#')), data.split('\n'))
for api in apis:
    api_name = api.split('=')[0]
    cmd_name = file_prefix + api.split('=')[1].split(';')[0].replace('.', '/').strip() + ".java"
    if not os.path.exists(cmd_name):
        print cmd_name, api_name
    f = open(cmd_name, 'r')
    d = f.read()
    f.close()
    idx = d.find(search_pattern) + pattern_len
    new_str = d[:idx] + "name = \"%s\", " % api_name + d[idx:]
    f = open(cmd_name, 'w')
    f.write(new_str)
    f.close()

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-28 01:09:28 -08:00
Prasanna Santhanam 617a0507e1 api: EntityReference for serviceOfferingResponse
ServiceOfferingResponse's entityReference was missed

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-26 19:11:19 -08:00
Prasanna Santhanam 840da55520 api: Entities will extend InternalIdentity and Identity
Entities correlated to the Identity and carry a uuid and those
correlated to InternalIdentity carry an id. Those entities that carry
both will correlated to Identity and InternalIdentity.

This refactors entities wherever possible to ensure the VO only
implements the first class entity.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-26 19:11:15 -08:00
Prasanna Santhanam b80dccee3f api: ListTemplateCmd returns TemplateInfo not UserVmResponse
Correcting the incorrecty response entity when LIstTemplatesCmd was
caled
2012-12-26 18:32:57 -08:00
Rohit Yadav b8369b808e api: Introduce name field which would hold the OTW api command name
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:56:14 -08:00
Rohit Yadav 7a7fe583e0 Rename Implementation annotation to APICommand
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:55:34 -08:00
Rohit Yadav a18464dbe5 Rename @Entity to @EntityReference used in Response classes
- Renames to @EntityReference as @Entity is too general and used in javax's pkg
- Remove redundant imports

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:34:35 -08:00
Rohit Yadav 057ac12d23 Enforce InternalIdentity interface on all VO classes that impls long getId()
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:09:44 -08:00
Min Chen 21c1623a03 Create DB view for Volume to speed up ListVolumesCmd.
Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-25 17:08:50 -08:00
Rohit Yadav 78d70d349b Merge branch 'master' into api_refactoring
- Applies Isaac Chian'gs fix (CLOUDSTACK-648) to allow user change their password
- TODO: Fix response, only partially applied

Conflicts:
	api/src/org/apache/cloudstack/api/response/UserResponse.java
	client/tomcatconf/commands.properties.in
	server/src/com/cloud/api/ApiResponseHelper.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-25 09:51:17 -08:00
Isaac Chiang 5aefd77f77 Fix for CloudStack-648
Signed-off-by: Gavin Lee <gavin.lxh@gmail.com>
2012-12-26 00:00:58 +08:00
Rohit Yadav 042a8e7681 api: Get rid of method definition in interface, that uses IdentityMapper for getting entity
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 18:05:53 -08:00
Rohit Yadav fd784bd2d3 api: Annotate CreatePrivateNetworkCmd
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 17:28:53 -08:00
Rohit Yadav f4a407e197 api: Remove IdentityMapper imports on vpn
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 17:26:16 -08:00
Rohit Yadav 02efffa93e api: Annotate VPC apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 17:24:58 -08:00
Rohit Yadav 1931667243 api: Annotate volume api
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 17:21:43 -08:00
Rohit Yadav edb42d2cbb api: Annotate templates apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 17:17:59 -08:00
Rohit Yadav a5dddb4a83 api: Extend or Implement InternalIdentity's getId method on a lot of VOs and Interfaces
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 16:52:35 -08:00
Rohit Yadav a157a4c1eb api: InternalIdentity interface that provides contract to have getId
Adds new interface that would maintain contract that extending Interface
or implementing class will have the getId() method to get Internal Id

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 16:51:11 -08:00
Rohit Yadav 296b49c2f8 Merge branch 'master' into test-merge-api
Conflicts:
	api/src/com/cloud/agent/api/BackupSnapshotCommand.java
	api/src/com/cloud/agent/api/storage/PrimaryStorageDownloadCommand.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/resource/ResourceService.java
	api/src/org/apache/cloudstack/api/ApiConstants.java
	api/src/org/apache/cloudstack/api/ResponseGenerator.java
	api/src/org/apache/cloudstack/api/response/SSHKeyPairResponse.java
	client/tomcatconf/commands.properties.in
	core/src/com/cloud/storage/SnapshotVO.java
	pom.xml
	server/src/com/cloud/api/ApiDispatcher.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
	server/src/com/cloud/upgrade/dao/Upgrade40to41.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	setup/db/create-schema.sql
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 13:54:46 -08:00
Rohit Yadav 38225a17f6 api: Annotate template related api
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 03:56:07 -08:00
Rohit Yadav 0719f21320 api: Annotate ssh apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 03:49:38 -08:00
Rohit Yadav 66c2c0cbb7 api: Annotate snapshot related apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 03:44:45 -08:00
Rohit Yadav a0a8a0bb5d api: Annotate resource apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 03:33:37 -08:00
Rohit Yadav 4d79909828 api: Remove unused, redundant imports in project
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 03:29:18 -08:00
Rohit Yadav 07f5e1ac2d api: Annotate offering apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 03:26:06 -08:00
Rohit Yadav b37aca47b9 api: Annotate network apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 03:22:57 -08:00
Rohit Yadav 06246ae27c api: Annotate nat apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 03:08:09 -08:00
Rohit Yadav 8559b4eab8 api: Annotate loadbalancer related cmd and response classes
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 03:01:26 -08:00
Rohit Yadav 0e1083ad83 api: Annotate iso related cmd and response classes
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 02:41:11 -08:00
Min Chen 503db14127 Add back Identity interface to most VO class to avoid cast error in
ApiDispatcher.setupParameter call.
2012-12-22 22:35:09 -08:00
Min Chen e7fa1a86fb Create DB views to improve ListHostsCmd performance.
Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-22 21:47:05 -08:00
Rohit Yadav e5fc513257 api: Annotate guest related apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 20:44:02 -08:00
Rohit Yadav ced1aabf82 api: Annotate firewall related apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 20:42:05 -08:00
Rohit Yadav af5eacfc01 api: Annotate autoscale apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 20:28:19 -08:00
Rohit Yadav 575fab9711 api: Annotate account and address apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 19:52:41 -08:00
Rohit Yadav 4e2b30d31d api: Annotate vpc admin apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 19:09:18 -08:00
Rohit Yadav 6f3c7bf4c7 api: Annotate vm related apis in admin pkg
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 18:58:01 -08:00
Rohit Yadav e9457cb407 api: Annotate Vlan admin apis, fix resource, storagepool, systemvm apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 17:31:16 -08:00
Rohit Yadav f3f0962df2 api: Annotate admin apis related to traffic type for usage
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 17:19:56 -08:00
Rohit Yadav 9a3deaf807 api: Annotate template admin api
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 17:11:32 -08:00
Rohit Yadav 93532ea28c api: Annotate storage pool related apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 16:58:12 -08:00
Rohit Yadav a7e6172d8c api: Annotate admin.router apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 16:49:59 -08:00
Rohit Yadav 7e3c0ec002 api: Annotate resource apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 16:18:50 -08:00
Rohit Yadav 97514a0693 api: Annotate offering
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-22 16:13:37 -08:00