New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix for WFLY-16863, Express default standalone configurations with Galleon layers #15966
Fix for WFLY-16863, Express default standalone configurations with Galleon layers #15966
Conversation
@jfdenise I haven't had time to look at this yet, but +1 to cleaning out and feature group cruft. |
cba4612
to
c5bde7b
Compare
@bstansberry , to be able to cleanup I had to express the example configs with layers + feature-groups. We have one config that is not exactly the same with these changes. The I have also removed the example configs defined in ee-9, the example configs in ee-9 are now identical to the one used in wildfly and wildfly-ee feature-packs. I hope that it is OK. We still have some standalone related feature-groups that are used by domain configurations. I was not able to remove them. |
54363ca
to
be8aec1
Compare
I am done with this refactoring. I feel that using Galleon layers the content of standalone configuration (config.xml files) is much easier to read, the content of each config is explicit. We have less duplication in the ee/full/preview feature-packs.
The only missing Galleon layer I identified in the default configs could be a jaeger opentracing layer. That is not critical with respect to JBoss Modules provisioning, we are safe there. It would allow to exclude opentracing from the standalone configs, although internally (eg: example configs) we don't need to exclude it. If we want to better cover the example configs, we could introduce an XTS and RTS Galleon layer, but I guess that it shouldn't block this refactoring. The example configs are not expected to be provisioned with passive+. |
Hi @jfdenise -- this is finally coming onto my radar screen... What I'm going to do with this is build wildfly-dist with and without this and compare the output. Preview too. I suspect https://issues.redhat.com/browse/WFLY-17004 will be a problem. Then I'll dig into the changes. |
As we discussed earlier, the diffs look ok. Changes in element ordering in the xml, which if unavoidable are something to do in WF 27 (fyi re this @emmartins in case the server migration cares about element ordering in some way). Then the batch thing which we can chat about in zulip. |
</feature> | ||
</feature> | ||
<feature-group name="private-interface"/> | ||
<feature-group name="jgroups-all"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we create feature groups instead of repeating this?
@jfdenise I'm not sure of the objective here. This seems ok as a refactor, but doesn't the use of the value 'adjust-standalone-xxx' feature groups in the different config.xml files mean that we aren't expressing the default configurations using layers? We're closer than we were, but I'm unclear on what that gets us. I'm not saying getting closer than where we were isn't something to do; I'd just like to understand better how this fits into the overall picture. Some things I completely understand why we wouldn't express via layers; for example the 'welcome-content' stuff. Others I'm less clear. |
@bstansberry , the adjustments don't bring new subsystems or depend on some other JBoss Modules that the layer would not bring. Adjustments are layers "tuning" to comply with the existing default configs. We have something similar for the standalone-microprofile default configs. I could evolve this PR with this suggestion or log new issues to track the new layers. |
Thanks @jfdenise. Re evolution, I started writing this comment yesterday, but left off midway at end of my day... This comment is kind of notes to myself or other who are interested re: what I'm seeing in the various 'adjust-standalone' feature groups.
|
You mean updating the remoting layer? It appears that wildfy-ee-galleon-pack redefines the remoting feature_group that remoting layer uses. This could be done there.
That would work except for the ejb3-mdb feature-group that ejb layer brings that is not in standalone configs.
Ok.
infinispan-dist-server is actually a left-over, using singleton-ha layer is enough. I can remove it.
You mean to add the feature-group directly in the standalone-full-ha config and not transitively through the adjust-standalone-full-ha-config feature-group? Would you see a benefit to this change? |
@jfdenise Note that my previous comment was basically just a list of what I saw, as a way to organize discussion. So if what I said wasn't clear about what to do, it's because I didn't know. ;)
That sounds likely. I haven't looked into why the remoting feature_group does that. But my instinct is either it doesn't need to, or the layer itself should already do it. I suspect there's some no longer important historical reason for this one.
Let's see what @chengfang and @tadamski say about that. This is what that feature group brings:
I'm not an expert but the 'default-mdb-instance-pool' feels harmless, given the config does have the pool resource. The 'default-resource-adapter-name' sounds more problematic.
@pferraro Does the 'infinispan-local-server' feature group bring any value to standalone.xml if the singleton subsystem isn't present?
For this one I didn't mean anything; I was just listing what the 'adjust-xxx' feature groups were doing and didn't have any vague thoughts to add on to this item. :-) |
It is only required by capability references (e.g. the singleton subsystem). |
@pferraro I suppose a benefit of having it in the OOTB config even though the singleton subsystem isn't is it makes it easier to add the subsystem via CLI, xml editing etc. |
Hi Brian, the migration tool does not cares about XML element order. Thanks for the notice.
… On 15 Sep 2022, at 16:25, Brian Stansberry ***@***.***> wrote:
As we discussed earlier, the diffs look ok. Changes in element ordering in the xml, which if unavoidable are something to do in WF 27 (fyi re this @emmartins <https://github.com/emmartins> in case the server migration cares about element ordering in some way). Then the batch thing which we can chat about in zulip.
—
Reply to this email directly, view it on GitHub <#15966 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAEDY6EQHKFVHYKBPAAPN5DV6M5YDANCNFSM57IEGRPQ>.
You are receiving this because you were mentioned.
|
be8aec1
to
4efca43
Compare
|
4efca43
to
5c31bd8
Compare
Resynced with main branch:
|
5c31bd8
to
127bc70
Compare
Resynced with main branch. Impact on ec2 example configs. |
127bc70
to
214899a
Compare
Resynced with main branch. Impact on all example configs containing jgroups subsystem. |
214899a
to
e190c94
Compare
c2f7ab0
to
209cb72
Compare
209cb72
to
f308e8f
Compare
/retest |
2a42d60
to
8f9a69b
Compare
8f9a69b
to
9bf88fe
Compare
9427d99
to
bf622a5
Compare
@pferraro , we are wandering if removing the infinispan-local-server feature-group from the standalone.xml and standalone-full.xml configuration would be ok with you. There is no singleton subsystem in these 2. @bstansberry , in relation to our discussion. |
@chengfang , this PR introduces the usage of the jberet Galleon layer to define the standalone default configurations (standalone, standalone-full, standalone-ha and standalone-full-ha). This introduces a difference with today configurations, the jberet subsystem is now secure using the "ApplicationDomain" elytron security domain. This is what the jberet Galleon layer is doing. |
bf622a5
to
5c1249a
Compare
The capabilities provided by that feature-group are only required by the singleton subsystem - so this should be ok. |
@jfdenise batch-jberet subsystem has a |
Hi @chengfang The does not interfere with the ability to configure that attribute. It changes its value in the OOTB standalone.xml and domain.xml files. If you look in our current standard OOTB configs, the batch-jberet subsystem's security-domain attribute is not set. (The xml element is not present.) If you provision a slimmed server and specify the batch-jberet Galleon layer, then the xml has
This PR has the effect of aligning the standard OOTB configs with what you would get if a user created configs using the Galleon layers. So the effect is all the OOTB standalone.xml and domain.xml variants will have set security-domain="ApplicationDomain". @jfdenise and I are looking for your approval of that change. |
@bstansberry @jfdenise Adding jberet-batch security-domain to OOTB configuration looks good to me. |
@pferraro , it appears that we have 6 tests that expect the server cache to be present in the standalone and standalonefull configs:
@pferraro we could update the injection tests to use the web container (hope that is fine) and introduce a clustering.cli script to add the server container to the standalone and standalone-full configurations. I am working on a fix that I will push as an additional commit. |
a3d7ad9
to
5db4f9e
Compare
@jfdenise FYI re https://issues.redhat.com/browse/WFLY-17791, which I filed to keep track of things to look into that shouldn't block this. Feel free to edit that with others you may want to track. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jfdenise LGTM. If you can squash down the commits I'll aim to get this merged into wf-28-beta-dev during my Friday morning.
5db4f9e
to
58c1837
Compare
@bstansberry I squashed part of the commits, kept the commit for WFLY-17778 fix. |
Thanks @jfdenise, @pferraro and @chengfang! |
Issue: https://issues.redhat.com/browse/WFLY-16863
This change re-implement the default configurations with Galleon layers.
Added new tests to cover execution of default configs without inheriting all JBoss Module modules.
For full feature-pack, the gain in filesystem size is around 100MB. 275MB without layers, 165MB for std/std-ha , 175MB for full/full-ha.
For ee feature-pack, the gain in filesystem size is around 100MB. 261MB without layers, 161MB for std/std-ha , 173MB for full/full-ha.
For preview feature-pack, the gain in filesystem size is around 100MB. 275MB without layers, 165MB for std/std-ha ,177MB for full/full-ha.
@bstansberry I am thinking that we should remove the un-used feature_groups (not yet done in this PR). Although one could use them, they are not really part of any API. Keeping them will create maintenance issue (eg: doing a fix in an un-used feature-group).
Link to diff for standalone.xml: https://gist.github.com/jfdenise/ed53e08ef3439daa7807d3b6a5aebcd0