vsg creation form
authorAlexey Andriyanov <alan@al-an.info>
Thu, 16 May 2013 16:06:20 +0000 (20:06 +0400)
committerAlexey Andriyanov <alan@al-an.info>
Sun, 19 May 2013 10:50:23 +0000 (14:50 +0400)
amplifyCell: bug fixed. When vsg had no ports or vips, 'ports' and
'vips' subkeys were not created

wwwroot/inc/database.php
wwwroot/inc/navigation.php
wwwroot/inc/ophandlers.php
wwwroot/inc/slb2-interface.php

index b867a7adb5c68c4bd687b6a13962ab10a2c2f7cb..ac4ff33b57dd6721f90a6808c506bd08c69bfe9d 100644 (file)
@@ -763,6 +763,8 @@ function amplifyCell (&$record, $dummy = NULL)
                        $record['switches'][$row['object_id']] = $row;
                break;
        case 'ipvs':
+               $record['ports'] = array();
+               $record['vips'] = array();
                $result = usePreparedSelectBlade ("SELECT proto, vport, vsconfig, rsconfig FROM VSPorts WHERE vs_id = ?", array ($record['id']));
                while ($row = $result->fetch (PDO::FETCH_ASSOC))
                {
index 63ff5346827cbc762a46697576ef6eed4905b6db..faaa912953259b76a6f1e6e20b9439b8eb269ff7 100644 (file)
@@ -368,6 +368,7 @@ $tab['ipv4slb']['rspools'] = 'RS pools';
 $tab['ipv4slb']['rservers'] = 'Real servers';
 $tab['ipv4slb']['defconfig'] = 'Default configs';
 $tab['ipv4slb']['new_vs'] = 'new VS';
+$tab['ipv4slb']['new_vsg'] = 'new VS group';
 $tab['ipv4slb']['new_rs'] = 'new RS pool';
 $tabhandler['ipv4slb']['default'] = 'renderVSList';
 $tabhandler['ipv4slb']['vs'] = 'renderVSGList';
@@ -376,8 +377,10 @@ $tabhandler['ipv4slb']['rspools'] = 'renderRSPoolList';
 $tabhandler['ipv4slb']['rservers'] = 'renderRealServerList';
 $tabhandler['ipv4slb']['defconfig'] = 'renderSLBDefConfig';
 $tabhandler['ipv4slb']['new_vs'] = 'renderNewVSForm';
+$tabhandler['ipv4slb']['new_vsg'] = 'renderNewVSGForm';
 $tabhandler['ipv4slb']['new_rs'] = 'renderNewRSPoolForm';
 $ophandler['ipv4slb']['new_vs']['add'] = 'addVService';
+$ophandler['ipv4slb']['new_vsg']['add'] = 'addVSG';
 $ophandler['ipv4slb']['new_rs']['add'] = 'addRSPool';
 $ophandler['ipv4slb']['defconfig']['save'] = 'updateSLBDefConfig';
 
index 785751ff204ff3fbb76c89469823494a6ae3177c..106447492ae9dfaf60291d8ce52ede94b03d4986 100644 (file)
@@ -1582,7 +1582,18 @@ function addVService ()
        if (isset ($_REQUEST['taglist']))
                produceTagsForNewRecord ('ipv4vs', $_REQUEST['taglist'], $vs_id);
        $vsinfo = spotEntity ('ipv4vs', $vs_id);
-       return showSuccess ('Virtual service ' . mkA ($vsinfo['dname'], 'ipv4vs', $vs_id) . ' created successfully');
+       return showSuccess (mkCellA ($vsinfo) . ' created successfully');
+}
+
+function addVSG ()
+{
+       $name = assertStringArg ('name');
+       usePreparedInsertBlade ('VS', array ('name' => $name));
+       $vs_id = lastInsertID();
+       if (isset ($_REQUEST['taglist']))
+               produceTagsForNewRecord ('ipvs', $_REQUEST['taglist'], $vs_id);
+       $vsinfo = spotEntity ('ipvs', $vs_id);
+       return showSuccess (mkCellA ($vsinfo) . ' created successfully');
 }
 
 $msgcode['deleteVService']['OK'] = 49;
index cff98f46e385dd68cf400cf8e32e8ceed8bc4ce0..eb7bdc182b9929a55056ab449a1305611f17deef 100644 (file)
@@ -529,3 +529,15 @@ function renderIPVSConvert ($vs_id)
        echo '</form>';
        finishPortlet();
 }
+
+function renderNewVSGForm ()
+{
+       startPortlet ('Add new VS group');
+       printOpFormIntro ('add');
+       echo '<table border=0 cellpadding=10 cellspacing=0 align=center>';
+       echo '<tr valign=bottom><th>name</th><th>Assign tags</th></tr>';
+       echo '<tr valign=top><td><input type=text name=name></td><td>';
+       renderNewEntityTags ('ipvs');
+       echo '</td></tr></table></form>';
+       finishPortlet();
+}