[
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 [email protected] 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
CONSEQUENTIAL 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