r4784 IPv4SLB feature has been rewritten.
authorAlexey Andriyanov <alan@al-an.info>
Thu, 8 Sep 2011 14:06:18 +0000 (14:06 +0000)
committerAlexey Andriyanov <alan@al-an.info>
Thu, 8 Sep 2011 14:06:18 +0000 (14:06 +0000)
commitdefd92d8ab9f9b1575b1c5b61fef4f30649046ab
treebb5cf66acf7672613b6243389a17a1899ba7f496
parent86d614c3a7f7eaf09b4a78c1c8936ad2c3580704
r4784 IPv4SLB feature has been rewritten.
New feature: custom macro definitions in VS and RS configs.

2 new files: slb.php and slb-interface.php. All feature-related code moved there.

ophandlers: use sic instead of _REQUEST to eliminate html entities. These functions were affected:
  addRealServer, addVService, updateSLBDefConfig, updateRealServer, updateVService, addLoadBalancer, addRSPool.

-updateRSInService: removed

hidden pages 'rservers' and 'lbs' were replaced by tabs in IPv4SLB page.

renderObject: triplets rendering code replaced by a call to renderSLBTriplets
renderIPAddress: idem, made using of new renderEntitySummary
-renderIPv4SLB: huge summary chart was removed

-renderRSPoolLBForm: removed for the sake of renderSLBEditTab
-renderVServiceLBForm: idem
-renderObjectSLB: idem

-renderRSPoolRSInServiceForm: in-service tab was removed

renderCellList: ability to display pre-filtered cell list, not all
renderCell: made using of renderSLBEntityCell for slb-related realms
-renderLBCell: removed for the sake of renderSLBEntityCell

functions moved from interface.php into slb-interface.php:
renderSLBDefConfig, renderIPv4SLB, renderLVSConfig, renderVirtualService, renderRSPoolServerForm,
renderNewSLBItemForm, renderSLBTriplets, renderRSPool, renderVSList, renderVSListEditForm,
renderRSPoolList, editRSPools, renderRealServerList, renderLBList, renderEditRSPool, renderEditVService,
renderSLBEntityCell.

database.php:
object schema changes:
 * field 'poolcount' in the realm 'ipv4vs' renamed to 'refcnt'
 * aplifyCell is no more filling 'ipv4rspools' field in the 'object' entities
 * aplifyCell is no more filling fields in the 'ipv4rspool' and 'ipv4vs' entities

-getSLBSummary: huge summary chart was removed
-getSLBConfig: removed function
-commitSetInService: removed function
-getRSPoolsForObject: removed function

functions moved from database.php into slb.php:
 addRStoRSPool, addLBtoRSPool, commitDeleteVS, commitUpdateRS, commitUpdateVS, commitCreateRSPool,
 commitDeleteRSPool, getRSList, getLBList, commitUpdateSLBDefConf, getSLBDefaults

-lf_wrap: removed function
-apply_macros: idem
buildLVSConfig: moved into slb.php, now it is a wrapper around SLBTriplet::generateConfig
getIPv4VSOptions: moved into slb.php
getIPv4RSPoolOptions: idem

-trigger_poolrscount: removed unused trigger.

new classes: SLBTriplet, MacroParser.
new functions:
 renderSLBEntityCell, renderSLBEditTab, renderSLBTripletsEdit, buildEntityLVSConfig
wwwroot/css/pi.css
wwwroot/inc/database.php
wwwroot/inc/functions.php
wwwroot/inc/init.php
wwwroot/inc/interface-lib.php
wwwroot/inc/interface.php
wwwroot/inc/navigation.php
wwwroot/inc/ophandlers.php
wwwroot/inc/slb-interface.php [new file with mode: 0644]
wwwroot/inc/slb.php [new file with mode: 0644]
wwwroot/inc/triggers.php