User Tools

Site Tools


2_x:datamodel:ip-settings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
2_x:datamodel:ip-settings [2019/06/20 12:21] – [Global IP Settings Properties] cnaud2_x:datamodel:ip-settings [2023/09/15 15:36] – [Automatic IP Release] cnaud
Line 1: Line 1:
-====== Global IP Settings ======+====== IP Settings ====== 
 +Unlike most iTop's extensions, the definition of TeemIp configuration parameters is split between a **dedicated class of objects**, named Global IP Setting, and the **general configuration file**. 
 +  * Global IP Settings host the parameters that are specific to an organization, 
 +  * The general configuration file defines parameters that drive TeemIp's generic behaviour and enables the default value of Global IP Settings parameters to be overwritten.
  
-{{classicon_ipconfig.png  }}  
  
-IP settings is the repository where TeemIp's default options for all what IP Management is concerned are defined. These are managed through the "Global IP Settings" menu of the Data Administration module. 
  
-<note warning> 
-One set of options, ie one IP Settings object, is defined per Organization. IP Settings object for an organization is automatically created with default values when the first IP object is created within that organization. 
-</note> 
  
  
 +===== Global IP Setting =====
 +{{icons8-maintenance-48.png  }}
 +Global IP Setting objects store all parameters that drive TeemIp behaviour.
 ==== Global IP Settings Properties ==== ==== Global IP Settings Properties ====
 ^  Name  ^  Type  ^  Mandatory?  ^ ^  Name  ^  Type  ^  Mandatory?  ^
Line 17: Line 18:
 | Requestor | Foreign key to a(n) Person | No | | Requestor | Foreign key to a(n) Person | No |
  
-^  Name  ^  Type  ^  Allowed values  ^  Default value  ^ +^  Name  ^  Type  ^  Allowed values  ^  Default value   Extension  ^ 
-| **Default Settings for IP Requests** |||| +| **Default Settings for IP Requests** |||| IP Request Management 
-| Offset for the creation of IPs within IPv4 subnets | Number | Any | 0 | +| Offset for the creation of IPs within IPv4 subnets | Number | Any | 0 | IP Request Management 
-| Offset for the creation of IPs within IPv6 subnets | Number | Any | 0 | +| Offset for the creation of IPs within IPv6 subnets | Number | Any | 0 | IP Request Management 
-| **Default Settings for Subnet Blocks** |||| +| **Default Settings for Subnet Blocks** ||||| 
-| Minimum size of IPv4 Subnet Blocks | Number | > 1 | 256 | +| Minimum size of IPv4 Subnet Blocks | Number | > 1 | 256 
-| Minimum size of IPv6 Subnet Blocks | CIDR | > /64 | /64 | +| Minimum size of IPv6 Subnet Blocks | CIDR | > /64 | /64 
-| Align IPv4 Subnet Blocks to CIDR | Boolean | Yes / No | Yes | +| Align IPv4 Subnet Blocks to CIDR | Boolean | Yes / No | Yes 
-| Align IPv6 Subnet Blocks to CIDR | Boolean | Yes / No | Yes | +| Align IPv6 Subnet Blocks to CIDR | Boolean | Yes / No | Yes 
-| Delegate blocks to children organizations only | Boolean | Yes / No | Yes | +| Delegate blocks to children organizations only | Boolean | Yes / No | Yes 
-| **Default Settings for Subnets** |||| +| **Default Settings for Subnets** ||||| 
-| Reserve Subnet, Gateway and Broadcast IPs at Subnet Creation | Boolean | Yes / No | No | +| Reserve Subnet, Gateway and Broadcast IPs at Subnet Creation | Boolean | Yes / No | No 
-| IPv4 Gateway IP | Enum | Broadcast IP - 1 / Subnet IP + 1 / Free Allocation | Subnet IP + 1| +| IPv4 Gateway IP | Enum | Broadcast IP - 1 / Subnet IP + 1 / Free Allocation | Subnet IP + 1
-| IPv6 Gateway IP | Enum | Last subnet IP / Subnet IP + 1 / Free Allocation | Subnet IP + 1| +| IPv6 Gateway IP | Enum | Last subnet IP / Subnet IP + 1 / Free Allocation | Subnet IP + 1| | 
-| Subnet Low Water Mark (%) | Percentage | 0 - 100 | 60 | +| Symetrical Subnet NAT | Boolean | Yes / No | No | 
-| Subnet High Water Mark (%) | Percentage | 0 - 100 | 80 | +| Subnet Low Water Mark (%) | Percentage | 0 - 100 | 60 
-| **Default Settings for IP Ranges** |||| +| Subnet High Water Mark (%) | Percentage | 0 - 100 | 80 
-| IP Range Low Water Mark (%) | Percentage | 0 - 100 | 60 | +| **Default Settings for IP Ranges** ||||| 
-| IP Range High Water Mark (%) | Percentage | 0 - 100 | 80 | +| IP Range Low Water Mark (%) | Percentage | 0 - 100 | 60 
-| **Default Settings for IPs** |||| +| IP Range High Water Mark (%) | Percentage | 0 - 100 | 80 
-| Allow Duplicate Names | Boolean | Yes / No | No | +| **Default Settings for IPs** ||||| 
-| Ping IP before assigning it ? | Boolean | Yes / No | No | +| Allow Duplicate Names | Boolean | Yes / No | No 
-| Copy CI's name into IP's short name | Boolean | Yes / No | No | +| Ping IP before assigning it ? | Boolean | Yes / No | No  || 
-| Release IPs of CIs that become obsolete | Boolean | Yes / No | No | +| Symetrical IP NAT | Boolean | Yes / No | No | 
-| **Other information**|||| +| Copy CI's name into IP's short name | Boolean | Yes / No | No | | 
-| MAC Address Output Format | Enum | Colons / Hyphens / Dots | Colons |+| Compute FQDN when short name is empty | Boolean | Yes / No | No | | 
 +| Allocate IPs attached to production CIs | Boolean | Yes / No | Yes | 
 +| Release IPs from CIs that become obsolete | Boolean | Yes / No | No | | 
 +| Un-allocate IPs that are not attached to a CI | Boolean | Yes / No | No | | 
 +| Release IPs from subnets that are released | Boolean | Yes / No | Yes | | 
 +| **Domain Information** ||||| 
 +| Delegate domains to children organizations only | Boolean | Yes / No | No | | 
 +| Automatically update DNS records | Boolean | Yse / No | No | DNS Zone Management | 
 +| Remove DNS records from obsolete IPs | Boolean | Yes / No | No | DNS Zone Management 
 +| **Other information**||||| 
 +| MAC Address Output Format | Enum | Colons / Hyphens / Dots | Colons |
  
 <note> <note>
 The MAC Address Output Format defines the format used to display MAC addresses: colons (01:23:45:67:89:ab), hyphens (01-23-45-67-89-ab) or dots (0123.4567.89ab). Regardless that format, the MAC address will always be stored in the data base following the colons format. And any format can be used to enter a MAC address. The MAC Address Output Format defines the format used to display MAC addresses: colons (01:23:45:67:89:ab), hyphens (01-23-45-67-89-ab) or dots (0123.4567.89ab). Regardless that format, the MAC address will always be stored in the data base following the colons format. And any format can be used to enter a MAC address.
 </note> </note>
- 
  
 ==== Listing Global IP Settings ==== ==== Listing Global IP Settings ====
-The Global IP Settings link of the Data administration module on the explorer menu displays the different IP Settings used by the different organizations.+From the **Configuration** menu, under the **General Configuration** sub-menuthe **Global IP Settings** shortcut displays the IP Setting used by the different organizations.
  
-{{ classlist_globalipsettings.png }}+{{ classlist_globalipsettings3x.png }}
  
-<note tip+<note warning
-Only one Global IP Settings object may exist per organization.+There can be **only one** Global IP Seetings per organization.
 </note> </note>
 +
 +
 ==== Creating a new Global IP Settings ==== ==== Creating a new Global IP Settings ====
 From the listing view, click on the “New…” menu to display the creation form.  From the listing view, click on the “New…” menu to display the creation form. 
  
-{{ classcreate_globalipsettings.png }}+{{ classcreate_globalipsettings3x.png }}
  
-Default and allowed values are listed in the "Global IP Settings Properties" chapter here above. 
 ==== Modifying Global IP Settings ==== ==== Modifying Global IP Settings ====
-From the detailed view of a Global IP Settings, click on the “Modify” button.+From the detailed view of a Global IP Setting, click on the “Modify” button. Basically, all parameters can be changed here but, of course, the organization. 
 + 
 +==== Automatic creation ==== 
 +A Global IP Setting for a given organization is now mandatory to create an IP object for that organization. First option is to create the Global IP Setting before creating an IP Object. Second option is to directly create the IP Object. Indeed, as soon as the organization is selected in the IP object creation form, TeemIp checks if a corresponding Global IP Setting exits for that organization and automatically creates one if required. 
 + 
 +When the Global IP Setting is automatically created, parameters are set with the default values defined in TeemIp's data model. It is however possible to overload these default values through the general Configuration file, as described below. 
 +===== Configuration File ===== 
 +The standard General Configuration file that can be reached under the Configuration menu may host parameters for TeemIp. If any, these will be grouped within the "Modules specific settings" part, under the **teemip-ip-mgmt** block. This block hosts different set of parameters dedicated to different TeemIps features. 
 + 
 +<code> 
 + 'teemip-ip-mgmt' => array ( 
 + 'feature_1' => array ( 
 +   ... 
 + ), 
 + ... 
 + 'feature_n' => array ( 
 +   ... 
 + ), 
 + ), 
 +</code> 
 + 
 +The following chapters describe the different features available. 
 + 
 +==== Default Global IP Settings ==== 
 +This block is used to overwrite the default TeemIp parameters defined in the data model. It contains sub-blocks of parameters dedicated to the different TeemIp extensions and a general attribute to enable or disable the whole block. All the parameters defined [[2_x:datamodel:ip-settings#global_ip_settings_properties|here above]] can be reset but only the ones that need to be overwritten should sit here. 
 + 
 +The structure of the block is as follows: 
 + 
 + 
 +^  Name  ^  Type  ^  Allowed values  ^  Description 
 +| enabled | Boolean | true, false | 
 +| **core_parameters** ||| 
 +| ... | All attributes that do not belong to a Teemip extension ||| 
 +| **ip_request_parameters** ||| 
 +| ... | All attributes defined in [[extensions:teemip-request-mgmt|TeemIp Request Management]] ||| 
 +| **zone_parameters** ||| 
 +| ... | All attributes defined in [[extensions:teemip-zone-mgmt|DNS Zone Management]] ||| 
 + 
 +In the following example, only parameter 'request_creation_ipv4_offset' will be changed to 5 where its defaults value is 0. 
 + 
 +<code> 
 + 'default_global_ip_settings' => array ( 
 +   'enabled' => true, 
 +   'ip_request_parameters' =>  
 +   array ( 
 +     'request_creation_ipv4_offset' => 5, 
 +   ), 
 + ), 
 + 
 +</code> 
 + 
 +==== IP Address Navigation ==== 
 +This block defines how one can navigate between adjacent IPs, a feature described in the [[2_x:datamodel:ip-addresses#navigating_between_adjacent_ips|IP Address]] chapter. It holds the following parameter: 
 + 
 +^  Name  ^  Type  ^  Allowed values  ^ Description ^ 
 +| enabled | Boolean | true, false | Enable the block | 
 +| within_subnet_only | Boolean | true, false | Limit the navigation within the subnet the IP belongs to | 
 + 
 +Example: 
 + 
 +<code> 
 + 'ip_navigation' => array ( 
 +   'enabled' => true, 
 +   'within_subnet_only' => true, 
 + ), 
 +</code> 
 + 
 +==== Automatic IP Release ==== 
 +TeemIp may periodically look for IPs that are attached to obsolete CIs and make sure they are in the "released" status. The behaviour of that feature is defined in the specific 'ip_release_on_ci_status' configuration block and is driven by the following parameters: 
 + 
 +^  Name  ^  Type  ^  Allowed values  ^ Description ^ 
 +| enabled | Boolean | true, false | Enable the process | 
 +| debug | Boolean | true, false | Activate verbosity within the process |  
 +| periodicity | Number | Any integer | Defines the periodicity of the task | 
 +| status_list | Array | List of valid statuses for the CIs | Defines the CI statuses under which the IP should be considered as released | 
 + 
 + 
 +<code> 
 + 'ip_release_on_ci_status' => array ( 
 +   'enabled' => false, 
 +   'debug' => false, 
 +   'periodicity' => 3600, 
 +   'status_list' =>  
 +   array ( 
 +     0 => 'obsolete', 
 +   ), 
 + ), 
 +</code> 
 + 
 +<note important> 
 +By default, the process is disabled both **globally** and at the **Global IP settings** level ! 
 +</note> 
 + 
 +==== Automatic IP Allocation ==== 
 +TeemIp may periodically look for IPs that are attached to implementation or production CIs and make sure they are in the "allocated" status. The behaviour of that feature is defined in the specific 'ip_allocate_on_ci_status' configuration block and is driven by the following parameters: 
 + 
 +^  Name  ^  Type  ^  Allowed values  ^ Description ^ 
 +| enabled | Boolean | true, false | Enable the process | 
 +| debug | Boolean | true, false | Activate verbosity within the process |  
 +| periodicity | Number | Any integer | Defines the periodicity of the task | 
 +| status_list | Array | List of valid statuses for the CIs | Defines the CI statuses under which the IP should be considered as allocated | 
 + 
 +<code> 
 + 'ip_allocate_on_ci_status' => array ( 
 +   'enabled' => false, 
 +   'debug' => false, 
 +   'periodicity' => 3600, 
 +   'status_list' =>  
 +   array ( 
 +     0 => 'implementation', 
 +     1 => 'production', 
 +   ), 
 + ), 
 +</code> 
 +==== Automatic IP Un-assignment ==== 
 +TeemIp may periodically look for IPs that are **not** attached to any CIs and make sure they are in the "unassigned" status. The behaviour of that feature is defined in the specific 'ip_unassign_on_no_ci' configuration block and is driven by the following parameters: 
 + 
 +^  Name  ^  Type  ^  Allowed values  ^ Description ^ 
 +| enabled | Boolean | true, false | Enable the process | 
 +| debug | Boolean | true, false | Activate verbosity within the process |  
 +| periodicity | Number | Any integer | Defines the periodicity of the task | 
 +| target_status | Array | Any IP address status | Defines the status that an IP must have when not attached to a CI | 
 + 
 +<code> 
 + 'ip_unassign_on_no_ci' => array ( 
 +   'enabled' => false, 
 +   'debug' => false, 
 +   'periodicity' => 3600, 
 +   'target_status' => 'unassigned', 
 + ), 
 +</code> 
 +==== IP Watermarks ==== 
 +Capacity planning in TeemIp is done on the fly i.e. when an IP address is added or removed to or from an IP Range or subnet. It can be done as well through a background task which behaviour is defined in the specific 'handle_ip_watermarks' configuration block and is driven by the following parameters:
  
-Basicallyall parameters can be changed here but, of course, the organization. +^  Name  ^  Type  ^  Allowed values  ^ Description ^ 
-==== Other Actions ==== +| enabled | Boolean | truefalse | Enable the process | 
-No specific action can be applied to Global IP Settings beside the standard actions described in the User Manual.+| debug | Boolean | truefalse | Activate verbosity within the process |  
 +| periodicity | Number | Any integer | Defines the periodicity of the task | 
 +| target_classes | Array | List of IP classes | Defines the list of IP classes which the capacity planning applies to | 
 +  
 +<code> 
 + 'handle_ip_watermarks' => array ( 
 +   'enabled' => false, 
 +   'debug' => false, 
 +   'periodicity' => 86400, 
 +   'target_classes' =>  
 +   array ( 
 +     0 => 'IPv4Subnet', 
 +     1 => 'IPv4Range', 
 +   ), 
 + ), 
 +</code>
2_x/datamodel/ip-settings.txt · Last modified: 2024/06/25 14:19 by cnaud