Author Topic: Worker Config File  (Read 13925 times)

Nikos

  • Full Member
  • ***
  • Posts: 15
Worker Config File
« on: June 20, 2006, 12:06:16 PM »
Hi,

We're in the middle of a Qube evaluation on the Windows platform and a few questions have come up.

1) The manual mentions how the qbwrk.conf file should reside in the supervisor's C:\WINDOWS directory.
However, there was no such file after installation so we created one ourselves:

Here's what we would like to every single Worker to read so that we don't have to manually update every
single machine on the renderfarm.

   [ all ]
   worker_cluster = /
   worker_journal_location = "\\Mothership\System\Qube\jnl\worker.jnl"
   worker_logmode = mounted
   worker_logfile = "\\Mothership\System\Qube\logs\workerlog"
   worker_logpath = "\\Mothership\System\Qube\logs"
   worker_flags = load_profile, auto_mount, dedicated
   proxy_account = render   
   proxy_password = ****
   proxy_execution_mode = proxy

   [ rb-01 ] : all
   [ rb-02 ] : all
   [ rb-03 ] : all
   [ rb-04 ] : all
   [ rb-05 ] : all
   [ rb-06 ] : all
   [ rb-07 ] : all
   [ rb-08 ] : all
   [ rb-09 ] : all

However, it seems like the nodes aren't picking up any of the settings from the new qbwrk.conf file.
We have also tried specifying a different path for the workers config file in C:\WINDOWS\qb.conf

   supervisor_worker_configfile = \\Mothership\System\Qube\cfg\qbwrk.conf

But they still seem to read their local config file even though each worker has been restarted and had their
new configuration sent out from the supervisor with the command: qbadmin worker --reconfigure

Any ideas?

Many thanks,
Nikos Gatos
Passion Pictures

anthony

  • Senior Software Engineer
  • Hero Member
  • *****
  • Posts: 183
Re: Worker Config File
« Reply #1 on: June 20, 2006, 02:03:21 PM »
Hey Nikos,

     I've tested the configuration which you've listed here, and found that the worker_flags = load_profile, auto_mount, dedicated is confusing the parser.  As a general rule, if you have spaces, you need to quote it.  So you can either do this:

     worker_flags = load_profile,auto_mount,dedicated

       or
   
     worker_flags = "load_profile, auto_mount, dedicated"

   To test your configuration, just use the qbconfigfile tool located in the sbin dir of the qube installation.  This tool read the config file and displays per host, what the configuration is supposed to look like. 

     Ex.  qbconfigfile qbwrk.conf

[all]
worker_flags = "load_profile, auto_mount, dedicated"
proxy_execution_mode = proxy
worker_logmode = mounted
worker_logfile = \\Mothership\System\Qube\logs\workerlog
proxy_password = ****
worker_journal_location = \\Mothership\System\Qube\jnl\worker.jnl
worker_logpath = \\Mothership\System\Qube\logs
worker_cluster = /
proxy_account = render
[rb-01]
worker_flags = "load_profile, auto_mount, dedicated"
proxy_account = render
worker_logmode = mounted
worker_logfile = \\Mothership\System\Qube\logs\workerlog
proxy_password = ****
worker_journal_location = \\Mothership\System\Qube\jnl\worker.jnl
proxy_execution_mode = proxy
worker_cluster = /
worker_logpath = \\Mothership\System\Qube\logs
[rb-02]
worker_flags = "load_profile, auto_mount, dedicated"
proxy_account = render
worker_logmode = mounted
worker_logfile = \\Mothership\System\Qube\logs\workerlog
proxy_password = ****
worker_journal_location = \\Mothership\System\Qube\jnl\worker.jnl
proxy_execution_mode = proxy
worker_cluster = /
worker_logpath = \\Mothership\System\Qube\logs
[rb-03]
worker_flags = "load_profile, auto_mount, dedicated"
proxy_account = render
worker_logmode = mounted
worker_logfile = \\Mothership\System\Qube\logs\workerlog
proxy_password = ****
worker_journal_location = \\Mothership\System\Qube\jnl\worker.jnl
proxy_execution_mode = proxy
worker_cluster = /
worker_logpath = \\Mothership\System\Qube\logs
[rb-04]
worker_flags = "load_profile, auto_mount, dedicated"
proxy_account = render
worker_logmode = mounted
worker_logfile = \\Mothership\System\Qube\logs\workerlog
proxy_password = ****
worker_journal_location = \\Mothership\System\Qube\jnl\worker.jnl
proxy_execution_mode = proxy
worker_cluster = /
worker_logpath = \\Mothership\System\Qube\logs
[rb-05]
worker_flags = "load_profile, auto_mount, dedicated"
proxy_account = render
worker_logmode = mounted
worker_logfile = \\Mothership\System\Qube\logs\workerlog
proxy_password = ****
worker_journal_location = \\Mothership\System\Qube\jnl\worker.jnl
proxy_execution_mode = proxy
worker_cluster = /
worker_logpath = \\Mothership\System\Qube\logs
[rb-06]
worker_flags = "load_profile, auto_mount, dedicated"
proxy_account = render
worker_logmode = mounted
worker_logfile = \\Mothership\System\Qube\logs\workerlog
proxy_password = ****
worker_journal_location = \\Mothership\System\Qube\jnl\worker.jnl
proxy_execution_mode = proxy
worker_cluster = /
worker_logpath = \\Mothership\System\Qube\logs
[rb-07]
worker_flags = "load_profile, auto_mount, dedicated"
proxy_account = render
worker_logmode = mounted
worker_logfile = \\Mothership\System\Qube\logs\workerlog
proxy_password = ****
worker_journal_location = \\Mothership\System\Qube\jnl\worker.jnl
proxy_execution_mode = proxy
worker_cluster = /
worker_logpath = \\Mothership\System\Qube\logs
[rb-08]
worker_flags = "load_profile, auto_mount, dedicated"
proxy_account = render
worker_logmode = mounted
worker_logfile = \\Mothership\System\Qube\logs\workerlog
proxy_password = ****
worker_journal_location = \\Mothership\System\Qube\jnl\worker.jnl
proxy_execution_mode = proxy
worker_cluster = /
worker_logpath = \\Mothership\System\Qube\logs
[rb-09]
worker_flags = "load_profile, auto_mount, dedicated"
proxy_account = render
worker_logmode = mounted
worker_logfile = \\Mothership\System\Qube\logs\workerlog
proxy_password = ****
worker_journal_location = \\Mothership\System\Qube\jnl\worker.jnl
proxy_execution_mode = proxy
worker_cluster = /
worker_logpath = \\Mothership\System\Qube\logs

    Thanks,
          Anthony

Nikos

  • Full Member
  • ***
  • Posts: 15
Re: Worker Config File
« Reply #2 on: June 20, 2006, 03:31:09 PM »
Thanks Anthony,

It was the spaces that made it fail.
Now every node seems to read the centralized config file.

... back to more testing.  ;)

Nikos

  • Full Member
  • ***
  • Posts: 15
Re: Worker Config File
« Reply #3 on: June 20, 2006, 05:54:17 PM »
Hi Anthony,

Unfortunately I was wrong in thinking that the nodes were reading the network config file.
I had previously specified the "render" login instead of "qubeproxy" for all but one RenderNode locally and therefore thought everything was working fine. Doh!! However, looking at the local log directory I can see that files are still being written there.

Also if type "qbconfigfile qbwrk.conf" I get the error:
WARNING: file qbwrk.conf is unreadable or doesn't exist.

Instead I need to specify the full path to the worker file:
"qbconfigfile \\Mothership\System\Qube\cfg\qbwrk.conf"
Is this the correct way or am I missing some environment path?

thanks!

anthony

  • Senior Software Engineer
  • Hero Member
  • *****
  • Posts: 183
Re: Worker Config File
« Reply #4 on: June 20, 2006, 09:15:17 PM »
Hey Nikos,

     Actually, the workerlog on the local machine will always have a little bit of log data.  This is because the logging engine doesn't get the new setting until the worker has initialized. 

     As a tip, you might want to consider using different file names per log.  This is because network file manipulation can be a little tricky, and your log would almost be unusable anyway.  I suggest doing this for the log setting under [all]

worker_logfile = "\\Mylogfilelocation\${_}.workerlog"

Just for your and everyone elses reference, the configuration can actually be shorted slightly. To this:

[ all ]
worker_cluster = /
worker_journal_location = "\\Mothership\System\Qube\jnl\worker.jnl"
worker_logmode = mounted
worker_logfile = "\\Mothership\System\Qube\logs\${_}.workerlog"
worker_logpath = "\\Mothership\System\Qube\logs"
worker_flags = "load_profile, auto_mount, dedicated"
proxy_account = render   
proxy_password = ****
proxy_execution_mode = proxy

[ rb-[01-09] ] : all



Note: another thing to keep in mind, the logs directory must be open to everyone to write without password.  To illustrate the permissions, you would need to be able to do this on the command line:

dir > \\mothership\system\qube\logs\testing.txt

If you are unable to do so, then the permissons on your log directory are incorrect.  This is because the local service account needs access to the directory.  (For windows gurus)

Please keep the questions rolling. 

Thanks,
        Anthony

Nikos

  • Full Member
  • ***
  • Posts: 15
Re: Worker Config File
« Reply #5 on: June 21, 2006, 01:38:45 PM »
Thanks for the quick response Anthony,

I am able to output a text file with:
dir > \\mothership\system\qube\logs\testing.txt

So all our permissions must be ok? The server is a NetApp filter.

Right, after more examination we can confirm that the workers are reading some parts of the global config file but not all.
Looking again at our config file, the only parameter that seem to be updating on the worker node is: worker_flags.
We can add/remove flags and they update accordingly after every worker has been restarted.

   [ all ]
   worker_cluster = /
   worker_journal_location = "\\Mothership\System\Qube\jnl\worker.jnl"
   worker_logmode = mounted
   worker_logfile = "\\Mothership\System\Qube\logs\${_}.workerlog"
   worker_logpath = "\\Mothership\System\Qube\logs"
   worker_flags = "load_profile, auto_mount, dedicated"
   proxy_account = render? ?
   proxy_password = ****
   proxy_execution_mode = proxy

   [ rb-[01-09] ] : all


However, proxy_account, proxy_password, worker_logfile, etc remains with the local configuration, so unless we specify the
correct proxy_account/proxy_password on the local machine the node goes into a panic state and logs
"unable to verify password for proxy account - proxy_password misconfigured? "

Any suggestions?? ???