Symptoms

OA task fails with the following error message:

"Destination host 'cp.provider.tld' (#2), IP '10.10.35.8' : ChOwn prohibited, path don't match truepath. Truepath of 'xxx' points to 'xxx'"

Some OA tasks generate HCLs to perform file operations on infrastructure hosts. For example, task APS : Configuring URL mapping for instances of APS applications provided on domain service with id which is generated during brand provisioning and removal sends change owner operation to a host agent:

<SET value="pemsrv" var="defgrp"/>
Processing CHOWN(group="${defgrp}", path="/usr/local/pem/xxx"

Cause

Task may fail due to non-standard configuration of filesystem on target host. /usr/local is not "real" directory, but a symlink to /local. Due to OA implementation of some file functions, symlinks are resolved automatically and operation fails its internal checks.

Resolution

Issue with de-reference of symlinks was passed for further investigation to the Engineering team as request #POA-110160: "ChOwn prohibited, path don't match truepath" is thrown if target file is in symlinked folder. Please contact your technical manager or a member of Pooled Technical Associates.

Issue could be permanently workarounded by performing the following actions on target infrastructure hosts where /usr/local is symlinked to another location (we will refer to it as /sourcedir):

  1. Stop OA services on target host:

    # service pem stop
    (on UI node) # service pemui stop
    
  2. Ensure that symlink is created to directory we expect:

    # ll -d /usr/local
    lrwxrwxrwx 1 root root 6 Jul  5  2012 /usr/local -> /sourcedir/
    
    # ll -d /sourcedir
    drwxr-sr-x 32 root root 4096 Feb 28 01:04 /sourcedir/
    
  3. Remove symlink to /usr/local:

    # rm /usr/local
    
  4. Create mountpoint and mount /sourcedir there:

    # mkdir /usr/local
    # mount --bind /sourcedir /usr/local
    
  5. Add the following line to /etc/fstab to make changes persistent:

    /sourcedir        /usr/local   none    bind    0 0
    
  6. Start services that were previously stopped:

  7. If target host is branding or web server, then restart apache:

    # /etc/init.d/pemhttpd restart
    

Mount that is created in this workaround works on lower level and is not recognized by any services or even file system tools as "link". For filesystem it is file tree and all operations are performed seamlessly.

Internal content