[wildfly-dev] Chained transformers and 7.1.x tests

Kabir Khan kabir.khan at jboss.com
Wed Jul 23 13:05:57 EDT 2014


Chained transformers are now working and have been merged to wildfly-core. So they should be usable from the next wildfly-core release.

I have documented the changes to chained transformers and the test framework in the Domain Mode Subsystem Transformers document:

* You no longer need to generate the .dmr files for new subsystem versions:
[Testing a configuration that works] (The last paragraph or so)

* Chained transformers
Then I have updated the [Evolving transformers with subsystem ModelVersions] section to document the chained transformers at: [Chained transformers]. This section also contains the system properties needed to run the ‘legacy’ tests which do not get run by default.

[Testing a configuration that works] - https://docs.jboss.org/author/display/WFLY8/Domain+Mode+Subsystem+Transformers#DomainModeSubsystemTransformers-Testingaconfigurationthatworks 
[Evolving transformers with subsystem ModelVersions] - https://docs.jboss.org/author/display/WFLY8/Domain+Mode+Subsystem+Transformers#DomainModeSubsystemTransformers-EvolvingtransformerswithsubsystemModelVersions 
[Chained transformers] - https://docs.jboss.org/author/display/WFLY8/Domain+Mode+Subsystem+Transformers#DomainModeSubsystemTransformers-Chainedtransformers

On 7 Jul 2014, at 19:59, Brian Stansberry <brian.stansberry at redhat.com> wrote:

> On 7/7/14, 1:25 PM, Kabir Khan wrote:
>> I am looking at adding chained transformers to the core model transformers, i.e. DomainTransformers and the classes it uses. However, I’d like to get an extra eye on the sequence of versions in the chains used.
>> 
>> https://github.com/wildfly/wildfly-core/blob/master/host-controller/src/main/java/org/jboss/as/domain/controller/transformers/DomainTransformers.java#L57 contains the following versions and comments:
>> 
>>     //AS 7.1.2.Final / EAP 6.0.0
>>     private static final ModelVersion VERSION_1_2 = ModelVersion.create(1, 2, 0);
>>     //AS 7.1.3.Final / EAP 6.0.1
>>     private static final ModelVersion VERSION_1_3 = ModelVersion.create(1, 3, 0);
>>     //AS 7.2.0.Final / EAP 6.1.0 / EAP 6.1.1
>>     private static final ModelVersion VERSION_1_4 = ModelVersion.create(1, 4, 0);
>>     // EAP 6.2.0
>>     private static final ModelVersion VERSION_1_5 = ModelVersion.create(1, 5, 0);
>>     // EAP 6.3.0
>>     private static final ModelVersion VERSION_1_6 = ModelVersion.create(1, 6, 0);
>>     //WF 8.0.0.Final
>>     private static final ModelVersion VERSION_2_0 = ModelVersion.create(2, 0, 0);
>>     //WF 8.1.0.Final
>>     private static final ModelVersion VERSION_2_1 = ModelVersion.create(2, 1, 0);
>> 
>> Since some features were introduced in 1.6.0 and 1.5.0 for EAP which also exist in 2.0.0 (and probably 2.1.0) I guess that the chains should be:
>> * For WildFly: 3.0.0->2.1.0->2.0.0
>> * For JBoss EAP and AS 7 releases: 3.0.0->1.6.0->1.5.0->1.4.0->1.3.0->1.2.0
>> 
> 
> Yes.
> 
>> To get good coverage of my refactoring, and of the chained transformers themselves, I am also reintroducing the core-model-test 7.1.2 test controller again. Once I am done with the chained transformers, I will look at pulling the legacy test controllers for both core-model-test and subsystem-test out into their own repository. That way they can be kept around without polluting the codebase. This should end the days of having 3 versions of WildFly/AS7 classes appear in the IDE classpath, which is annoying when you want to look up a class by name.
>> 
> 
> :)
> 
>> On 7 Jul 2014, at 18:24, Brian Stansberry <brian.stansberry at redhat.com> wrote:
>> 
>>> Thanks for all this, Kabir.
>>> 
>>> On 7/7/14, 5:43 AM, Kabir Khan wrote:
>>>> This has been merged to wildfly-core.
>>>> To test the transformers against 7.1.x and EAP 6.0.x use -Djboss.test.transformers.subsystem.old.
>>>> To get the EAP ones you will also need -Djboss.test.transformers.eap, as usual.
>>>> 
>>>> On 6 Jul 2014, at 12:22, Kabir Khan <kabir.khan at jboss.com> wrote:
>>>> 
>>>>> On 6 Jul 2014, at 11:45, Kabir Khan <kabir.khan at jboss.com> wrote:
>>>>> 
>>>>>> https://github.com/wildfly/wildfly-core/pull/10 enables this and also gets rid of all the .dmr files used by the subsystem tests. The tests will now simply generate these on demand.
>>>>>> 
>>>>>> All tests in core pass with this (also for 7.1.x when enabled). In wildfly everything passes when running the tests, although there are some issues in the following subsystems when running against 7.1.x
>>>>>> * jgroups - needs a touched up .dmr file for 7.1.x, I have s commit
>>>>> s/s commit/a commit
>>>>>> * infinispan - something goes wrong in the
>>>>> … 7.1.x tests, I’ve not looked into it
>>>>>> * messaging - although not a 7.1.x issue, the PR enables testing against WF 8 as well. However, the messaging extension uses some methods which are no longer available in WF 9. This could be fixed by adding a test-controller-8_0_0.
>>>>>> 
>>>>>> These problems are probably not too important to spend a lot of time on at this stage, since they do not occur when running against the versions enabled by default. The point of allowing the 7.1.x testing again is to get better coverage while converting the chained transformer stuff so that I can work through problems while I remember how this works, rather than in many month’s time.
>>>>>> 
>>>>>> On 5 Jul 2014, at 10:57, Kabir Khan <kabir.khan at jboss.com> wrote:
>>>>>> 
>>>>>>> I’ve got the chained transformers mostly working in its own tests, but have some issues to iron out when using them for real, which is not picked up by the tests I wrote. Currently I am trying to convert the jmx subsystem, and think I will also do the other ones in wildfly-core (remoting and logging).
>>>>>>> 
>>>>>>> Since we have disabled transformer testing against WildFly 8, and AS 7.1.x, there isn’t actually much of a chain to test at the moment. To get better coverage of what I have done in real subsystem scenarios, I would like to temporarily reinstate the test controller for 7.1.x, and to use a system property to enable running of tests against 7.1.x and WildFly 8 unless someone has some strong objections. If people start converting to use chained transformers, since the 7.1.x tests already exist, I think this will be valuable validation of what they are doing.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> wildfly-dev mailing list
>>>>>>> wildfly-dev at lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> wildfly-dev mailing list
>>>>>> wildfly-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> wildfly-dev mailing list
>>>>> wildfly-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>> 
>>>> 
>>>> _______________________________________________
>>>> wildfly-dev mailing list
>>>> wildfly-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>> 
>>> 
>>> 
>>> --
>>> Brian Stansberry
>>> Senior Principal Software Engineer
>>> JBoss by Red Hat
>>> _______________________________________________
>>> wildfly-dev mailing list
>>> wildfly-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>> 
> 
> 
> -- 
> Brian Stansberry
> Senior Principal Software Engineer
> JBoss by Red Hat
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev




More information about the wildfly-dev mailing list