They do support P2.. isn't that similar to OBR? It sucks because we picked artifactory for our repository. I figured there had to be a way it could work as an OBR server. Disappointing. On Apr 15, 2015 4:56 PM, "Michael Täschner" <m.taesch...@gmail.com> wrote:
> 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 >> >> >