<html><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
</head><body text="#000000" bgcolor="#FFFFFF"><br>
I have added the ability to upload content as part of the content add 
operation. I have also merged Alexey's changes into the pull requests, 
and added a :read-content operation to allow people to view the contents
 of the overlay.<br>
<br>
Brian/Kabir, would one of you be able to have a look at these latest 
changes at some point (assuming of course that the build completes 
successfully, I have not actually tested it fully yet)? <br>
<br>
Stuart<br>
<blockquote style="border: 0px none;" 
cite="mid:5047721E.50600@redhat.com" type="cite">
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">         <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="alexey.loubyansky@redhat.com" photoname="Alexey 
Loubyansky" src="cid:part1.09070106.02010900@gmail.com" 
name="compose-unknown-contact.jpg" width="25px" height="25px"></div>   <div
 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
           <a moz-do-not-send="true" href="mailto:alexey.loubyansky@redhat.com"
 style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Alexey Loubyansky</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">6 September 2012 
1:39 AM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody">Ok, I finally made it work in 
the domain mode. Here 
<a class="moz-txt-link-freetext" href="https://github.com/aloubyansky/jboss-as/commits/deployment-overlay">https://github.com/aloubyansky/jboss-as/commits/deployment-overlay</a>
<br>
<br>I am not so happy with domain mode, though. I mean the command 
itself, 
its syntax. So, I'll need to think a bit more about the usability.
<br>In the domain mode it requires --server-group and targets only one 
server group at a time. Unless, it is a remove, it can remove from 
everywhere in one go.
<br>
<br>Standalone mode is straightforward.
<br>
<br>I updated the help for the command too. It's long and confusing :) 
It'll 
need some more work.
<br>
<br>If somebody wants to try it and give feedback, you are very welcome.
 
I'll explain everything :)
<br>
<br>Thanks,
<br>Alexey
<br>
<br><br></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">         <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="brian.stansberry@redhat.com" photoname="Brian Stansberry"
 src="cid:part1.09070106.02010900@gmail.com" 
name="compose-unknown-contact.jpg" width="25px" height="25px"></div>   <div
 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
           <a moz-do-not-send="true" href="mailto:brian.stansberry@redhat.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Brian Stansberry</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">1 September 2012 
2:28 AM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody">Do you see value in 
cherry-picking his patch and adjusting the command 
first?&nbsp; The issues you find implementing the command are what led to 
these changes, so it'd be nice to know your commands work before merging
 
his stuff.
<br>
<br><br>
<br>
<br></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">         <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="olubyans@redhat.com" photoname="Alexey Loubyansky" 
src="cid:part1.09070106.02010900@gmail.com" 
name="compose-unknown-contact.jpg" width="25px" height="25px"></div>   <div
 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
           <a moz-do-not-send="true" href="mailto:olubyans@redhat.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Alexey Loubyansky</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">31 August 2012 
8:03 PM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody">Great. Once it's merged I'll 
adjust the deployment-overlay command and 
submit a pull request.
<br>
<br>Thanks,
<br>Alexey
<br>
<br><br></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">         <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="stuart.w.douglas@gmail.com" photoname="Stuart Douglas" 
src="cid:part4.05040309.08030304@gmail.com" name="postbox-contact.jpg" 
width="25px" height="25px"></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
           <a moz-do-not-send="true" href="mailto:stuart.w.douglas@gmail.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Stuart Douglas</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">31 August 2012 
1:29 PM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody"><meta content="text/html; 
charset=ISO-8859-1" http-equiv="Content-Type"><div><br></div><div>I have
 done up an initial implementation of this here&nbsp;<a 
moz-do-not-send="true" 
href="https://github.com/jbossas/jboss-as/pull/2989">https://github.com/jbossas/jboss-as/pull/2989</a>&nbsp;.</div><div><br></div><div><br></div><div>Stuart</div><br><div><br
 class="Apple-interchange-newline"></div><br></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">         <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="brian.stansberry@redhat.com" photoname="Brian Stansberry"
 src="cid:part1.09070106.02010900@gmail.com" 
name="compose-unknown-contact.jpg" width="25px" height="25px"></div>   <div
 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
           <a moz-do-not-send="true" href="mailto:brian.stansberry@redhat.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Brian Stansberry</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">24 August 2012 
2:08 AM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody"><pre wrap="">On 8/23/12 3:39 AM, Emanuel Muckenhuber wrote:
</pre><blockquote type="cite"><pre wrap="">On 08/23/2012 01:11 AM, Brian Stansberry wrote:
</pre><blockquote type="cite"><pre wrap="">Sorry for the slow responses on this thread.

I think we should go with Stuart's approach, particularly if Alexey is
comfortable that the CLI can support high level commands associated with it.

</pre></blockquote><pre wrap="">Yeah, i am fine then as well - nevertheless some comments inline :)

</pre></blockquote><pre wrap=""><!---->
Me too. ;)

</pre><blockquote type="cite"><blockquote type="cite"><pre wrap="">On 8/22/12 8:22 AM, Emanuel Muckenhuber wrote:
</pre><blockquote type="cite"><pre wrap="">My main concern is regarding the domain mode, since the additional
linking does not seem to be necessary to me and just additional steps
mgmt clients have to take care of.

Whereas the deployment-scanner is a single client for standalone, which
is under our control. So i wanted to see if we there is a way we can
make this work which also satisfies your use cases.

I have two things in mind which i'll try to explain quickly:

1) you still link the overlays as part of the &lt;deployment /&gt;, however
the deploment-scanner is aware of that and won't remove deployments with
overlays until you use a specific invalidation marker.

</pre></blockquote><pre wrap="">This requires that the overlays be controlled by the scanner as well.
Why? Because we don't persist the model resource for scanner-controlled
deployments. So if a user linked a non-scanner-controlled overlay to a
scanner controlled deployment (which seems quite rational if the overlay
involves some environmental settings that never change), the link
information will be lost on server reboot.

</pre></blockquote><pre wrap="">I know, but that's an ancient limitation. I guess we could just start to
persist stuff.

</pre></blockquote><pre wrap=""><!---->
We'd have to persist some association between a deployment and a scanner 
(e.g. scanner="default" on the deployment element) and then use that to 
indicate that the server should not auto-deploy on boot but should defer 
to the scanner to tell it what to do. And then alter the scanner to add 
logic for it to reconcile the state it sees in the scan directory vs 
what the model shows.

Doable, but a fair bit of work.

I considered this before going with the "don't persist" approach. I 
don't recall though if there was some fundamental problem with it that 
I'm not remembering, or if it was solely that "don't persist" was doable 
within the time constraints.

</pre><blockquote type="cite"><blockquote type="cite"><blockquote 
type="cite"><pre wrap="">2) use overlay directories - this is more the file based approach, Where
we just pick the "deployment.name + suffix" for the overlay. So there
would be an automatic overlay/linking done by the deployment-scanner.

</pre></blockquote><pre wrap="">Same issue as 1).

</pre></blockquote><pre wrap="">Not really. It can automatically recreate the overlays therefore it does
not require persistent information.

</pre></blockquote><pre wrap=""><!---->
It can only recreate the association for overlays that it scans, not 
ones that were added via CLI/console.

</pre><blockquote type="cite"><blockquote type="cite"><blockquote 
type="cite"><pre wrap="">2.1) the overlay directory could be just a link to a virtual file (a
shared &lt;deployment-overlay /&gt;) [1] - so in this case the overlays are
managed by the model and are not linked to the deployment lifecycle.

</pre></blockquote><pre wrap="">I confess I don't understand this. In particular, how does it
fundamentally differ from what Stuart proposes in terms of how to
organize the data?

</pre></blockquote><pre wrap="">Well that is the point. It's basically the same, just that it removes
the requirement for the additional linking in the domain.

</pre></blockquote><pre wrap=""><!---->
Ok, then I still don't understand it. If it solves a problem I'd like to 
understand. Can you explain further?

</pre><blockquote type="cite"><blockquote type="cite"><blockquote 
type="cite"><pre wrap="">On 08/22/2012 01:03 AM, Stuart Douglas wrote:
</pre><blockquote type="cite"><pre wrap="">So what are we going to do here? Personally I much prefer the idea of having this stored in the model and linking it to a deployment, so the overlay lifecycle is not tied to that of the deployment.

Another idea I had is that we could do something like define the overlays at domain level, but then define the links at server group or server level using the same name. basically something like:

/deployment-overlay=myOverlay/content=WEB-INF/web.xml
/deployment-overlay=myOverlay/content=WEB-INF/ejb-jar.xml

/server-group=server-group1/deployment-overlay=myOverlay/deployment=test.war
/server-group=server-group1/deployment-overlay=myOverlay/deployment=*.war

For standalone they would just be combined, similar to what I had below:


/deployment-overlay=myOverlay/content=WEB-INF/web.xml
/deployment-overlay=myOverlay/content=WEB-INF/ejb-jar.xml
/deployment-overlay=myOverlay/deployment=test.war
/deployment-overlay=myOverlay/deployment=*.war



Stuart

On 17/08/2012, at 11:03 PM, Emanuel Muckenhuber <a class="moz-txt-link-rfc2396E" href="mailto:emuckenh@redhat.com">&lt;emuckenh@redhat.com&gt;</a> wrote:

</pre><blockquote type="cite"><pre wrap="">On 08/17/2012 02:52 AM, Stuart Douglas wrote:
</pre><blockquote type="cite"><pre wrap="">The big problem with this is that it does not work with the deployment scanner.

</pre></blockquote><pre wrap="">Yeah, the deployment-scanner is always a story for itself. However i think we could actually make it persist information and be aware of overlays.

Having overlays as part of the deployment means the lifecycle is managed together, so the deployment-scanner could define it's own invalidation policy. May it be based on whether the content got removed or we have a specific marker for that.

We could also think of providing a file-based overlay solution, managed by the deployment scanner only. In the end people use the deployment-scanner for a reason, so perhaps not having to worry about the model or "content" folder could be interesting. This would not even need to access persistent information though. Anyway just some ideas on the side.

</pre><blockquote type="cite"><pre wrap="">It also has to be specified on every re-deploy.
</pre></blockquote><pre wrap="">When you do a "remove" and "add" then yes. We do have specific operations to replace the content and redeploy the deployment without removing the information from the model.

</pre><blockquote type="cite"><pre wrap="">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

</pre></blockquote><pre wrap="">Yes, i was not really going for the simplest solution for now - this would most likely would be it :)
</pre></blockquote></blockquote><pre wrap="">_______________________________________________
jboss-as7-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:jboss-as7-dev@lists.jboss.org">jboss-as7-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev">https://lists.jboss.org/mailman/listinfo/jboss-as7-dev</a>

</pre></blockquote></blockquote><pre wrap="">_______________________________________________
jboss-as7-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:jboss-as7-dev@lists.jboss.org">jboss-as7-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev">https://lists.jboss.org/mailman/listinfo/jboss-as7-dev</a>

</pre></blockquote><pre wrap=""><!---->

</pre></div>
</blockquote>
</body></html>