[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13558868#comment-13558868
 ] 

Hugo Trippaers commented on CLOUDSTACK-615:
-------------------------------------------

The vmware jars are set to "provided" in the maven configuration. This is due 
to licensing/distribution restrictions of the vSphere SDK. Ee cannot distribute 
the vmware jar files as far as i know. This means two things.

For a developer it means that he will have to obtain the required jar files 
from vmware and add the jar files to the compile. See the docs here : 
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Hypervisor+VMWare

For a package builder it means that the vmware.jars will be used to compile the 
binaries, but will not be part of any resulting archive. So any version of 
CloudStack build with the ASF sources will have listed vmware as a dependency, 
but will never package it inside a war file or other archive. So anyone that 
wants to use CloudStack with VmWare will have to add the files manually to the 
systemvm and the classpath of the management server. Unless some kind soul 
makes packages available that have the binaries included for example by having 
a private fork of CloudStack with the setting changed from provided to runtime.

The setting can easily be changed by whoever wants it and decides to build a 
package based on the vmware jars, but I would strongly suggest to leave this 
setting to provided. This will prevent people from thinking they can freely 
distribute those jar files together with CloudStack. 

Note that I'm no lawyer, so feel free to point out if I'm misguided in setting 
this up like this. 

Cheers,

Hugo


For reference, this is the Eula for the vsphere 4.1 SDK that I had to agree to 
when downloading the SDK:
**************************
VMware® End User License Agreement

VMware, Inc. ("VMware") provides the vSphere Web Services Software Development 
Kit (vSphere WS SDK) (the "Software") to you subject to the following terms and 
conditions.  If you disagree with any of the following terms, then do not use 
the Software.

1.  The Software contains a variety of materials, interface definitions, 
documentation, sample utility applications and sample code regarding 
programming interfaces to one or more VMware products as referenced in such 
materials ("VMware Products").  This Software is intended to be used to execute 
supplied commands and utility applications and to create scripts that interact 
with the VMware Products.

2.  Use Rights:  Subject to the restrictions below, you may download and make a 
reasonable number of copies of the Software contents for your use solely for 
the purpose of creating software that communicates with VMware Products 
("Developer Software").  For vSphere WS SDK, some code may be designated as 
"distributable code" and/or "modifiable code" at 
http://www.vmware.com/go/vwssdk-redistribution-info.  Any merged portion of any 
"distributable code" is subject to this Agreement.  Additionally, you may 
modify or create derivative works of all or portions of the "modifiable code."  
You are permitted to re-distribute the "distributable code" and the modified or 
derivative works of the "modifiable code" only as part of your Developer 
Software for non-commercial or commercial use.  Open source software components 
provided with the Software are licensed to you under the terms of the 
applicable license agreements included with such open source software 
components.  The open source software licenses can be found in the 
open_source_licenses.txt file, other materials accompanying the Software, the 
documentation or corresponding source files available at 
http://www.vmware.com/download/vi/open_source.html.

3.  Restrictions:  You agree that you will not (1) use the Software to create, 
design or develop anything other than Developer Software; (2) make any more 
copies of the Software than are reasonably necessary for the authorized use and 
backup and archival purposes; (3) modify, create derivative works of, reverse 
engineer, reverse compile, or disassemble the Software, except as expressly 
permitted in Section 2; (4) distribute, sell, lease, rent, lend, or sublicense 
any part of the Software to any third party except as expressly permitted in 
Section 2 or; (5) use the Software to (a) create, design or develop software or 
service to circumvent, enable, modify or provide access, permissions or rights 
which would violate the technical restrictions of VMware Products, any 
additional licensing terms provided by VMware via product documentation, email 
notification and/or policy change on VMware website, and/or the terms of the 
End User License Agreements of VMware products; (b) disable, remove, over-ride 
or modify the display of any VMware product End User License Agreements to the 
end customers; and (c) upload or otherwise transmit any material containing 
software viruses or other computer code, files or programs designed to 
interrupt, destroy, or limit the functionality of any software or hardware. 

The restrictions in this Section 3 shall not apply if and to the extent they 
contradict mandatory local law (including, but not limited to, law implementing 
the EC Software Directive) provided that, before you exercise any rights that 
you believe to be entitled to based on mandatory law, you provide VMware with 
30 days prior written notice at sdk_le...@vmware.com and provide all reasonably 
requested information to allow VMware to assess your claim and, at VMware's 
sole discretion, to provide alternatives that reduce any adverse impact on 
VMware's intellectual property or other rights. 

4.   VMware retains ownership of the Software, including without limitation all 
copyrights and other intellectual property rights therein. You may not remove, 
delete or modify any of VMware copyright statements in the Software.

5.  You may not use VMware's name, trademarks or service marks in your 
Developer Software's names or in a way that suggests your Developer Software is 
certified or endorsed by VMware. Your use of VMware product names and 
trademarks shall comply with the Branding Guidelines posted at www.vmware.com.

6.  You will not receive any VMware support or subscription services for the 
vSphere WS SDK or any other services from VMware in connection with the vSphere 
WS SDK.  If you have purchased support and/or subscription services for a 
VMware product, such support and/or subscription services shall not apply to 
the vSphere WS SDK or your use of the vSphere WS SDK.    

7.  Term, Termination and Changes: This Agreement shall continue as long as you 
are in compliance with the terms specified herein or until otherwise 
terminated.  You or VMware each may terminate this Agreement for any reason at 
any time.  You agree, upon termination, to destroy all copies of the Software 
within your possession or control. The Limitations of Warranties, Liability and 
Indemnification sections set out in this Agreement shall survive any 
termination or expiration of this Agreement.

8.  Limitations of Warranties and Liability:  THE SOFTWARE IS PROVIDED "AS IS" 
WITHOUT ANY WARRANTIES OF ANY KIND.  TO THE MAXIMUM EXTENT PERMITTED BY 
APPLICABLE LAW, VMWARE DISCLAIMS ANY IMPLIED WARRANTIES, INCLUDING, WITHOUT 
LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 
PURPOSE AND NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL VMWARE BE 
LIABLE FOR ANY LOST PROFITS OR BUSINESS OPPORTUNITIES, LOSS OF USE, BUSINESS 
INTERRUPTION, LOSS OF DATA, OR ANY OTHER INDIRECT, SPECIAL, INCIDENTAL, OR 
CONSE­QUEN­TIAL DAMAGES ARISING OUT OF THE SOFTWARE OR YOUR USE OF THE 
SOFTWARE, UNDER ANY THEORY OF LIABILITY, WHETHER BASED IN CONTRACT, TORT, 
NEGLIGENCE, PRODUCT LIABILITY, OR OTHERWISE.  BECAUSE SOME JURISDICTIONS DO NOT 
ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL 
DAMAGES, THE PRECEDING LIMITATION MAY NOT APPLY TO YOU.

VMWARE'S LIABILITY ARISING OUT OF THE SOFTWARE PROVIDED HEREUNDER WILL NOT, IN 
ANY EVENT, EXCEED US$5.00.

THE FOREGOING LIMITATIONS SHALL APPLY TO THE MAXIMUM EXTENT PERMITTED BY 
APPLICABLE LAW, REGARDLESS OF WHETHER VMWARE HAS BEEN ADVISED OF THE 
POSSIBILITY OF SUCH DAMAGES AND REGARDLESS OF WHETHER ANY REMEDY FAILS OF ITS 
ESSENTIAL PURPOSE.

9.  Indemnification: You agree to defend, indemnify and hold harmless VMware, 
and any of its directors, officers, employees, affiliates or agents, from and 
against any and all claims, losses, damages, liabilities and other expenses 
(including reasonable attorneys' fees), arising from your modification or 
derivative works of the "modifiable code", distribution or use of your 
Developer Software or breach of this Agreement.

10.  These terms are governed by the laws of the State of California and the 
United States of America without regard to conflict of laws principles.  You 
may not assign any part of this Agreement without the prior written consent of 
VMware.  Any attempted assignment without consent shall be void. These terms 
constitute the entire agreement between you and VMware with respect to the 
Software, and supersede all prior written or oral communications, 
understandings and agreements. Any waiver of these terms must be in writing to 
be effective. If any provision of these terms is found to be invalid or 
unenforceable, the remaining terms will continue to be valid and enforceable to 
the fullest extent permitted by law.

Do you agree to be bound by the terms of this EULA and affirm the following:

You are not, and are not acting on behalf of, any person who is a citizen, 
national, or resident of, or who is controlled by the government of, Cuba, 
Iran, North Korea, Sudan, or Syria, or any other country to which the United 
States has prohibited export transactions.
You are not, and are not acting on behalf of, any person or entity listed on 
the U.S. Treasury Department list of Specially Designated Nationals and Blocked 
Persons, or the U.S. Commerce Department Denied Persons List or Entity List.
You will not use the Software for, and will not permit the Software to be used 
for, any purposes prohibited by law, including, without limitation, for the 
development, design, manufacture or production of missiles or nuclear, chemical 
or biological weapons.
***********************

                
> Adding a VMware Cluster in a CS setup with CS-4.0.1 fails with 
> "java.lang.NoClassDefFoundError: Could not initialize class 
> com.vmware.vim.ManagedObjectReference"
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-615
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-615
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Hypervisor Controller
>    Affects Versions: 4.0.1
>         Environment: MS : Ubuntu 12.04, 
> CS-4.0.1 build : CloudStack-non-OSS-4.0.1-8.tar.bz2
> Host : Xen, Vmware
>            Reporter: Abhinav Roy
>            Assignee: Sateesh Chodapuneedi
>            Priority: Blocker
>             Fix For: 4.0.1
>
>
> Steps :
> ========================
> 1. Create a CS setup with Xen as host.
> 2. Deploy a VM
> 3. Add a VMware cluster.
> Expected Behaviour :
> ========================
> The Cluster should be added successfully.
> Observed behaviour :
> ========================
> The addition of VMware cluster fails with the following error............
> 2012-12-12 17:02:01,913 INFO  [hypervisor.vmware.VmwareServerDiscoverer] 
> (catalina-exec-20:null) Discover host. dc: 1, pod: 1, cluster: 4, uri host: 
> 10.102.125.210
> 2012-12-12 17:02:01,916 DEBUG [vmware.resource.VmwareContextFactory] 
> (catalina-exec-20:null) initialize VmwareContext. url: 
> https://10.102.125.210/sdk/vimService, username: administrator, password: 
> f**********
> 2012-12-12 17:02:01,947 ERROR [cloud.api.ApiDispatcher] 
> (catalina-exec-20:null) Exception while executing AddClusterCmd:
> java.lang.NoClassDefFoundError: Could not initialize class 
> com.vmware.vim.ManagedObjectReference
>         at 
> com.vmware.apputils.vim.ServiceConnection.<init>(ServiceConnection.java:26)
>         at 
> com.vmware.apputils.vim.ServiceConnection.CreateServiceConnection(ServiceConnection.java:32)
>         at com.vmware.apputils.AppUtil.setup(AppUtil.java:81)
>         at com.vmware.apputils.AppUtil.<init>(AppUtil.java:76)
>         at 
> com.vmware.apputils.version.ExtendedAppUtil.<init>(ExtendedAppUtil.java:31)
>         at 
> com.vmware.apputils.version.ExtendedAppUtil.initialize(ExtendedAppUtil.java:11)
>         at 
> com.vmware.apputils.version.ExtendedAppUtil.initialize(ExtendedAppUtil.java:26)
>         at 
> com.cloud.hypervisor.vmware.resource.VmwareContextFactory.create(VmwareContextFactory.java:53)
>         at 
> com.cloud.hypervisor.vmware.VmwareServerDiscoverer.find(VmwareServerDiscoverer.java:145)
>         at 
> com.cloud.resource.ResourceManagerImpl.discoverCluster(ResourceManagerImpl.java:464)
>         at 
> com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34)
>         at 
> com.cloud.api.commands.AddClusterCmd.execute(AddClusterCmd.java:153)
>         at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:138)
>         at com.cloud.api.ApiServer.queueCommand(ApiServer.java:543)
>         at com.cloud.api.ApiServer.handleRequest(ApiServer.java:422)
>         at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:304)
>         at com.cloud.api.ApiServlet.doGet(ApiServlet.java:63)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>         at 
> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
>         at 
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:744)
>         at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:679)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to