Target Release | 17.2.1 |
---|---|
JIRA | PP-1009 - Enhancing sudo usage in PTL |
Document status | Initial version |
Document owner | Kumar Jakkali (Deactivated) |
Designer | |
Developers | |
QA | |
Forum Discussion | http://community.pbspro.org/t/pp-1009-sudo-enhancements/691 |
In PTL
- the existing interface to create temporary file return file name and file descriptor (FD). If test case create a file as different users than the current user the file FD is invalid as current user can't make use the returned FD.
- For file copy operation PTL by default does copy file with keeping original permission and then change owner and permissions of file
Enhancements:
- New interface to create a temporary file
- Adding a new parameter 'preserve_permission' to run_copy() to override the default file copy operation.
Interface 1: create_temp_file
Visibility: Public
Change Control: Stable
Summary: create a temporary file
Details:
create_temp_file(hostname=None, suffix='', prefix='PtlPbs', dir=None, text=True, asuser=None, body=None)
By default create an empty temporary file as current user and return the file name.
With this new interface we will remove the existing mkstemp() from library and test cases.
Updating existing interface
Interface 1: create_script
Visibility: Public
Change Control: Stable
Summary: create a job script
Details:
Change in existing interface to accept user name instead of UID and GID
Existing API : create_script(self, body=None, uid=None, gid=None, hostname=None)
New API : create_script(self, body=None, asuser=None, hostname=None)
create_script() internally makes use of create_temp_file to create job script. create_temp_file() accepts asuser param.
so updating existing create_script() to accept username instead of UID and GID
Interface 2:run_copy
Visibility: Public
Change Control: Stable
Summary: copy a file
Details:
Added a new parameter preserve_permission. Default preserve_permission=True.
The existing interface executes cp command with -p flag which preserves owner,group permissions of source file.
If the param 'preserve_permission= False' then run_copy() will copy file without keeping original permission (i.e cp without -p flag).
If the param 'preserve_permission= True' then run_copy() will continue existing behavior as it is (i.e cp with -p flag)
Ignore this. We may use it later for page characterization. |