Target Release17.2.1
JIRA

PP-1009 - Enhancing sudo usage in PTL

Document statusInitial version
Document ownerKumar Jakkali (Deactivated)
Designer
Developers
QA
Forum Discussionhttp://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.


New Interfaces

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)



Site Map

Developer Guide Pages


Ignore this.  We may use it later for page characterization.