Windows support


#1

Does the latest version of PBSPro community version support Windows? The downloads page doesn’t have any executable for Windows. I have Visual studio 2015. Can I build it from the source in VS2015? I saw a VS2008 solution in github sources


#2

Yes it supported, Please follow this link:
https://pbspro.atlassian.net/wiki/spaces/PBSPro/pages/68878445/Building+PBS+Professional+Under+Windows

Please try and share your feedback with the community.


#3

Hi Adarsh,
Thanks for the link, I tried to follow instructions in it. But the link to download Win7 SDK says “We’re sorry, this download is no longer available.”


#4

Hi @drao,

PBS needs vs2008 to build. This is primarily because some of the third parties we depend on are still available as vs2008 binaries, and the runtimes do not mix well.

Turns out, the win7 sdk has actually been removed by microsoft. The only option right now is to use a commercial license of vs2008.

However, if you are willing to invest some time to modernize the code to work with win 2015, you are very welcome.

Regards,
Subhasis


#5

Thanks, I was able to successfully build the product using VS 2008 Professional edition. What steps should I follow to install it on different machines? Do I just run the msi installer and add C:\Program Files (x86)\PBS\exec\bin, C:\Program Files (x86)\PBS\exec\sbin to path, run pbs_server on the server and pbs_mom on all the clients?


#6

@drao Yes, just run MSI installer and follow instruction which it shows… Also you don’t need to manually add PBS\exec\*bin to path, MSI installer will do it for you…
Once installer finish then run following command in cmd shell (started with ‘Run as Administrator’) to register and start PBS services…

"C:\Program Files (x86)\PBS\exec\python\python.exe" "C:\Program Files (x86)\PBS\exec\etc\win_postinstall.py" -u <username who is member of local Administrators group> -p <password of user specified in -u>


#7

Hi, drao. Can you share your msi installer with me? Thanks a lot!


#8

Thanks! I followed this instruction, added -t server on the server and -t client -s on the client.
What is comm and execution type?
I added the client node in pbsnodes on the server. But I’m not able to schedule jobs on the client. It says
“C:\Windows\system32>qsub -l nodes=win7-04 c:\Users\qa\Desktop\open_notepad.bat
qsub: Bad UID for job execution - could be an administrator-type account current
ly not allowed to run jobs (can be configured)”

What should be the configuration?


#9

Please try this :

qmgr -c “s s acl_roots=Administrator” # To submit jobs from the Administrator account, it is case sensitive, please verify the admin account name

qmgr -c “s s flatuid=True”
qmgr -c “s s job_history_enable=True”

Other login as standard user

  • pbs_password ( set the password )
  • submit a job

#10

It’s still not working. Server properties are like this:

c:\Program Files (x86)\PBS\home>qmgr -c "p s"
#
# Create queues and set their attributes.
#
#
# Create and define queue workq
#
create queue workq
set queue workq queue_type = Execution
set queue workq enabled = True
set queue workq started = True
#
# Set server attributes.
#
set server scheduling = True
set server acl_roots = admin
set server default_queue = workq
set server log_events = 511
set server mail_from = adm
set server query_other_jobs = True
set server resources_default.ncpus = 1
set server default_chunk.ncpus = 1
set server scheduler_iteration = 600
set server flatuid = True
set server resv_enable = True
set server node_fail_requeue = 310
set server max_array_size = 10000
set server single_signon_password_enable = True
set server pbs_license_min = 0
set server pbs_license_max = 2147483647
set server pbs_license_linger_time = 31536000
set server eligible_time_enable = False
set server job_history_enable = True
set server max_concurrent_provision = 5

#11

This should be the Administrator name ( case sensitive in windows - similar to root user in case of Linux ) allowed to submit jobs. What is the output of these commands in the windows cmd

  • echo %username%
  • net localgroup Adminstrators

#12
c:\Program Files (x86)\PBS\home>net localgroup Administrators
Alias name     Administrators
Comment        Administrators have complete and unrestricted access to the compu
ter/domain

Members

-------------------------------------------------------------------------------
Administrator
ABC\Developer Admins
ABC\Domain Admins
ABC\drao
The command completed successfully.

C:\Program Files (x86)\PBS\exec\sbin>echo %username%
drao

So I changed the acl_roots value to drao.

Now I am able to submit jobs, but they are not getting picked up by the client.

c:\Program Files (x86)\PBS\home>qsub -l nodes=WIN7-04 c:\Users\drao\Desktop\open_n
otepad.bat
14.win7-02

c:\Program Files (x86)\PBS\home>qstat
Job id            Name             User              Time Use S Queue
----------------  ---------------- ----------------  -------- - -----
14.win7-02        open_notepad.ba  drao                       0 Q workq

open_notepad.bat just has call notepad.exe in it.

The server_log says:
05/22/2018 11:14:47;0008;Server@win7-02;Job;14.win7-02;Job Queued at request of drao@win7-02.abc.net, owner = drao@win7-02.abc.net, job name = open_notepad.bat, queue = workq
05/22/2018 11:14:47;0040;Server@win7-02;Svr;win7-02;Scheduler sent command 1
05/22/2018 11:14:47;0040;Server@win7-02;Svr;win7-02;Scheduler sent command 0
05/22/2018 11:14:47;0100;Server@win7-02;Req;;Type 21 request received from Scheduler@win7-02.abc.net, sock=268
05/22/2018 11:14:47;0100;Server@win7-02;Req;;Type 81 request received from Scheduler@win7-02.abc.net, sock=268
05/22/2018 11:14:47;0100;Server@win7-02;Req;;Type 71 request received from Scheduler@win7-02.abc.net, sock=268
05/22/2018 11:14:47;0100;Server@win7-02;Req;;Type 58 request received from Scheduler@win7-02.abc.net, sock=268
05/22/2018 11:14:47;0100;Server@win7-02;Req;;Type 20 request received from Scheduler@win7-02.abc.net, sock=268
05/22/2018 11:14:47;0100;Server@win7-02;Req;;Type 51 request received from Scheduler@win7-02.abc.net, sock=268
05/22/2018 11:14:47;0100;Server@win7-02;Req;;Type 11 request received from Scheduler@win7-02.abc.net, sock=268
05/22/2018 11:14:47;0008;Server@win7-02;Job;14.win7-02;Job Modified at request of Scheduler@win7-02.abc.net

Turns out the server thinks that client is down. How do I fix it?

c:\Program Files (x86)\PBS\home>pbsnodes -l
win7-04              state-unknown,down node down: communication closed

#13

Nice one !

Please check the documentation on Windows installation / pre-requisites https://pbsworks.com/pdfs/PBS14.2.1_BigBook.pdf

I think one of these is hindering the pbs-mom to pbs-server communication:

  • UAC is turned off at the windows registry and system is rebooted
  • Firewall / Antivirus / Antispyware / Antimalware softwares is not blocking the communication
  • pbs-mom service is running
  • .rhosts file is populated
  • DNS / Hostname / reverse address resolution of the pbs server hostname is correct

#14

Thanks Adarsh, I think it was firewall and DNS/Hostname issue. Got it working.

What is the max number of jobs that can be queued in the workq at any given time?


#15

By default there is no limit on number of jobs that can be queued but it can be controlled using an attribute named “max_queued” which can be set on both server and individual queue. If set on server level, it includes all jobs in the complex.

You can look at the document pointed by Adarsh for more detailed information on this.(May be start here: Reference Guide: Attributes: Server Attributes)


#16

Thanks, that helped!
One more problem, the jobs which run on execution nodes don’t seem to be identifying network drives correctly. One of the jobs printed output of “net use” to a file and I saw this:

Status       Local     Remote                    Network

-------------------------------------------------------------------------------
Unavailable  H:        \\vnetapp-abc01\drao1        Microsoft Windows Network

On the system itself, “net use” prints this when I run it in cmd prompt:

Status       Local     Remote                    Network

-------------------------------------------------------------------------------
OK            H:        \\vnetapp-abc01\drao1        Microsoft Windows Network

How do I fix this?