I think We need to upload this new jar somewhere so that people who need DB HA 
can download from there. This is for non-developers (For Example Testers).

Thanks & Regards
Damodar/


-----Original Message-----
From: Trippie [mailto:trip...@gmail.com] On Behalf Of Hugo Trippaers
Sent: Thursday, February 27, 2014 2:22 PM
To: <dev@cloudstack.apache.org>
Subject: Re: developers and mysql

Done

commit a0f932437c9ac9a0a82cc9b45b1aa6f17e8a478a
Author: Hugo Trippaers <htrippa...@schubergphilis.com>
Date:   Thu Feb 27 09:48:55 2014 +0100

    Move mysql ha strategy to a plugin. Activate this plugin using the mysqlha 
profile or the noredist flag



On 27 feb. 2014, at 09:25, Hugo Trippaers <trip...@gmail.com> wrote:

> 
> 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