Deploy and Edit the Service Configuration File
After installing you service binaries, you must also deploy the service configuration file to register the service. You can register the service centrally or locally on each node. Central registration allows you to maintain a list of services that are deployed on the cluster, and manage configuration and troubleshooting settings from a single location. This topic describes the service registration methods and includes a procedure to register a service centrally to the default service registration folder on the head node.
In this topic:
Service registration methods
The service configuration file is an XML file that is used to register the service on the cluster, configure service behavior, and customize how the broker interacts with the service. For example, broker behavior such as monitoring, message throttling, and load balancing can be defined at the individual service level. For more information, see SOA Service Configuration Files in Microsoft HPC Pack.
The service configuration file must be named servicename.config, where the servicename is the same as that passed into the SessionStartInfo
constructor. At a minimum, the file must specify the registration information for the service, such as the path to the DLL for the service.
Cluster administrators must have write permissions to the service configuration files to be able to make changes to the service registration and configuration settings.
The following table describes the service registration options:
Registration method | Description |
---|---|
Central registration | Services configuration files that are deployed to a central location can be managed in HPC Cluster Manager. You can use the default Service Registration folder on the head node, for example: %CCP_HOME%\ServiceRegistration This folder is shared as: \\<headnode>\HPCServiceRegistration\ You can change the default location of the Service Registration folder by setting the cluster environment CCP_SERVICEREGISTRATION_PATH. You can specify multiple paths separated by a semicolon (;). This variable works the same way that PATHS works for cmd.exe. For example, at a command prompt you can use the following command: cluscfg setenvs CCP_SERVICEREGISTRATION_PATH=\\<server>\<share>\ Important: The central service registration folder can be any shared folder that the head node, broker nodes, and compute nodes can access and read. The cluster administrators must have full control permissions on the shared folder so that configuration files can be installed to that path. |
Local registration | To register the service DLL locally, place the completed service configuration file on each node in the service registration folder located at %CCP_HOME%\ServiceRegistration. If you are using local registration, the service configuration file must also be copied to the broker nodes and the head node. |
Registration on Windows Azure nodes | To register a service that will run on Windows Azure nodes, you must place a copy of the service configuration file on the on-premises cluster in a location that is accessible to the head node and the WCF broker nodes (such as the Service Registration folder on the head node). Additionally, you must package a copy of the service configuration file along with the service assembly and any dependent DLLs that you deploy to the Windows Azure storage account. Note: To change service configuration settings, you only need to update the on-premises copy of the service configuration file. For information about how to deploy SOA services to Windows Azure worker nodes, see Upload a SOA service to a Windows Azure storage account. |
Register the service centrally on the head node
The following procedure describes how to deploy the configuration file centrally to the default service registration folder. In HPC Cluster Manager, in Services, you can manage all the SOA services that have configuration files in the ServiceRegistration folder on the head node.
To register and configure a service
On the head node, copy the service configuration file to the C%CCP_HOME%\ServiceRegistration folder.
In HPC Cluster Manager, click Configuration, and then click Services.
The view pane displays a list all services that have configuration files in the ServiceRegistration folder. Verify that the service that you just added appears in the list.
Right-click your service, then click Edit Configuration File. The configuration file for your service opens in the default XML editor.
Important
For computers running Windows Server 2008 R2: if you use the WCF Service Configuration Editor (SvcConfigEditor.exe) to edit the service configuration file, the
extendedProtectionPolicy
property is added to the file. This property is only supported on the Windows Server 2008 R2 and later versions of the Windows Server operating system. If your compute nodes have Windows Server 2008 installed, then you should remove this property from the service configuration file.Additionally, SvcConfigEditor.exe does not provide visibility into custom fields such as XLL path.
Ensure that the
assembly
attribute of theservice
element points to the location of your service DLL. This can be a path to a shared directory on the cluster, or it can be a local path on each compute node.For example, if the DLL is deployed locally to compute nodes in a folder named Services (C:\Services\<yourServiceName>.dll), the attribute is defined as follows:
<microsoft.Hpc.Session.ServiceRegistration> <service assembly="C:\Services\<yourServiceName>.dll"> </microsoft.Hpc.Session.ServiceRegistration>
Save the changes, if you made any, and then close the text editor.
To verify that the service can be loaded, right-click the service, and then click Run SOA Service Loading Diagnostic Test.
The Run Diagnostic Tests dialog box appears, and the service that you selected is automatically specified in the parameter for the test. Click Run.
To view test results: In Diagnostics, in the Navigation Pane, click Test Results. For more information, see Reviewing Test Results.