[jboss-as7-dev] problems with deployment overlays and linking

Stuart Douglas stuart.w.douglas at gmail.com
Thu Aug 16 20:52:12 EDT 2012


On 16/08/2012, at 7:29 PM, Emanuel Muckenhuber <emuckenh at redhat.com> wrote:

> 
> We were mainly discussing the possibility of removing the 
> deployment-overlay-links and "link" overlays directly from the 
> deployment section of the model:
> 
> <deployment name="myapp.war"
>    ...
>  <overrides>
>    <override path="WEB-INF/lib" link="override2" />
>    <content path="WEB-INF/web.xml" content="83e4e22f3422267b" />
>    <file path="downloads" relative-to="download.file.path" />
>  </overrides>
> </deployment>
> 
> So you would be able to configure overlays as part of the deployment as 
> well as link to shared deployment-overlays. This obviously does not give 
> you all the possibilities the deployment-overlay-links would, however it 
> avoids a many-to-many relationship. From a tooling standpoint it should 
> make it easier.
> 
> I know we talked about something similar the last time we discussed 
> overlays, but perhaps it's worth re-evaluating this with an actual mgmt 
> client trying to impelement overlays.

The big problem with this is that it does not work with the deployment scanner. 

It also has to be specified on every re-deploy. I think the simplest solution here 
is to just move the links under the deployment-overlays element and loose the 
flexibility to link at different levels. e.g:

/deployment-overlay=myOverlay/deployment=test.war
/deployment-overlay=myOverlay/deployment=*.jar

Stuart


> 
> On 08/15/2012 05:51 PM, Brian Stansberry wrote:
>> I want to hear Emanuel's ideas.
>> 
>> But for sure we need to get rid of the requirement to give names to
>> links. Not just the need for some of rule for how the names are
>> constructed; we should get rid of the need for names altogether.
>> 
>> On 8/15/12 9:11 AM, Alexey Loubyansky wrote:
>>> I've been prototyping a CLI command that manages deployment overlays and
>>> got worried :)
>>> 
>>> I think, the current representation (actually, the data structure, in
>>> other words) of the overlays and their linking in the management model
>>> will lead to a lot of issues related to consistency of the data and
>>> complicate management of deployments in general.
>>> 
>>> Basically, it's a many-to-many relationship between overlays and
>>> deployments. Currently, overlays and deployments are defined separately
>>> and linked using the "third table", each row of which consists of a link
>>> name, overlay name and deployment name (or deployment name regex). (BTW,
>>> I understand this design is not random, there were reasons to organize
>>> it this way but I'd like to raise my concerns).
>>> 
>>> Which is a common practice in a relational database design but our
>>> management model is not as sophisticated, yet :) We don't have:
>>> - foreign key constraints (again, yet, I know Brian is going to look
>>> into that);
>>> - no cascade-delete;
>>> - no queries (e.g. by node attributes).
>>> 
>>> 
>>> CREATING A LINK AND LOOKING FOR IT
>>> 
>>> To create a link between an overlay and a deployment, I have to come up
>>> with a name for it, which has to be unique, like a primary key. Well, I
>>> chose the format overlay_name-deployment_name. Then, in CLI, I rely on
>>> this format to search for the link(s), since searching by resource
>>> attributes turns out to be much more complicated, although possible.
>>> Actually, even searching using this naming format by deployment name or
>>> an overlay name is not that smooth. So, the CLI now expects a specific
>>> naming format. Taking into account that the CLI is not the only
>>> management tool and that any application or user can manage things
>>> "manually", it'd be good for all the users and tools to agree on the
>>> naming format, which is not practical.
>>> 
>>> REMOVING A DEPLOYMENT
>>> 
>>> Until now it was about removing only the deployment. Now, not to run
>>> into inconsistencies in the model, the "third table" has to be searched
>>> for references and cleaned up if found.
>>> 
>>> Removing an overlay leads to the same consequences, of course, which is
>>> unavoidable anyway. But I think we could re-organize the model to
>>> minimize the risks or running into inconsistencies and simplify management.
>>> 
>>> ALTERNATIVE STRUCTURES
>>> 
>>> I discussed these issues with Emanuel, who agreed and had in mind
>>> another idea to represent this in the model, which I actually find more
>>> logical and elaborate. I'll let him follow up and describe it in details.
>>> 
>>> Thanks,
>>> Alexey
>>> _______________________________________________
>>> jboss-as7-dev mailing list
>>> jboss-as7-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>>> 
>> 
>> 
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev




More information about the jboss-as7-dev mailing list