RackTables BT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001709RackTables802.1Q VLANspublic2016-11-24 13:302016-11-29 07:11
ReporterMalte Schmidt 
Assigned Toinfrastation 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionno change required 
PlatformOSDebianOS Version8
Product Version0.20.11 
Target VersionFixed in Version 
Summary0001709: VLAN "write memory" for FTOS-devices does not work
DescriptionIn case of changing the VLAN configuration it is applied (as running-config) but the "write memory"-command is not being sent which leads to problems if not noticed before rebooting (or power loss) of the switches.
Steps To Reproduce1. have a FTOS-based device (Force10 S55 in my case)
2. change VLAN-configuration
3. sync it with the device
4. compare running-config and startup-config on the device
Additional InformationWhen running "write memory" manually it works.
When changing the function ftos8TranslatePushQueue($dummy_object_id, $queue, $vlan_names) to return "write memory\n" in every case, it works (return $ret . "write memory\nexit\n";)
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0003507)
Malte Schmidt (reporter)
2016-11-24 13:33

The function ftos8TranslatePushQueue($dummy_object_id, $queue, $vlan_names) is to be found in /wwwroot/inc/deviceconfig.php currently.
(0003509)
infrastation (administrator)
2016-11-24 13:37

Is 8021Q_WRI_AFTER_CONFT_LISTSRC set to something that matches the switch where the problem reproduces?
(0003511)
infrastation (administrator)
2016-11-24 13:48

That matters because if you look into the function exportSwitch8021QConfig() in functions.php, you will see the "save configuration" pseudo-command gets on the end of the deploy job depending on the condition, then a breed-specific translator maps it to the particular language understood by the switch. In case of FTOS/S55 that indeed is ftos8TranslatePushQueue() and you can see it knows how to save configuration, it just needs to be told to issue the command. In other words, properly configured everything should just work.
(0003517)
Malte Schmidt (reporter)
2016-11-28 12:30

I was rgrep-ing for the mentioned variable:

rgrep "8021Q_WRI_AFTER_CONFT_LISTSRC" . | grep -v ".sql"
./wwwroot/inc/ophandlers.php: '8021Q_WRI_AFTER_CONFT_LISTSRC' => 'false',
./wwwroot/inc/install.php:('8021Q_WRI_AFTER_CONFT_LISTSRC','false','string','no','no','no','802.1Q: save device configuration after deploy (RackCode)'),
./wwwroot/inc/functions.php: if (considerConfiguredConstraint (spotEntity ('object', $vswitch['object_id']), '8021Q_WRI_AFTER_CONFT_LISTSRC'))
./wwwroot/inc/upgrade.php: $query[] = "UPDATE Config SET varname='8021Q_WRI_AFTER_CONFT_LISTSRC', varvalue='false', description='802.1Q: save device configuration after deploy (RackCode)' WHERE varname='8021Q_WRI_AFTER_CONFT'";

Since it was set to "false" in "ophandlers" I changed it to "true". That did not change the behaviour.

Then I checked the database:

mysql> select * from Config where varname LIKE '%8021Q_WRI_AFTER_CONFT_LISTSRC%' \G
*************************** 1. row ***************************
       varname: 8021Q_WRI_AFTER_CONFT_LISTSRC
      varvalue: false
       vartype: string
       emptyok: no
     is_hidden: no
is_userdefined: no
   description: 802.1Q: save device configuration after deploy (RackCode)
1 row in set (0.00 sec)

Then I updated that setting:

mysql> update Config set varvalue = 'true' where varname = '8021Q_WRI_AFTER_CONFT_LISTSRC';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from Config where varname LIKE '%8021Q_WRI_AFTER_CONFT_LISTSRC%' \G
*************************** 1. row ***************************
       varname: 8021Q_WRI_AFTER_CONFT_LISTSRC
      varvalue: true
       vartype: string
       emptyok: no
     is_hidden: no
is_userdefined: no
   description: 802.1Q: save device configuration after deploy (RackCode)
1 row in set (0.00 sec)

And et voilà - works.
(0003519)
infrastation (administrator)
2016-11-28 12:43

The case looks resolved then. FYI, this option can be changed more conveniently in Configuration -> User interface.

- Issue History
Date Modified Username Field Change
2016-11-24 13:30 Malte Schmidt New Issue
2016-11-24 13:30 Malte Schmidt Status new => assigned
2016-11-24 13:30 Malte Schmidt Assigned To => infrastation
2016-11-24 13:33 Malte Schmidt Note Added: 0003507
2016-11-24 13:37 infrastation Note Added: 0003509
2016-11-24 13:48 infrastation Note Added: 0003511
2016-11-28 10:45 infrastation Status assigned => feedback
2016-11-28 12:30 Malte Schmidt Note Added: 0003517
2016-11-28 12:30 Malte Schmidt Status feedback => assigned
2016-11-28 12:43 infrastation Note Added: 0003519
2016-11-29 07:11 Malte Schmidt Status assigned => closed
2016-11-29 07:11 Malte Schmidt Resolution open => no change required


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker