You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Pradeep Soundararajan <pr...@citrix.com> on 2012/07/30 06:26:35 UTC
Discussion on Mysql connector
Let me summarize this discussion.
As a part of third party licenses removal from ASF, here we have removed MYSQL connector binaries and its related dependencies since it is a part of GPL.
We have submitted the related patch already to ASF. “Review Request: [Enhancement] CS-15694: Remove MYSQL connector”
Please review, let us know if you have any concerns over removing this…
Thanks,
Pradeep.S
From: Ram Chinta
Sent: Saturday, July 28, 2012 12:18 AM
To: Pradeep Soundararajan; Kelven Yang; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan
Subject: RE: Discussion on Mysql connector
Pradeep – Can you take this thread to the apache dev list.
From: Pradeep Soundararajan
Sent: Friday, July 27, 2012 10:55 AM
To: Kelven Yang; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: RE: Discussion on Mysql connector
Resubmitted the patch. Please find the attachment…
Thanks,
Pradeep.S
CM related: http://wiki.cloudstack.org/display/gen/Configuration+Management
From: Kelven Yang
Sent: Friday, July 27, 2012 10:29 PM
To: Pradeep Soundararajan; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector
Pradeep,
Please change
if (e instanceof SQLException || e instanceof SQLRecoverableException) {
To
if (e instanceof SQLRecoverableException) {
We can't test generic SQLException here
Kelven
rom: Pradeep Soundararajan <pr...@citrix.com>>
Date: Friday, July 27, 2012 4:42 AM
To: Kelven Yang <ke...@citrix.com>>, Rajesh Battala <ra...@citrix.com>>, Alex Huang <Al...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector
Thanks Rajesh for taking up this…
FYI,
Patch has been submitted by Rajesh to cloudstack-dev: https://reviews.apache.org/r/6174/
Please review….
Thanks,
Pradeep.S
CM related: http://wiki.cloudstack.org/display/gen/Configuration+Management
From: Kelven Yang
Sent: Thursday, July 26, 2012 11:42 PM
To: Rajesh Battala; Alex Huang; Pradeep Soundararajan; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector
Don't do generic if-check, we need specific exception check here.
Kelven
From: Rajesh Battala <ra...@citrix.com>>
Date: Thursday, July 26, 2012 10:36 AM
To: Kelven Yang <ke...@citrix.com>>, Alex Huang <Al...@citrix.com>>, Pradeep Soundararajan <pr...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector
Actually the code that is throwing the error is
“ if (e instanceof com.mysql.jdbc.CommunicationsException || e instanceof com.mysql.jdbc.exceptions.jdbc4.Communic ationsException) “
Both the exception class are from mysql connector jar.
com.mysql.jdbc.CommunicationsException Class can be replaced with java.sql.SQLException
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException Class can be replaced with java.sql.SQLRecoverableException.
But java.sql.SQLException is the base class for java.sql.SQLRecoverableException.
[cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLException<http://www.docjar.com/docs/api/java/sql/SQLException.html>
[cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLRecoverableException<http://www.docjar.com/docs/api/java/sql/SQLRecoverableException.html>
[cid:image001.gif@01CD6BED.AA95D620] com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
[cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLException<http://www.docjar.com/docs/api/java/sql/SQLException.html>
[cid:image001.gif@01CD6BED.AA95D620] com.mysql.jdbc.CommunicationsException
we can have the single ‘if’ check for the Type exception is of java.sql.SQLException and return True.
Thanks
Rajesh Battala
From: Kelven Yang
Sent: Thursday, July 26, 2012 10:55 PM
To: Alex Huang; Pradeep Soundararajan; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector
In this case , OR is not needed. (obvious, isn't it? :-) )
Kelven
From: Alex Huang <Al...@citrix.com>>
Date: Thursday, July 26, 2012 10:18 AM
To: Pradeep Soundararajan <pr...@citrix.com>>, Kelven Yang <ke...@citrix.com>>, Rajesh Battala <ra...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector
I've found Mysql updates the error code appropriately in the error cases we handle in the dao code but if SqlRecoverableException works too, then it’s fine.
I have a separate question. Why is the following condition ORed? Isn’t it the same exception check?
>> if (e instanceof java.sql.SQLRecoverableException || e instanceof
>> java.sql.SQLRecoverableException) {
>> return true;
>> }
I echo Dave’s email about moving this to cloudstack-dev. Might be a little hard to do with a long email chain but we should summarize and announce what we’re doing.
--Alex
From: Pradeep Soundararajan
Sent: Thursday, July 26, 2012 10:13 AM
To: Kelven Yang; Alex Huang; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: RE: Discussion on Mysql connector
Thanks Kelven for the confirmation..
So I should be replacing all the references (mysql) with whatever Rajesh suggested in case I found a similar error…
Thanks,
Pradeep.S
-----Original Message-----
From: Kelven Yang
Sent: Thursday, July 26, 2012 10:39 PM
To: Alex Huang; Pradeep Soundararajan; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector
Not sure if error code from JDBC driver is reliable, Rajesh's suggestion works better Kelven
On 7/26/12 10:04 AM, "Alex Huang" <Al...@citrix.com>> wrote:
>Kelven,
>
>You should take this. I think you have to replace the instance check
>with a check on the error code. We can't reference mysql specific
>classes in our code.
>
>--Alex
>
>> -----Original Message-----
>> From: Pradeep Soundararajan
>> Sent: Thursday, July 26, 2012 9:59 AM
>> To: Rajesh Battala; David Nalley; Edison Su; Alex Huang; Kelven Yang
>> Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang;
>> Hariharan Sankaranarayanan; Will Chan; Ram Chinta
>> Subject: RE: Discussion on Mysql connector
>>
>> +Edison.
>>
>> Thanks Rajesh for the quick response.
>>
>> All our experts are here, we will wait for their reply or else we
>>can even move this discussion to cloudstack-dev as per David
>>suggestion by tomorrow.
>>
>> Thanks,
>> Pradeep.S
>>
>>
>> -----Original Message-----
>> From: Rajesh Battala
>> Sent: Thursday, July 26, 2012 10:04 PM
>> To: David Nalley
>> Cc: Pradeep Soundararajan; Alex Huang; Ewan Mellor; Kevin Kluge;
>>Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan;
>>Ram Chinta; Kelven Yang
>> Subject: RE: Discussion on Mysql connector
>>
>> Hi Pradeep,
>>
>> You can replace those lines with these code
>>
>> "
>> if (e instanceof java.sql.SQLRecoverableException || e instanceof
>> java.sql.SQLRecoverableException) {
>> return true;
>> }
>> "
>> As we had removed the mysql connector jar
>>"com.mysql.jdbc.exceptions.jdbc4.CommunicationsException" class is not
>>available. Instead of that class we can use the class
>>"java.sql.SQLRecoverableException" for verifying whether its sql
>>exception or not. This class
>>"com.mysql.jdbc.exceptions.jdbc4.CommunicationsException" extends from
>>java.sql.SQLRecoverableException class from the doc
>>http://www.docjar.com/docs/api/com/mysql/jdbc/exceptions/jdbc4/Comm
>> unicationsException.html
>>
>> I had replaced it locally and tested its working fine.
>>
>> Please correct me if am wrong.
>>
>> Thanks
>> Rajesh Battala
>>
>>
>> -----Original Message-----
>> From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>
>> Sent: Thursday, July 26, 2012 9:14 PM
>> To: Rajesh Battala
>> Cc: Pradeep Soundararajan; Alex Huang; Ewan Mellor; Kevin Kluge;
>>Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan;
>>Ram Chinta; Kelven Yang
>> Subject: Re: Discussion on Mysql connector
>>
>> Please move this discussion to cloudstack-dev
>>
>> On 07/26/2012 11:29 AM, Rajesh Battala wrote:
>> > Hi Pradeep,
>> >
>> > Am looking into the issue now. Will let you know the result.
>> >
>> > Thanks
>> >
>> > Rajesh Battala
>> >
>> > *From:*Pradeep Soundararajan
>> > *Sent:* Thursday, July 26, 2012 8:50 PM
>> > *To:* Alex Huang; Ewan Mellor; Kevin Kluge; David Nalley
>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;
>> > Will Chan; Ram Chinta; Kelven Yang; Rajesh Battala
>> > *Subject:* RE: Discussion on Mysql connector
>> >
>> > deps/cloud-mysql-connector-java-5.1.7-bin
>> >
>> > awsapi-lib/mysql-connector-java-5.1.7-bin
>> >
>> > cloudbridge-lib/mysql-connector-java-5.1.7-bin
>> >
>> > I really need a help from any Java developers. When I tried
>> > removing the first one, if gave me some compilation error (dependency error).
>> >
>> > compile-server:
>> >
>> > [mkdir] Created dir:
>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/target/classes/cloud
>> > -
>> se
>> > rver.jar
>> >
>> > [echo] Compiling
>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/server/src
>> >
>> > [javac] Compiling 832 source files to
>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/target/classes/cloud
>> > -
>> se
>> > rver.jar
>> >
>> > [javac]
>> > /home/pradeep-ubuntu/workspaces/cloudstack-
>> oss/server/src/com/cloud/cluster/ClusterManagerImpl.java:800:
>> > package com.mysql.jdbc does not exist
>> >
>> > [javac] if (e instanceof
>> > com.mysql.jdbc.CommunicationsException || e instanceof
>> > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException) {
>> >
>> > [javac] ^
>> >
>> > [javac]
>> > /home/pradeep-ubuntu/workspaces/cloudstack-
>> oss/server/src/com/cloud/cluster/ClusterManagerImpl.java:800:
>> > package com.mysql.jdbc.exceptions.jdbc4 does not exist
>> >
>> > [javac] if (e instanceof
>> > com.mysql.jdbc.CommunicationsException || e instanceof
>> > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException) {
>> >
>> >
>> > [javac]
>> > ^
>> >
>> > [javac] Note: Some input files use or override a deprecated API.
>> >
>> > [javac] Note: Recompile with -Xlint:deprecation for details.
>> >
>> > [javac] Note: Some input files use unchecked or unsafe
>>operations.
>> >
>> > [javac] Note: Recompile with -Xlint:unchecked for details.
>> >
>> > [javac] 2 errors
>> >
>> > Please let me know if someone helping me to fix all of these
>> > dependency errors or guide me how to go ahead?
>> >
>> > Thanks,
>> >
>> > Pradeep.S
>> >
>> > /3P deps:
>> > http://wiki.cloudstack.org/display/gen/Third+party+dependencies/
>> >
>> > *From:*Alex Huang
>> > *Sent:* Thursday, July 26, 2012 4:04 PM
>> > *To:* Pradeep Soundararajan; Ewan Mellor; Kevin Kluge; David Nalley
>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;
>> > Will Chan; Ram Chinta; Kelven Yang
>> > *Subject:* RE: Discussion on Mysql connector
>> >
>> > Ewan¹s email includes what to do on mysql connector. CloudStack
>> > doesn¹t need it during build. It only needs it during run-time so
>> > as long as there¹s a dependency on it in the RPM, we¹re fine with
>> > removing it from the source tree. Should be straight-forward.
>> >
>> > --Alex
>> >
>> > *From:*Pradeep Soundararajan
>> > *Sent:* Thursday, July 26, 2012 12:36 AM
>> > *To:* Ewan Mellor; Kevin Kluge; David Nalley; Alex Huang
>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;
>> > Will Chan; Ram Chinta; Kelven Yang
>> > *Subject:* Discussion on Mysql connector
>> >
>> > Now, let me start the discussion on MYSQL connector.
>> >
>> > Component License Comment
>> > Status / Actions
>> >
>> > MySQL Connector/J GPL 2.0 Remove or obtain a commercial
>>license
>> > http://svn.apache.org/repos/asf/apr/apr/trunk/README. Needs
>> investigation.
>> >
>> > It looks like this is the biggest stuff. Could you please let me
>> > know if someone has started the investigation alreadyŠ
>> >
>> > Thanks,
>> >
>> > Pradeep.S
>> >
>> > /3P deps:/
>> > /http://wiki.cloudstack.org/display/gen/Third+party+dependencies/
>> >
>> > *From:*Ewan Mellor
>> > *Sent:* Thursday, June 14, 2012 6:09 AM
>> > *To:* David Nalley; Pradeep Soundararajan
>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan
>> > *Subject:* RE: third party dep conversion from GPL to Apache
>> > license or compatible
>> >
>> > [cc Hari, who wasn't at the company when we started this
>> > discussion!]
>> >
>> > As far as I am aware, we've done the analysis on which bits need to
>> > be looked at. That was in Kevin's email, except we have since
>> > added the VMware SDK to the list:
>> >
>> > -Mysql connector
>> >
>> > -Paramiko
>> >
>> > -Libvirt
>> >
>> > -Hibernate (work with Prachi on this one, to determine version)
>> >
>> > -remove JnetPcap altogether
>> >
>> > -VMware SDK
>> >
>> > Pradeep, please look at these ones first. (If any more come up in
>> > the meantime, we can worry about those later.)
>> >
>> > For each one of these, please start a thread on the cloudstack-dev
>> > mailing list saying why you want to remove them, and what you're
>> > going to do. You should be the one to do this, because I want you
>> > to be more visible in the community so that you can earn committer status.
>> >
>> > I'll write some notes for the things that I know -- I expect you to
>> > flesh this out a bit, and check that my facts are right before you
>> > send, because I haven't checked these myself.
>> >
>> > 1.JnetPcap: only present in the tree in binary form, only used by
>> > deprecated component (dhcplistener). Plan: remove it,
>> > dhcplistener, and any build components.
>> >
>> > 2.VMware SDK: Needed for VMware support, should be possible to do
>> > without it otherwise. Plan: make it possible to turn VMware
>> > support on, as an option in the build. Don't build any of the
>> > VMware modules unless that option is turned on. Document that
>> > option. Remove the SDK from the tree (if it's there). Make the
>> > Citrix build have the
>>option
>> turned on.
>> >
>> > 3.Libvirt: As for the VMware SDK, only replace "VMware" with "KVM".
>> > Except in this case, because libvirt is open-source (it's not just
>> > Apache licensed) then the preference will probably be to have the
>> > KVM option turned on by default, and then refer to libvirt as a
>> > dependency of the RPMs / debs. That is a question for the
>> > community. I don't care, so whichever option causes the least
>> > anger. The Citrix build will turn this on, whichever way it gets managed by Apache.
>> >
>> > 4.Paramiko: Don't know whether this is optional or required. You
>> > will have to check (or maybe someone else can chime in).
>> >
>> > 5.Hibernate: Check with Prachi what she wants to do.
>> >
>> > 6.MySQL connector: Required by CloudStack, but we can't ship it, so
>> > it becomes a compulsory system dependency. Document the dependency
>> for
>> > the build, remove any MySQL code from our tree. Update the RPMs /
>> > debs to refer to it as a dependency.
>> >
>> > Thanks for this, Pradeep. Please let us know if you have any
>>questions.
>> >
>> > Looking at all that text, it looks like it would be good to copy
>> > this into a Confluence page so that we can track progress. Please do that.
>> >
>> > Thanks,
>> >
>> >
>> > Ewan.
>> >
>> > > -----Original Message-----
>> >
>> > > From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>
>> > <mailto:[mailto:david.nalley@citrix.com]>
>> >
>> > > Sent: Wednesday, June 13, 2012 3:20 PM
>> >
>> > > To: Pradeep Soundararajan
>> >
>> > > Cc: Ewan Mellor; Sudha Ponnaganti; Frank Zhang
>> >
>> > > Subject: Re: third party dep conversion from GPL to Apache
>> > license or
>> >
>> > > compatible
>> >
>> > >
>> >
>> > > It is indeed. I'd start with something 'small' and deprecated -
>> > like
>> >
>> > > jnetpcap - Edison says dhcplistener is deprecated - we should
>> > remove
>> >
>> > > that code and jnetpcap - start with a discussion on the list
>> > about
>> >
>> > > removing it, along with a 2 sentence 'how' you plan on doing it.
>> > and
>> >
>> > > then come back to the list with patches for so doing.
>> >
>> > >
>> >
>> > > --David
>> >
>> > >
>> >
>> > > On 06/13/2012 01:12 PM, Pradeep Soundararajan wrote:
>> >
>> > > > Thanks David for the reply...It looks like huge amount of work
>> > :)
>> >
>> > > >
>> >
>> > > > It seems one should have clear understanding on CloudStack
>> > system in
>> >
>> > > order to list the dependencies and its details (sys req and
>> > optional
>> >
>> > > add-ons).
>> >
>> > > >
>> >
>> > > > Since I am a new comer to this project what would you suggest
>> > me to
>> >
>> > > achieve this. Please share if you have any plans in your mind?
>> >
>> > > >
>> >
>> > > > Thanks,
>> >
>> > > > Pradeep.S
>> >
>> > > >
>> >
>> > > > -----Original Message-----
>> >
>> > > > From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>
>> > <mailto:[mailto:david.nalley@citrix.com]>
>> >
>> > > > Sent: Wednesday, June 13, 2012 7:48 PM
>> >
>> > > > To: Pradeep Soundararajan
>> >
>> > > > Cc: Ewan Mellor; Sudha Ponnaganti; Frank Zhang
>> >
>> > > > Subject: Re: third party dep conversion from GPL to Apache
>> > license or
>> >
>> > > compatible
>> >
>> > > >
>> >
>> > > > So the idea is this:
>> >
>> > > >
>> >
>> > > > Apache CloudStack's source repo should contain onl
>> > ASL-licensed code
>> >
>> > > or ASL-compatible code. That is the body of code that actually
>> > gets
>> >
>> > > released, and it must be releasable under the ASL.
>> >
>> > > >
>> >
>> > > > There are exceptions to this and they fall into two categories:
>> >
>> > > >
>> >
>> > > > System requirements
>> >
>> > > > and
>> >
>> > > > Optional Add-ons
>> >
>> > > >
>> >
>> > > > System requirements - these are things that are required to
>> > run
>> >
>> > > CloudStack. In general these should be as minimal as possible.
>> > The
>> >
>> > > delineation here is that CloudStack will not function without
>> > the
>> >
>> > > system requirements. So currently a MySQL database and MySQL
>> > java
>> >
>> > > connector are system requirements. But we can't include either
>> > in
>> >
>> > > Apache CloudStack's code base, but we can document the
>> > requirement and
>> >
>> > > even include the requirement in our RPMs so the packages are
>> > installed
>> >
>> > > automagically.
>> >
>> > > > (Keep in mind that from an ASF standpoint the 'release' is
>> > source
>> >
>> > > code - binaries are generated for convenience)
>> >
>> > > >
>> >
>> > > > Optional add-ons - these are things that CloudStack will
>> > function
>> >
>> > > without. The prime example is the VMware SDK. CloudStack will
>> > run just
>> >
>> > > fine without this proprietary piece of software. However, if you
>> > wish
>> >
>> > > to have VMware support you must add this SDK on your own.
>> >
>> > > >
>> >
>> > > > IF removing something causes CloudStack to stop building -
>> > that needs
>> >
>> > > to be brought up immediately.
>> >
>> > > >
>> >
>> > > > This page may help explain things more readily:
>> >
>> > > > http://www.apache.org/legal/3party.html
>> >
>> > > >
>> >
>> > > >
>> >
>> > > > On 06/13/2012 07:09 AM, Pradeep Soundararajan wrote:
>> >
>> > > >> Hello Ewan/David,
>> >
>> > > >>
>> >
>> > > >> I have some questions:
>> >
>> > > >>
>> >
>> > > >> 1) After we remove these dependencies/.jar files how Apache
>> > will
>> >
>> > > verify our code without these dependencies?
>> >
>> > > >> 2) Are we going to remove the respective packages from our
>> > Java code
>> >
>> > > as well (import org.xxxx.xxxxx)?
>> >
>> > > >>
>> >
>> > > >> Please share if we have a plan on this? Or Shall we setup a
>> > meeting
>> >
>> > > to discuss about this plan.
>> >
>> > > >>
>> >
>> > > >> Thanks,
>> >
>> > > >> Pradeep.S
>> >
>> > > >>
>> >
>> > > >> -----Original Message-----
>> >
>> > > >> From: Pradeep Soundararajan
>> >
>> > > >> Sent: Tuesday, June 12, 2012 7:42 PM
>> >
>> > > >> To: David Nalley
>> >
>> > > >> Cc: Sudha Ponnaganti; Ewan Mellor; Frank Zhang
>> >
>> > > >> Subject: RE: third party dep conversion from GPL to Apache
>> > license
>> >
>> > > or
>> >
>> > > >> compatible
>> >
>> > > >>
>> >
>> > > >> Thanks David. I have initiated this email based on the
>> > discussion I
>> >
>> > > >> had today with Ewan and Sudha :)
>> >
>> > > >>
>> >
>> > > >> Let me see if I have understood your fourth step:
>> >
>> > > >>
>> >
>> > > >> 1) Build the source with all the necessary dependencies.
>> >
>> > > >> 2) Remove the dependencies and create a patch between Citrix
>> > code
>> >
>> > > and Apache code.
>> >
>> > > >> 3) Apply the patch on top of Apache code (kind of customer
>> > build
>> >
>> > > verification).
>> >
>> > > >> 4) Try to Generate a Customer verification build for the
>>validation.
>> >
>> > > >>
>> >
>> > > >> Please correct me if I am wrong...
>> >
>> > > >>
>> >
>> > > >> Thanks,
>> >
>> > > >> Pradeep.S
>> >
>> > > >>
>> >
>> > > >>
>> >
>> > > >> -----Original Message-----
>> >
>> > > >> From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>
>> > <mailto:[mailto:david.nalley@citrix.com]>
>> >
>> > > >> Sent: Tuesday, June 12, 2012 6:27 PM
>> >
>> > > >> To: Pradeep Soundararajan
>> >
>> > > >> Cc: Sudha Ponnaganti; Ewan Mellor; Frank Zhang
>> >
>> > > >> Subject: Re: third party dep conversion from GPL to Apache
>> > license
>> >
>> > > or
>> >
>> > > >> compatible
>> >
>> > > >>
>> >
>> > > >> Couple of comments:
>> >
>> > > >>
>> >
>> > > >> Please make sure you start discussing what you are planning
>> > to do
>> >
>> > > >> on-list. People hate surprises. Make it very granular - give
>> > people
>> >
>> > > >> the option to object (most likely they will not)
>> >
>> > > >>
>> >
>> > > >> Second: MIT and GPL won't work (and whoever so licensed
>> > probably
>> >
>> > > needs a mental exam) MIT or GPL will work with no issues.
>> >
>> > > >>
>> >
>> > > >> Third. Not everything in the source repo is in source code
>> > form
>> > -
>> >
>> > > for
>> >
>> > > >> instance jnetpcap is in deps/cloud-jnetpcap.jar
>> >
>> > > >>
>> >
>> > > >> Fourth: We need to keep in mind that we have to produce
>> >
>> > > documentation on how to build this with all of the necessary
>> >
>> > > dependencies from source (e.g. not build into RPMs where we can
>> > just
>> >
>> > > add a Requires: but by actually calling ant build-all as
>> > Apache's
>> >
>> > > release artifacts are source tarballs not working binaries.
>> >
>> > > >>
>> >
>> > > >> --David
>> >
>> > > >>
>> >
>> > > >> On 06/12/2012 07:49 AM, Pradeep Soundararajan wrote:
>> >
>> > > >>> Thanks Sudha for forwarding this email.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Hi Ewan,
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> In my first level of investigation, I would propose the below:
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> 1) Identify the list of GPL/LGPL files first and keep it
>>in
>> >
>> > > >>> "remote_list.sh"
>> >
>> > > >>>
>> >
>> > > >>> 2) Perform the Build1 and store it as "xxxx_withGPL.rpm"
>> >
>> > > >>>
>> >
>> > > >>> 3) Perform the Build2 after calling remove_list and store
>>it
>> >
>> > > as
>> >
>> > > >>> "xxxx_withoutGPL.rpm"
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Right now I have found the GPL_list (attached) which are
>> > part of
>> >
>> > > GPL.
>> >
>> > > >>> Some of them are part of MIT and GPL (MIT or GPL). I hope
>> > these
>> >
>> > > >>> files have to be removed as part of the dependencies remove
>>list.
>> >
>> > > I
>> >
>> > > >>> am not very sure if the build will get succeeded after we
>> > remove
>> >
>> > > these list.
>> >
>> > > >>> Have to experiment this.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> I am unable to find any LGPL dependencies (JnetPcap à LGPLv3
>> > )
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Please confirm is that what the requirement or am I missing
>> >
>> > > anything?
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Thanks,
>> >
>> > > >>>
>> >
>> > > >>> Pradeep.S
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> *From:*Sudha Ponnaganti
>> >
>> > > >>> *Sent:* Tuesday, June 12, 2012 12:11 PM
>> >
>> > > >>> *To:* Pradeep Soundararajan
>> >
>> > > >>> *Subject:* FW: third party dep conversion from GPL to Apache
>> >
>> > > license
>> >
>> > > >>> or compatible
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> *From:*Kevin Kluge
>> >
>> > > >>> *Sent:* Wednesday, May 16, 2012 9:55 PM
>> >
>> > > >>> *To:* Sudha Ponnaganti; Ewan Mellor; Will Chan; Frank Zhang
>> >
>> > > >>> *Cc:* David Nalley; Prachi Damle; Haroon Abdelrahman;
>> > Kedarnath
>> >
>> > > >>> Poduri; Chiradeep Vittal; Alex Huang
>> >
>> > > >>> *Subject:* third party dep conversion from GPL to Apache
>> > license or
>> >
>> > > >>> compatible
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> We have to make progress on removing GPL and other non-ASF
>> >
>> > > certified
>> >
>> > > >>> dependencies. I'd like to do this as part of Burbank. This
>>is as
>> >
>> > > >>> referenced at
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > >
>> >
>> http://confluence.cloudstack.org/display/dev/Moving+dependencies+to+A
>> >
>> > > >>> S
>> >
>> > > >>> F+approved+licenses
>> >
>> > > >>>
>> >
>> > > >>> Ewan, Will, Frank and I met to discuss.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Sudha/Hari, we need Pradeep to come in to help on this.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> We need Pradeep to take a new branch off 3.0.x for purposes
>> > of
>> >
>> > > removing
>> >
>> > > >>> these deps. I would suggest some name like "licensechanges"
>>or
>> >
>> > > some
>> >
>> > > >>> such thing. For each of the following dependencies in the
>>third
>> >
>> > > party
>> >
>> > > >>> library, we need Pradeep to remove them from the source code
>> > then
>> >
>> > > add
>> >
>> > > >>> a dependency in the RPMs on what we need. Pradeep should
>> > know what
>> >
>> > > >>> this means, and Frank can give him guidance to help. Things
>> > to do
>> >
>> > > this with:
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> - Mysql connector
>> >
>> > > >>>
>> >
>> > > >>> - Paramiko
>> >
>> > > >>>
>> >
>> > > >>> - Libvirt
>> >
>> > > >>>
>> >
>> > > >>> - Hibernate (work with Prachi on this one, to
>>determine
>> >
>> > > version)
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> We should also have Pradeep remove JnetPcap altogether.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Will: you need to do the jquery research.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Ram: can you appoint someone to look into Trilead SSH client.
>> > Per
>> >
>> > > >>> the wiki page we need to replace it with JSch or Orion.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Guys, there were a lot of questions about GPL in dev
>>environment.
>> >
>> > > In
>> >
>> > > >>> general we may be OK on this. Consider the following from
>> > Aapche
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Can build tools be included in ASF distributions?
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Many languages have developed an ecosystem of associated
>> > tools that
>> >
>> > > >>> aid in the building of artifacts for distribution. While
>> > such tools
>> >
>> > > >>> may not always be made available under an otherwise
>> > compatible
>> >
>> > > >>> license, specific tools have been OK'ed for inclusion in
>> > Apache
>> >
>> > > >>> distribution when used for that specific purpose.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> The most important criteria to be included in this category
>> > is that
>> >
>> > > >>> such tools are not customarily part of distributions of
>> > running
>> >
>> > > code,
>> >
>> > > >>> unless such deliverables include source anyway. Other
>> > criteria for
>> >
>> > > >>> inclusion
>> >
>> > > >>> include: having been around for years, being defacto
>> > standards in
>> >
>> > > >>> their respective communities, being made available under are
>> > under
>> >
>> > > "library"
>> >
>> > > >>> or "lesser" licenses or otherwise containing an exception
>> > which
>> >
>> > > >>> ensures that usage of this tool does not affect the license
>> > of the
>> >
>> > > >>> code against which it is run.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> To date, the following tools have been approved for such usage:
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> The Autotools family of products, specifically:
>> >
>> > > >>>
>> >
>> > > >>> Autoconf
>> >
>> > > >>>
>> >
>> > > >>> Automake
>> >
>> > > >>>
>> >
>> > > >>> Libtool
>> >
>> > > >>>
>> >
>> > > >>> mkinstalldirs.sh
>> >
>> > > >>>
>> >
>> > > >>> OCamlMakefile
>> >
>> > > >>>
>> >
>> > > >>> setup.rb
>> >
>> > > >>>
>> >
>> > > >>
>> >
>> > > >
>> >
>
RE: Discussion on Mysql connector
Posted by Rajesh Battala <ra...@citrix.com>.
In ClusterManagementImpl Class, there is a reference to the Exception classes in Mysql connector jar.
Mysql connector jar is removed by replacing those classes with the java.sql exception classes.
Thanks
Rajesh Battala
From: Pradeep Soundararajan [mailto:pradeep.soundararajan@citrix.com]
Sent: Monday, July 30, 2012 9:57 AM
To: cloudstack-dev@incubator.apache.org
Subject: Discussion on Mysql connector
Let me summarize this discussion.
As a part of third party licenses removal from ASF, here we have removed MYSQL connector binaries and its related dependencies since it is a part of GPL.
We have submitted the related patch already to ASF. “Review Request: [Enhancement] CS-15694: Remove MYSQL connector”
Please review, let us know if you have any concerns over removing this…
Thanks,
Pradeep.S
From: Ram Chinta
Sent: Saturday, July 28, 2012 12:18 AM
To: Pradeep Soundararajan; Kelven Yang; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan
Subject: RE: Discussion on Mysql connector
Pradeep – Can you take this thread to the apache dev list.
From: Pradeep Soundararajan
Sent: Friday, July 27, 2012 10:55 AM
To: Kelven Yang; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: RE: Discussion on Mysql connector
Resubmitted the patch. Please find the attachment…
Thanks,
Pradeep.S
CM related: http://wiki.cloudstack.org/display/gen/Configuration+Management
From: Kelven Yang
Sent: Friday, July 27, 2012 10:29 PM
To: Pradeep Soundararajan; Rajesh Battala; Alex Huang; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector
Pradeep,
Please change
if (e instanceof SQLException || e instanceof SQLRecoverableException) {
To
if (e instanceof SQLRecoverableException) {
We can't test generic SQLException here
Kelven
rom: Pradeep Soundararajan <pr...@citrix.com>>
Date: Friday, July 27, 2012 4:42 AM
To: Kelven Yang <ke...@citrix.com>>, Rajesh Battala <ra...@citrix.com>>, Alex Huang <Al...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector
Thanks Rajesh for taking up this…
FYI,
Patch has been submitted by Rajesh to cloudstack-dev: https://reviews.apache.org/r/6174/
Please review….
Thanks,
Pradeep.S
CM related: http://wiki.cloudstack.org/display/gen/Configuration+Management
From: Kelven Yang
Sent: Thursday, July 26, 2012 11:42 PM
To: Rajesh Battala; Alex Huang; Pradeep Soundararajan; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector
Don't do generic if-check, we need specific exception check here.
Kelven
From: Rajesh Battala <ra...@citrix.com>>
Date: Thursday, July 26, 2012 10:36 AM
To: Kelven Yang <ke...@citrix.com>>, Alex Huang <Al...@citrix.com>>, Pradeep Soundararajan <pr...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector
Actually the code that is throwing the error is
“ if (e instanceof com.mysql.jdbc.CommunicationsException || e instanceof com.mysql.jdbc.exceptions.jdbc4.Communic ationsException) “
Both the exception class are from mysql connector jar.
com.mysql.jdbc.CommunicationsException Class can be replaced with java.sql.SQLException
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException Class can be replaced with java.sql.SQLRecoverableException.
But java.sql.SQLException is the base class for java.sql.SQLRecoverableException.
[cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLException<http://www.docjar.com/docs/api/java/sql/SQLException.html>
[cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLRecoverableException<http://www.docjar.com/docs/api/java/sql/SQLRecoverableException.html>
[cid:image001.gif@01CD6BED.AA95D620] com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
[cid:image001.gif@01CD6BED.AA95D620] java.sql.SQLException<http://www.docjar.com/docs/api/java/sql/SQLException.html>
[cid:image001.gif@01CD6BED.AA95D620] com.mysql.jdbc.CommunicationsException
we can have the single ‘if’ check for the Type exception is of java.sql.SQLException and return True.
Thanks
Rajesh Battala
From: Kelven Yang
Sent: Thursday, July 26, 2012 10:55 PM
To: Alex Huang; Pradeep Soundararajan; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector
In this case , OR is not needed. (obvious, isn't it? :-) )
Kelven
From: Alex Huang <Al...@citrix.com>>
Date: Thursday, July 26, 2012 10:18 AM
To: Pradeep Soundararajan <pr...@citrix.com>>, Kelven Yang <ke...@citrix.com>>, Rajesh Battala <ra...@citrix.com>>, David Nalley <Da...@citrix.com>>, Edison Su <Ed...@citrix.com>>
Cc: Ewan Mellor <Ew...@eu.citrix.com>>, Kevin Kluge <Ke...@citrix.com>>, Sudha Ponnaganti <su...@citrix.com>>, Frank Zhang <Fr...@citrix.com>>, Hariharan Sankaranarayanan <ha...@citrix.com>>, Will Chan <wi...@citrix.com>>, Ram Chinta <ra...@citrix.com>>
Subject: RE: Discussion on Mysql connector
I've found Mysql updates the error code appropriately in the error cases we handle in the dao code but if SqlRecoverableException works too, then it’s fine.
I have a separate question. Why is the following condition ORed? Isn’t it the same exception check?
>> if (e instanceof java.sql.SQLRecoverableException || e instanceof
>> java.sql.SQLRecoverableException) {
>> return true;
>> }
I echo Dave’s email about moving this to cloudstack-dev. Might be a little hard to do with a long email chain but we should summarize and announce what we’re doing.
--Alex
From: Pradeep Soundararajan
Sent: Thursday, July 26, 2012 10:13 AM
To: Kelven Yang; Alex Huang; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: RE: Discussion on Mysql connector
Thanks Kelven for the confirmation..
So I should be replacing all the references (mysql) with whatever Rajesh suggested in case I found a similar error…
Thanks,
Pradeep.S
-----Original Message-----
From: Kelven Yang
Sent: Thursday, July 26, 2012 10:39 PM
To: Alex Huang; Pradeep Soundararajan; Rajesh Battala; David Nalley; Edison Su
Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan; Ram Chinta
Subject: Re: Discussion on Mysql connector
Not sure if error code from JDBC driver is reliable, Rajesh's suggestion works better Kelven
On 7/26/12 10:04 AM, "Alex Huang" <Al...@citrix.com>> wrote:
>Kelven,
>
>You should take this. I think you have to replace the instance check
>with a check on the error code. We can't reference mysql specific
>classes in our code.
>
>--Alex
>
>> -----Original Message-----
>> From: Pradeep Soundararajan
>> Sent: Thursday, July 26, 2012 9:59 AM
>> To: Rajesh Battala; David Nalley; Edison Su; Alex Huang; Kelven Yang
>> Cc: Ewan Mellor; Kevin Kluge; Sudha Ponnaganti; Frank Zhang;
>> Hariharan Sankaranarayanan; Will Chan; Ram Chinta
>> Subject: RE: Discussion on Mysql connector
>>
>> +Edison.
>>
>> Thanks Rajesh for the quick response.
>>
>> All our experts are here, we will wait for their reply or else we
>>can even move this discussion to cloudstack-dev as per David
>>suggestion by tomorrow.
>>
>> Thanks,
>> Pradeep.S
>>
>>
>> -----Original Message-----
>> From: Rajesh Battala
>> Sent: Thursday, July 26, 2012 10:04 PM
>> To: David Nalley
>> Cc: Pradeep Soundararajan; Alex Huang; Ewan Mellor; Kevin Kluge;
>>Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan;
>>Ram Chinta; Kelven Yang
>> Subject: RE: Discussion on Mysql connector
>>
>> Hi Pradeep,
>>
>> You can replace those lines with these code
>>
>> "
>> if (e instanceof java.sql.SQLRecoverableException || e instanceof
>> java.sql.SQLRecoverableException) {
>> return true;
>> }
>> "
>> As we had removed the mysql connector jar
>>"com.mysql.jdbc.exceptions.jdbc4.CommunicationsException" class is not
>>available. Instead of that class we can use the class
>>"java.sql.SQLRecoverableException" for verifying whether its sql
>>exception or not. This class
>>"com.mysql.jdbc.exceptions.jdbc4.CommunicationsException" extends from
>>java.sql.SQLRecoverableException class from the doc
>>http://www.docjar.com/docs/api/com/mysql/jdbc/exceptions/jdbc4/Comm
>> unicationsException.html
>>
>> I had replaced it locally and tested its working fine.
>>
>> Please correct me if am wrong.
>>
>> Thanks
>> Rajesh Battala
>>
>>
>> -----Original Message-----
>> From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>
>> Sent: Thursday, July 26, 2012 9:14 PM
>> To: Rajesh Battala
>> Cc: Pradeep Soundararajan; Alex Huang; Ewan Mellor; Kevin Kluge;
>>Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan; Will Chan;
>>Ram Chinta; Kelven Yang
>> Subject: Re: Discussion on Mysql connector
>>
>> Please move this discussion to cloudstack-dev
>>
>> On 07/26/2012 11:29 AM, Rajesh Battala wrote:
>> > Hi Pradeep,
>> >
>> > Am looking into the issue now. Will let you know the result.
>> >
>> > Thanks
>> >
>> > Rajesh Battala
>> >
>> > *From:*Pradeep Soundararajan
>> > *Sent:* Thursday, July 26, 2012 8:50 PM
>> > *To:* Alex Huang; Ewan Mellor; Kevin Kluge; David Nalley
>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;
>> > Will Chan; Ram Chinta; Kelven Yang; Rajesh Battala
>> > *Subject:* RE: Discussion on Mysql connector
>> >
>> > deps/cloud-mysql-connector-java-5.1.7-bin
>> >
>> > awsapi-lib/mysql-connector-java-5.1.7-bin
>> >
>> > cloudbridge-lib/mysql-connector-java-5.1.7-bin
>> >
>> > I really need a help from any Java developers. When I tried
>> > removing the first one, if gave me some compilation error (dependency error).
>> >
>> > compile-server:
>> >
>> > [mkdir] Created dir:
>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/target/classes/cloud
>> > -
>> se
>> > rver.jar
>> >
>> > [echo] Compiling
>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/server/src
>> >
>> > [javac] Compiling 832 source files to
>> > /home/pradeep-ubuntu/workspaces/cloudstack-oss/target/classes/cloud
>> > -
>> se
>> > rver.jar
>> >
>> > [javac]
>> > /home/pradeep-ubuntu/workspaces/cloudstack-
>> oss/server/src/com/cloud/cluster/ClusterManagerImpl.java:800:
>> > package com.mysql.jdbc does not exist
>> >
>> > [javac] if (e instanceof
>> > com.mysql.jdbc.CommunicationsException || e instanceof
>> > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException) {
>> >
>> > [javac] ^
>> >
>> > [javac]
>> > /home/pradeep-ubuntu/workspaces/cloudstack-
>> oss/server/src/com/cloud/cluster/ClusterManagerImpl.java:800:
>> > package com.mysql.jdbc.exceptions.jdbc4 does not exist
>> >
>> > [javac] if (e instanceof
>> > com.mysql.jdbc.CommunicationsException || e instanceof
>> > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException) {
>> >
>> >
>> > [javac]
>> > ^
>> >
>> > [javac] Note: Some input files use or override a deprecated API.
>> >
>> > [javac] Note: Recompile with -Xlint:deprecation for details.
>> >
>> > [javac] Note: Some input files use unchecked or unsafe
>>operations.
>> >
>> > [javac] Note: Recompile with -Xlint:unchecked for details.
>> >
>> > [javac] 2 errors
>> >
>> > Please let me know if someone helping me to fix all of these
>> > dependency errors or guide me how to go ahead?
>> >
>> > Thanks,
>> >
>> > Pradeep.S
>> >
>> > /3P deps:
>> > http://wiki.cloudstack.org/display/gen/Third+party+dependencies/
>> >
>> > *From:*Alex Huang
>> > *Sent:* Thursday, July 26, 2012 4:04 PM
>> > *To:* Pradeep Soundararajan; Ewan Mellor; Kevin Kluge; David Nalley
>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;
>> > Will Chan; Ram Chinta; Kelven Yang
>> > *Subject:* RE: Discussion on Mysql connector
>> >
>> > Ewan¹s email includes what to do on mysql connector. CloudStack
>> > doesn¹t need it during build. It only needs it during run-time so
>> > as long as there¹s a dependency on it in the RPM, we¹re fine with
>> > removing it from the source tree. Should be straight-forward.
>> >
>> > --Alex
>> >
>> > *From:*Pradeep Soundararajan
>> > *Sent:* Thursday, July 26, 2012 12:36 AM
>> > *To:* Ewan Mellor; Kevin Kluge; David Nalley; Alex Huang
>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan;
>> > Will Chan; Ram Chinta; Kelven Yang
>> > *Subject:* Discussion on Mysql connector
>> >
>> > Now, let me start the discussion on MYSQL connector.
>> >
>> > Component License Comment
>> > Status / Actions
>> >
>> > MySQL Connector/J GPL 2.0 Remove or obtain a commercial
>>license
>> > http://svn.apache.org/repos/asf/apr/apr/trunk/README. Needs
>> investigation.
>> >
>> > It looks like this is the biggest stuff. Could you please let me
>> > know if someone has started the investigation alreadyŠ
>> >
>> > Thanks,
>> >
>> > Pradeep.S
>> >
>> > /3P deps:/
>> > /http://wiki.cloudstack.org/display/gen/Third+party+dependencies/
>> >
>> > *From:*Ewan Mellor
>> > *Sent:* Thursday, June 14, 2012 6:09 AM
>> > *To:* David Nalley; Pradeep Soundararajan
>> > *Cc:* Sudha Ponnaganti; Frank Zhang; Hariharan Sankaranarayanan
>> > *Subject:* RE: third party dep conversion from GPL to Apache
>> > license or compatible
>> >
>> > [cc Hari, who wasn't at the company when we started this
>> > discussion!]
>> >
>> > As far as I am aware, we've done the analysis on which bits need to
>> > be looked at. That was in Kevin's email, except we have since
>> > added the VMware SDK to the list:
>> >
>> > -Mysql connector
>> >
>> > -Paramiko
>> >
>> > -Libvirt
>> >
>> > -Hibernate (work with Prachi on this one, to determine version)
>> >
>> > -remove JnetPcap altogether
>> >
>> > -VMware SDK
>> >
>> > Pradeep, please look at these ones first. (If any more come up in
>> > the meantime, we can worry about those later.)
>> >
>> > For each one of these, please start a thread on the cloudstack-dev
>> > mailing list saying why you want to remove them, and what you're
>> > going to do. You should be the one to do this, because I want you
>> > to be more visible in the community so that you can earn committer status.
>> >
>> > I'll write some notes for the things that I know -- I expect you to
>> > flesh this out a bit, and check that my facts are right before you
>> > send, because I haven't checked these myself.
>> >
>> > 1.JnetPcap: only present in the tree in binary form, only used by
>> > deprecated component (dhcplistener). Plan: remove it,
>> > dhcplistener, and any build components.
>> >
>> > 2.VMware SDK: Needed for VMware support, should be possible to do
>> > without it otherwise. Plan: make it possible to turn VMware
>> > support on, as an option in the build. Don't build any of the
>> > VMware modules unless that option is turned on. Document that
>> > option. Remove the SDK from the tree (if it's there). Make the
>> > Citrix build have the
>>option
>> turned on.
>> >
>> > 3.Libvirt: As for the VMware SDK, only replace "VMware" with "KVM".
>> > Except in this case, because libvirt is open-source (it's not just
>> > Apache licensed) then the preference will probably be to have the
>> > KVM option turned on by default, and then refer to libvirt as a
>> > dependency of the RPMs / debs. That is a question for the
>> > community. I don't care, so whichever option causes the least
>> > anger. The Citrix build will turn this on, whichever way it gets managed by Apache.
>> >
>> > 4.Paramiko: Don't know whether this is optional or required. You
>> > will have to check (or maybe someone else can chime in).
>> >
>> > 5.Hibernate: Check with Prachi what she wants to do.
>> >
>> > 6.MySQL connector: Required by CloudStack, but we can't ship it, so
>> > it becomes a compulsory system dependency. Document the dependency
>> for
>> > the build, remove any MySQL code from our tree. Update the RPMs /
>> > debs to refer to it as a dependency.
>> >
>> > Thanks for this, Pradeep. Please let us know if you have any
>>questions.
>> >
>> > Looking at all that text, it looks like it would be good to copy
>> > this into a Confluence page so that we can track progress. Please do that.
>> >
>> > Thanks,
>> >
>> >
>> > Ewan.
>> >
>> > > -----Original Message-----
>> >
>> > > From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>
>> > <mailto:[mailto:david.nalley@citrix.com]>
>> >
>> > > Sent: Wednesday, June 13, 2012 3:20 PM
>> >
>> > > To: Pradeep Soundararajan
>> >
>> > > Cc: Ewan Mellor; Sudha Ponnaganti; Frank Zhang
>> >
>> > > Subject: Re: third party dep conversion from GPL to Apache
>> > license or
>> >
>> > > compatible
>> >
>> > >
>> >
>> > > It is indeed. I'd start with something 'small' and deprecated -
>> > like
>> >
>> > > jnetpcap - Edison says dhcplistener is deprecated - we should
>> > remove
>> >
>> > > that code and jnetpcap - start with a discussion on the list
>> > about
>> >
>> > > removing it, along with a 2 sentence 'how' you plan on doing it.
>> > and
>> >
>> > > then come back to the list with patches for so doing.
>> >
>> > >
>> >
>> > > --David
>> >
>> > >
>> >
>> > > On 06/13/2012 01:12 PM, Pradeep Soundararajan wrote:
>> >
>> > > > Thanks David for the reply...It looks like huge amount of work
>> > :)
>> >
>> > > >
>> >
>> > > > It seems one should have clear understanding on CloudStack
>> > system in
>> >
>> > > order to list the dependencies and its details (sys req and
>> > optional
>> >
>> > > add-ons).
>> >
>> > > >
>> >
>> > > > Since I am a new comer to this project what would you suggest
>> > me to
>> >
>> > > achieve this. Please share if you have any plans in your mind?
>> >
>> > > >
>> >
>> > > > Thanks,
>> >
>> > > > Pradeep.S
>> >
>> > > >
>> >
>> > > > -----Original Message-----
>> >
>> > > > From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>
>> > <mailto:[mailto:david.nalley@citrix.com]>
>> >
>> > > > Sent: Wednesday, June 13, 2012 7:48 PM
>> >
>> > > > To: Pradeep Soundararajan
>> >
>> > > > Cc: Ewan Mellor; Sudha Ponnaganti; Frank Zhang
>> >
>> > > > Subject: Re: third party dep conversion from GPL to Apache
>> > license or
>> >
>> > > compatible
>> >
>> > > >
>> >
>> > > > So the idea is this:
>> >
>> > > >
>> >
>> > > > Apache CloudStack's source repo should contain onl
>> > ASL-licensed code
>> >
>> > > or ASL-compatible code. That is the body of code that actually
>> > gets
>> >
>> > > released, and it must be releasable under the ASL.
>> >
>> > > >
>> >
>> > > > There are exceptions to this and they fall into two categories:
>> >
>> > > >
>> >
>> > > > System requirements
>> >
>> > > > and
>> >
>> > > > Optional Add-ons
>> >
>> > > >
>> >
>> > > > System requirements - these are things that are required to
>> > run
>> >
>> > > CloudStack. In general these should be as minimal as possible.
>> > The
>> >
>> > > delineation here is that CloudStack will not function without
>> > the
>> >
>> > > system requirements. So currently a MySQL database and MySQL
>> > java
>> >
>> > > connector are system requirements. But we can't include either
>> > in
>> >
>> > > Apache CloudStack's code base, but we can document the
>> > requirement and
>> >
>> > > even include the requirement in our RPMs so the packages are
>> > installed
>> >
>> > > automagically.
>> >
>> > > > (Keep in mind that from an ASF standpoint the 'release' is
>> > source
>> >
>> > > code - binaries are generated for convenience)
>> >
>> > > >
>> >
>> > > > Optional add-ons - these are things that CloudStack will
>> > function
>> >
>> > > without. The prime example is the VMware SDK. CloudStack will
>> > run just
>> >
>> > > fine without this proprietary piece of software. However, if you
>> > wish
>> >
>> > > to have VMware support you must add this SDK on your own.
>> >
>> > > >
>> >
>> > > > IF removing something causes CloudStack to stop building -
>> > that needs
>> >
>> > > to be brought up immediately.
>> >
>> > > >
>> >
>> > > > This page may help explain things more readily:
>> >
>> > > > http://www.apache.org/legal/3party.html
>> >
>> > > >
>> >
>> > > >
>> >
>> > > > On 06/13/2012 07:09 AM, Pradeep Soundararajan wrote:
>> >
>> > > >> Hello Ewan/David,
>> >
>> > > >>
>> >
>> > > >> I have some questions:
>> >
>> > > >>
>> >
>> > > >> 1) After we remove these dependencies/.jar files how Apache
>> > will
>> >
>> > > verify our code without these dependencies?
>> >
>> > > >> 2) Are we going to remove the respective packages from our
>> > Java code
>> >
>> > > as well (import org.xxxx.xxxxx)?
>> >
>> > > >>
>> >
>> > > >> Please share if we have a plan on this? Or Shall we setup a
>> > meeting
>> >
>> > > to discuss about this plan.
>> >
>> > > >>
>> >
>> > > >> Thanks,
>> >
>> > > >> Pradeep.S
>> >
>> > > >>
>> >
>> > > >> -----Original Message-----
>> >
>> > > >> From: Pradeep Soundararajan
>> >
>> > > >> Sent: Tuesday, June 12, 2012 7:42 PM
>> >
>> > > >> To: David Nalley
>> >
>> > > >> Cc: Sudha Ponnaganti; Ewan Mellor; Frank Zhang
>> >
>> > > >> Subject: RE: third party dep conversion from GPL to Apache
>> > license
>> >
>> > > or
>> >
>> > > >> compatible
>> >
>> > > >>
>> >
>> > > >> Thanks David. I have initiated this email based on the
>> > discussion I
>> >
>> > > >> had today with Ewan and Sudha :)
>> >
>> > > >>
>> >
>> > > >> Let me see if I have understood your fourth step:
>> >
>> > > >>
>> >
>> > > >> 1) Build the source with all the necessary dependencies.
>> >
>> > > >> 2) Remove the dependencies and create a patch between Citrix
>> > code
>> >
>> > > and Apache code.
>> >
>> > > >> 3) Apply the patch on top of Apache code (kind of customer
>> > build
>> >
>> > > verification).
>> >
>> > > >> 4) Try to Generate a Customer verification build for the
>>validation.
>> >
>> > > >>
>> >
>> > > >> Please correct me if I am wrong...
>> >
>> > > >>
>> >
>> > > >> Thanks,
>> >
>> > > >> Pradeep.S
>> >
>> > > >>
>> >
>> > > >>
>> >
>> > > >> -----Original Message-----
>> >
>> > > >> From: David Nalley [mailto:david.nalley@citrix.com]<mailto:[mailto:david.nalley@citrix.com]>
>> > <mailto:[mailto:david.nalley@citrix.com]>
>> >
>> > > >> Sent: Tuesday, June 12, 2012 6:27 PM
>> >
>> > > >> To: Pradeep Soundararajan
>> >
>> > > >> Cc: Sudha Ponnaganti; Ewan Mellor; Frank Zhang
>> >
>> > > >> Subject: Re: third party dep conversion from GPL to Apache
>> > license
>> >
>> > > or
>> >
>> > > >> compatible
>> >
>> > > >>
>> >
>> > > >> Couple of comments:
>> >
>> > > >>
>> >
>> > > >> Please make sure you start discussing what you are planning
>> > to do
>> >
>> > > >> on-list. People hate surprises. Make it very granular - give
>> > people
>> >
>> > > >> the option to object (most likely they will not)
>> >
>> > > >>
>> >
>> > > >> Second: MIT and GPL won't work (and whoever so licensed
>> > probably
>> >
>> > > needs a mental exam) MIT or GPL will work with no issues.
>> >
>> > > >>
>> >
>> > > >> Third. Not everything in the source repo is in source code
>> > form
>> > -
>> >
>> > > for
>> >
>> > > >> instance jnetpcap is in deps/cloud-jnetpcap.jar
>> >
>> > > >>
>> >
>> > > >> Fourth: We need to keep in mind that we have to produce
>> >
>> > > documentation on how to build this with all of the necessary
>> >
>> > > dependencies from source (e.g. not build into RPMs where we can
>> > just
>> >
>> > > add a Requires: but by actually calling ant build-all as
>> > Apache's
>> >
>> > > release artifacts are source tarballs not working binaries.
>> >
>> > > >>
>> >
>> > > >> --David
>> >
>> > > >>
>> >
>> > > >> On 06/12/2012 07:49 AM, Pradeep Soundararajan wrote:
>> >
>> > > >>> Thanks Sudha for forwarding this email.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Hi Ewan,
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> In my first level of investigation, I would propose the below:
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> 1) Identify the list of GPL/LGPL files first and keep it
>>in
>> >
>> > > >>> "remote_list.sh"
>> >
>> > > >>>
>> >
>> > > >>> 2) Perform the Build1 and store it as "xxxx_withGPL.rpm"
>> >
>> > > >>>
>> >
>> > > >>> 3) Perform the Build2 after calling remove_list and store
>>it
>> >
>> > > as
>> >
>> > > >>> "xxxx_withoutGPL.rpm"
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Right now I have found the GPL_list (attached) which are
>> > part of
>> >
>> > > GPL.
>> >
>> > > >>> Some of them are part of MIT and GPL (MIT or GPL). I hope
>> > these
>> >
>> > > >>> files have to be removed as part of the dependencies remove
>>list.
>> >
>> > > I
>> >
>> > > >>> am not very sure if the build will get succeeded after we
>> > remove
>> >
>> > > these list.
>> >
>> > > >>> Have to experiment this.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> I am unable to find any LGPL dependencies (JnetPcap à LGPLv3
>> > )
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Please confirm is that what the requirement or am I missing
>> >
>> > > anything?
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Thanks,
>> >
>> > > >>>
>> >
>> > > >>> Pradeep.S
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> *From:*Sudha Ponnaganti
>> >
>> > > >>> *Sent:* Tuesday, June 12, 2012 12:11 PM
>> >
>> > > >>> *To:* Pradeep Soundararajan
>> >
>> > > >>> *Subject:* FW: third party dep conversion from GPL to Apache
>> >
>> > > license
>> >
>> > > >>> or compatible
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> *From:*Kevin Kluge
>> >
>> > > >>> *Sent:* Wednesday, May 16, 2012 9:55 PM
>> >
>> > > >>> *To:* Sudha Ponnaganti; Ewan Mellor; Will Chan; Frank Zhang
>> >
>> > > >>> *Cc:* David Nalley; Prachi Damle; Haroon Abdelrahman;
>> > Kedarnath
>> >
>> > > >>> Poduri; Chiradeep Vittal; Alex Huang
>> >
>> > > >>> *Subject:* third party dep conversion from GPL to Apache
>> > license or
>> >
>> > > >>> compatible
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> We have to make progress on removing GPL and other non-ASF
>> >
>> > > certified
>> >
>> > > >>> dependencies. I'd like to do this as part of Burbank. This
>>is as
>> >
>> > > >>> referenced at
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > >
>> >
>> http://confluence.cloudstack.org/display/dev/Moving+dependencies+to+A
>> >
>> > > >>> S
>> >
>> > > >>> F+approved+licenses
>> >
>> > > >>>
>> >
>> > > >>> Ewan, Will, Frank and I met to discuss.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Sudha/Hari, we need Pradeep to come in to help on this.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> We need Pradeep to take a new branch off 3.0.x for purposes
>> > of
>> >
>> > > removing
>> >
>> > > >>> these deps. I would suggest some name like "licensechanges"
>>or
>> >
>> > > some
>> >
>> > > >>> such thing. For each of the following dependencies in the
>>third
>> >
>> > > party
>> >
>> > > >>> library, we need Pradeep to remove them from the source code
>> > then
>> >
>> > > add
>> >
>> > > >>> a dependency in the RPMs on what we need. Pradeep should
>> > know what
>> >
>> > > >>> this means, and Frank can give him guidance to help. Things
>> > to do
>> >
>> > > this with:
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> - Mysql connector
>> >
>> > > >>>
>> >
>> > > >>> - Paramiko
>> >
>> > > >>>
>> >
>> > > >>> - Libvirt
>> >
>> > > >>>
>> >
>> > > >>> - Hibernate (work with Prachi on this one, to
>>determine
>> >
>> > > version)
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> We should also have Pradeep remove JnetPcap altogether.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Will: you need to do the jquery research.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Ram: can you appoint someone to look into Trilead SSH client.
>> > Per
>> >
>> > > >>> the wiki page we need to replace it with JSch or Orion.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Guys, there were a lot of questions about GPL in dev
>>environment.
>> >
>> > > In
>> >
>> > > >>> general we may be OK on this. Consider the following from
>> > Aapche
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Can build tools be included in ASF distributions?
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> Many languages have developed an ecosystem of associated
>> > tools that
>> >
>> > > >>> aid in the building of artifacts for distribution. While
>> > such tools
>> >
>> > > >>> may not always be made available under an otherwise
>> > compatible
>> >
>> > > >>> license, specific tools have been OK'ed for inclusion in
>> > Apache
>> >
>> > > >>> distribution when used for that specific purpose.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> The most important criteria to be included in this category
>> > is that
>> >
>> > > >>> such tools are not customarily part of distributions of
>> > running
>> >
>> > > code,
>> >
>> > > >>> unless such deliverables include source anyway. Other
>> > criteria for
>> >
>> > > >>> inclusion
>> >
>> > > >>> include: having been around for years, being defacto
>> > standards in
>> >
>> > > >>> their respective communities, being made available under are
>> > under
>> >
>> > > "library"
>> >
>> > > >>> or "lesser" licenses or otherwise containing an exception
>> > which
>> >
>> > > >>> ensures that usage of this tool does not affect the license
>> > of the
>> >
>> > > >>> code against which it is run.
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> To date, the following tools have been approved for such usage:
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>>
>> >
>> > > >>> The Autotools family of products, specifically:
>> >
>> > > >>>
>> >
>> > > >>> Autoconf
>> >
>> > > >>>
>> >
>> > > >>> Automake
>> >
>> > > >>>
>> >
>> > > >>> Libtool
>> >
>> > > >>>
>> >
>> > > >>> mkinstalldirs.sh
>> >
>> > > >>>
>> >
>> > > >>> OCamlMakefile
>> >
>> > > >>>
>> >
>> > > >>> setup.rb
>> >
>> > > >>>
>> >
>> > > >>
>> >
>> > > >
>> >
>