]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
- add missing directory common-agent/etc/config
authorOliver Kurth <okurth@vmware.com>
Sat, 24 Dec 2016 00:46:38 +0000 (16:46 -0800)
committerOliver Kurth <okurth@vmware.com>
Sat, 24 Dec 2016 00:46:38 +0000 (16:46 -0800)
- fix .gitignore, so the directory above will not be ignored any more

15 files changed:
open-vm-tools/.gitignore
open-vm-tools/common-agent/etc/config/CommAmqpListener-appconfig [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/CommAmqpListener-context-amqp.xml [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/CommAmqpListener-context-common.xml [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/CommAmqpListener-context-tunnel.xml [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/CommAmqpListener-log4cpp_config [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/IntBeanConfigFile.xml [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/Makefile.am [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/cafenv-appconfig [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/ma-appconfig [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/ma-context.xml [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/ma-log4cpp_config [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/providerFx-appconfig [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/providerFx-log4cpp_config [new file with mode: 0644]
open-vm-tools/common-agent/etc/config/vgauth.conf [new file with mode: 0644]

index dfc1a5a6bf8a6360af52cfe6b8bf4f98432bf3c9..0b46a8cb668d9b34b5749f17e175e7f7a854dbb6 100644 (file)
@@ -12,6 +12,7 @@ Makefile
 Makefile.in
 aclocal.m4
 config
+!common-agent/etc/config
 config.log
 config.status
 configure
diff --git a/open-vm-tools/common-agent/etc/config/CommAmqpListener-appconfig b/open-vm-tools/common-agent/etc/config/CommAmqpListener-appconfig
new file mode 100644 (file)
index 0000000..b34e557
--- /dev/null
@@ -0,0 +1,80 @@
+[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
diff --git a/open-vm-tools/common-agent/etc/config/CommAmqpListener-context-amqp.xml b/open-vm-tools/common-agent/etc/config/CommAmqpListener-context-amqp.xml
new file mode 100644 (file)
index 0000000..7114856
--- /dev/null
@@ -0,0 +1,65 @@
+<?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>
diff --git a/open-vm-tools/common-agent/etc/config/CommAmqpListener-context-common.xml b/open-vm-tools/common-agent/etc/config/CommAmqpListener-context-common.xml
new file mode 100644 (file)
index 0000000..8e06ca5
--- /dev/null
@@ -0,0 +1,200 @@
+<?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>
diff --git a/open-vm-tools/common-agent/etc/config/CommAmqpListener-context-tunnel.xml b/open-vm-tools/common-agent/etc/config/CommAmqpListener-context-tunnel.xml
new file mode 100644 (file)
index 0000000..469b5c7
--- /dev/null
@@ -0,0 +1,43 @@
+<?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>
diff --git a/open-vm-tools/common-agent/etc/config/CommAmqpListener-log4cpp_config b/open-vm-tools/common-agent/etc/config/CommAmqpListener-log4cpp_config
new file mode 100644 (file)
index 0000000..d6949eb
--- /dev/null
@@ -0,0 +1,18 @@
+#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
diff --git a/open-vm-tools/common-agent/etc/config/IntBeanConfigFile.xml b/open-vm-tools/common-agent/etc/config/IntBeanConfigFile.xml
new file mode 100644 (file)
index 0000000..d4e22ed
--- /dev/null
@@ -0,0 +1,19 @@
+<?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>
diff --git a/open-vm-tools/common-agent/etc/config/Makefile.am b/open-vm-tools/common-agent/etc/config/Makefile.am
new file mode 100644 (file)
index 0000000..acc715b
--- /dev/null
@@ -0,0 +1,36 @@
+################################################################################
+### 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
diff --git a/open-vm-tools/common-agent/etc/config/cafenv-appconfig b/open-vm-tools/common-agent/etc/config/cafenv-appconfig
new file mode 100644 (file)
index 0000000..91e8e2a
--- /dev/null
@@ -0,0 +1,39 @@
+[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@
diff --git a/open-vm-tools/common-agent/etc/config/ma-appconfig b/open-vm-tools/common-agent/etc/config/ma-appconfig
new file mode 100644 (file)
index 0000000..1818b9b
--- /dev/null
@@ -0,0 +1,89 @@
+[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
diff --git a/open-vm-tools/common-agent/etc/config/ma-context.xml b/open-vm-tools/common-agent/etc/config/ma-context.xml
new file mode 100644 (file)
index 0000000..cf0c0a4
--- /dev/null
@@ -0,0 +1,340 @@
+<?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>
diff --git a/open-vm-tools/common-agent/etc/config/ma-log4cpp_config b/open-vm-tools/common-agent/etc/config/ma-log4cpp_config
new file mode 100644 (file)
index 0000000..b4f9156
--- /dev/null
@@ -0,0 +1,18 @@
+#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
diff --git a/open-vm-tools/common-agent/etc/config/providerFx-appconfig b/open-vm-tools/common-agent/etc/config/providerFx-appconfig
new file mode 100644 (file)
index 0000000..94858c3
--- /dev/null
@@ -0,0 +1,24 @@
+[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
diff --git a/open-vm-tools/common-agent/etc/config/providerFx-log4cpp_config b/open-vm-tools/common-agent/etc/config/providerFx-log4cpp_config
new file mode 100644 (file)
index 0000000..f4ac365
--- /dev/null
@@ -0,0 +1,18 @@
+#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
diff --git a/open-vm-tools/common-agent/etc/config/vgauth.conf b/open-vm-tools/common-agent/etc/config/vgauth.conf
new file mode 100644 (file)
index 0000000..aa13fa7
--- /dev/null
@@ -0,0 +1,9 @@
+[service]
+logfile=@logDir@/vgauth.log
+loglevel=verbose
+enableLogging=true
+enableCoreDumps=true
+samlSchemaDir=${input_dir}/schemas/saml
+
+[auditing]
+auditSuccessEvents=true