DEV Community

Query Filter
Query Filter

Posted on

docker21

Based on your logs, we can reconstruct the full lifecycle of this deployment. There is a very specific sequence of events here, including a mis-linking risk that you should be aware of.


Step 1: The RPM Installation (The "Expansion")

  • What happened: Ansible executed the rpm -ivh command.
  • Source: /tmp/86-3cf8490.../CPLSEMEA-1.0.0.x86_64.rpm
  • Where it expanded: The log explicitly shows RPM_INSTALL_PREFIX=/opt/CPLSEMEA.
  • The Result: The binaries and files were extracted into the permanent system path. Inside the RPM, a postinstall script ran, which restricted permissions on key.dat and managed a "live" link.
  • Status: SUCCESS. The application is now physically present in /opt/CPLSEMEA.

Step 2: The Symlink Creation (The "Bridge")

  • What happened: Ansible ran a file task with state: link.
  • The Link (Dest): /opt/CPLS/live
  • The Target (Src): /opt/CPLS/86-3cf8490-leonid-comet-lse-migration
  • The Warning: Ansible complained about "fs attributes" because it was trying to apply permissions to the target folder while creating the link.
  • Status: TECHNICALLY CHANGED, but contains a potential logic error.

Step 3: The Cleanup

  • What happened: Ansible ran a Delete content task with state: absent.
  • Target: /tmp/86-3cf8490-leonid-comet-lse-migration/
  • Status: SUCCESS. The installation artifact was removed to save space.

Is there a mistake? (The "Mis-linking" Detection)

Yes, there is a significant path discrepancy between Step 1 and Step 2 that might cause your application to fail when it tries to run.

Feature RPM Installation (Step 1) Symlink Creation (Step 2)
Primary Folder /opt/CPLSEMEA /opt/CPLS
Sub-folder /1.0.0 (implied by version) /86-3cf8490... (Migration ID)

The Issue: The RPM installed the "real" working files into /opt/CPLSEMEA. However, your Ansible symlink task created a "live" pointer in /opt/CPLS pointing to a Migration/Staging folder.

Why this matters:
If your application or service is configured to look for its executable at /opt/CPLS/live/bin/..., it is currently pointing at the Harness Migration/Staging directory, not the actual RPM installation directory. If that migration directory is ever deleted (similar to how you deleted the /tmp folder in Step 3), the live link will break.

Recommendations:

  1. Align the Path: Ensure the symlink dest is consistent with the RPM prefix. If the app is CPLSEMEA, the link should probably be /opt/CPLSEMEA/live.
  2. Point to the Version, not the Migration: Change the symlink src to point to the installed version folder (/opt/CPLSEMEA/1.0.0) instead of the long alphanumeric migration string.
  3. Silence the Warning: In the "Create symlink" task, add follow: false to stop the "fs attributes" warning.

Does your application usually run out of /opt/CPLS or the newer /opt/CPLSEMEA path?

Top comments (0)