add a new 'management interface' object type
authorAaron Dummer <aaron@dummer.info>
Sat, 8 Sep 2012 23:10:36 +0000 (16:10 -0700)
committerDenis Ovsienko <infrastation@yandex.ru>
Thu, 13 Sep 2012 10:27:31 +0000 (14:27 +0400)
wwwroot/inc/dictionary.php
wwwroot/inc/gateways.php
wwwroot/inc/install.php
wwwroot/inc/ophandlers.php
wwwroot/inc/triggers.php
wwwroot/inc/upgrade.php

index 8462f3d..59a5670 100644 (file)
@@ -1869,7 +1869,10 @@ $dictionary = array
        1784 => array ('chapter_id' => 12, 'dict_value' => 'Cisco%GPASS%SF 300-24P'),
        1785 => array ('chapter_id' => 12, 'dict_value' => 'Cisco%GPASS%SG 300-10'),
        1786 => array ('chapter_id' => 14, 'dict_value' => 'Marvell ROS 1.1'),
-       1787 => array ('chapter_id' => 31, 'dict_value' => 'Cisco%GPASS%UCS Domain'),
+       1787 => array ('chapter_id' => 1, 'dict_value' => 'Management interface'),
+       1788 => array ('chapter_id' => 38, 'dict_value' => 'Cisco%GPASS%UCS Domain'),
+       1789 => array ('chapter_id' => 38, 'dict_value' => 'Generic%GPASS%Switch stack'),
+       1790 => array ('chapter_id' => 38, 'dict_value' => 'VMware%GPASS%vSphere instance'),
 
 # Any new "default" dictionary records must go above this line (i.e., with
 # dict_key code less, than 50000). This is necessary to keep AUTO_INCREMENT
index 1b6b750..6d98cee 100644 (file)
@@ -393,17 +393,17 @@ function detectDeviceBreed ($object_id)
                $breed_by_swcode[$i] = 'linux';
        for ($i = 1417; $i <= 1422; $i++)
                $breed_by_swcode[$i] = 'linux';
-       $breed_by_hwcode = array
-       (
-               1787 => 'ucs',
-       );
+       $breed_by_hwcode = array();
        for ($i = 589; $i <= 637; $i++)
                $breed_by_hwcode[$i] = 'dlink';
+       $breed_by_mgmtcode = array (1788 => 'ucs');
        foreach (getAttrValues ($object_id) as $record)
                if ($record['id'] == 4 and array_key_exists ($record['key'], $breed_by_swcode))
                        return $breed_by_swcode[$record['key']];
                elseif ($record['id'] == 2 and array_key_exists ($record['key'], $breed_by_hwcode))
                        return $breed_by_hwcode[$record['key']];
+               elseif ($record['id'] == 30 and array_key_exists ($record['key'], $breed_by_mgmtcode))
+                       return $breed_by_mgmtcode[$record['key']];
        return '';
 }
 
index a0d0c18..66e6021 100644 (file)
@@ -1081,6 +1081,7 @@ INSERT INTO `Attribute` (`id`, `type`, `name`) VALUES
 (27,'uint','Height, units'),
 (28,'string','Slot number'),
 (29,'uint','Sort order'),
+(30,'dict','Mgmt type'),
 -- ^^^^^ Any new "default" attributes must go above this line! ^^^^^
 -- Primary key value 9999 makes sure, that AUTO_INCREMENT on server restart
 -- doesn't drop below 10000 (other code relies on this, site-specific
@@ -1114,6 +1115,7 @@ INSERT INTO `Chapter` (`id`, `sticky`, `name`) VALUES
 (35,'no','power supply models'),
 (36,'no','serial console server models'),
 (37,'no','wireless OS type'),
+(38,'no','management interface type'),
 -- Default chapters must have ID less than 10000, add them above this line.
 (9999,'no','multiplexer models');
 
@@ -1259,7 +1261,10 @@ INSERT INTO `AttributeMap` (`objtype_id`, `attr_id`, `chapter_id`) VALUES
 (1562,14,NULL),
 (1644, 1, NULL),
 (1644, 2, 36),
-(1644, 3, NULL);
+(1644, 3, NULL),
+(1787,3,NULL),
+(1787,14,NULL),
+(1787,30,38);
 
 INSERT INTO `PortInnerInterface` VALUES
 (1,'hardwired'),
index 18e8205..59aeeef 100644 (file)
@@ -1331,7 +1331,7 @@ function resetUIConfig()
        setConfigVar ('PREVIEW_IMAGE_MAXPXS', '320');
        setConfigVar ('VENDOR_SIEVE', '');
        setConfigVar ('IPV4LB_LISTSRC', 'false');
-       setConfigVar ('IPV4OBJ_LISTSRC','{$typeid_4} or {$typeid_7} or {$typeid_8} or {$typeid_12} or {$typeid_445} or {$typeid_447} or {$typeid_798} or {$typeid_1504} or {\$typeid_1507} or {\$typeid_1787}');
+       setConfigVar ('IPV4OBJ_LISTSRC','{$typeid_4} or {$typeid_7} or {$typeid_8} or {$typeid_12} or {$typeid_445} or {$typeid_447} or {$typeid_798} or {$typeid_1504} or {\$typeid_1507} or {\$typeid_1788}');
        setConfigVar ('IPV4NAT_LISTSRC','{$typeid_4} or {$typeid_7} or {$typeid_8} or {$typeid_798}');
        setConfigVar ('ASSETWARN_LISTSRC','{$typeid_4} or {$typeid_7} or {$typeid_8}');
        setConfigVar ('NAMEWARN_LISTSRC','{$typeid_4} or {$typeid_7} or {$typeid_8}');
index 7293495..0d685e2 100644 (file)
@@ -353,9 +353,9 @@ function trigger_ucs()
        return checkTypeAndAttribute
        (
                getBypassValue(),
-               1502, # server chassis
-               2, # HW type
-               array (1787) # UCS Manager
+               1787, # management interface
+               30, # mgmt type
+               array (1788) # UCS Manager
        );
 }
 
index c49e2ba..dbb3915 100644 (file)
@@ -205,6 +205,7 @@ function getDBUpgradePath ($v1, $v2)
                '0.19.13',
                '0.19.14',
                '0.20.0',
+               '0.20.1',
        );
        if (!in_array ($v1, $versionhistory) or !in_array ($v2, $versionhistory))
                return NULL;
@@ -1505,6 +1506,15 @@ CREATE VIEW `RackObject` AS SELECT id, name, label, objtype_id, asset_no, has_pr
 
                        $query[] = "UPDATE Config SET varvalue = '0.20.0' WHERE varname = 'DB_VERSION'";
                        break;
+               case '0.20.1':
+                       // new 'management interface' object type
+                       $query[] = "INSERT INTO `Chapter` (`id`,`sticky`,`name`) VALUES (38,'no','management interface type')";
+                       $query[] = "INSERT INTO `Attribute` (`id`,`type`,`name`) VALUES (30,'dict','Mgmt type')";
+                       $query[] = "INSERT INTO `AttributeMap` (`objtype_id`,`attr_id`,`chapter_id`) VALUES (1787,3,NULL),(1787,14,NULL),(1787,30,38)";
+                       $query[] = "UPDATE `Config` SET varvalue = CONCAT(varvalue, ' or {\$typeid_1787}') WHERE varname = 'IPV4OBJ_LISTSRC'";
+
+                       $query[] = "UPDATE Config SET varvalue = '0.20.1' WHERE varname = 'DB_VERSION'";
+                       break;
                case 'dictionary':
                        $query = reloadDictionary();
                        break;