Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-24323

[GSS] Improve EAP XP Galleon Trimming Docs

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Unresolved
    • Major
    • None
    • EAP-XP-4.0.0.GA
    • Documentation
    • None
    • False
    • None
    • False

    Description

      This note was causing some confusion, the note is saying if you do not specify any galleon layers, then it will include everything and that galleon will create a EAP XP configuration file that is identical to standalone-microprofile.xml (which is one of the example configuration files included in EAP XP in the $JBOSS_HOME/standalone/configuration/)  And then if you specify <cloud/> and do not specify the galleon layers you need, then galleon will create a configuration file that is identical to standalone-microprofile-ha.xml (which is another example configuration file in EAP XP, it is the same as standalone-microprofile.xml but with Clustering/HA configuration added since cloud implies it will be running in a cloud environment where it would cluster with other running instances).

      Note
      On a bare-metal platform, if you do not specify Galleon layers in your configuration file then the provisioned server contains a configuration identical to that of a default standalone-microprofile.xml configuration.On an OpenShift platform, after you have added the <cloud/> configuration element in the plug-in configuration and you choose not to specify Galleon layers in your configuration file, the provisioned server contains a configuration that is adjusted for the cloud environment and is similar to a default standalone-microprofile-ha.xml. 

      This note prompted a customer to ask if it is recommended to not specify the Galleon layers the app needs and use the default configuration (which means standalone-microprofile-ha.xml).  The answer is we would recommend using one of the base layers or specifying the decorator layers that the application requires, so that Galleon can include only the jars/classes and configuration needed, which would reduce the image size as there would be less jars/classes needed.

      ---------------------------------

      I think we are mixing various things which may confuse users.  

      Such as 'Base Layers' and 'Decorator Layers' which I think are the only thing you can specify in your bootable jar config to be used as configuration when Galleon assembles the bootable jar.  Upstream docs look like 'Base Layer' == 'Foundational Layers' and 'Decorator Layer' == 'Basic Layer'

      Then EE Specs, Subsystem, etc are mentioned and kind of mixed in.

      A Subsystem will have a Galleon layer/feature pack or such, but the name may not be the same such as the EJB3 subsystem is in the ejb basic galleon layer.  I think we should be showing foundation layer, basic layer and what EE specs it adds so that we do not confuse users where the layer name happens to be the same as a subsystem name.

      ---------------------------------

      In 'Chapter 6. Capability trimming', we list out the 'base layers' which are a set of 'Decorator layers', which is good, but it would be useful to have 2 charts, where we list the name and included specs (using the abbreviation if it has one), such as in https://docs.wildfly.org/27/Galleon_Guide.html

      Basically it needs to be clear in your bootable jar config you can specify to include or exclude ... and for the foundation layers/base layers it should show what foundation/base layer it extends and then what basic/decorator layers it adds.

      ---------------------------------

      You must include the <cloud/> element in the <configuration> element of the plug-in configuration, so the JBoss EAP Maven JAR plug-in can identify that you choose the OpenShift platform. 

      We should add a note that <cloud/> depends on 'core-tools' , so for instance, if you add <cloud/> for OpenShift, you cannot exclude the 'core-tools' layer else you will get an error: 

              <configuration>
                <feature-pack-location>org.jboss.eap:wildfly-galleon-pack:${jboss.xp.galleon.feature.pack.version}</feature-pack-location>
                <layers>
                  <layer>datasources-web-server</layer>
                </layers>
                <excluded-layers>
                  <layer>core-tools</layer>
                </excluded-layers>
                <cloud />
              </configuration> 

      ---------------------------------

      [1] https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/using_jboss_eap_xp_4.0.0/the-bootable-jar_default#specifying-galleon-layers-bootable-jar-server_default

      [2] https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html-single/using_jboss_eap_xp_4.0.0/index#base-provisioning-layers_default

      Attachments

        Activity

          People

            sraghupu Sangeeta Raghu-Punnadi
            rhn-support-bmaxwell Brad Maxwell
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: