The Repository construct fails to install Deadline Repository when the IMountableLinuxFilesystem provided to it is a MountableFsxLustre because the MountableFsxLustre class uses POSIX permissions, which causes the Repository construct to run the Deadline Repository installer as the Deadline repository user, which will fail because the FSx Lustre file system mount point is still owned and only writable to by root.
Reproduction Steps
Use the Repository construct with the MountableFsxLustre class.
Error Log
Deadline Repository installer logs:
Preferred installation mode : unattended
--
Trying to init installer in mode unattended
Mode unattended successfully initialized
This can take a few minutes
Preparing to Install
Preparing to Install
Error creating directory /mnt/efs/fs1/DeadlineRepository
There has been an error.
Unable to create directory
Environment
- CDK CLI Version : 2.51.1 (build 3d30cdb)
- CDK Framework Version: 2.33.0
- RFDK Version: 1.0.0
- Deadline Version: 10.1.21.4
- Node.js Version: v16.13.0
- OS : Linux
- Language (Version): Python 3.9.15
Other
One idea is to add a "mount owner user" for IMountableLinuxFilesystem, where, if a subclass .usesPosixPermissions(), then they must ensure the path the filesystem is mounted at is also owned/writable by the "mount owner user" as part of their .mountToLinuxInstance() implementation.
This is 🐛 Bug Report
The
Repositoryconstruct fails to install Deadline Repository when theIMountableLinuxFilesystemprovided to it is aMountableFsxLustrebecause theMountableFsxLustreclass uses POSIX permissions, which causes theRepositoryconstruct to run the Deadline Repository installer as the Deadline repository user, which will fail because the FSx Lustre file system mount point is still owned and only writable to byroot.Reproduction Steps
Use the
Repositoryconstruct with theMountableFsxLustreclass.Error Log
Deadline Repository installer logs:
Environment
Other
One idea is to add a "mount owner user" for
IMountableLinuxFilesystem, where, if a subclass.usesPosixPermissions(), then they must ensure the path the filesystem is mounted at is also owned/writable by the "mount owner user" as part of their.mountToLinuxInstance()implementation.This is 🐛 Bug Report