Makefile.in
aclocal.m4
config
+!common-agent/etc/config
config.log
config.status
configure
--- /dev/null
+[globals]
+response_dir=${output_dir}/responses
+event_dir=${output_dir}/events
+request_dir=${output_dir}/requests
+tmp_dir=${output_dir}/tmp
+persistence_dir=${input_dir}/persistence
+monitor_dir=${input_dir}/monitor
+log_config_file=${config_dir}/CommAmqpListener-log4cpp_config
+
+thread_stack_size_kb=0
+
+schema_namespace_root=http://schemas.vmware.com/caf/schema
+schema_location_root=${input_dir}/schemas/caf
+
+remap_logging_location=false
+
+[communication_amqp]
+working_dir=${output_dir}/comm-wrk
+context_file=${comm_amqp_listener_context}
+resolver_cache_file=${output_dir}/cache/commAmqpResolver-cache
+
+reactive_request_queue_id=${reactive_request_amqp_queue_id}
+
+startup_timeout=5000
+shutdown_timeout=5000
+connection_retry_interval=5000
+
+# Temporarily set to 60MB for Hyperic Agent POC
+# 1024 Bytes/KB * 1024 KB/MB * 60
+max_part_size=62976000
+
+vhost=caf
+
+# Wait for (connection_retries * connection_seconds_to_wait) in milli-seconds
+connection_timeout=150000
+
+connection_retries=10
+connection_seconds_to_wait=15
+channel_cache_size=4
+reply_timeout=5000
+
+[security]
+cms_policy=CAF_Encrypted_And_Signed
+is_signing_enforced=true
+is_encryption_enforced=true
+
+tls_protocol=TLSv1_2
+tls_ciphers=SRP-RSA-AES-128-CBC-SHA
+cms_cipher=des-ede3-cbc
+
+[subsystems]
+# Integration System Beans
+com.vmware.commonagent.integration.objectfactory=IntegrationSubsys
+com.vmware.commonagent.integration.channels.errorchannel=IntegrationSubsys
+com.vmware.commonagent.integration.channels.nullchannel=IntegrationSubsys
+com.vmware.commonagent.integration.headerexpressioninvoker=IntegrationSubsys
+
+# Communication Integration Beans
+com.vmware.caf.comm.integration.cmsmessagetransformer=CommIntegrationSubsys
+com.vmware.caf.comm.integration.cmsmessagetransformerinstance=CommIntegrationSubsys
+com.vmware.caf.comm.integration.eventtopiccalculator=CommIntegrationSubsys
+com.vmware.caf.comm.integration.incomingmessagehandler=CommIntegrationSubsys
+com.vmware.caf.comm.integration.incomingmessagehandlerinstance=CommIntegrationSubsys
+com.vmware.caf.comm.integration.outgoingmessagehandler=CommIntegrationSubsys
+com.vmware.caf.comm.integration.protocolheaderenricher=CommIntegrationSubsys
+com.vmware.caf.comm.integration.protocolheaderenricherinstance=CommIntegrationSubsys
+com.vmware.caf.comm.integration.replytocacher=CommIntegrationSubsys
+com.vmware.caf.comm.integration.replytocacherinstance=CommIntegrationSubsys
+com.vmware.caf.comm.integration.replytoresolver=CommIntegrationSubsys
+com.vmware.caf.comm.integration.objects=CommAmqpIntegrationSubsys
+
+# Amqp Listener Context Beans
+com.vmware.caf.comm.integration.amqp.caching.connection.factory=CommAmqpIntegrationSubsys
+com.vmware.caf.comm.integration.amqp.secure.caching.connection.factory=CommAmqpIntegrationSubsys
+
+# CAF Integration System Beans
+com.vmware.commonagent.cafintegration.errortoresponsetransformerinstance=CafIntegrationSubsys
+com.vmware.commonagent.cafintegration.errortoresponsetransformer=CafIntegrationSubsys
+com.vmware.commonagent.cafintegration.payloadheaderenricherinstance=CafIntegrationSubsys
+com.vmware.commonagent.cafintegration.payloadheaderenricher=CafIntegrationSubsys
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<caf:beans
+ xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/CafIntegration.xsd">
+
+ <import resource="IntBeanConfigFile.xml"/>
+ <import resource="CommAmqpListener-context-common.xml"/>
+
+ <bean
+ id="amqpConnectionFactory"
+ class="com.vmware.caf.comm.integration.amqp.caching.connection.factory"/>
+
+ <rabbit-outbound-channel-adapter
+ id="amqpResponseOutboundChannel"
+ channel="managementMessageOutboundAmqp"
+ amqp-template="amqpTemplate"
+ exchange-name="client.mgmt.direct"
+ routing-key-expression="@headerExprInvoker.toString('replyTo')"
+ mapped-request-headers="caf.msg.*|amqp*" />
+
+ <rabbit-outbound-channel-adapter
+ id="amqpEventOutboundChannel"
+ channel="eventOutFileChannel"
+ amqp-template="amqpTemplate"
+ exchange-name="client.mgmt.event"
+ routing-key="caf.event"
+ mapped-request-headers="caf.msg.*|amqp*" />
+
+ <rabbit-inbound-channel-adapter
+ id="amqpRequestInboundChannel"
+ channel="managementInboundAmqp"
+ queue-name="#{managementMessageQ}"
+ connection-factory="amqpConnectionFactory"
+ error-channel="errorChannel"
+ mapped-request-headers="caf.msg.*|amqp*" />
+
+ <rabbit-template
+ id="amqpTemplate"
+ connection-factory="amqpConnectionFactory"/>
+
+ <rabbit-admin
+ connection-factory="amqpConnectionFactory" />
+
+ <rabbit-queue
+ id="managementMessageQ"
+ name="${var:communication_amqp:reactive_request_queue_id}.mgmt"
+ auto-delete="true"
+ durable="false"/>
+
+ <rabbit-direct-exchange
+ name="agent.mgmt.direct">
+ <rabbit-bindings>
+ <rabbit-binding
+ queue="managementMessageQ"
+ key="${var:communication_amqp:reactive_request_queue_id}.mgmt" />
+ </rabbit-bindings>
+ </rabbit-direct-exchange>
+
+ <rabbit-direct-exchange
+ name="client.mgmt.direct" />
+
+ <rabbit-topic-exchange
+ name="client.mgmt.event" />
+</caf:beans>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<caf:beans
+ xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/CafIntegration.xsd">
+
+ <import resource="IntBeanConfigFile.xml"/>
+
+ <!-- <channel id="logger"/> -->
+ <!-- <int:logging-channel-adapter channel="logger" log-full-message="true" level="INFO"/> -->
+ <!-- <int:wire-tap channel="logger" pattern="*"/> -->
+
+ <!-- Listener Infrastructure -->
+
+ <bean
+ id="amqpIntegrationObjects"
+ class="com.vmware.caf.comm.integration.objects" />
+
+ <bean
+ id="replyToResolver"
+ class="com.vmware.caf.comm.integration.replytoresolver"/>
+
+ <bean
+ id="eventTopicCalculator"
+ class="com.vmware.caf.comm.integration.eventtopiccalculator"/>
+
+ <bean
+ id="outgoingMessageHandler"
+ class="com.vmware.caf.comm.integration.outgoingmessagehandler"/>
+
+ <bean
+ id="headerExprInvoker"
+ class="com.vmware.commonagent.integration.headerexpressioninvoker" />
+
+ <bean
+ id="cmsMessageTransformerBean"
+ class="com.vmware.caf.comm.integration.cmsmessagetransformer">
+ <property name="cmsPolicy" value="${var:security:cms_policy}"/>
+ <property name="isSigningEnforced" value="${var:security:is_signing_enforced}"/>
+ <property name="isEncryptionEnforced" value="${var:security:is_encryption_enforced}"/>
+ </bean>
+
+ <bean
+ id="incomingMessageHandlerBean"
+ class="com.vmware.caf.comm.integration.incomingmessagehandler"/>
+
+ <bean
+ id="replyToCacherBean"
+ class="com.vmware.caf.comm.integration.replytocacher"/>
+
+ <bean
+ id="payloadHeaderEnricherBean"
+ class="com.vmware.commonagent.cafintegration.payloadheaderenricher" >
+ <property name="includeFilename" value="false"/>
+ </bean>
+
+ <!-- Outbound messages -->
+ <channel id="responseFileChannel" />
+ <channel id="managementMessageOutboundAmqp" />
+
+ <file-inbound-channel-adapter
+ id="responseInboundChannel"
+ auto-create-directory="true"
+ filename-regex=".*\.xml"
+ directory="${var:globals:response_dir}"
+ channel="responseFileChannel" />
+
+ <chain
+ id="responseChain"
+ input-channel="responseFileChannel"
+ output-channel="managementMessageOutboundAmqp" >
+ <file-to-string-transformer
+ id="responseFileToString"
+ charset="UTF-8"
+ delete-files="true" />
+ <transformer
+ id="payloadHeaderEnricher"
+ ref="payloadHeaderEnricherBean"/>
+ <header-enricher
+ id="responseHeaderEnricher">
+ <header
+ name="replyTo"
+ expression="@replyToResolver.lookupReplyTo()"/>
+ <header
+ name="cafcomm.internal.msgflow"
+ value="OUTGOING"/>
+ </header-enricher>
+ <transformer
+ id="outgoingCmsMessageTransformerId"
+ ref="cmsMessageTransformerBean"/>
+ <service-activator
+ id="outgoingMessageServiceActivator"
+ ref="outgoingMessageHandler"/>
+ </chain>
+
+ <!-- proactive messages -->
+ <channel id="eventFileChannel" />
+ <channel id="eventOutFileChannel" />
+ <file-inbound-channel-adapter
+ id="eventInboundChannel"
+ auto-create-directory="true"
+ filename-regex=".*\.xml"
+ directory="${var:globals:event_dir}"
+ channel="eventFileChannel" />
+
+ <chain
+ id="eventChain"
+ input-channel="eventFileChannel"
+ output-channel="eventOutFileChannel">
+
+ <file-to-string-transformer
+ id="eventFileToString"
+ charset="UTF-8"
+ delete-files="true" />
+
+ <transformer
+ id="payloadHeaderEnricher"
+ ref="payloadHeaderEnricherBean"/>
+
+ <header-enricher
+ id="eventHeaderEnricher">
+ <header
+ name="cafcomm.internal.msgflow"
+ value="OUTGOING"/>
+
+ </header-enricher>
+
+ <transformer
+ id="outgoingCmsMessageTransformerId"
+ ref="cmsMessageTransformerBean"/>
+ </chain>
+
+ <!-- Inbound messages -->
+ <channel id="managementInboundAmqp" />
+ <channel id="managementInboundChannel" />
+
+ <chain
+ id="requestChain"
+ input-channel="managementInboundAmqp"
+ output-channel="managementInboundChannel">
+
+ <header-enricher
+ id="requestEnricher">
+ <header
+ name="cafcomm.internal.msgflow"
+ value="INCOMING"/>
+ </header-enricher>
+
+ <transformer
+ id="requestIncomingMessageHandler"
+ ref="incomingMessageHandlerBean"/>
+
+ <transformer
+ id="payloadHeaderEnricher"
+ ref="payloadHeaderEnricherBean"/>
+
+ <transformer
+ id="requestReplyToCacher"
+ ref="replyToCacherBean"
+ reply-to-resolver="replyToResolver"/>
+
+ <transformer
+ id="incomingCmsMessageTransformerId"
+ ref="cmsMessageTransformerBean"/>
+ </chain>
+
+ <file-outbound-channel-adapter
+ id="requestOutboundChannel"
+ channel="managementInboundChannel"
+ auto-create-directory="true"
+ delete-source-files="true"
+ charset="UTF-8"
+ directory="${var:globals:request_dir}"
+ temporary-file-suffix=".tmp" />
+
+ <!-- Stores the error information from the default error channel into the respose directory. -->
+ <channel id="fileSenderErrChannel"/>
+ <bean
+ id="errorToResponseTransformerBean"
+ class="com.vmware.commonagent.cafintegration.errortoresponsetransformer" />
+ <chain
+ id="responseErrorChain"
+ input-channel="errorChannel"
+ output-channel="fileSenderErrChannel">
+
+ <!-- Convert the error information into an error response message. -->
+ <transformer
+ id="errorToResponseTransformer"
+ ref="errorToResponseTransformerBean"/>
+ </chain>
+
+ <!-- Store the response into the responses directory. In normal processing, the responses
+ directory is monitored by the listener process, which sends the responses back to
+ the client. -->
+ <file-outbound-channel-adapter
+ id="responseErrFileOutbound"
+ channel="fileSenderErrChannel"
+ directory="${var:globals:response_dir}"
+ delete-source-files="true" />
+</caf:beans>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<caf:beans
+ xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/CafIntegration.xsd">
+
+ <import resource="IntBeanConfigFile.xml"/>
+ <import resource="CommAmqpListener-context-common.xml"/>
+
+ <bean
+ id="tunnelConnectionFactory"
+ class="com.vmware.caf.comm.integration.amqp.secure.caching.connection.factory"/>
+
+ <rabbit-outbound-channel-adapter
+ id="tunnelResponseOutboundChannel"
+ channel="managementMessageOutboundAmqp"
+ amqp-template="amqpTemplate"
+ exchange-name="client.mgmt.direct"
+ routing-key-expression="@headerExprInvoker.toString('replyTo')"
+ mapped-request-headers="caf.msg.*|amqp*" />
+
+ <rabbit-outbound-channel-adapter
+ id="tunnelEventOutboundChannel"
+ channel="eventOutFileChannel"
+ amqp-template="amqpTemplate"
+ exchange-name="client.mgmt.event"
+ routing-key="caf.event" />
+
+ <rabbit-inbound-channel-adapter
+ id="tunnelRequestInboundChannel"
+ channel="managementInboundAmqp"
+ queue-name="${var:communication_amqp:reactive_request_queue_id}.mgmt"
+ connection-factory="tunnelConnectionFactory"
+ error-channel="errorChannel"
+ mapped-request-headers="caf.msg.*|amqp*" />
+
+ <rabbit-template
+ id="amqpTemplate"
+ connection-factory="tunnelConnectionFactory"/>
+
+ <rabbit-admin
+ connection-factory="tunnelConnectionFactory" />
+</caf:beans>
--- /dev/null
+#log4j.rootCategory=DEBUG, console
+log4j.rootCategory=ERROR, rolling
+
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
+
+log4j.appender.logfile=org.apache.log4j.FileAppender
+log4j.appender.logfile.fileName=CommAmqpListener-log4cpp.log
+log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
+log4j.appender.logfile.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
+
+log4j.appender.rolling=org.apache.log4j.RollingFileAppender
+log4j.appender.rolling.fileName=CommAmqpListener-log4cpp_rolling.log
+log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
+log4j.appender.rolling.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
+log4j.appender.rolling.MaxFileSize=1024KB
+log4j.appender.rolling.MaxBackupIndex=5
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<caf:beans
+ xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/CafIntegration.xsd">
+
+ <bean
+ id="integrationObjectFactory"
+ class="com.vmware.commonagent.integration.objectfactory" />
+
+ <bean
+ id="errorChannelBean"
+ class="com.vmware.commonagent.integration.channels.errorchannel" />
+
+ <bean
+ id="nullChannelBean"
+ class="com.vmware.commonagent.integration.channels.nullchannel" />
+
+</caf:beans>
--- /dev/null
+################################################################################
+### Copyright (C) 2016 VMware, Inc. All rights reserved.
+###
+### This program is free software; you can redistribute it and/or modify
+### it under the terms of version 2 of the GNU General Public License as
+### published by the Free Software Foundation.
+###
+### This program is distributed in the hope that it will be useful,
+### but WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+### GNU General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with this program; if not, write to the Free Software
+### Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+################################################################################
+
+confdir=/etc/vmware-caf/pme/config
+
+conf_DATA = \
+ cafenv-appconfig \
+ CommAmqpListener-appconfig \
+ CommAmqpListener-context-amqp.xml \
+ CommAmqpListener-context-common.xml \
+ CommAmqpListener-context-tunnel.xml \
+ CommAmqpListener-log4cpp_config \
+ IntBeanConfigFile.xml \
+ ma-appconfig \
+ ma-context.xml \
+ ma-log4cpp_config \
+ providerFx-appconfig \
+ providerFx-log4cpp_config \
+ vgauth.conf
+
+install-data-local:
+ D=$(DESTDIR) /bin/bash $(top_srcdir)/common-agent/etc/install/install.sh -L -l $(libdir)/open-vm-tools -B $(libdir)/open-vm-tools -i /var -o /var
--- /dev/null
+[globals]
+# Specifies where python is located.
+python_dir=/opt/vmware/caf/python
+
+# Substitute @binDir@ for the value passed in during install
+# Maps to 'bin' in the build output
+bin_dir=@binDir@
+
+# Substitute @libDir@ for the value passed in during install
+# Maps to 'lib' in the build output
+lib_dir=@libDir@
+
+# Substitute @configDir@ for the value passed in during install
+# Maps to 'config' in the build output
+config_dir=@configDir@
+
+# Substitute @inputDir@ for the value passed in during install
+# Maps to 'data/input' in the build output
+input_dir=@inputDir@
+
+# Substitute @outputDir@ for the value passed in during install
+# No mapping in the build output since the output files are created at run-time
+output_dir=@outputDir@
+
+# Substitute @logDir@ for the value passed in during install
+# No mapping in the build output since the log files are created at run-time
+log_dir=@logDir@
+
+# Substitute @invokersDir@ for the value passed in during install
+# Maps to 'invokers' in the build output - Used by the internal providers
+invokers_dir=@invokersDir@
+
+# Substitute @providersDir@ for the value passed in during install
+# Maps to 'providers' in the build output - Used by the internal providers
+providers_dir=@providersDir@
+
+# Substitute @toolsLibDir@ for the value passed in during install
+# Maps to 'lib' in the build output
+tools_lib_dir=@toolsLibDir@
--- /dev/null
+[globals]
+persistence_dir=${input_dir}/persistence
+monitor_dir=${input_dir}/monitor
+response_dir=${output_dir}/responses
+request_dir=${output_dir}/requests
+split_request_dir=${output_dir}/split-requests
+tmp_dir=${output_dir}/tmp
+bean_config_file=${config_dir}/ma-context.xml
+log_config_file=${config_dir}/ma-log4cpp_config
+scripts_dir=${config_dir}/../scripts
+
+thread_stack_size_kb=0
+
+schema_namespace_root=http://schemas.vmware.com/caf/schema
+schema_location_root=${input_dir}/schemas/caf
+
+remap_logging_location=false
+
+[security]
+cms_policy=CAF_Encrypted_And_Signed
+
+[managementAgent]
+host_delay_sec=5
+host_integration_timeout_ms=5000
+use_impersonation=false
+# Value used to specify the priority that provider sub-process are created at.
+# Valid values are: NORMAL, LOW, IDLE. Default value is NORMAL.
+provider_process_priority=NORMAL
+
+[providerHost]
+install_dir=${config_dir}/../install
+invokers_dir=${invokers_dir}
+providers_dir=${providers_dir}
+schema_cache_dir=${output_dir}/schemaCache
+provider_reg_dir=${input_dir}/providerReg
+common_packages_dir=${input_dir}/commonPackages
+
+[provider]
+diagFileAliases=ma-appconfig:ma-log4cpp_config:ma-context:CommAmqpListener-appconfig:CommAmqpListener-log4cpp_config:CommAmqpListener-context:IntBeanConfigFile
+diagFileAlias_ma-appconfig=file://${root_dir}/config/ma-appconfig?encoding=iniFile
+diagFileAlias_ma-log4cpp_config=file://${root_dir}/config/ma-log4cpp_config?encoding=iniFileWithoutSection
+diagFileAlias_ma-context=file://${root_dir}/config/ma-context.xml?encoding=xmlFile
+diagFileAlias_CommAmqpListener-appconfig=file://${root_dir}/config/CommAmqpListener-appconfig?encoding=iniFile
+diagFileAlias_CommAmqpListener-log4cpp_config=file://${root_dir}/config/CommAmqpListener-log4cpp_config?encoding=iniFileWithoutSection
+diagFileAlias_CommAmqpListener-context=file://${root_dir}/config/CommAmqpListener-context.xml?encoding=xmlFile
+diagFileAlias_IntBeanConfigFile=file://${root_dir}/config/IntBeanConfigFile.xml?encoding=xmlFile
+
+[monitor]
+listener_retry_max=-1
+listener_startup_type=Automatic
+listener_restart_hours=48
+nsdb_poller_signal_file=${monitor_dir}/nsdbPollerSignal.txt
+nsdb_polling_interval_secs=86400
+
+[subsystems]
+# Integration System Beans
+com.vmware.commonagent.integration.objectfactory=IntegrationSubsys
+com.vmware.commonagent.integration.channels.errorchannel=IntegrationSubsys
+com.vmware.commonagent.integration.channels.nullchannel=IntegrationSubsys
+
+# CAF Integration
+com.vmware.commonagent.cafintegration.errortoresponsetransformerinstance=CafIntegrationSubsys
+com.vmware.commonagent.cafintegration.errortoresponsetransformer=CafIntegrationSubsys
+com.vmware.commonagent.cafintegration.payloadheaderenricherinstance=CafIntegrationSubsys
+com.vmware.commonagent.cafintegration.payloadheaderenricher=CafIntegrationSubsys
+com.vmware.commonagent.cafintegration.envelopetopayloadtransformerinstance=CafIntegrationSubsys
+com.vmware.commonagent.cafintegration.envelopetopayloadtransformer=CafIntegrationSubsys
+
+# Management Agent
+
+# MA Integration
+com.vmware.commonagent.maintegration.collectschemaexecutor=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.providercollectschemaexecutor=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.providerexecutor=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.singlepmerequestsplitterinstance=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.singlepmerequestsplitter=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.diagtomgmtrequesttransformerinstance=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.diagtomgmtrequesttransformer=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.installtomgmtrequesttransformerinstance=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.installtomgmtrequesttransformer=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.versiontransformerinstance=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.versiontransformer=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.attachmentrequesttransformerinstance=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.attachmentrequesttransformer=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.integrationobjects=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.guestauthenticatorinstance=VgAuthIntegrationSubsys
+com.vmware.commonagent.maintegration.guestauthenticator=VgAuthIntegrationSubsys
+com.vmware.commonagent.maintegration.configenv=MaIntegrationSubsys
+com.vmware.commonagent.maintegration.persistencenamespacedb=MaIntegrationSubsys
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<caf:beans
+ xmlns:caf="http://schemas.vmware.com/caf/schema/fx"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://schemas.vmware.com/caf/schema/fx http://10.25.57.32/caf-downloads/schema/fx/CafIntegration.xsd">
+
+ <import resource="IntBeanConfigFile.xml"/>
+
+<!-- Channel wire tap to log -->
+<!--
+ <channel id="wireTapChannel"/>
+
+ <logging-channel-adapter
+ id="logger"
+ level="info"
+ log-full-message="false"
+ input-channel="wireTapChannel"/>
+
+ <wire-tap
+ id="wireTap"
+ order="1"
+ channel="wireTapChannel"
+ pattern=".*" />
+ -->
+
+<!-- Management Agent Request Processing -->
+
+ <channel id="requestToStringTransformerChannel"/>
+ <channel id="payloadXmlRootRouterChannel"/>
+ <channel id="payloadHeaderEnricherChannel"/>
+ <channel id="diagToMgmtRequestTransformerChannel"/>
+ <channel id="installToMgmtRequestTransformerChannel"/>
+ <channel id="headerValueRouterChannel"/>
+ <channel id="collectSchemaExecutorChannel"/>
+ <channel id="providerExecutorChannel"/>
+
+ <!-- Read the request from the agreed-upon directory. In most cases, the request is
+ written to this directory by the communication component. -->
+ <file-inbound-channel-adapter
+ id="receiveGoodRequest"
+ channel="requestToStringTransformerChannel"
+ directory="${var:globals:request_dir}"/>
+
+ <bean
+ id="payloadHeaderEnricherBean"
+ class="com.vmware.commonagent.cafintegration.payloadheaderenricher" />
+ <bean
+ id="envelopeToPayloadTransformerBean"
+ class="com.vmware.commonagent.cafintegration.envelopetopayloadtransformer"/>
+ <bean
+ id="attachmentRequestTransformerBean"
+ class="com.vmware.commonagent.maintegration.attachmentrequesttransformer"/>
+ <bean
+ id="versionTransformerBean"
+ class="com.vmware.commonagent.maintegration.versiontransformer"/>
+ <chain
+ id="requestChain1"
+ input-channel="requestToStringTransformerChannel"
+ output-channel="payloadXmlRootRouterChannel">
+
+ <!-- Read the request file into memory and pass it through the
+ system as the canonical in-memory message. -->
+ <file-to-string-transformer
+ id="requestToStringTransformer"
+ delete-files="false"/>
+
+ <!-- Store the indentifying request information into the message headers, which
+ lets some of the downstream processing be more request-independent. -->
+ <transformer
+ id="payloadHeaderEnricher"
+ ref="payloadHeaderEnricherBean"/>
+
+ <!-- Either throws an unsupported version exception or converts the
+ old version into the latest version or passes the untouched supported
+ version through. -->
+ <transformer
+ id="versionTransformerId"
+ ref="versionTransformerBean"/>
+
+ <!-- Moves the attachments into the input directory and touches up the attachment
+ URI's in the request. -->
+ <transformer
+ id="attachmentRequestTransformerId"
+ ref="attachmentRequestTransformerBean"/>
+
+ <!-- Transforms the envelope back into the normal payload -->
+ <transformer
+ id="envelopeToPayloadTransformerId"
+ ref="envelopeToPayloadTransformerBean"/>
+ </chain>
+
+ <!-- Route the request based on its type. The logic to come simply transforms the specific
+ request type (e.g. diag, install) into the standard request format. -->
+ <payload-content-router
+ id="payloadXmlRootRouter"
+ input-channel="payloadXmlRootRouterChannel">
+ <mapping value="caf:mgmtRequest " channel="payloadHeaderEnricherChannel" />
+ <mapping value="caf:diagRequest " channel="diagToMgmtRequestTransformerChannel" />
+ <mapping value="caf:installRequest " channel="installToMgmtRequestTransformerChannel" />
+ </payload-content-router>
+
+ <!-- Transform the diag request into the standard request format. -->
+ <bean
+ id="diagToMgmtRequestTransformerBean"
+ class="com.vmware.commonagent.maintegration.diagtomgmtrequesttransformer" />
+ <transformer
+ id="diagToMgmtRequestTransformer"
+ input-channel="diagToMgmtRequestTransformerChannel"
+ output-channel="payloadHeaderEnricherChannel"
+ ref="diagToMgmtRequestTransformerBean"/>
+
+ <!-- Transform the install request into the standard request format. -->
+ <bean
+ id="installToMgmtRequestTransformerBean"
+ class="com.vmware.commonagent.maintegration.installtomgmtrequesttransformer" />
+ <transformer
+ id="installToMgmtRequestTransformer"
+ input-channel="installToMgmtRequestTransformerChannel"
+ output-channel="payloadHeaderEnricherChannel"
+ ref="installToMgmtRequestTransformerBean"/>
+
+ <bean
+ id="singlePmeRequestSplitterBean"
+ class="com.vmware.commonagent.maintegration.singlepmerequestsplitter"/>
+ <chain
+ id="requestChain2"
+ input-channel="payloadHeaderEnricherChannel"
+ output-channel="headerValueRouterChannel">
+
+ <!-- Splits the single request into the processing components that require very different processing;
+ collect schema vs. collect instances / invoke method. Also splits requests by provider. -->
+ <splitter
+ id="phReqSplitter"
+ ref="singlePmeRequestSplitterBean"/>
+ </chain>
+
+ <!-- Routes the collect schema request and regular request processing down different paths. -->
+ <header-value-router
+ id="headerValuePayloadTypeRouter"
+ input-channel="headerValueRouterChannel"
+ header-name="payloadType">
+ <mapping value="providerCollectSchemaRequest" channel="collectSchemaExecutorChannel" />
+ <mapping value="providerRequest" channel="requestSplitOutboundChannel" />
+ </header-value-router>
+
+ <!-- Collects the schema information, which basically just copies the cached schema into the
+ response directories. -->
+ <bean
+ id="collectSchemaExecutorBean"
+ class="com.vmware.commonagent.maintegration.collectschemaexecutor"/>
+ <service-activator
+ id="collectSchemaExecutor"
+ input-channel="collectSchemaExecutorChannel"
+ output-channel="fileSenderGoodChannel"
+ ref="collectSchemaExecutorBean"/>
+
+ <!-- Saves the split request into an interim request cache directory for future asynchronous
+ processing and deletes the original request. -->
+ <channel id="requestSplitOutboundChannel"/>
+ <file-outbound-channel-adapter
+ id="splitRequestFileOutbound"
+ channel="requestSplitOutboundChannel"
+ directory="${var:globals:split_request_dir}"
+ delete-source-files="true" />
+
+ <!-- Read the split request from the interim request cache directory. -->
+ <file-inbound-channel-adapter
+ id="splitRequestFileInbound"
+ channel="providerExecutorChannel"
+ directory="${var:globals:split_request_dir}"/>
+
+ <bean
+ id="providerExecutorBean"
+ class="com.vmware.commonagent.maintegration.providerexecutor">
+ <property name="beginImpersonationBeanRef" value="guestAuthenticatorBeginImpersonationBean"/>
+ <property name="endImpersonationBeanRef" value="guestAuthenticatorEndImpersonationBean"/>
+ </bean>
+ <bean
+ id="guestAuthenticatorBeginImpersonationBean"
+ class="com.vmware.commonagent.maintegration.guestauthenticator">
+ <property name="beginImpersonation" value="true"/>
+ </bean>
+ <bean
+ id="guestAuthenticatorEndImpersonationBean"
+ class="com.vmware.commonagent.maintegration.guestauthenticator">
+ <property name="endImpersonation" value="true"/>
+ </bean>
+ <chain
+ id="providerExecutorChain"
+ input-channel="providerExecutorChannel"
+ output-channel="nullChannel">
+
+ <!-- Read the request file into memory and pass it through the
+ system as the canonical in-memory message. -->
+ <file-to-string-transformer
+ id="requestToStringTransformer"
+ delete-files="false"/>
+
+ <header-enricher
+ id="responseHeaderEnricher">
+ <header
+ name="cafma.internal.useImpersonation"
+ value="${var:managementAgent:use_impersonation}"/>
+ </header-enricher>
+
+ <!-- Uses the provider URI information in the request to locate and call the appropriate provider. -->
+ <service-activator
+ id="providerExecutor"
+ ref="providerExecutorBean"/>
+ </chain>
+
+ <!-- Runs the response processing and then stores the message in the agreed-upon output
+ directory. In most cases, the communication will monitor this directory and send
+ the request back to the client. -->
+ <channel id="fileSenderGoodChannel"/>
+
+ <!-- Stores the response information into the response directory. -->
+ <file-outbound-channel-adapter
+ id="responseFileOutbound"
+ channel="fileSenderGoodChannel"
+ directory="${var:globals:response_dir}"
+ delete-source-files="true" />
+
+ <!-- Stores the error information from the default error channel into the response directory. -->
+ <channel id="fileSenderErrChannel"/>
+ <bean
+ id="errorToResponseTransformerBean"
+ class="com.vmware.commonagent.cafintegration.errortoresponsetransformer" />
+ <chain
+ id="responseErrorChain"
+ input-channel="errorChannel"
+ output-channel="fileSenderErrChannel">
+
+ <!-- Convert the error information into an error response message. -->
+ <transformer
+ id="errorToResponseTransformer"
+ ref="errorToResponseTransformerBean"/>
+ </chain>
+
+ <!-- Store the response into the responses directory. In normal processing, the responses
+ directory is monitored by the listener process, which sends the responses back to
+ the client. -->
+ <file-outbound-channel-adapter
+ id="responseErrFileOutbound"
+ channel="fileSenderErrChannel"
+ directory="${var:globals:response_dir}"
+ delete-source-files="true" />
+
+ <!-- Provider Registration -->
+ <channel id="providerRegErrorChannelSetterChannel"/>
+ <channel id="providerRegToStringTransformerChannel"/>
+ <publish-subscribe-channel id="providerRegErrorChannel"/>
+
+ <!-- Read the provider registration files -->
+ <file-inbound-channel-adapter
+ id="receiveProviderReg"
+ channel="providerRegErrorChannelSetterChannel"
+ directory="${var:providerHost:provider_reg_dir}"/>
+
+ <!-- Redirect the default error channel because provider registration takes
+ a different error path than request execution -->
+ <header-enricher
+ id="providerRegErrorChannelSetter"
+ input-channel="providerRegErrorChannelSetterChannel"
+ output-channel="providerRegToStringTransformerChannel">
+ <error-channel ref="providerRegErrorChannel"/>
+ </header-enricher>
+
+ <bean
+ id="providerCollectSchemaExecutorBean"
+ class="com.vmware.commonagent.maintegration.providercollectschemaexecutor"/>
+ <chain
+ id="providerRegChain"
+ input-channel="providerRegToStringTransformerChannel"
+ output-channel="nullChannel">
+
+ <!-- Read the provider registration file into memory and pass it through the
+ system as the canonical in-memory message. -->
+ <file-to-string-transformer
+ id="providerRegToStringTransformer"
+ delete-files="false"/>
+
+ <!-- Collect and cache the schema for the provider specified in the message. -->
+ <service-activator
+ id="providerCollectSchemaExecutor"
+ ref="providerCollectSchemaExecutorBean"/>
+ </chain>
+
+ <!-- Because the provider registration processing runs independently of request execution,
+ it currently just logs the error messages. -->
+ <transformer
+ id="providerRegErrorToResponseTransformer"
+ input-channel="providerRegErrorChannel"
+ output-channel="nullChannel"
+ ref="errorToResponseTransformerBean"/>
+
+ <channel id="configenvOutboundChannel"/>
+ <bean
+ id="maIntegrationObjects"
+ class="com.vmware.commonagent.maintegration.integrationobjects" />
+ <bean
+ id="configenvBean"
+ class="com.vmware.commonagent.maintegration.configenv"/>
+ <bean
+ id="persistenceNsdbBean"
+ class="com.vmware.commonagent.maintegration.persistencenamespacedb"/>
+
+ <persistence-inbound-channel-adapter
+ id="persistenceInboundChannelAdapterId"
+ channel="configenvOutboundChannel"
+ ref="persistenceNsdbBean">
+ <poller fixed-rate="300000"/>
+ </persistence-inbound-channel-adapter>
+
+ <configenv-outbound-channel-adapter
+ id="configenvOutboundChannelAdapterId"
+ channel="configenvOutboundChannel"
+ ref="configenvBean"
+ remove-ref="persistenceNsdbBean"/>
+
+ <channel id="persistenceOutboundChannel"/>
+
+ <configenv-inbound-channel-adapter
+ id="configenvInboundChannelAdapterId"
+ channel="persistenceOutboundChannel"
+ ref="configenvBean">
+ <poller fixed-rate="30000"/>
+ </configenv-inbound-channel-adapter>
+
+ <persistence-outbound-channel-adapter
+ id="persistenceOutboundChannelAdapterId"
+ channel="persistenceOutboundChannel"
+ ref="persistenceNsdbBean"/>
+
+ <monitor-inbound-channel-adapter
+ id="monitorInboundChannelAdapterId"
+ channel="nullChannel">
+ <poller fixed-rate="5000"/>
+ </monitor-inbound-channel-adapter>
+</caf:beans>
--- /dev/null
+#log4j.rootCategory=DEBUG, console
+log4j.rootCategory=ERROR, rolling
+
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
+
+log4j.appender.logfile=org.apache.log4j.FileAppender
+log4j.appender.logfile.fileName=ma-log4cpp.log
+log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
+log4j.appender.logfile.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
+
+log4j.appender.rolling=org.apache.log4j.RollingFileAppender
+log4j.appender.rolling.fileName=ma-log4cpp_rolling.log
+log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
+log4j.appender.rolling.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
+log4j.appender.rolling.MaxFileSize=1024KB
+log4j.appender.rolling.MaxBackupIndex=5
--- /dev/null
+[globals]
+#response_dir=${output_dir}/responses
+#request_dir=${output_dir}/requests
+#tmp_dir=${output_dir}/tmp
+#bean_config_file=${config_dir}/ma-context.xml
+log_config_file=${config_dir}/providerFx-log4cpp_config
+
+thread_stack_size_kb=0
+
+schema_namespace_root=http://schemas.vmware.com/caf/schema
+schema_location_root=${input_dir}/schemas/caf
+
+remap_logging_location=false
+
+[providerHost]
+install_dir=${config_dir}/../install
+invokers_dir=${invokers_dir}
+providers_dir=${providers_dir}
+schema_cache_dir=${output_dir}/schemaCache
+provider_reg_dir=${input_dir}/providerReg
+common_packages_dir=${input_dir}/commonPackages
+
+[security]
+cms_policy=CAF_Encrypted_And_Signed
\ No newline at end of file
--- /dev/null
+#log4j.rootCategory=DEBUG, console
+log4j.rootCategory=ERROR, rolling
+
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
+
+log4j.appender.logfile=org.apache.log4j.FileAppender
+log4j.appender.logfile.fileName=providerFx-log4cpp.log
+log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
+log4j.appender.logfile.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
+
+log4j.appender.rolling=org.apache.log4j.RollingFileAppender
+log4j.appender.rolling.fileName=providerFx-log4cpp_rolling.log
+log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
+log4j.appender.rolling.layout.ConversionPattern=%p|%d{ISO8601}|%t|%c|%m%n
+log4j.appender.rolling.MaxFileSize=1024KB
+log4j.appender.rolling.MaxBackupIndex=5
--- /dev/null
+[service]
+logfile=@logDir@/vgauth.log
+loglevel=verbose
+enableLogging=true
+enableCoreDumps=true
+samlSchemaDir=${input_dir}/schemas/saml
+
+[auditing]
+auditSuccessEvents=true