Setup Problems

NCrunch Grid Node server pre-configuration

Started by avishnyakov on 7,399 views

Where does grid node store its configuration and how pre-create it?

In our scenarios, we use PowerShell DSC to deploy 8-10 grid nodes. Installation is a no-brainer, changing service to run under particular creds is also okay, but pre-configuring grid node with setting file is a bit of a mystery.

What's the right process to get it done?
In particular, where does grid node store its configuration?
Is it possible to re-create this configuration so that deploying 8-10 grid nodes won't be a problem?

More of a follow up on my old question "Distributed processing node list recommended practices". Used to do it manually, but now wanna fully automated, unattended solution for deploying and bringing up grid nodes
> http://forum.ncrunch.net/yaf_postst1683_Distributed-processing-node-list-recommended-practises.aspx

Edited

Hi, thanks for posting.

The settings are stored in the registry, under HKLM\SOFTWARE\Remco Software\NCrunch Grid Node. I'd suggest just doing a registry export of this key on a pre-configured node into a .reg file, then importing on any machine you want to run the node on.
Looks good. Would the password value remain the same across different VMs?
avishnyakov wrote:Looks good. Would the password value remain the same across different VMs?


Yes, the hash should be the same across environments.
Remco wrote:
avishnyakov wrote:Looks good. Would the password value remain the same across different VMs?


Yes, the hash should be the same across environments.



Works well, thanks! Here is DSC magic for other folks who may be interested. A very minimal config with snapshot folder and password set, enough to get GridNode up and running.
I would recommend to install GridNode manually, then set a password via UI, and then grab it from the registry.

Configuration Install_NCrunchGridNodeServer
{
Import-DscResource -Module CChoco

Node localhost
{
cChocoPackageInstaller NCrunchGrid
{
Name = 'ncrunch-gridnodeserver'
Ensure = 'Present'
AutoUpgrade = $false
Version = $Node.PackageVersion
}

File NCrunchGridWorkingFolder {
DependsOn = "[cChocoPackageInstaller]NCrunchGrid"
Type = 'Directory'
DestinationPath = 'C:\_ncrunch'
Ensure = "Present"
}

Registry NCrunchGridRegPassword {
DependsOn = "[File]NCrunchGridWorkingFolder"
Ensure = "Present"
Key = "HKLM:\SOFTWARE\Remco Software\NCrunch Grid Node"
ValueName = "Password"
ValueData = "l1baZf5Srvt2UfUmYpuaBM9hGRcsqjv+An/SokCfzk8="
ValueType = "String"
}

Registry NCrunchGridRegWorkingDir {
DependsOn = "[File]NCrunchGridWorkingFolder"
Ensure = "Present"
Key = "HKLM:\SOFTWARE\Remco Software\NCrunch Grid Node"
ValueName = "SnapshotStorageDirectory"
ValueData = "C:\_ncrunch"
ValueType = "String"
}

Service NCrunchGridService
{
DependsOn = "[Registry]NCrunchGridRegPassword", "[Registry]NCrunchGridRegWorkingDir"

Name = "NCrunchGridNode"
StartupType = "Automatic"
State = "Running"

Credential = $domainUserCreds
}
}
}

Post a reply

Log in to reply.