Symptoms

Case #1: While removing the QMail node from POA the task 'cleanup packages on host' with the following error:

The Qmail service #ID is in use by customer services

Case #2: LDAP cluster host unprovisioning task fails with:

WFLYEJB0054: Failed to marshal EJB parameters 
com.sun.corba.se.impl.encoding.CDRInputStream_1_2 

/var/log/pa/core.log contains the following output:

Jul 15 13:47:23.674 : DBG [task:40132946:142494 1:4082:7facf21fc700 lib ]: [ QmailCluster::sc_impl::unregisterLDAPServer] {module_id="QmailCluster"; code="177"} LDAP server 1 is in use by Qmail services
Jul 15 13:47:23.674 : DBG [task:40132946:142494 1:4082:7facf21fc700 QmailCluster ]: [ QmailCluster::sc_impl::unregisterLDAPServer] <=== EXIT (by exception) [0.026089]
Jul 15 13:47:23.675 : DBG [task:40132946:142494 Thread-372413-(ActiveMQ-client-global-threads):1188637 pau]: c.p.p.s.y.p.e.DIIProcessorBean Invocation performed for unregisterLDAPServer on: QmailCluster
Jul 15 13:47:23.676 : DBG [task:40132946:142494 Thread-372413-(ActiveMQ-client-global-threads):1188637 pau]: c.p.p.s.y.p.e.DIIProcessorBean CORBA operation unregisterLDAPServer call failed: org.omg.CORBA.UnknownUserException: null
  at javax.orb.api@8.1.2.Final-PA-1//com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.unmarshalDIIUserException(CorbaMessageMediatorImpl.java:455)
  at javax.orb.api@8.1.2.Final-PA-1//com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:571)
  at javax.orb.api@8.1.2.Final-PA-1//com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:373)


Cause

Task was scheduled for removal of the host which has customer services provisoned. Such behavior is considered to be a software issue with ID POA-85298, POA should not allow to remove QMail host in case if it has customer's services provisioned.

Resolution

Case #1: If the host needs to be removed it is needed to unprovide customer's services from host. Please follow the steps below in order to obtain list of subscriptions provisioned to host which will be deleted:

  1. Get list of QMail configurations and QMail hosts they are associated with:

    plesk=> SELECT config_id,cluster_id,operation_host_id,hostname,role from cqmail_configurations ORDER BY config_id;
     config_id | cluster_id | operation_host_id |          hostname          | role
    -----------+------------+-------------------+----------------------------+------
             1 |          1 |                57 | mail.provider.com          | m
             2 |            |              2285 | mail02.provider.com        | m
             3 |            |              2286 | mail03.provider.com        | m
             8 |            |              2859 | mail01.reseller.com        | m
            12 |            |              2860 | mail02.reseller.com        | m
    
  2. For example, it is needed to remove host mail02.reseller.com. Get list of subscriptions provsioned to required host using the config_id obtained in step 1 by the following query (in our case config_id is 12):

    SELECT  subscription_id from cqmail_hostings where config_id = 12 OR incoming_config_id = 12 OR outgoing_config_id = 12;
     subscription_id
    -----------------
               100001
               100002
               100003
    

The provider can either destroy these subscriptions or, in case if subscription cannot be destroyed because it has Apache/IIS/APS services provisioned, unprovide Qmail hosting from particular subscription.

In order to unprovide Qmail hosting from particular subscription:

  1. Open required subscription in Provider's Control Panel;
  2. Go to Resources and click Edit;
  3. Set limit for QMail hosting resource to 0, click Submit and confirm resource unprovisioning.


Case #2: LDAP cluster removal is blocked by the another mail servers on the environment. For example:

oss=> SELECT config_id,cluster_id,operation_host_id,hostname,role from cqmail_configurations ORDER BY config_id;
 config_id | cluster_id | operation_host_id |         hostname         | role
-----------+------------+-------------------+--------------------------+------
         3 |            |                68 | mail02.provider.com | i
         4 |            |                69 | mail03.provider.com | o
(2 rows)


Remove hosts mail02 and mail03 first. It will remove services that are blocking LDAP


Internal content