On 27 feb. 2014, at 09:09, Alex Huang <alex.hu...@citrix.com> wrote:

> Abhi,
> 
> It's not licensing issue that troubles me.  It's the fact that mysql's been 
> made a compile dependency when it wasn't before.  It encourages people to 
> adopt more mysql functionality into the cloudstack code.  Eventually that 
> means we get more and more tied in with mysql once the trend has started.

Agreed, that is a risk. We need to keep paying attention that new additions 
don’t introduce something we are not comfortable with. We maybe could make a 
jenkins check that will alert if the dependency list changes from a previous 
compile. Should be possible with a little creative scripting.

> 
> I would prefer the entire file is not in CloudStack as it really has nothing 
> to do with CloudStack itself.  But, I'm fine with Hugo suggestion of this 
> being put into pluginin enabled by noredist and mysql is only dependent upon 
> in that plugin's pom.xml.    

My reasoning here is that somebody took the time and effort to write something 
to either improve cloudstack or fix a problem. We should try to include this if 
we reasonably can, every contribution is valuable. That said i would be curious 
to know if anyone is relying on this at the moment.

> 
> --Alex
> 
>> -----Original Message-----
>> From: Abhinandan Prateek [mailto:abhinandan.prat...@citrix.com]
>> Sent: Wednesday, February 26, 2014 9:54 PM
>> To: dev@cloudstack.apache.org; Damoder Reddy
>> Subject: Re: developers and mysql
>> 
>> Immediately if there are no specific licensing issues we should maintain the
>> status-quo.
>> The fact is that some other HA solutions will not work as all the schema
>> related scripts are mysql engine specific.
>> 
>> When we decide to move the mysql dependency out of cloudstack we
>> should do it for all such dependencies.
>> If there is an agreement here we can file a ticket to track this.
>> 
>> -abhi
>> 
>> 
>> On 27/02/14 11:16 am, "Abhinandan Prateek"
>> <abhinandan.prat...@citrix.com>
>> wrote:
>> 
>>> StaticStrategy is overriding the Mysql¹s HA Strategy. So it is more a
>>> part of the mysql jdbc driver providing a specific strategy that works
>>> as per the documented HA procedure.
>>> 
>>> I think moving it to a separate github project that generates the
>>> additional mysql connector jar should be ok (any licensing issues).
>>> We can then document that anyone configuring DB-HA as per the
>> suggested
>>> procedure should download this and add it to the classpath.
>>> 
>>> -abhi
>>> 
>>> 
>>> On 27/02/14 10:54 am, "Alex Huang" <alex.hu...@citrix.com> wrote:
>>> 
>>>> Hi Damoder,
>>>> 
>>>> I don't think I follow.  There's clearly compile dependency on mysql
>>>> in StaticStrategy.
>>>> 
>>>> To me, when I look at StaticStartegy, it makes sense to move that into
>>>> separate project in github and reference people to it if they want to
>>>> use the specific setup outlined in the DB HA wiki.  That to me would
>>>> make it a runtime dependency only.
>>>> 
>>>> --Alex
>>>> 
>>>>> -----Original Message-----
>>>>> From: Damoder Reddy
>>>>> Sent: Wednesday, February 26, 2014 9:20 PM
>>>>> To: Alex Huang; dev@cloudstack.apache.org
>>>>> Subject: RE: developers and mysql
>>>>> 
>>>>> Hi Alex,
>>>>> 
>>>>>   The mysql dependency is on for only " StaticStrategy.java" as
>>>>> mentioned by you. And this is not used anywhere in the code base as a
>>>>> compile time dependency rather used as a run time dependency in
>>>>> db.properties. this will be passed to mysql driver as part of mysql
>>>>> Database  URL construction.
>>>>> 
>>>>> This StaticStrategy.java will become mute if we move out of mysql
>>>>> driver as it  has only runtime dependency.
>>>>> 
>>>>> Thanks & Regards
>>>>> Damodar/
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Alex Huang
>>>>> Sent: Thursday, February 27, 2014 4:13 AM
>>>>> To: dev@cloudstack.apache.org
>>>>> Cc: Damoder Reddy
>>>>> Subject: RE: developers and mysql
>>>>> 
>>>>> @Hugo
>>>>> 
>>>>> The mysql scripts is a legacy of we used to dump the mysql db to
>>>>> create the  create-schema sql but it is at worst still a runtime
>>>>> dependency.  We should fix  it but I don't think it's as high a
>>>>> priority as the compile time dependency that  has been introduced.
>>>>> 
>>>>> @Damoder,
>>>>> 
>>>>> Can you take a look at StaticStrategy.java?  This is the only file
>>>>> that requires  mysql but I couldn't find anywhere in the code that
>>>>> references this class.  I  then looked at the bug and wiki and it
>>>>> also doesn't mentioned that  dependency on mysql has been added.  It
>>>>> doesn't make sense for  CloudStack to include this automatically.
>>>>> There are many ways to provide DB  HA and incorporate it into our
>>>>> code just limits the possibilities.  We can for  example document
>>>>> this as a way to do it in on the wiki for example but I just  don't
>>>>> see why we would use code to limit it.
>>>>> 
>>>>> Thanks.
>>>>> 
>>>>> --Alex
>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Hugo Trippaers [mailto:trip...@gmail.com]
>>>>>> Sent: Tuesday, February 25, 2014 2:02 PM
>>>>>> To: dev@cloudstack.apache.org
>>>>>> Cc: dev@cloudstack.apache.org
>>>>>> Subject: Re: developers and mysql
>>>>>> 
>>>>>> We are already pretty much locked in as all our database scripts
>>>>>> are MySQL specific. If we want to be neutral we should fix that.
>>>>>> 
>>>>>> Cheers,
>>>>>> 
>>>>>> Hugo
>>>>>> 
>>>>>> Sent from my iPhone
>>>>>> 
>>>>>>> On 25 feb. 2014, at 22:57, David Nalley <da...@gnsa.us> wrote:
>>>>>>> 
>>>>>>> git blame showed that it came from the HA/replication work from
>>>>> Damoder.
>>>>>>> I didn't speak up at the time, but I am really reluctant for
>>>>>>> mysql-specific features to sneak in and lock us in.
>>>>>>> 
>>>>>>>> On Tue, Feb 25, 2014 at 4:44 PM, Alex Huang
>>>>> <alex.hu...@citrix.com>
>>>>>> wrote:
>>>>>>>> Who added the dependency on mysql for framework-db?  We
>>>>>>>> actually
>>>>>> worked hard to keep that depending on jdbc only.  It should not
>>>>> depend
>>>>>> on mysql.  We need to fix that.
>>>>>>>> 
>>>>>>>> --Alex
>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Trippie [mailto:trip...@gmail.com] On Behalf Of Hugo
>>>>>>>>> Trippaers
>>>>>>>>> Sent: Tuesday, February 25, 2014 3:34 AM
>>>>>>>>> To: <dev@cloudstack.apache.org>
>>>>>>>>> Subject: Re: developers and mysql
>>>>>>>>> 
>>>>>>>>> Heya,
>>>>>>>>> 
>>>>>>>>> Just pushed a change that will make the database work again.
>>>>>>>>> :-)
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> @Alex. The mysql jar used to be pulled in as a dependency from
>>>>>>>>> framework- db. As the client target is responsible for
>>>>>>>>> building the war file for the packages including this in the
>>>>>>>>> client pom would also put it in the war file and in the packages.
>>>>>>>>> 
>>>>>>>>> I think i have an elegant solution, its now included as a
>>>>>>>>> dependency for both the database deploy and the jetty:run target.
>>>>>>>>> Which makes it effectively a "provided" library for the
>>>>>>>>> purpose
>>>>> of
>>>>>>>>> our maven build. See commit
>>>>>>>>> 8e6b86ae23dce802044388c5420ff61511d7115b and
>>>>> e883877c7a6f9df04b572afd4ee5f10d265bcc3a.
>>>>>>>>> 
>>>>>>>>> I can deploy a database and start the jetty:run target now
>>>>> without
>>>>>>>>> any trouble (at least not more trouble than usual ;-) )
>>>>>>>>> 
>>>>>>>>> My next step is to clean up some of the dependencies. I think
>>>>> that
>>>>>>>>> only cloud-framework-db should have a provided dependency on
>>>>> mysql.
>>>>>>>>> It's the only piece of source code that actually needs the
>>>>>>>>> mysql driver to be present during compilation for the optional
>>>>>>>>> HA configuration. There are some test classes that depend on
>>>>> database
>>>>>>>>> functionally but those should be moved to an integration test
>>>>>>>>> profile that could include the database driver, those tests
>>>>>>>>> are disabled
>>>>>> anyway so they don't cause any trouble now.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Cheers,
>>>>>>>>> 
>>>>>>>>> Hugo
>>>>>>>>> 
>>>>>>>>>> On 25 feb. 2014, at 06:39, Rajani Karuturi
>>>>>>>>>> <rajani.karut...@citrix.com>
>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Can we move the mysql-connector-java dependency to the
>> parent
>>>>>>>>> POM(SOURCE-ROOT/pom.xml) and define it different scopes for
>>>>>>>>> each
>>>>>> profile?
>>>>>>>>>> 
>>>>>>>>>> ie)
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> <profile>
>>>>>>>>>> <id>developer</id>
>>>>>>>>>>  <dependencies>
>>>>>>>>>>      <dependency>
>>>>>>>>>>        <groupId>mysql</groupId>
>>>>>>>>>>        <artifactId>mysql-connector-java</artifactId>
>>>>>>>>>>        <scope>compile</scope>
>>>>>>>>>>      </dependency>
>>>>>>>>>>  </dependencies>
>>>>>>>>>> </profile>
>>>>>>>>>> <profile>
>>>>>>>>>>  <id>production</id>
>>>>>>>>>>  <dependencies>
>>>>>>>>>>      <dependency>
>>>>>>>>>>        <groupId>mysql</groupId>
>>>>>>>>>>        <artifactId>mysql-connector-java</artifactId>
>>>>>>>>>>        <scope>provided</scope>
>>>>>>>>>>      </dependency>
>>>>>>>>>>  </dependencies>
>>>>>>>>>> </profile>
>>>>>>>>>> 
>>>>>>>>>> Thanks,
>>>>>>>>>> ~Rajani
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On 24-Feb-2014, at 11:41 pm, Hugo Trippaers
>>>>>>>>> <trip...@gmail.com<mailto:trip...@gmail.com>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Indeed,
>>>>>>>>>> 
>>>>>>>>>> I've been fighting with maven all day to get the development
>>>>>>>>>> profile to include MySql. No luck yet, will give it another
>>>>>>>>>> shot tomorrow :-)
>>>>>>>>>> 
>>>>>>>>>> Hugo
>>>>>>>>>> 
>>>>>>>>>> Sent from my iPhone
>>>>>>>>>> 
>>>>>>>>>> On 24 feb. 2014, at 18:21, David Nalley
>>>>>>>>> <da...@gnsa.us<mailto:da...@gnsa.us>> wrote:
>>>>>>>>>> 
>>>>>>>>>> So it should be ok to include the jar in non-default builds.
>>>>>>>>>> developer and deploydb are not what we'd expect a normal user
>>>>>>>>>> to
>>>>>> consume.
>>>>>>>>>> (Anyone else's head spinning?)
>>>>>>>>>> 
>>>>>>>>>> --David
>>>>>>>>>> 
>>>>>>>>>> On Mon, Feb 24, 2014 at 11:44 AM, John Kinsella
>>>>>>>>> <j...@stratosec.co<mailto:j...@stratosec.co>> wrote:
>>>>>>>>>> I created CLOUDSTACK-6157 over the weekend to track this. Not
>>>>>>>>>> sure
>>>>>>>>> adding the jar after compile will help the deploydb target,
>>>>>>>>> but will give it a try this morning.
>>>>>>>>>> 
>>>>>>>>>> Could we set up the pom.xmls to use the jar for execution if
>>>>> it's
>>>>>>>>>> found in
>>>>>>>>> the user/system classpaths while respecting the legal
>>>>> requirements?
>>>>>>>>>> 
>>>>>>>>>> Rayees' suggestion for cloud.spec makes sense for the RPM
>>>>> builds,
>>>>>>>>>> but
>>>>>>>>> doesn't affect the developer issues.
>>>>>>>>>> 
>>>>>>>>>> -He who needs more maven experience
>>>>>>>>>> 
>>>>>>>>>> On Feb 24, 2014, at 7:36 AM, Hugo Trippaers
>>>>>>>>> <h...@trippaers.nl<mailto:h...@trippaers.nl>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Heya,
>>>>>>>>>> 
>>>>>>>>>> as the mysql dependency is now set to provided in all the
>>>>>>>>>> poms
>>>>> to
>>>>>>>>>> fix our
>>>>>>>>> license compliancy the jetty target and the deployed targets
>>>>>>>>> are not
>>>>>> working.
>>>>>>>>>> 
>>>>>>>>>> I'm trying to configure an optional profile to enable those
>>>>>>>>>> targets to include
>>>>>>>>> the mysql dependency while executing, but so far no luck. If
>>>>>>>>> anyone has some bright ideas on how to do this i'm all ears.
>>>>>>>>> In the meantime the best solutions i've found to continue
>>>>>>>>> working is to copy the mysql jar file into the directory
>>>>>>>>> client/target/cloud-client-ui-4.4.0-SNAPSHOT/WEB-INF/lib/ by
>>>>>>>>> hand after running mvm install and before running the jetty
>>>>>>>>> target (just don't
>>>>>> run mvn clean).
>>>>>>>>>> 
>>>>>>>>>> Hopefully a better solution in the near future.
>>>>>>>>>> 
>>>>>>>>>> Cheers,
>>>>>>>>>> 
>>>>>>>>>> Hugo
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>> 
>>> 
> 

Reply via email to