Martin Peřina has uploaded a new change for review. Change subject: setup: Adds service configuration based on provided JBoss ......................................................................
setup: Adds service configuration based on provided JBoss Adds detection of provided JBoss version (WildFly 8 or EAP 6) and links service configuration file ovirt-engine.xml.in based on detected version. Change-Id: Ic35f8a0c276735b9685affea1e068f6ef7298f8c Bug-Url: https://bugzilla.redhat.com/1121327 Signed-off-by: Martin Perina <mper...@redhat.com> --- R packaging/services/ovirt-engine/ovirt-engine-eap.xml.in A packaging/services/ovirt-engine/ovirt-engine-wildfly.xml.in M packaging/setup/ovirt_engine_setup/engine/constants.py M packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/jboss.py 4 files changed, 737 insertions(+), 32 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/52/40152/1 diff --git a/packaging/services/ovirt-engine/ovirt-engine.xml.in b/packaging/services/ovirt-engine/ovirt-engine-eap.xml.in similarity index 82% rename from packaging/services/ovirt-engine/ovirt-engine.xml.in rename to packaging/services/ovirt-engine/ovirt-engine-eap.xml.in index 0294afc..8f4eef6 100644 --- a/packaging/services/ovirt-engine/ovirt-engine.xml.in +++ b/packaging/services/ovirt-engine/ovirt-engine-eap.xml.in @@ -1,4 +1,4 @@ -<?xml version="1.0" ?> +<?xml version='1.0' encoding='UTF-8'?> <server xmlns="urn:jboss:domain:1.1"> @@ -33,24 +33,26 @@ <!-- Enable compression for html content and REST api --> <property name="org.apache.coyote.http11.Http11Protocol.COMPRESSION" value="on"/> - <property name="org.apache.coyote.http11.Http11Protocol.COMPRESSION_MIME_TYPES" value="text/javascript,text/css,text/html,text/xml,text/json,application/x-yaml,application/xml,application/json"/> + <property + name="org.apache.coyote.http11.Http11Protocol.COMPRESSION_MIME_TYPES" + value="text/javascript,text/css,text/html,text/xml,text/json,application/x-yaml,application/xml,application/json"/> </system-properties> - <!-- We need to enable the management subsystem because it is an - indirect dependency of the Infinispan subsystem (since version - 7.2 of the application server) but at the same time we don't - want anyone (other than the root and ovirt users) to be able - to connect to the management port, so we just use an empty - users file: --> <management> <security-realms> + <!-- We need to enable the management subsystem because it is an indirect + dependency of the Infinispan subsystem (since version 7.2 of the + application server) but at the same time we don't want anyone (other + than the root and ovirt users) to be able to connect to the + management port, so we just use an empty users file: --> <security-realm name="management"> <authentication> <properties path="/dev/null"/> </authentication> </security-realm> </security-realms> + <management-interfaces> <native-interface security-realm="management"> <socket-binding native="management"/> @@ -59,10 +61,11 @@ </management> <profile> - <subsystem xmlns="urn:jboss:domain:logging:1.1"> - - <custom-handler name="ovirt-logger" class="org.ovirt.engine.core.logger.LoggerHandler" module="org.ovirt.engine.core.logger"> + <custom-handler + name="ovirt-logger" + class="org.ovirt.engine.core.logger.LoggerHandler" + module="org.ovirt.engine.core.logger"> <level name="ALL"/> </custom-handler> @@ -114,9 +117,9 @@ <handlers> <handler name="ENGINE"/> <handler name="ovirt-logger"/> - #if $getboolean('ENGINE_LOG_TO_CONSOLE') - <handler name="CONSOLE"/> - #end if + #if $getboolean('ENGINE_LOG_TO_CONSOLE') + <handler name="CONSOLE"/> + #end if </handlers> </logger> <logger category="org.ovirt.engine.core.bll"> @@ -136,13 +139,10 @@ <handler name="SERVER"/> </handlers> </root-logger> - </subsystem> <subsystem xmlns="urn:jboss:domain:datasources:1.0"> - <datasources> - <datasource jndi-name="java:/ENGINEDataSource" pool-name="ENGINEDataSource" enabled="true" use-ccm="false"> <connection-url><![CDATA[$getstring('ENGINE_DB_URL')]]></connection-url> <driver>postgresql</driver> @@ -166,7 +166,12 @@ </validation> </datasource> - <datasource jndi-name="java:/ENGINEDataSourceNoJTA" pool-name="ENGINEDataSourceNoJTA" enabled="true" use-ccm="false" jta="false"> + <datasource + jndi-name="java:/ENGINEDataSourceNoJTA" + pool-name="ENGINEDataSourceNoJTA" + enabled="true" + use-ccm="false" + jta="false"> <connection-url><![CDATA[$getstring('ENGINE_DB_URL')]]></connection-url> <driver>postgresql</driver> <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> @@ -194,17 +199,15 @@ <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class> </driver> </drivers> - </datasources> - </subsystem> <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1"> <deployment-scanner path="$jboss_runtime/deployments" deployment-timeout="1200" #if $getboolean('ENGINE_DEPLOYMENT_SCANNER') - scan-interval="5000" + scan-interval="5000" #else - scan-interval="0" + scan-interval="0" #end if /> </subsystem> @@ -225,8 +228,16 @@ </mdb> <pools> <bean-instance-pools> - <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> - <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> + <strict-max-pool + name="slsb-strict-max-pool" + max-pool-size="20" + instance-acquisition-timeout="5" + instance-acquisition-timeout-unit="MINUTES"/> + <strict-max-pool + name="mdb-strict-max-pool" + max-pool-size="20" + instance-acquisition-timeout="5" + instance-acquisition-timeout-unit="MINUTES"/> </bean-instance-pools> </pools> <caches> @@ -246,7 +257,11 @@ </subsystem> <subsystem xmlns="urn:jboss:domain:infinispan:1.1" default-cache-container="ovirt-engine"> - <cache-container name="ovirt-engine" default-cache="timeout-base" jndi-name="java:jboss/infinispan/ovirt-engine" start="EAGER"> + <cache-container + name="ovirt-engine" + default-cache="timeout-base" + jndi-name="java:jboss/infinispan/ovirt-engine" + start="EAGER"> <local-cache name="timeout-base"> <transaction mode="NONE"/> <eviction max-entries="10000"/> @@ -258,7 +273,7 @@ <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/> <subsystem xmlns="urn:jboss:domain:jca:1.1"> - <archive-validation enabled="false" fail-on-error="false" fail-on-warn="false"/> + <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/> <bean-validation enabled="true"/> <default-workmanager> <short-running-threads> @@ -302,11 +317,13 @@ </login-module> </authentication> </security-domain> + <security-domain name="jboss-web-policy" cache-type="default"> <authorization> <policy-module code="Delegating" flag="required"/> </authorization> </security-domain> + <security-domain name="jboss-ejb-policy" cache-type="default"> <authorization> <policy-module code="Delegating" flag="required"/> @@ -326,7 +343,6 @@ </login-module> </authentication> </security-domain> - </security-domains> </subsystem> @@ -344,15 +360,37 @@ <subsystem xmlns="urn:jboss:domain:web:1.1" native="false" default-virtual-server="default-host"> #if $getboolean('ENGINE_HTTP_ENABLED') - <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http" redirect-port="$getinteger('ENGINE_HTTPS_PORT')"/> + <connector + name="http" + protocol="HTTP/1.1" + scheme="http" + socket-binding="http" + redirect-port="$getinteger('ENGINE_HTTPS_PORT')"/> #end if #if $getboolean('ENGINE_HTTPS_ENABLED') - <connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true"> - <ssl name="ssl" password="mypass" certificate-key-file="$getstring('ENGINE_PKI')/keys/jboss.p12" keystore-type="PKCS12" key-alias="1" protocol="$getstring('ENGINE_HTTPS_PROTOCOLS')" verify-client="false"/> + <connector + name="https" + protocol="HTTP/1.1" + scheme="https" + socket-binding="https" + secure="true"> + <ssl + name="ssl" + password="mypass" + certificate-key-file="$getstring('ENGINE_PKI')/keys/jboss.p12" + keystore-type="PKCS12" + key-alias="1" + protocol="$getstring('ENGINE_HTTPS_PROTOCOLS')" + verify-client="false"/> </connector> #end if #if $getboolean('ENGINE_AJP_ENABLED') - <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp" redirect-port="$getinteger('ENGINE_PROXY_HTTPS_PORT')"/> + <connector + name="ajp" + protocol="AJP/1.3" + scheme="http" + socket-binding="ajp" + redirect-port="$getinteger('ENGINE_PROXY_HTTPS_PORT')"/> #end if <virtual-server name="default-host" enable-welcome-root="false"> <alias name="localhost"/> @@ -387,5 +425,4 @@ <socket-binding name="txn-status-manager" port="8705"/> <socket-binding name="management" port="8706"/> </socket-binding-group> - </server> diff --git a/packaging/services/ovirt-engine/ovirt-engine-wildfly.xml.in b/packaging/services/ovirt-engine/ovirt-engine-wildfly.xml.in new file mode 100644 index 0000000..3ec259a --- /dev/null +++ b/packaging/services/ovirt-engine/ovirt-engine-wildfly.xml.in @@ -0,0 +1,598 @@ +<?xml version='1.0' encoding='UTF-8'?> + +<server xmlns="urn:jboss:domain:2.1"> + + <extensions> + <extension module="org.jboss.as.clustering.infinispan"/> + <extension module="org.jboss.as.connector"/> + <extension module="org.jboss.as.deployment-scanner"/> + <extension module="org.jboss.as.ee"/> + <extension module="org.jboss.as.ejb3"/> + <extension module="org.jboss.as.jaxrs"/> + <extension module="org.jboss.as.jdr"/> + <extension module="org.jboss.as.jmx"/> + <extension module="org.jboss.as.jpa"/> + <extension module="org.jboss.as.jsf"/> + <extension module="org.jboss.as.logging"/> + <extension module="org.jboss.as.mail"/> + <extension module="org.jboss.as.naming"/> + <extension module="org.jboss.as.pojo"/> + <extension module="org.jboss.as.remoting"/> + <extension module="org.jboss.as.sar"/> + <extension module="org.jboss.as.security"/> + <extension module="org.jboss.as.transactions"/> + <extension module="org.jboss.as.weld"/> + <extension module="org.wildfly.extension.batch"/> + <extension module="org.wildfly.extension.io"/> + <extension module="org.wildfly.extension.undertow"/> + </extensions> + + <system-properties> + <!-- Don't let quartz call home to check for updates: --> + <property name="org.quartz.scheduler.skipUpdateCheck" value="true"/> + + <!-- Configure quartz thread pool: --> + <property name="org.quartz.threadPool.class" value="org.quartz.simpl.SimpleThreadPool"/> + <property name="org.quartz.threadPool.threadCount" value="100"/> + <property name="org.quartz.jobStore.misfireThreshold" value="60000"/> + <property name="org.quartz.jobStore.class" value="org.quartz.simpl.RAMJobStore"/> + + </system-properties> + + <management> + <security-realms> + <!-- We need to enable the management subsystem because it is an indirect + dependency of the Infinispan subsystem (since version 7.2 of the + application server) but at the same time we don't want anyone (other + than the root and ovirt users) to be able to connect to the + management port, so we just use an empty users file: --> + <security-realm name="management"> + <authentication> + <properties path="/dev/null"/> + </authentication> + </security-realm> + + #if $getboolean('ENGINE_HTTPS_ENABLED') + <!-- This is required by the HTTPS listener: --> + <security-realm name="https"> + <server-identities> + <ssl> + <keystore + alias="1" + key-password="mypass" + keystore-password="mypass" + path="$getstring('ENGINE_PKI')/keys/jboss.p12" + provider="PKCS12" + /> + </ssl> + </server-identities> + </security-realm> + #end if + </security-realms> + + <management-interfaces> + <http-interface security-realm="management" http-upgrade-enabled="true"> + <socket-binding http="management"/> + </http-interface> + </management-interfaces> + </management> + + <profile> + <subsystem xmlns="urn:jboss:domain:logging:2.0"> + <custom-handler + name="ovirt-logger" + class="org.ovirt.engine.core.logger.LoggerHandler" + module="org.ovirt.engine.core.logger"> + <level name="ALL"/> + </custom-handler> + + <!-- All the application server messages go here: --> + <file-handler name="SERVER"> + <level name="INFO"/> + <formatter> + <pattern-formatter pattern="%d %-5p [%c] (%t) %s%E%n"/> + </formatter> + <file path="$getstring('ENGINE_LOG')/server.log"/> + <append value="true"/> + </file-handler> + + <!-- Only the engine messages go here: --> + <file-handler name="ENGINE" autoflush="true"> + <level name="ALL"/> + <formatter> + <pattern-formatter pattern="%d %-5p [%c] (%t) [%X{ovirtCorrelationId}] %s%E%n"/> + </formatter> + <file path="$getstring('ENGINE_LOG')/engine.log"/> + <append value="true"/> + </file-handler> + + <!-- Console --> + <console-handler name="CONSOLE" autoflush="true"> + <level name="ALL"/> + <formatter> + <pattern-formatter pattern="%d %-5p [%c] (%t) [%X{ovirtCorrelationId}] %s%E%n"/> + </formatter> + </console-handler> + + <!-- Loggers for the application server: --> + <logger category="com.arjuna"> + <level name="WARN"/> + </logger> + <logger category="org.apache.tomcat.util"> + <level name="WARN"/> + </logger> + <logger category="sun.rmi"> + <level name="WARN"/> + </logger> + <logger category="jacorb"> + <level name="WARN"/> + </logger> + <logger category="jacorb.config"> + <level name="ERROR"/> + </logger> + + <!-- Loggers for the engine: --> + <logger category="org.ovirt" use-parent-handlers="false"> + <level name="INFO"/> + <handlers> + <handler name="ENGINE"/> + <handler name="ovirt-logger"/> + #if $getboolean('ENGINE_LOG_TO_CONSOLE') + <handler name="CONSOLE"/> + #end if + </handlers> + </logger> + <logger category="org.ovirt.engine.core.bll"> + <level name="INFO"/> + </logger> + <logger category="org.ovirt.engine.core.dal.dbbroker.PostgresDbEngineDialect\$PostgresJdbcTemplate"> + <level name="WARN"/> + </logger> + <logger category="org.springframework.ldap"> + <level name="ERROR"/> + </logger> + + <root-logger> + <level name="INFO"/> + <handlers> + <handler name="ovirt-logger"/> + <handler name="SERVER"/> + </handlers> + </root-logger> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:batch:1.0"> + <job-repository> + <in-memory/> + </job-repository> + + <thread-pool> + <max-threads count="10"/> + <keepalive-time time="30" unit="seconds"/> + </thread-pool> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:datasources:2.0"> + <datasources> + <datasource jndi-name="java:/ENGINEDataSource" pool-name="ENGINEDataSource" enabled="true" use-ccm="false"> + <connection-url><![CDATA[$getstring('ENGINE_DB_URL')]]></connection-url> + <driver>postgresql</driver> + <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> + <pool> + <min-pool-size>$getinteger('ENGINE_DB_MIN_CONNECTIONS')</min-pool-size> + <max-pool-size>$getinteger('ENGINE_DB_MAX_CONNECTIONS')</max-pool-size> + <prefill>true</prefill> + </pool> + <security> + <user-name><![CDATA[$getstring('ENGINE_DB_USER')]]></user-name> + <password><![CDATA[$getstring('ENGINE_DB_PASSWORD')]]></password> + </security> + <statement> + <prepared-statement-cache-size>100</prepared-statement-cache-size> + <share-prepared-statements/> + </statement> + <validation> + <validate-on-match>true</validate-on-match> + <check-valid-connection-sql>select 1</check-valid-connection-sql> + </validation> + </datasource> + + <datasource + jndi-name="java:/ENGINEDataSourceNoJTA" + pool-name="ENGINEDataSourceNoJTA" + enabled="true" + use-ccm="false" + jta="false"> + <connection-url><![CDATA[$getstring('ENGINE_DB_URL')]]></connection-url> + <driver>postgresql</driver> + <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> + <pool> + <min-pool-size>$getinteger('ENGINE_NON_JTA_DB_MIN_CONNECTIONS')</min-pool-size> + <max-pool-size>$getinteger('ENGINE_NON_JTA_DB_MAX_CONNECTIONS')</max-pool-size> + <prefill>true</prefill> + </pool> + <security> + <user-name><![CDATA[$getstring('ENGINE_DB_USER')]]></user-name> + <password><![CDATA[$getstring('ENGINE_DB_PASSWORD')]]></password> + </security> + <statement> + <prepared-statement-cache-size>100</prepared-statement-cache-size> + <share-prepared-statements/> + </statement> + <validation> + <validate-on-match>true</validate-on-match> + <check-valid-connection-sql>select 1</check-valid-connection-sql> + </validation> + </datasource> + + <drivers> + <driver name="postgresql" module="org.postgresql"> + <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class> + </driver> + </drivers> + </datasources> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0"> + <deployment-scanner path="$jboss_runtime/deployments" deployment-timeout="1200" + #if $getboolean('ENGINE_DEPLOYMENT_SCANNER') + scan-interval="5000" + #else + scan-interval="0" + #end if + /> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:ee:2.0"> + <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement> + + <concurrent> + <context-services> + <context-service + name="default" + jndi-name="java:jboss/ee/concurrency/context/default" + use-transaction-setup-provider="true"/> + </context-services> + + <managed-executor-services> + <managed-executor-service + name="default" + jndi-name="java:jboss/ee/concurrency/executor/default" + context-service="default" + hung-task-threshold="60000" + core-threads="5" + max-threads="25" + keepalive-time="5000"/> + </managed-executor-services> + + <managed-scheduled-executor-services> + <managed-scheduled-executor-service + name="default" + jndi-name="java:jboss/ee/concurrency/scheduler/default" + context-service="default" + hung-task-threshold="60000" + core-threads="2" + keepalive-time="3000"/> + </managed-scheduled-executor-services> + + <managed-thread-factories> + <managed-thread-factory + name="default" + jndi-name="java:jboss/ee/concurrency/factory/default" + context-service="default"/> + </managed-thread-factories> + </concurrent> + + <default-bindings + context-service="java:jboss/ee/concurrency/context/default" + jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" + managed-executor-service="java:jboss/ee/concurrency/executor/default" + managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" + managed-thread-factory="java:jboss/ee/concurrency/factory/default"/> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:ejb3:2.0"> + <session-bean> + <stateful default-access-timeout="300000" cache-ref="simple" passivation-disabled-cache-ref="simple"/> + <singleton default-access-timeout="300000"/> + </session-bean> + <pools> + <bean-instance-pools> + <strict-max-pool + name="slsb-strict-max-pool" + max-pool-size="20" + instance-acquisition-timeout="5" + instance-acquisition-timeout-unit="MINUTES"/> + <strict-max-pool + name="mdb-strict-max-pool" + max-pool-size="20" + instance-acquisition-timeout="5" + instance-acquisition-timeout-unit="MINUTES"/> + </bean-instance-pools> + </pools> + <caches> + <cache name="simple"/> + <cache name="distributable" aliases="passivating clustered" passivation-store-ref="infinispan"/> + </caches> + <passivation-stores> + <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/> + </passivation-stores> + <async thread-pool-name="default"/> + <timer-service thread-pool-name="default" default-data-store="default-file-store"> + <data-stores> + <file-data-store name="default-file-store" path="$getstring('ENGINE_VAR')/timer-service-data"/> + </data-stores> + </timer-service> + <thread-pools> + <thread-pool name="default"> + <max-threads count="10"/> + <keepalive-time time="100" unit="milliseconds"/> + </thread-pool> + </thread-pools> + <default-security-domain value="other"/> + <default-missing-method-permissions-deny-access value="true"/> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:io:1.1"> + <worker name="default"/> + <buffer-pool name="default"/> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:infinispan:2.0"> + <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan"> + <local-cache name="passivation" batching="true"> + <file-store passivation="true" purge="false"/> + </local-cache> + <local-cache name="persistent" batching="true"> + <file-store passivation="false" purge="false"/> + </local-cache> + </cache-container> + + <cache-container + name="ejb" + aliases="sfsb" + default-cache="passivation" + module="org.wildfly.clustering.ejb.infinispan"> + <local-cache name="passivation" batching="true"> + <file-store passivation="true" purge="false"/> + </local-cache> + <local-cache name="persistent" batching="true"> + <file-store passivation="false" purge="false"/> + </local-cache> + </cache-container> + + <cache-container name="hibernate" default-cache="local-query" module="org.hibernate"> + <local-cache name="entity"> + <transaction mode="NON_XA"/> + <eviction strategy="LRU" max-entries="10000"/> + <expiration max-idle="100000"/> + </local-cache> + <local-cache name="local-query"> + <transaction mode="NONE"/> + <eviction strategy="LRU" max-entries="10000"/> + <expiration max-idle="100000"/> + </local-cache> + <local-cache name="timestamps"> + <transaction mode="NONE"/> + <eviction strategy="NONE"/> + </local-cache> + </cache-container> + + <cache-container + name="ovirt-engine" + default-cache="timeout-base" + start="EAGER" + jndi-name="java:jboss/infinispan/ovirt-engine"> + <local-cache name="timeout-base"> + <transaction mode="NONE"/> + <eviction max-entries="10000"/> + <expiration interval="60000"/> + </local-cache> + </cache-container> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/> + + <subsystem xmlns="urn:jboss:domain:jca:2.0"> + <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/> + <bean-validation enabled="true"/> + <default-workmanager> + <short-running-threads> + <core-threads count="50"/> + <queue-length count="50"/> + <max-threads count="50"/> + <keepalive-time time="10" unit="seconds"/> + </short-running-threads> + <long-running-threads> + <core-threads count="50"/> + <queue-length count="50"/> + <max-threads count="50"/> + <keepalive-time time="10" unit="seconds"/> + </long-running-threads> + </default-workmanager> + <cached-connection-manager/> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:jdr:1.0"/> + + <subsystem xmlns="urn:jboss:domain:jmx:1.3"> + <expose-resolved-model/> + <expose-expression-model/> + <remoting-connector/> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:jpa:1.1"> + <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:jsf:1.0"/> + + <subsystem xmlns="urn:jboss:domain:mail:2.0"/> + + <subsystem xmlns="urn:jboss:domain:naming:2.0"> + <remote-naming/> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:pojo:1.0"/> + + <subsystem xmlns="urn:jboss:domain:remoting:2.0"> + <endpoint worker="default"/> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:resource-adapters:2.0"/> + + <subsystem xmlns="urn:jboss:domain:sar:1.0"/> + + <subsystem xmlns="urn:jboss:domain:security:1.2"> + + <security-domains> + <security-domain name="other" cache-type="default"> + <authentication> + <login-module code="Remoting" flag="optional"> + <module-option name="password-stacking" value="useFirstPass"/> + </login-module> + <login-module code="RealmDirect" flag="required"> + <module-option name="password-stacking" value="useFirstPass"/> + </login-module> + </authentication> + </security-domain> + + <security-domain name="jboss-web-policy" cache-type="default"> + <authorization> + <policy-module code="Delegating" flag="required"/> + </authorization> + </security-domain> + + <security-domain name="jboss-ejb-policy" cache-type="default"> + <authorization> + <policy-module code="Delegating" flag="required"/> + </authorization> + </security-domain> + + <security-domain name="oVirtKerb"> + <authentication> + <login-module code="com.sun.security.auth.module.Krb5LoginModule" flag="required"/> + </authentication> + </security-domain> + + <security-domain name="oVirtKerbDebug"> + <authentication> + <login-module code="com.sun.security.auth.module.Krb5LoginModule" flag="required"> + <module-option name="debug" value="true"/> + </login-module> + </authentication> + </security-domain> + </security-domains> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:transactions:2.0"> + <core-environment> + <process-id> + <uuid/> + </process-id> + </core-environment> + <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:undertow:1.1"> + <buffer-cache name="default"/> + + <server name="default-server"> + <!-- Listeners defined in the engine configuration: --> + #if $getboolean('ENGINE_HTTP_ENABLED') + <http-listener + name="http" + redirect-socket="redirect" + socket-binding="http" + /> + #end if + #if $getboolean('ENGINE_HTTPS_ENABLED') + <https-listener + name="https" + socket-binding="https" + security-realm="https" + enabled-protocols="$getstring('ENGINE_HTTPS_PROTOCOLS')" + /> + #end if + #if $getboolean('ENGINE_AJP_ENABLED') + <ajp-listener + name="ajp" + socket-binding="ajp" + redirect-socket="redirect" + /> + #end if + + <!-- Configure the compression filter so that it will compress all the + HTML static content and the output of the RESTAPI: --> + <host name="default-host" alias="localhost"> + <filter-ref + name="gzip" + predicate='regex[pattern="(text/(css|html|javascript|json|xml))|(application/(json|xml))", value=%{o,content-type}, full-match=true]' + /> + </host> + </server> + + <servlet-container name="default"> + <jsp-config/> + </servlet-container> + + <!-- Enable the gzip compression filter: --> + <filters> + <gzip name="gzip"/> + </filters> + </subsystem> + + <subsystem xmlns="urn:jboss:domain:weld:2.0"/> + </profile> + + <interfaces> + <interface name="loopback"> + <loopback/> + </interface> + <interface name="public"> + <any-address/> + </interface> + </interfaces> + + <socket-binding-group name="standard-sockets" default-interface="loopback"> + <!-- These are the ports where the application server will listen, if they + are enabled in the configuration: --> + #if $getboolean('ENGINE_HTTP_ENABLED') + <socket-binding + interface="public" + name="http" + port="$getinteger('ENGINE_HTTP_PORT')" + /> + #end if + #if $getboolean('ENGINE_HTTPS_ENABLED') + <socket-binding + interface="public" + name="https" + port="$getinteger('ENGINE_HTTPS_PORT')" + /> + #end if + #if $getboolean('ENGINE_AJP_ENABLED') + <socket-binding + name="ajp" + port="$getinteger('ENGINE_AJP_PORT')" + /> + #end if + + <!-- The application server never listen in this port, but it is needed to + tell the HTTP and AJP listener where to redirect HTTPS requests: --> + <socket-binding + name="redirect" + #if $getboolean('ENGINE_PROXY_ENABLED') + port="$getinteger('ENGINE_PROXY_HTTPS_PORT')" + #else if $getboolean('ENGINE_HTTPS_ENABLED') + port="$getinteger('ENGINE_HTTPS_PORT')" + #else + port="0" + #end if + /> + + <socket-binding name="txn-recovery-environment" port="8704"/> + <socket-binding name="txn-status-manager" port="8705"/> + <socket-binding name="management" port="8706"/> + </socket-binding-group> +</server> diff --git a/packaging/setup/ovirt_engine_setup/engine/constants.py b/packaging/setup/ovirt_engine_setup/engine/constants.py index 95973b6..339cde5 100644 --- a/packaging/setup/ovirt_engine_setup/engine/constants.py +++ b/packaging/setup/ovirt_engine_setup/engine/constants.py @@ -82,6 +82,19 @@ 'bin', ) + OVIRT_ENGINE_SERVICES_DIR = os.path.join( + OVIRT_ENGINE_DATADIR, + 'services', + ) + OVIRT_ENGINE_SVC_OVIRT_ENGINE_DIR = os.path.join( + OVIRT_ENGINE_SERVICES_DIR, + 'ovirt-engine', + ) + OVIRT_ENGINE_SVC_OVIRT_ENGINE_CONF = os.path.join( + OVIRT_ENGINE_SVC_OVIRT_ENGINE_DIR, + 'ovirt-engine.xml.in', + ) + OVIRT_ENGINE_DB_DIR = os.path.join( OVIRT_ENGINE_DATADIR, 'dbscripts', diff --git a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/jboss.py b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/jboss.py index ed6cae6..a0102c3 100644 --- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/jboss.py +++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/config/jboss.py @@ -20,6 +20,7 @@ import gettext +import os from otopi import constants as otopicons from otopi import filetransaction, plugin, util @@ -86,5 +87,61 @@ ) ) + self._setupJBossConfig() + + def _detectJBossType(self): + rc, stdout, stderr = self.execute( + args=( + '{jbossHome}/bin/standalone.sh'.format( + jbossHome=self.environment[ + oengcommcons.ConfigEnv.JBOSS_HOME + ], + ), + '-v', + ), + # We need to bypass return code check, because by default + # standalone.sh -v returns 1 + raiseOnError=False, + envAppend={ + 'JAVA_HOME': self.environment[ + oengcommcons.ConfigEnv.JAVA_HOME + ], + }, + ) + + for line in stdout: + if 'WildFly' in line: + return 'WildFly' + elif 'JBoss EAP' in line: + return 'EAP' + + raise RuntimeError(_('Cannot detect JBoss version')) + + def _setupJBossConfig(self): + if self._detectJBossType() == 'EAP': + serviceConfig = 'ovirt-engine-eap.xml.in' + else: + serviceConfig = 'ovirt-engine-wildfly.xml.in' + + if os.path.exists( + oenginecons.FileLocations.OVIRT_ENGINE_SVC_OVIRT_ENGINE_CONF + ): + # Remove service configuration on each setup execution as provided + # JBOSS could be changed + os.remove( + oenginecons.FileLocations.OVIRT_ENGINE_SVC_OVIRT_ENGINE_CONF + ) + + os.symlink( + os.path.join( + oenginecons.FileLocations.OVIRT_ENGINE_SVC_OVIRT_ENGINE_DIR, + serviceConfig + ), + os.path.join( + oenginecons.FileLocations.OVIRT_ENGINE_SVC_OVIRT_ENGINE_DIR, + 'ovirt-engine.xml.in' + ), + ) + # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.ovirt.org/40152 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic35f8a0c276735b9685affea1e068f6ef7298f8c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Peřina <mper...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches