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

Class IpNetwork

source code

                                                   object --+                
                                                            |                
                                    ZenModelBase.ZenModelBase --+            
                                                                |            
Products.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='') 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)
This is a hook method do not remove!
source code
 
createNet(self, netip, netmask=24)
Return and create if necessary network.
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)
Does network have (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)
make sure that networks sort correctly
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 DeviceOrganizer.DeviceOrganizer (private): _buildDeviceList, _buildReturnMessage, _handleOrganizerCall, _status

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, 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, getBreadCrumbUrlPath, getDmd, getDmdObj, getDmdRoot, getHierarchyObj, getIdLink, getNowString, getObjByPath, getPrimaryDmdId, getUnusedId, getZ, getZopeObj, helpLink, isLocalName, manage_deleteObjects, prepId, saveCustProperties, todayDate, view, visibleCustPropertyMap, yesterdayDate, zenScreenUrl, zenpathjoin, zenpathsplit, zentinelTabs

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: convertEventField, getEventDetail, getEventDetailFromStatusOrHistory, getEventHistory, getEventManager, getEventOwnerList, getEventSummary, getStatus, getStatusCssClass, getStatusImgSrc, getStatusString, manage_ackBatchEvents, manage_ackEvents, manage_addLogMessage, manage_createEventMap, manage_deleteBatchEvents, manage_deleteEvents, manage_deleteHeartbeat, manage_setEventStates, manage_undeleteBatchEvents, manage_undeleteEvents

Inherited from object: __delattr__, __getattribute__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

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 Variables [hide private]
  isInTree = True
  buildLinks = True
  dmdRootName = "Networks"
  default_catalog = 'ipSearch'
  meta_type = 'IpNetwork'
  portal_type = 'IpNetwork'
  _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 OFS.History.Historical: HistoricalRevisions, __ac_permissions__, manage_change_history_page, manage_options

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

Inherited from Commandable.Commandable: defaultTimeout

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

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

source code 
Returns: Organizer
Overrides: Organizer.Organizer.__init__
(inherited documentation)

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 
make sure that networks sort correctly
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
Returns: list
Devices
Overrides: DeviceOrganizer.DeviceOrganizer.getSubDevices

getIconPath(self)

source code 
gets icon
Returns: string
Path to icon
Overrides: DeviceOrganizer.DeviceOrganizer.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: Organizer.Organizer.urlLink

Class Variable Details [hide private]

_properties

Value:
{'id': 'netmask', 'type': 'int', 'mode': 'w'}, {'id': 'description', '\
type': 'text', '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': 'zProperties', 'action': 'zPropertyEdit', '\
permissions':("Manage DMD",)}, {'id': 'viewHistory', 'name': 'Modifica\
tions', 'action': 'viewHistory', 'permissions':(ZEN_VIEW_MODIFICATIONS\
...