On 26.11.2015 12:54, David Leangen wrote:

Hi Christian,



This part of the bndrun file is the input for the resolver. This is always needed. […] It is the purpose of a feature file or a bndrun file. [...] You need to give the resolver the initial hooks to pull the needed bundles out of this pool.

What I understand from what you write is that the bndrun/feature file (call it a “runtime descriptor”?) is also nothing but a list of requirements and capabilities. If so, it seems to be essentially the same thing as an obr index: a list of resources with requirements and capabilities. The only difference I can see is that the obr index is for storing stuff and is ignorant of the runtime, while the the runtime descriptor only cares about what is required during a runtime, and doesn’t care if it contains all the stored resources or not. The contents otherwise seem very similar, if not identical.

Sounds like two different views on the same thing, maybe.
They are kind of similar but you could argue the same for bundles and the obr index. The bundle contains the requirement and capability headers as well as the index. Still you need the bundles as the index is created out of the bundle meta data. So in some way you could consider the index to be just a cache for the meta data. It could be replaced by just a list of resources as the resolver could also look into each bundle / feature / bndrun file individually.

Or perhaps the features.xml file is itself nothing but a resource (having requirements and capabilities) that could be expressed in an obr index.
The feature/bndrun file is indeed a resource in the obr repository sense. You still need it though as the index is normally created out of something (as it is a kind of cache).


Also, I am still a bit stuck on the fact that the developers are the ones expected to create the runtime descriptor. I can understand if they want to immediately run something in a local test environment, but otherwise it seems to couple the devs to the deployment/runtime. Am I missing something, or is this related to the page of the yet-to-be-developers scenario you showed in your previous post (reposted below)?
Theoretically you could have a split there that developers only write the code of bundles and do not care about the deployment at all. In reality you want to create automated build/test pipelines that maybe reach even into
production.

As you correctly stated developers need to at the very least test their code locally. So they need to be involved at least in that part of the pipeline. In fact developers are normally also responsible for the integration tests that run locally as well as in a dev or test environments. On the other hand you could have a deployer role that is responsible for all of this. So yes you can say that the developer is not responsible for the features. As you typically want to build kind of devops teams today in the end the development team is most times responsible for development + deployment sometimes until dev, test sometimes even to production.

What I see in practice is that the real admins (that are not part of the dev team) often are just responsible for the production servers. As the deployment must already be present for previous steps in the pipeline it typically does not make sense to let them define the deployment on their own.

Christian


--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com

Reply via email to