PlateSpin Migrate – Resolving source-server controller issues

When PlateSpin Migrate tries to migrate a source server without .NET 2.0 problems can occur with the OfxController.exe or (Platespin Operations Framework Contoller).

Installing .NET 2.0 after the (Platespin Operations Framework Contoller) service failure might not solve the problem directly resulting in a faulty ofxcontroller.

Also there can be more reasons why you want to get rid of the PlateSpin modules and files on the source server.

When there is a Source Server as in our case due to the lack of .NET 2.0 functionality the PlateSpin Migrate Copy Workload process will stop at “5.2. Verifying Controller Connection” with a failure. Resolution

Logging on the source server can be found at: C:\Program Files\PlateSpin Portability Suite Server\Controller\EventLog\Active.log which can give more hints to why it isn’t working.

An example log indicating the .NET 2.0 problem:

<entry time=”2010-06-29T11:48:18.8828125Z” code=”StartHeartbeatServiceError” source=”PlateSpin.OperationsFramework.Controller.Heartbeat.Service”><message>

Unable to start the Heartbeat Service.

PlateSpin.OperationsFramework.Sdk.PlateSpinException: Unable to start the Heartbeat Service. —&gt; System.InvalidOperationException: Unable to generate a temporary class (result=1).

error CS1583: ‘c:\WINNT\Temp\CSC169C.tmp’ is not a valid Win32 resource file

   at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)

   at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)

   at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)

   at System.Xml.Serialization.XmlSerializer.GetSerializersFromCache(XmlMapping[] mappings, Type type)

   at System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings, Type type)

   at System.Web.Services.Protocols.SoapClientType..ctor(Type type)

   at System.Web.Services.Protocols.SoapHttpClientProtocol..ctor()

   at PlateSpin.Soap.HttpClientWrapper.SoapHttpClientWrapper..ctor(IContextAdapter exceptionAdapter)

   at PlateSpin.OperationsFramework.Sdk.Server.ControllerNotificationWebServiceAdapter..ctor(String address, Byte[] secret, Int32 nonce, String controllerId)

   at PlateSpin.OperationsFramework.Sdk.ControllerNotificationClientFactory.GetControllerNotificationClient(String address, CertificateWarnings certificateWarning, ICredentials credentials, Int32 timeout, Byte[] secret, Int32 nonce, String controllerId)

   at PlateSpin.OperationsFramework.Sdk.ControllerNotificationClientFactory.GetControllerNotificationClient(String address, CertificateWarnings certificateWarnings, Byte[] secret, Int32 nonce, String controllerId)

   at PlateSpin.OperationsFramework.Controller.Heartbeat.Service.startupThread()

   — End of inner exception stack trace —

</message></entry>

The following procedure should retract all PlatSpin components and allow for retry or recovery:

1. UnDiscover the source server to remove the server details from PlateSpin. Any Job saved for this server should be discarded aswell since it will cause an error. Each discovered server is linked via a GUID.

2. Uninstalling the “Platespin Operations Framework Contoller” service from the source server can be done by stopping the service and then running “OfxController.exe /uninstall”. OfxController.exe can be found in “c:\Prorgram Files\PlateSpin Portability Suite Server\Controller”

3. Once the service is uninstalled a reboot is required to remove the service since it will be marked for deletion.

4. After uninstalling the service you can remove “c:\Prorgram Files\PlateSpin Portability Suite Server” and “c:\windows\PlateSpin”.

After this procedure the problem on the source server should be resolved. For our example this can be done by installing the .NET 2.0 Framework on the server.

The server is now clean, fixed and ready for discovery. Hopefully it will now succeed 🙂

Advertisements

About Willem
My name is Willem Bermon and am currently exploring the depths of virtualization.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: