Skip to content

Commit

Permalink
Merge pull request hpcc-systems#3517 from garonsky/issue-2964_Change_…
Browse files Browse the repository at this point in the history
…thor_master_without_delete

HPCC-2964 Configmgr - Allow swapping of Thor Master

Reviewed-By: Jake Smith <jake.smith@lexisnexis.com>
  • Loading branch information
richardkchapman committed Oct 17, 2012
2 parents e8651c3 + 18eda8c commit 9362daa
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 8 deletions.
28 changes: 21 additions & 7 deletions deployment/deployutils/configenvhelper.cpp
Expand Up @@ -1276,15 +1276,29 @@ bool CConfigEnvHelper::AddNewNodes(IPropertyTree* pThor, const char* szType, int
continue;

StringBuffer sName;
StringBuffer sThorMasterProcess;
sThorMasterProcess.appendf("./%s", XML_TAG_THORMASTERPROCESS);

sName.appendf("temp%d", i + 1);

// Add process node
IPropertyTree* pProcessNode = createPTree(szType);
pProcessNode->addProp(XML_ATTR_NAME, sName);
pProcessNode->addProp(XML_ATTR_COMPUTER, computers[i]->queryProp(XML_ATTR_NAME));
if (nPort != 0) pProcessNode->addPropInt(XML_ATTR_PORT, nPort);
addNode(pProcessNode, pThor);
}
IPropertyTree *pTree = (szType == NULL || strcmp(szType, XML_TAG_THORMASTERPROCESS) != 0) ? NULL : pThor->queryPropTree(sThorMasterProcess.str());
bool bAdd = false;

if (pTree == NULL)
{
bAdd = true;
pTree = createPTree(szType);
}

pTree->setProp(XML_ATTR_NAME,sName);
pTree->setProp(XML_ATTR_COMPUTER, computers[i]->queryProp(XML_ATTR_NAME));

if (nPort != 0)
pTree->setPropInt(XML_ATTR_PORT, nPort);

if (bAdd == true)
addNode(pTree, pThor);
}

RenameThorInstances(pThor);
UpdateThorAttributes(pThor);
Expand Down
11 changes: 10 additions & 1 deletion esp/files/scripts/configmgr/configmgr.js
Expand Up @@ -2545,6 +2545,14 @@ function onMenuItemClickThorTopologyDelete(p_sType, p_aArgs, p_oValue) {
},
top.document.navDT.getFileName(true) + 'Operation=Delete&XmlArgs=' + xmlStr);
}

function onMenuItemClickThorTopologySwapMaster(p_sType, p_aArgs, p_oValue)
{
var slavesPerNode = getAttrValFromArr(rows.Attributes, 'slavesPerNode');

top.document.navDT.promptThorTopology(top.document.navDT, "Master", true, slavesPerNode);
}

function onMenuItemClickThorTopology(p_sType, p_aArgs, p_oValue) {
if (top.document.forms['treeForm'].isLocked.value === 'false')
return;
Expand Down Expand Up @@ -2649,7 +2657,8 @@ function onContextMenuBeforeShow(p_sType, p_aArgs) {
],
"ThorClusterMaster": [
{ text: "Add Slaves...", onclick: { fn: onMenuItemClickThorTopology} },
{ text: "Add Spares...", onclick: { fn: onMenuItemClickThorTopology} }
{ text: "Add Spares...", onclick: { fn: onMenuItemClickThorTopology} },
{ text: "Swap Master", onclick: { fn: onMenuItemClickThorTopologySwapMaster} },
],
"ThorClusterSlave": [
{ text: "Add Spares...", onclick: { fn: onMenuItemClickThorTopology} }
Expand Down

0 comments on commit 9362daa

Please sign in to comment.