Package Products :: Package ZenModel :: Module IpNetwork :: Class IpNetwork
[hide private]
[frames] | no frames]

Class IpNetwork

source code

                                                        object --+                
                                                                 |                
                                         ZenModelBase.ZenModelBase --+            
                                                                     |            
                               ExtensionClass.Base --+               |            
                                                     |               |            
                         OFS.CopySupport.CopyContainer --+           |            
                                                         |           |            
              ZenRelations.RelCopySupport.RelCopyContainer --+       |            
                                                             |       |            
                               ExtensionClass.Base --+       |       |            
                                                     |       |       |            
                         OFS.CopySupport.CopyContainer --+   |       |            
                                                         |   |       |            
                               ExtensionClass.Base --+   |   |       |            
                                                     |   |   |       |            
                             App.Management.Navigation --+   |       |            
                                                         |   |       |            
                               ExtensionClass.Base --+   |   |       |            
                                                     |   |   |       |            
                                   App.Management.Tabs --+   |       |            
                                                         |   |       |            
                                  Acquisition.Implicit --+   |       |            
                                                         |   |       |            
                                Persistence.Persistent --+   |       |            
                                                         |   |       |            
                           ExtensionClass.Base --+       |   |       |            
                                                 |       |   |       |            
            webdav.EtagSupport.EtagSupport --+   |       |   |       |            
                                             |   |       |   |       |            
                  webdav.Lockable.LockableItem --+       |   |       |            
                                                 |       |   |       |            
                          webdav.Resource.Resource --+   |   |       |            
                                                     |   |   |       |            
                          webdav.Collection.Collection --+   |       |            
                                                         |   |       |            
                           OFS.Traversable.Traversable --+   |       |            
                                                         |   |       |            
                           OFS.ObjectManager.ObjectManager --+       |            
                                                             |       |            
                               ExtensionClass.Base --+       |       |            
                                                     |       |       |            
                           ExtensionClass.Base --+   |       |       |            
                                                 |   |       |       |            
                        OFS.CopySupport.CopySource --+       |       |            
                                                     |       |       |            
                           ExtensionClass.Base --+   |       |       |            
                                                 |   |       |       |            
                               App.Management.Tabs --+       |       |            
                                                     |       |       |            
                       OFS.Traversable.Traversable --+       |       |            
                                                     |       |       |            
                         AccessControl.Owned.Owned --+       |       |            
                                                     |       |       |            
                              ZenRelations.ZItem.ZItem --+   |       |            
                                                         |   |       |            
                                  Acquisition.Implicit --+   |       |            
                                                         |   |       |            
                        AccessControl.Role.RoleManager --+   |       |            
                                                         |   |       |            
  ZenRelations.PrimaryPathObjectManager.PrimaryPathManager --+       |            
                                                             |       |            
                                   ExtensionClass.Base --+   |       |            
                                                         |   |       |            
                                      App.Undo.UndoSupport --+       |            
                                                             |       |            
ZenRelations.PrimaryPathObjectManager.PrimaryPathObjectManager --+   |            
                                                                 |   |            
                                                    object --+   |   |            
                                                             |   |   |            
                                   ExtensionClass.Base --+   |   |   |            
                                                         |   |   |   |            
                                 OFS.ZDOM.Node --+       |   |   |   |            
                                                 |       |   |   |   |            
                                  OFS.ZDOM.Element --+   |   |   |   |            
                                                     |   |   |   |   |            
                        OFS.ZDOM.ElementWithAttributes --+   |   |   |            
                                                         |   |   |   |            
                       OFS.PropertyManager.PropertyManager --+   |   |            
                                                             |   |   |            
            ZenRelations.ZenPropertyManager.ZenPropertyManager --+   |            
                                                                 |   |            
              ZenRelations.RelationshipManager.RelationshipManager --+            
                                                                     |            
                                           ExtensionClass.Base --+   |            
                                                                 |   |            
                                            OFS.History.Historical --+            
                                                                     |            
                                                        object --+   |            
                                                                 |   |            
                                               ZenPacker.ZenPacker --+            
                                                                     |            
                                                 ZenModelRM.ZenModelRM --+        
                                                                         |        
                                                            object --+   |        
                                                                     |   |        
                                                   EventView.EventView --+        
                                                                         |        
                                                       Organizer.Organizer --+    
                                                                             |    
                                       DeviceManagerBase.DeviceManagerBase --+    
                                                                             |    
                                                   Commandable.Commandable --+    
                                                                             |    
                                                   ZenMenuable.ZenMenuable --+    
                                                                             |    
                               MaintenanceWindowable.MaintenanceWindowable --+    
                                                                             |    
                             AdministrativeRoleable.AdministrativeRoleable --+    
                                                                             |    
                                               DeviceOrganizer.DeviceOrganizer --+
                                                                                 |
                                                                                IpNetwork

IpNetwork object

Instance Methods [hide private]
Organizer
__init__(self, id, netmask=24, description='', version=4) source code
 
manage_addIpNetwork(self, newPath, REQUEST=None)
From the GUI, create a new subnet (if necessary)
source code
boolean
>>> dmd.Devices.checkValidId('^*')
'The id "^*" contains characters illegal in URLs.'
>>> dmd.Devices.checkValidId('Server')
'The id "Server" is invalid - it is already in use.'
>>> dmd.Devices.checkValidId('ZenTestId')
True
checkValidId(self, id, prep_id=False)
Checks a valid id
source code
 
getNetworkRoot(self, version=None)
This is a hook method do not remove!
source code
 
createNet(self, netip, netmask=24)
Return and create if necessary network.
source code
 
rebalance(self, netobjParent, netobj)
Look for children of the netobj at this level and move them to the right spot.
source code
 
findNet(self, netip, netmask=0)
Find and return the subnet of this IpNetwork that matches the requested netip and netmask.
source code
 
getNet(self, ip)
Return the net starting form the Networks root for ip.
source code
 
_getNet(self, ip)
Recurse down the network tree to find the net of ip.
source code
 
createIp(self, ip, netmask=24)
Return an ip and create if nessesary in a hierarchy of subnetworks based on the zParameter zDefaulNetworkTree.
source code
 
freeIps(self)
Number of free Ips left in this network.
source code
 
hasIp(self, ip)
Could this network contain this IP?
source code
 
fullIpList(self)
Return a list of all IPs in this network.
source code
 
deleteUnusedIps(self)
Delete ips that are unused in this network.
source code
 
defaultRouterIp(self)
Return the ip of the default router for this network.
source code
 
getNetworkName(self)
return the full network name of this network
source code
 
primarySortKey(self)
Sort by the IP numeric
source code
 
addSubNetwork(self, ip, netmask=24)
Return and add if nessesary subnetwork to this network.
source code
 
getSubNetwork(self, ip)
get an ip on this network
source code
 
getSubNetworks(self)
Return all network objects below this one.
source code
 
addIpAddress(self, ip, netmask=24)
add ip to this network and return it
source code
 
getIpAddress(self, ip)
get an ip on this network
source code
 
manage_deleteIpAddresses(self, ipaddresses=(), REQUEST=None)
Delete ipaddresses by id from this network.
source code
 
countIpAddresses(self, inuse=False)
get an ip on this network
source code
 
countDevices(self, inuse=False)
get an ip on this network
source code
 
getAllCounts(self, devrel=None)
Count all devices within a device group and get the ping and snmp counts as well
source code
 
pingStatus(self, devrel=None)
aggregate ping status for all devices in this group and below
source code
 
snmpStatus(self, devrel=None)
aggregate snmp status for all devices in this group and below
source code
list
getSubDevices(self, filter=None)
get all the devices under and instance of a DeviceGroup
source code
 
findIp(self, ip)
Find an ipAddress.
source code
 
buildZProperties(self) source code
 
reIndex(self)
Go through all ips in this tree and reindex them.
source code
 
createCatalog(self)
make the catalog for device searching
source code
 
discoverNetwork(self, REQUEST=None) source code
 
discoverDevices(self, organizerPaths=None, REQUEST=None)
Load a device into the database connecting its major relations and collecting its configuration.
source code
 
setupLog(self, response)
setup logging package to send to browser
source code
 
clearLog(self) source code
 
loaderFooter(self, response)
add navigation links to the end of the loader output
source code
 
getXMLEdges(self, depth=1, filter='/', start=())
Gets XML
source code
string
getIconPath(self)
gets icon
source code
string
urlLink(self, text=None, url=None, attrs={})
Return an anchor tag if the user has access to the remote object.
source code

Inherited from DeviceOrganizer.DeviceOrganizer: collectDevice, deviceClassMoveTargets, getLinks, getMonitoredComponents, getPrettyLink, getSubDevicesGen, getSubDevicesGenTest, getSubDevicesGen_recursive, getSubDevices_recursive, getUrlForUserCommands, getUserCommandTargets, index_object, lockDevicesFromDeletion, lockDevicesFromUpdates, manage_addAdministrativeRole, manage_deleteAdministrativeRole, manage_editAdministrativeRoles, manage_snmpCommunity, moveDevicesToClass, setGroups, setLocation, setManageIp, setPerformanceMonitor, setPriority, setProdState, setSystems, statusColor, unindex_object, unlockDevices

Inherited from Organizer.Organizer: childIds, childMoveTargets, children, countChildren, createOrganizer, deviceMoveTargets, exportXmlHook, getChildMoveTarget, getDmdKey, getOrganizer, getOrganizerName, getOrganizerNames, getSubInstanceIds, getSubInstances, getSubInstancesGen, getSubOrganizers, manage_addOrganizer, manage_deleteOrganizer, manage_deleteOrganizers, moveOrganizer

Inherited from Organizer.Organizer (private): _getCatalog

Inherited from ZenModelRM.ZenModelRM: changePythonClass, creator, editableDeviceList, findChild, getCreatedTimeString, getModificationTimeString, getSubObjects, getTreeItems, getZenRootNode, reindex_all, rename, setTitle, viewName, zmanage_addProperty, zmanage_delObjects, zmanage_delProperties, zmanage_editProperties, zmanage_exportObject, zmanage_importObject, zmanage_importObjects

Inherited from ZenModelBase.ZenModelBase: __call__, __hash__, all_meta_types, aqBaseHasAttr, breadCrumbs, callZenScreen, checkRemotePerm, createHierarchyObj, custPropertyIds, custPropertyMap, getBreadCrumbName, getBreadCrumbUrlPath, getDmd, getDmdObj, getDmdRoot, getHierarchyObj, getIdLink, getNowString, getObjByPath, getPrimaryDmdId, getUnusedId, getZopeObj, helpLink, isLocalName, manage_deleteObjects, prepId, saveCustProperties, todayDate, upToOrganizerBreadCrumbs, view, visibleCustPropertyMap, yesterdayDate, zenScreenUrl, zenpathjoin, zenpathsplit, zentinelTabs

Inherited from ZenModelBase.ZenModelBase (private): _selectedTabName

Inherited from ZenRelations.RelationshipManager.RelationshipManager: addRelation, buildRelations, cb_isMoveable, checkRelations, exportXml, exportXmlProperties, exportXmlRelationships, getRelationshipManagerId, getRelationshipNames, getRelationships, manage_addRelation, manage_removeRelation, manage_workspace, moveMeBetweenRels, moveObject, removeRelation

Inherited from ZenRelations.RelCopySupport.RelCopyContainer: manage_linkObjects, manage_unlinkObjects

Inherited from OFS.ObjectManager.ObjectManager: __class_init__, __contains__, __delitem__, __getitem__, __iter__, __len__, __nonzero__, __setitem__, filtered_meta_types, get, getSiteManager, hasObject, items, keys, list_imports, manage_FTPlist, manage_FTPstat, manage_afterAdd, manage_afterClone, manage_beforeDelete, manage_delObjects, manage_exportObject, manage_hasId, manage_importObject, objectIds, objectIds_d, objectItems, objectItems_d, objectMap, objectMap_d, objectValues, objectValues_d, setSiteManager, superValues, tpValues, values

Inherited from OFS.ObjectManager.ObjectManager (private): _delOb, _getImportPaths, _getOb, _importObjectFromFile, _setOb, _subobject_permissions

Inherited from OFS.CopySupport.CopyContainer: cb_dataItems, cb_dataValid, manage_CopyContainerAllItems, manage_CopyContainerFirstItem, manage_clone, manage_copyObjects, manage_cutObjects, manage_pasteObjects, manage_renameObject, manage_renameObjects, validClipData

Inherited from OFS.CopySupport.CopyContainer (private): _get_id

Inherited from App.Management.Navigation: manage_zmi_logout

Inherited from ZenRelations.PrimaryPathObjectManager.PrimaryPathManager: getPrimaryId, getPrimaryParent, getPrimaryPath, getPrimaryUrlPath, primaryAq

Inherited from ZenRelations.ZItem.ZItem: __repr__, getId, manage_editedDialog, this, titleOrId, title_and_id, title_or_id, tpURL

Inherited from OFS.CopySupport.CopySource: cb_isCopyable, cb_userHasCopyOrMovePermission

Inherited from OFS.CopySupport.CopySource (private): _canCopy, _postCopy, _setId

Inherited from App.Management.Tabs: filtered_manage_options, tabs_path_default, tabs_path_info

Inherited from webdav.Collection.Collection: DELETE, HEAD, PUT, dav__init, listDAVObjects

Inherited from webdav.Resource.Resource: COPY, LOCK, MKCOL, MOVE, OPTIONS, PROPFIND, PROPPATCH, TRACE, UNLOCK, dav__simpleifhandler, dav__validate, manage_DAVget

Inherited from webdav.Lockable.LockableItem: wl_clearLocks, wl_delLock, wl_getLock, wl_hasLock, wl_isLocked, wl_lockItems, wl_lockTokens, wl_lockValues, wl_lockmapping, wl_setLock

Inherited from webdav.EtagSupport.EtagSupport: http__etag, http__parseMatchList, http__processMatchHeaders, http__refreshEtag

Inherited from OFS.Traversable.Traversable: absolute_url, absolute_url_path, getPhysicalPath, restrictedTraverse, unrestrictedTraverse, virtual_url_path

Inherited from App.Undo.UndoSupport: get_request_var_or_attr, manage_undo_transactions, undoable_transactions

Inherited from ZenRelations.ZenPropertyManager.ZenPropertyManager: deleteZenProperty, exportZProperties, getOverriddenObjects, getProperty, getPropertyType, getZ, hasProperty, isLocal, manage_editProperties, saveZenProperties, setZenProperty, zenPropIsPassword, zenPropertyIds, zenPropertyItems, zenPropertyMap, zenPropertyOptions, zenPropertyPath, zenPropertyString

Inherited from OFS.History.Historical: manage_afterHistoryCopy, manage_beforeHistoryCopy, manage_change_history, manage_historicalComparison, manage_historyCompare, manage_historyCopy

Inherited from ZenPacker.ZenPacker: addToZenPack, eligiblePacks, findObject

Inherited from EventView.EventView: getEventManager, getEventSeveritiesCount, getEventSummary, getStatus, getStatusCssClass, getStatusImgSrc, getStatusString, getUUID, getWorstEventSeverity, manage_ackEvents, manage_deleteEvents, manage_undeleteEvents

Inherited from OFS.PropertyManager.PropertyManager: manage_addProperty, manage_changeProperties, manage_changePropertyTypes, manage_delProperties, propdict, propertyDescription, propertyIds, propertyItems, propertyLabel, propertyMap, propertyValues, valid_property_id

Inherited from OFS.PropertyManager.PropertyManager (private): _delPropValue, _delProperty, _propertyMap, _wrapperCheck

Inherited from OFS.ZDOM.ElementWithAttributes: getAttribute, getAttributeNode, getAttributes

Inherited from OFS.ZDOM.Element: getChildNodes, getElementsByTagName, getFirstChild, getLastChild, getNextSibling, getNodeName, getNodeType, getParentNode, getPreviousSibling, getTagName

Inherited from OFS.ZDOM.Node: getNodeValue, getOwnerDocument, hasChildNodes

Inherited from DeviceManagerBase.DeviceManagerBase: getDevices, removeDevices

Inherited from Commandable.Commandable: compile, doCommandForTarget, getAqChainForUserCommands, getUserCommand, getUserCommandEnvironment, getUserCommandIds, getUserCommands, manage_addUserCommand, manage_deleteUserCommand, manage_doUserCommand, manage_editUserCommand, redirectToUserCommands, write

Inherited from ZenMenuable.ZenMenuable: buildMenus, getMenus, manage_addItemsToZenMenu, manage_addZenMenu, manage_addZenMenuItem, manage_deleteZenMenu, manage_deleteZenMenuItem, manage_saveMenuItemOrdering

Inherited from MaintenanceWindowable.MaintenanceWindowable: getMaintenanceWindows, manage_addMaintenanceWindow, manage_deleteMaintenanceWindow

Inherited from AdministrativeRoleable.AdministrativeRoleable: getAdministrativeRoles, manage_listAdministrativeRoles, setAdminLocalRoles

Class Methods [hide private]

Inherited from ZenRelations.RelationshipManager.RelationshipManager: lookupSchema

Class Variables [hide private]
  isInTree = True
  buildLinks = True
  dmdRootName = "Networks"
  default_catalog = 'ipSearch'
  meta_type = 'IpNetwork'
  portal_type = 'IpNetwork'
  version = 4
  _properties = {'id': 'netmask', 'type': 'int', 'mode': 'w'}, {...
  _relations = DeviceOrganizer._relations+(("ipaddresses", ToMan...
  factory_type_information = {'id': 'IpNetwork', 'meta_type': 'I...
  security = ClassSecurityInfo()

Inherited from ZenModelBase.ZenModelBase: index_html, sub_meta_types

Inherited from ZenModelBase.ZenModelBase (private): _zendoc

Inherited from ZenRelations.RelationshipManager.RelationshipManager: manage_main, manage_options

Inherited from OFS.ObjectManager.ObjectManager: has_order_support, isAnObjectManager, isPrincipiaFolderish, manage_addProduct, manage_importExportForm, manage_index_main, meta_types

Inherited from OFS.ObjectManager.ObjectManager (private): _components, _objects

Inherited from OFS.CopySupport.CopyContainer: manage_renameForm

Inherited from App.Management.Navigation: manage, manage_copyright, manage_form_title, manage_menu, manage_page_footer, manage_page_header, manage_top_frame, manage_zmi_prefs, zope_quick_start

Inherited from ZenRelations.ZItem.ZItem: REQUEST, __allow_access_to_unprotected_subobjects__, __name__, __propsets__, getId__roles__, icon, id, isTopLevelPrincipiaApplicationObject, title

Inherited from App.Management.Tabs: manage_tabs, manage_workspace__roles__

Inherited from webdav.Collection.Collection: __dav_collection__

Inherited from webdav.Resource.Resource: __dav_resource__, __http_methods__

Inherited from OFS.Traversable.Traversable: getPhysicalRoot

Inherited from App.Undo.UndoSupport: manage_UndoForm

Inherited from ZenRelations.ZenPropertyManager.ZenPropertyManager: __pychecker__, manage_propertiesForm

Inherited from OFS.History.Historical: HistoricalRevisions, manage_change_history_page

Inherited from OFS.History.Historical (private): _manage_historyComparePage

Inherited from OFS.PropertyManager.PropertyManager: manage_propertyTypeForm, propertysheets

Inherited from OFS.PropertyManager.PropertyManager (private): _reserved_names

Inherited from Commandable.Commandable: defaultTimeout

Method Details [hide private]

__init__(self, id, netmask=24, description='', version=4)
(Constructor)

source code 
Parameters:
  • id - Name of this organizer
  • description - A decription of this organizer
Returns: Organizer
Overrides: ZenRelations.RelationshipManager.RelationshipManager.__init__

checkValidId(self, id, prep_id=False)

source code 

Checks a valid id

Returns: boolean
>>> dmd.Devices.checkValidId('^*')
'The id "^*" contains characters illegal in URLs.'
>>> dmd.Devices.checkValidId('Server')
'The id "Server" is invalid - it is already in use.'
>>> dmd.Devices.checkValidId('ZenTestId')
True
Overrides: ZenModelBase.ZenModelBase.checkValidId

createNet(self, netip, netmask=24)

source code 

Return and create if necessary network. netip is in the form 1.1.1.0/24 or with netmask passed as parameter. Subnetworks created based on the zParameter zDefaulNetworkTree. Called by IpNetwork.createIp and IpRouteEntry.setTarget If the netmask is invalid, then a netmask of 24 is assumed.

Parameters:
  • netip (string) - network IP address start
  • netmask (integer) - network mask

To Do: investigate IPv6 issues

defaultRouterIp(self)

source code 

Return the ip of the default router for this network. It is based on zDefaultRouterNumber which specifies the sequence number that locates the router in this network. If: zDefaultRouterNumber==1 for 10.2.1.0/24 -> 10.2.1.1 zDefaultRouterNumber==254 for 10.2.1.0/24 -> 10.2.1.254 zDefaultRouterNumber==1 for 10.2.2.128/25 -> 10.2.2.129 zDefaultRouterNumber==126 for 10.2.2.128/25 -> 10.2.2.254

primarySortKey(self)

source code 

Sort by the IP numeric

>>> net = dmd.Networks.addSubNetwork('1.2.3.0', 24)
>>> net.primarySortKey()
16909056L
Overrides: ZenModelRM.ZenModelRM.primarySortKey

countDevices(self, inuse=False)

source code 

get an ip on this network

Overrides: DeviceOrganizer.DeviceOrganizer.countDevices

getAllCounts(self, devrel=None)

source code 

Count all devices within a device group and get the ping and snmp counts as well

Overrides: DeviceOrganizer.DeviceOrganizer.getAllCounts

pingStatus(self, devrel=None)

source code 

aggregate ping status for all devices in this group and below

Overrides: DeviceOrganizer.DeviceOrganizer.pingStatus

snmpStatus(self, devrel=None)

source code 

aggregate snmp status for all devices in this group and below

Overrides: DeviceOrganizer.DeviceOrganizer.snmpStatus

getSubDevices(self, filter=None)

source code 

get all the devices under and instance of a DeviceGroup

Parameters:
  • devfilter - Filter function applied to returned list
Returns: list
Devices
Overrides: DeviceOrganizer.DeviceOrganizer.getSubDevices

getIconPath(self)

source code 

gets icon

Returns: string
Path to icon
Overrides: ZenModelBase.ZenModelBase.getIconPath

urlLink(self, text=None, url=None, attrs={})

source code 

Return an anchor tag if the user has access to the remote object.

Parameters:
  • text - the text to place within the anchor tag or string. Defaults to the id of this object.
  • url - url for the href. Default is getPrimaryUrlPath
  • attrs (dict) - any other attributes to be place in the in the tag.
Returns: string
An HTML link to this object
Overrides: ZenModelBase.ZenModelBase.urlLink

Class Variable Details [hide private]

_properties

Value:
{'id': 'netmask', 'type': 'int', 'mode': 'w'}, {'id': 'description', '\
type': 'text', 'mode': 'w'}, {'id': 'version', 'type': 'int', 'mode': \
'w'},

_relations

Value:
DeviceOrganizer._relations+(("ipaddresses", ToManyCont(ToOne, "Product\
s.ZenModel.IpAddress", "network")), ("clientroutes", ToMany(ToOne, "Pr\
oducts.ZenModel.IpRouteEntry", "target")), ("location", ToOne(ToMany, \
"Products.ZenModel.Location", "networks")),)

factory_type_information

Value:
{'id': 'IpNetwork', 'meta_type': 'IpNetwork', 'description': """Arbitr\
ary device grouping class""", 'icon': 'IpNetwork_icon.gif', 'product':\
 'ZenModel', 'factory': 'manage_addIpNetwork', 'immediate_view': 'view\
NetworkOverview', 'actions':({'id': 'overview', 'name': 'Overview', 'a\
ction': 'viewNetworkOverview', 'permissions':(permissions.view,)}, {'i\
d': 'zProperties', 'name': 'Configuration Properties', 'action': 'zPro\
pertyEdit', 'permissions':("Manage DMD",)},)},