View Issue Details

IDProjectCategoryView StatusLast Update
1709RackTables802.1Q VLANspublic2016-11-29 07:11
ReporterMalte Schmidt Assigned Toinfrastation  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionno change required 
OSDebianOS Version8 
Product Version0.20.11 
Summary1709: 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.

Activities

Malte Schmidt

Malte Schmidt

2016-11-24 13:33

reporter   ~0003507

The function ftos8TranslatePushQueue($dummy_object_id, $queue, $vlan_names) is to be found in /wwwroot/inc/deviceconfig.php currently.
infrastation

infrastation

2016-11-24 13:37

administrator   ~0003509

Is 8021Q_WRI_AFTER_CONFT_LISTSRC set to something that matches the switch where the problem reproduces?
infrastation

infrastation

2016-11-24 13:48

administrator   ~0003511

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.
Malte Schmidt

Malte Schmidt

2016-11-28 12:30

reporter   ~0003517

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.
infrastation

infrastation

2016-11-28 12:43

administrator   ~0003519

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