Changesets: RackTables

master c1e766e5

2017-05-04 17:11:57

infrastation

Details Diff
refine exception handling in the "redirect" module

Add a catch-all block that prints an exception. This displays an error
message instead of a blank page when in the "redirect" case there is an
exception that isn't one of the listed "soft" errors. In particular,
this change makes it possible to see PDOException errors.
Attach Issues:
mod - wwwroot/index.php Diff File

master 45fbbb35

2017-05-04 17:10:22

infrastation

Details Diff
renderUpgraderHTML(): update an error message

This is a follow-up to commit 34ed028.
Attach Issues:
mod - wwwroot/inc/upgrade.php Diff File

master 1f933131

2017-05-04 17:07:33

infrastation

Details Diff
add a SNMP block for WS-C3560X-24T (Mantis#1343)
Attach Issues:
mod - wwwroot/inc/snmp.php Diff File

master 5b7677dc

2017-05-04 16:57:41

infrastation

Details Diff
replace port triggers with table locking

It turned out after the 0.20.12 release that error handling in MySQL
triggers works differently across different installations. Several users
had reported that trying to call a non-existent stored procedure from a
trigger may fail in more than one way. The call often fails during the
trigger run time when the L2 address voilates the custom constraint (and
thus rolls the transaction back as originally intended) but sometimes it
fails at the trigger creation time (and thus fails to create the
trigger). On my installation it seems to fail on UPDATE even when the
l2address column is not involved.

Another issue was, the transaction in syncObjectPorts() used SELECT ...
FOR UPDATE to lock the rows that is was going to update or delete, but it
was not clear if the constraint would be reliably enforced for all newly
inserted L2 addresses. This way two or more concurrent transactions could
potentially execute their triggers successfully independently of each
other and insert conflicting rows afterwards.

This change addresses the above issues by switching from triggers back to
table-level locking with PHP constraint implementation. It preserves the
recently added ability to make multiple changes within a single table
lock through addDesiredPort() and syncObjectPorts(). As before, the whole
set of changes does not happen if any individual change fails a sanity
check.

* getObjectPortsAndLinksTerse(): add a new helper function to avoid table
locking complexity
* commitAddPort(): Restore the use of alreadyUsedL2Address() and the
locking removed in commit e6b7635.
* commitUpdatePort(): idem
* convertPDOException(): remove the trigger-specific error code
* alreadyUsedL2Address(): reinstate the revision before commit e6b7635
* exceptions.php: remove the now unused L2AddressException class
* syncObjectPorts(): replace the transaction with a table lock and
rearrange the code to have all checks done before making any changes
* upgrade.php: drop the triggers
* install.php: ditto
Attach Issues:
mod - wwwroot/inc/functions.php Diff File
mod - wwwroot/inc/database.php Diff File
mod - wwwroot/inc/install.php Diff File
mod - wwwroot/inc/upgrade.php Diff File
mod - ChangeLog Diff File
mod - wwwroot/inc/exceptions.php Diff File

master 7c9af289

2017-04-28 11:51:05

infrastation

Details Diff
simplify some more port management code

* syncObjectPorts(): update to take object ID only
* doSwitchSNMPmining(): update respectively
* doPDUSNMPmining(): ditto
* commitUpdatePortReal(): drop a temporary variable and switch to use a
simpler function to retrieve the comment
Attach Issues:
mod - wwwroot/inc/database.php Diff File
mod - wwwroot/inc/snmp.php Diff File
mod - wwwroot/inc/functions.php Diff File

master 3c7039b2

2017-04-28 11:02:20

infrastation

Details Diff
split some port management code

Leave commitAddPort() to deal with exceptions only and make actual
changes to the database in commitAddPortReal(), a new function. Arrange
the code across commitUpdatePort() and commitUpdatePortReal() in a
similar way.
Attach Issues:
mod - wwwroot/inc/database.php Diff File

master cebeb0ac

2017-04-27 16:54:38

infrastation

Details Diff
refine port IIF and OIF ID parsing

Move the code common to commitAddPort(), commitUpdatePort() and
addDesiredPort() out of those functions into a new helper function
parsePortIIFOIF().
Attach Issues:
mod - wwwroot/inc/database.php Diff File
mod - wwwroot/inc/functions.php Diff File

master 5e779250

2017-04-24 12:10:37

andriyanov


Committer: GitHub Details Diff
Merge pull request 195 from xornet-sl/maintenance-0.20.x

resolve ambiguous port types in selectbox
Attach Issues:

master 40edc888

2017-04-21 16:01:07

Vladimir Sukhonosov

Details Diff
resolve ambiguous port types in selectbox

add port inner type prefix into a select box when outer type is ambiguous.
ex. inner types "QSFP+" and "QSFP28" have the same "empty QSFP" outer
type
Attach Issues:
mod - ChangeLog Diff File
mod - wwwroot/inc/functions.php Diff File

master 622730a2

2017-04-21 00:28:44

Vladimir Sukhonosov


Committer: infrastation Details Diff
add Huawei CE8850-32CQ-EI
Attach Issues:
mod - wwwroot/inc/dictionary.php Diff File
mod - wwwroot/inc/snmp.php Diff File

master df67788c

2017-04-19 09:54:44

infrastation

Details Diff
update ChangeLog for the previous commit
Attach Issues:
mod - ChangeLog Diff File

master 49aec0ff

2017-04-18 23:56:28

bpothier


Committer: GitHub Details Diff
Updated to work with Cisco ucsmsdk

Old Python UcsSdk is deprecated as of 0.8.3 (https://communities.cisco.com/docs/DOC-36899).
New SDK is ucsmsdk (https://communities.cisco.com/docs/DOC-64378)
New ucsmsdk 0.9 and above changed syntax and functions.
Attach Issues:
mod - gateways/ucssdk Diff File

master 492254e6

2017-04-12 14:53:36

infrastation

Details Diff
dictionary: add a recent OpenBSD release
Attach Issues:
mod - wwwroot/inc/dictionary.php Diff File

master ff9b6ad3

2017-03-14 17:25:37

infrastation

Details Diff
spell Content-Type header name consistently

Although RFC 2616 Section 4.2 specifies header names as being
case-insensitive, Section 14.17 ibid spells "Content-Type" and that is
exactly how it appears throughout the rest of the document. Thus let's
keep it consistent in the source code too.
Attach Issues:
mod - wwwroot/index.php Diff File
mod - wwwroot/inc/exceptions.php Diff File
mod - wwwroot/inc/solutions.php Diff File

master 9d6ccf63

2017-03-14 11:25:52

infrastation

Details Diff
Travis CI: also test "make install"
Attach Issues:
mod - .travis.yml Diff File

master 44d5d40a

2017-03-13 17:27:54

infrastation

Details Diff
update the installation notes in README

Remove the notes on OS distributions that were released in or before
2009. Improve the remaining FreeBSD-specific notes.
Attach Issues:
mod - README.md Diff File

master 62273687

2017-03-13 16:46:19

infrastation

Details Diff
renderMuninServersEditor(): reformat some code

This repeats an earlier change to renderCactiServersEditor().
Attach Issues:
mod - wwwroot/inc/interface-config.php Diff File

master 7d0aa228

2017-03-12 17:41:42

infrastation

Details Diff
commitSupplementAttrMap(): make a few cleanups

Drop a range check that makes no sense because of the foreign key. Add
new checks to enforce that AttributeMap.chapter_id is set to a non-NULL
value iff attribute type is "dict". Manage default values for the
function parameters.
Attach Issues:
mod - wwwroot/inc/database.php Diff File

master dc65b122

2017-03-12 17:10:48

infrastation

Details Diff
SNMP: replace a FIXME with a draft pattern
Attach Issues:
mod - wwwroot/inc/snmp.php Diff File

master a3e93420

2017-03-12 15:56:29

infrastation

Details Diff
simplify updateUI() a bit

Place the try-catch block around the iteration, not inside.
Attach Issues:
mod - wwwroot/inc/ophandlers.php Diff File

master 81be37b2

2017-03-12 15:46:35

infrastation

Details Diff
refine minor nits around getBypassValue()
Attach Issues:
mod - wwwroot/inc/functions.php Diff File

master ef68d88c

2017-03-12 11:19:55

infrastation

Details Diff
editUserProperties(): remove a debug line
Attach Issues:
mod - wwwroot/inc/ophandlers.php Diff File

master 42f767bd

2017-03-10 22:34:22

infrastation

Details Diff
Travis CI: allow PHP 7.0 to fail

This is because it seems to be broken on Travis CI side, as the same
commit that passed the build a few days ago (012f09a) does not pass
it (as well as subsequent commits) with an error that has to do with
PHPUnit class autoloading:

PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found in
/home/travis/build/infrastation/racktables/tests/ConfigVarTest.php
on line 3

In my working copy (PHP 7.0.15) the tests pass as before. This change
does not exclude PHP 7.0 from the Travis CI build matrix so it should
be easy to see the recovery later.

While at it, reduce the git clone depth to reduce the amount of
unnecessary work.
Attach Issues:
mod - .travis.yml Diff File

master d4e63a08

2017-03-10 21:59:57

infrastation

Details Diff
refine some code around readChapter()

Don't specify the default value for chapter_id (as in earlier commits),
throw an exception if the chapter does not exist, manage SQL lettercase
and string quoting, add more tests.
Attach Issues:
mod - wwwroot/inc/database.php Diff File
mod - tests/DictionaryAttributeTest.php Diff File

master 0d1a3a92

2017-03-09 18:42:01

infrastation

Details Diff
reformat SQL code in getChapterRefc()
Attach Issues:
mod - wwwroot/inc/database.php Diff File
 First  Prev  1 2 3 ... 19 20 21 22 23 24 25 ... 40 ... 60 ... 80 ... 100 ... 120 ... 140 ... 160 ... 180 ... 200 ... 218 219 220  Next  Last