Symptoms

The following error is received when attempting to transfer a subscription between accounts:

Some of the resources associated with this subscription cannot be transferred

Cause

Some resources, included into the subscription, have no support to be transferred.

For traditional OA services, the following list does not support migration:

  • Hosted Dynamics CRM
  • Office Communications Server (OCS)
  • Windows Streaming Media (WSM)
  • Customer Directory Integration (CDI)
  • Sitebuilder 4.5
  • Dedicated server
  • Plesk in VPS (legacy)

Note: even resources with zero usage block the subscription migration.

This information is also mentioned in Subscription Transfer Requirements.

For APS 2.0 resources, the resource implementing the subscription service type must also implement the migratable type.

Resolution

As a workaround, remove the resource(s), preventing the move, from the Service Plan and the Service Template and sync the Plan with the Subscriptions. However, this way removes the resource from all subscriptions, based on the Plan.

If it is not possible to do for all subscriptions, the following way can be suggested:

  • create a copy of the service template and the service plan the subscription is based on;
  • remove the resource(s) preventing transfer from cloned plan and template;
  • setup upgrade path from the current plan to a newly created;
  • change the plan for the subscription in question;
  • transfer subscription again.

The list of feature requests for subscription transfer support:

  • PFR-1759 Implement moving subscriptions with legacy Plesk in VPS services between accounts
  • PFR-777 Possibility to transfer CLM-subscriptions between accounts
  • APSA-11757 Ability to move O365 APS2 subscriptions
  • APSA-16469 Support subscription migration in Lync APS 2.0

For APS 2.0 applications, not developed by Odin, contact the corresponding packagers with the request to allow the application to transfer its subscriptions.

Troubleshooting

While checking the transfer ability, OSA executes API request pem.checkMoveSubscriptions. The following query is executed in scope of it:

SELECT sc.sc_id AS sc_id FROM service_classes sc join sc_instances si ON si.sc_id=sc.sc_id  join components c on si.component_id=c.component_id  join packages p on c.pkg_id=p.pkg_id  join package_interfaces pi on p.pkg_id=pi.pkg_id  JOIN interfaces i ON i.interface_id=pi.interface_id  WHERE i.service_type = 'SDK::ChangeSubscriptionOwner' AND sc.sc_id IN ( 82, 86 )

Here sc_id is the list of service controllers used by services of this subscription. 82 and 86 are given as examples. Search core.log for a similar query and execute it to check what service controllers are affected by the particular transferred subscription.

The following query can additionally list the resource classes:

plesk=> SELECT DISTINCT rc.name AS class_name, rc.sc_id AS sc_id FROM subs_resources sr JOIN resource_types rt ON (rt.rt_id = sr.rt_id) JOIN resource_classes rc ON (rc.class_id = rt.class_id) WHERE sr.sub_id = 1009849 ;
    class_name    | sc_id
------------------+-------
 rc.bmp.dedicated |    82
 ips              |     0
 rc.bmp.os        |    82
 DNS Hosting      | 99625
 DNS Management   | 99625
 rc.bmp.reboot    |    82
 traffic          |     0

In this example, sc_id 82 belongs to the BareMetal package (Dedicated Hosting module)

plesk=> SELECT * from sc_instances where sc_id = 82;
sc_instance_id | sc_id |                      location_id                      | component_id |  pid
----------------+-------+-------------------------------------------------------+--------------+-------
    157 |    82 | BareMetal:/usr/local/pem/libexec/BareMetal.so.6.0.0.4 |          217 | 29143

Per the transfer limitations, Dedicated Hosting module does not support subscription transfer.

If sc_id belongs to SaaS, it is required to check if included APS 2.0 resources declare migration support.

Internal content

Link on internal Article