Hi,

>> Not sure if Artifactory can function as an OBR like Nexus still

this reminds me of JFrogs booth at last years JAX (Java Experience
Convention):
- "Do you support OBR in Artifactory via plugins or similar?" - "No, we
don't believe in OSGi!" That about ended our conversation ...

Cheers,
Michael

2015-04-15 22:41 GMT+02:00 Ryan Moquin <fragility...@gmail.com>:

> Thanks Achim.  I think that adding it to your pom with aggregate features
> set on the plugin will add it to the features xml.
>
> Ah, that's right.  That's what I observed and forgot that it matches what
> you guys said about feature uninstalling.
>
> I can't wait to try Karaf 4.
>
> I'll get details on it and ask the ops4j guys.
>
> I am thinking I should look into utilizing OBR with Karaf.  Not sure if
> Artifactory can function as an OBR like Nexus still.
>
> Thanks!
>
> Ryan
> Hi Ryan,
>
> some comments inline
>
> regards, Achim
>
>
> 2015-04-13 0:14 GMT+02:00 Ryan Moquin <fragility...@gmail.com>:
>
>> Don't get me, features are a ton of help.  :)  I could maintain the
>> features myself, I just hate to have to keep two lists of dependencies.
>> The reason that the karaf maven plugin is a little tough sometimes is
>> because it's hard to make sure that you don't end up with bundles in a
>> generated feature that should come from a dependent feature without making
>> everything provided.  Making most of the dependencies provided makes it
>> hard to have transitive dependencies available in project dependencies
>> because they are marked provided in the other poms.  There is probably a
>> better way to handle it that I haven't figured out yet.  My project is
>> growing rapidly so I am trying to leverage whatever tools I can to keep my
>> features clean and not have to spend lots of time on them.
>>
>> Have you tried to add features as dependencies to your pom. AFAIK those
> should show up as dependencies in the generated features.xml. If not we
> just found a new use-case for the maven plugin and you could open an issue
> for it ;)
>
>
>> One thing I've been wrestling with (not sure if this has been improved in
>> Karaf 4)
>> is figuring out how to upgrade features and handle undeploying features..
>> I've played around with it but I guess I'm not sure I understand the proper
>> way to do it.  Such as if you had an application deployed in an environment
>> and wanted to upgrade a feature, do you have to install the new features
>> and uninstall the old one?  When I've tried to uninstall a feature
>> previously, it didn't seem like everything got removed.
>>
> Till Karaf 4, you explicitly need to uninstall transitive features because
> the features installer used to be quite dumb and therefore doesn't know of
> possible other dependencies on this feature.
> With Karaf 4 this will improve quite a bit.
>
>
>> I want want to be able to do incremental upgrades of my app but not sure
>> the best way to achieve that with features.  :)  I've done quite a lot of
>> research on it but haven't quite narrowed down a concrete way to do it (I
>> mean beyond manually upgrading individual bundles in the karaf console.)
>>
>> Upgrades is still an "open" field, with Karaf 4 I think it will be
> easier.
>
>
>> Our Bamboo instance has access to the internet.  I think it hangs right
>> at the beginning of Pax Exam starting up.  It's such a pain to deal with
>> our Bamboo EC2 instance that I haven't been able to find out why it's
>> hanging yet.
>>
> maybe post this as a question at the OPS4j list with some more details of
> the logfiles.
>
>
>
>
>> Ryan
>> On Apr 12, 2015 2:34 AM, "Achim Nierbeck" <bcanh...@googlemail.com>
>> wrote:
>>
>>> Hi Ryan,
>>>
>>> see comments inline.
>>>
>>> regards, Achim
>>>
>>>
>>> 2015-04-12 0:37 GMT+02:00 Ryan Moquin <fragility...@gmail.com>:
>>>
>>>> Thanks, Achim.  I am using a custom Karaf distribution, but maintaining
>>>> deployment flexibility using features feels a little tougher than it feels
>>>> like it should be (I don't have any better ideas).
>>>>
>>> That's strange, cause features are there to make life easier not harder.
>>> Make sure you cut the features right, not to big but also not to small
>>> (like one bundle, one feature). Usually it helps to create those feature
>>> files yourself as the plugin can't estimate what your intension of this
>>> combination of bundles is.
>>>
>>>
>>>>   I also have issues with my Karaf integration tests in Bamboo.
>>>> Paxexam seems to not be able to initialize properly for who knows what
>>>> reason.  Another problem is that I seem to run into a lot of problems in
>>>> the tests and can't seem to find anything in the output or Karaf love that
>>>> indicate.the problem.  If I run it normally in Karaf, I usually get clued
>>>> into what the issue is.
>>>>
>>> Now that could be addressed. First of all, does it work for you on your
>>> machine? Is Bamboo capable of connecting to the internet.
>>> Is maven capable of connecting to the required repositories. Do you have
>>> all dependencies defined in your POM, so the configuration section of the
>>> test does find those (combined with the depends-maven-plugin)
>>>
>>>
>>>> One last thing is that since my development shop uses MacOSx, Docker
>>>> containers have to be run in a VM which feels silly and is slow.  I don't
>>>> have a choice in that manner.
>>>>
>>> Oh, I'm working with MacOSx too. I know it can be cumbersome but running
>>> 4 images in parallel can be done :-)
>>>
>>>
>>>
>>>> It would be nice if there was a way to manage feature xml files in a
>>>> way that felt more straight forward....  Maybe there is and I'm just not
>>>> aware of it.
>>>>
>>> You have the choices, use the karaf maven plugin for generation, or
>>> build those yourself. In the end it's up to how you want your application
>>> build.
>>> But maybe I miss something cause usually you have a certain set of
>>> bundles running in your application that need to run anyway. With this
>>> setup you can test your application.
>>>
>>>
>>>
>>>> On Apr 8, 2015 3:07 PM, "Achim Nierbeck" <bcanh...@googlemail.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> just recently for a talk with showcase I was thinking about how to
>>>>> create a CI/CD build pipeline with Karaf. Maybe some of this does help
>>>>> you.[1]
>>>>> In the end I ended up with a setup where I have a pre-configured Karaf
>>>>> (custom build) which is startable as Docker Image or can be used as 
>>>>> startup
>>>>> tar.gz of the Pax Exam integration tests.
>>>>> Usually camel routes are more about Integration therefore the most
>>>>> use-cases need to be handled by Integration tests. In those scenarios you
>>>>> just can't rely only on the camel-core bundles therefore you need more
>>>>> features just to have your unit tests/integration tests runnable. In those
>>>>> scenarios I usually suggest build your own distribution on top of Karaf 
>>>>> and
>>>>> use it as your base-image in the pax-exam tests. If there is more external
>>>>> infrastructure needed I tend to use either full-integration test systems 
>>>>> or
>>>>> now a docker based test-environment which can be started via a maven goal
>>>>> as pre-intergration phase systems.
>>>>>
>>>>> regards, Achim
>>>>>
>>>>> [1] - https://github.com/ANierbeck/JavaLang-Tooling
>>>>>
>>>>> 2015-04-08 17:24 GMT+02:00 Ryan Moquin <fragility...@gmail.com>:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have another question regarding Karaf and deployments.  I was
>>>>>> hoping maybe some others could chime in on how they deal with the 
>>>>>> following
>>>>>> situation.
>>>>>>
>>>>>> I've been working on a fairly complex Karaf based application.  I'm
>>>>>> using features heavily to allow deploying the correct resources in
>>>>>> different environments (configuration and bundles).  I find it works very
>>>>>> well except for a couple situations:
>>>>>>
>>>>>> 1.  Unit testing.  It's hard to unit test things like camel routes
>>>>>> since I have ended up basically marking all bundle dependencies as 
>>>>>> provided
>>>>>> (in order to keep the created features files .  So if I try to unit test 
>>>>>> a
>>>>>> Camel route, transitive dependencies have to be directly added to the
>>>>>> project pom.
>>>>>>
>>>>>> 2.  I have all my configurations defined in a maven project for
>>>>>> assembling the final features xml file.  This of course doesn't make it
>>>>>> easy to use any of those configurations in camel integration tests since
>>>>>> configurations needed for config admin would have to be added to the
>>>>>> projects test resources.
>>>>>>
>>>>>> Obviously the two brief examples above focus mostly on Camel, but the
>>>>>> main problem is that I'm trying to figure out how I can no longer make
>>>>>> everything provided in my bundle project provided scope without having to
>>>>>> manually maintain the features files.
>>>>>>
>>>>>> That being said, I was looking at Apache Ace, but I'm not sure if
>>>>>> using Apache Ace would cause it to be more work to do Karaf integration
>>>>>> testing since Apache Ace doesn't use Karaf features.  I thought about 
>>>>>> maybe
>>>>>> using OBR, but we use Artifactory and so I'm not sure if going down the 
>>>>>> OBR
>>>>>> route might ultimately not be possible (I could be wrong but Artifactory
>>>>>> doesn't appear to have OBR support), also I read that OSGi has moved away
>>>>>> from OBR to different repository mechanism (forget offhand what it's
>>>>>> called).  I looked into Apache Cave, but I don't want to rock the boat
>>>>>> where I'm at yet since I'm the only one pushing Karaf and OSGi currently.
>>>>>> I don't want to try to push things out of my organizations comfort zone 
>>>>>> by
>>>>>> getting too radical in my project deployment.  I haven't gotten to read
>>>>>> into the Karaf 4.0 profiles yet.
>>>>>>
>>>>>> What it really boils down to is that I'm not sure which deployment
>>>>>> approach with Karaf would be the best to use out of all the options with
>>>>>> the goal of moving to a continuous deployment model.
>>>>>>
>>>>>> Hoping someone might be willing to comment on how they solved these
>>>>>> issues or maybe what direction I should look at going down that will 
>>>>>> allow
>>>>>> me to improve these aspects.  It took me a while to get things where they
>>>>>> are at, I want to be pretty confident in what path I go down next since 
>>>>>> if
>>>>>> it doesn't pan out, it will be a lot of potentially wasted time and 
>>>>>> effort.
>>>>>> :)
>>>>>>
>>>>>> Thanks in advance for any thoughts/suggestions.
>>>>>>
>>>>>> Ryan
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Apache Member
>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
>>>>> Committer & Project Lead
>>>>> blog <http://notizblog.nierbeck.de/>
>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>>>>
>>>>> Software Architect / Project Manager / Scrum Master
>>>>>
>>>>>
>>>
>>>
>>> --
>>>
>>> Apache Member
>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer
>>> & Project Lead
>>> blog <http://notizblog.nierbeck.de/>
>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>>
>>> Software Architect / Project Manager / Scrum Master
>>>
>>>
>
>
> --
>
> Apache Member
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
> Project Lead
> blog <http://notizblog.nierbeck.de/>
> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>
> Software Architect / Project Manager / Scrum Master
>
>

Reply via email to