User Tools

Site Tools


extensions:teemip-request-mgmt

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
extensions:teemip-request-mgmt [2019/09/25 09:48] – [TeemIp Portal] cnaudextensions:teemip-request-mgmt [2020/01/23 12:16] – [Data entry] cnaud
Line 1: Line 1:
 +{{ classicon_iprequest.png}} ====== IP Request Management ======
 +---- dataentry summary ----
 +name                : IP request management
 +description_wiki    : Provides an automated ticketing scheme for processing IP and subnet user requests with a simple dedicated  workflow
 +index_hidden        : yes
 +level_hidden        : 1
 +version             : 2.5.1
 +release_dt          : 2019-12-10
 +TeemIp              : 2.5.1
 +code                : teemip-ip-request-mgmt
 +state               : stable
 +diffusion_hidden    : TeemIp wiki
 +product_hidden      : included (standalone)
 +module-lists_hidden : 
 +keyword_tags        : Helpdesk, Workflow automation, Ticket
 +dependencies_s      : itop-tickets, teemip-ip-mgmt, teemip-network-mgmt
 +download_url        : https://wiki.teemip.com/extensions/teemip-ip-request-mgmt-2.5.1-504.zip
 +git hub_url         : https://github.com/TeemIp/teemip-ip-request-mgmt
 +----
  
 +
 +
 +
 +TeemIp's IP Request Management extension allows you to manage user requests that are specific to IP management: IP and subnet creations, modifications or deletions. It includes a user portal where standard users can create and manage their IP requests.
 +<note>
 +This module is embedded by default in TeemIp standalone. It can be deployed as an extension with TeemIp as a module.
 +</note>
 +
 +===== Revision History =====
 +^  Version  ^  Release Date  ^  Comments  ^
 +|  2.5.1  |  2019-12-10  | Revision for TeemIp 2.5.1 - Includes TeemIp portal from now on |
 +|  2.5.0  |  2019-09-24  | Revision for TeemIp 2.5.0 |
 +|  2.4.0  |  2019-02-09  | Revision for TeemIp 2.4.x |
 +|  2.3.0  |  2018-08-28  | Revision for TeemIp 2.3.x |
 +|  2.2.0  |  N/A         | Does not exist            |
 +|  2.1.2  |  2017-11-11  | Revision for TeemIp 2.2.0 |
 +|  2.1.1  |  2016-12-19  | Revision for TeemIp 2.1.1 |
 +
 +
 +===== Features =====
 +
 +This extension allows Hostmasters to manage tickets that are specific to the IP management world: creation, modification or deletion of IPs, creation, modification or deletion of subnets.
 +
 +Management of IP tickets is done following a workflow that automates the standard tasks associated to IP tickets: selection of an IP within a subnet, selection of a subnet within a subnet block, for instance. Such workflow insures that tickets are managed according to a defined process. Only authorized users can manage an IP request and change its status.
 +
 +At any time of the life of the ticket, the support agent can communicate with the customer via a “Public log.” He can also communicate with teams internal to his company through a “Private log”.
 +
 +Starting for revision 2.5.1, the extension includes TeemIp portal that is described [[2_x:portal:start|here]].
 +===== Limitations =====
 +
 +The module handles requests for IPs and Subnets but not for IP blocks nor IP ranges. 
 +
 +===== Requirements =====
 +
 +There is no specific requirements with TeemIp standalone as TeemIp Request Management is already embedded in it.
 +
 +When installed on an iTop application, make sure that 'IPAM for iTop' is installed as well.
 +
 +===== Installation =====
 +
 +Installation on a TeemIp standalone is done with the application itself.
 +
 +When adding the module on an iTop application, the process will depends on the iTop version:
 +  * For iTop 2.4.0 and higher, use the new [[https://wiki.openitop.org/doku.php?id=extensions:installation|Standard installation process]].
 +  * For iTop versions older than 2.3.x, use the [[https://wiki.openitop.org/doku.php?id=extensions:installation#itop_before_240|Special installation process]].
 +
 +===== Configuration =====
 +
 +No specific configuration is required in TeemIp's configuration file. However, 2 parameters may be adjusted in the Global IP settings, under the "Default Settings for IP Requests" block.
 +
 +^ Parameter ^ Meaning ^ Sample value ^
 +| Offset for the creation of IPs within IPv4 subnets | Used when IP are automatically picked within an IPv4 subnet | 16
 +| Offset for the creation of IPs within IPv6 subnets | Used when IP are automatically picked within an IPv6 subnet | FF
 +
 +===== IP Helpdesk menu =====
 +
 +Once installed, the module will add a menu group called IP Helpdesk where IP requests will be managed from.
 +
 +{{ details_menu_iphelpdesk.png }}
 +
 +The overview dashboard allows agents and managers to monitor the helpdesk activity. It displays a set of 6 dashlets:
 +  * A pie chart summarizing the IP Requests of the past 14 days, grouped by type
 +  * A chart summarizing the number of IP Requests received during the past 14 days
 +  * The number of Open IP Requests, grouped by status: New, Assigned and Resolved
 +  * The number of Open IP requests, grouped per agent together with the number of them that are not assigned yet
 +  * The number of Open IP requests, groped by type (IPv4 address creation request, IP address release request...)
 +  * The number of Open IP requests, grouped by organization.
 +
 +{{ dashboard_iprequests.PNG }}
 +
 +===== IP Request =====
 +
 +{{classicon_iprequest.png  }}
 +
 +IP requests in TeemIp are focusing on IP management. A catalogue of 6 types of IP requests have been defined, each of them focusing on a specific request:
 +  * IP address V4 creation 
 +  * IP address V6 creation
 +  * IP address update
 +  * IP address release
 +  * Subnet V4 creation
 +  * Subnet V6 creation
 +  * Subnet update
 +  * Subnet release
 +
 +
 +==== IP Request Properties ====
 +IP request properties shows information that is standard between all types of IP requests and information that is specific to each IP request.
 +
 +^  Name  ^  Type  ^  Mandatory?  ^
 +| **General Information** |||
 +| Ref | Ticket's ID - Automatically calculated | Yes |
 +| Title | Alphanumeric string | Yes |
 +| Organization | Foreign key to a(n) Organization | Yes |
 +| Status | Possible values: New, Rejected, Assigned, Resolved, Closed | Yes |
 +| Description | Multiline character string  | Yes |
 +| **Contacts** |||
 +| Caller | Foreign key to a(n) Person | Yes|
 +| Team | Foreign key to a(n) Team | Yes* |
 +| Agent | Foreign key to a(n) Person | Yes* |
 +| **Dates** |||
 +| Start date | Date and time (year-month-day hh:mm:ss) | No |
 +| Last update | Date and time (year-month-day hh:mm:ss) | No |
 +| Close date | Date and time (year-month-day hh:mm:ss) | No |
 +| User comment | Multiline character string  | No |
 +
 +<note> Attribute with mandatory flag set to Yes* may be mandatory at a given step of the life cylce only.</note>
 +
 +== Specific information for IP address V4 creation ==
 +
 +{{classicon_ipv4address.png  }}
 +
 +^  Name  ^  Type  ^  Mandatory?  ^
 +| **IP Informations** |||
 +| Subnet Block | Foreign key to a(n) IPv4 Subnet Block | No |
 +| Subnet | Foreign key to a(n) IPv4 Subnet | No |
 +| Range | Foreign key to a(n) IPv4 Range | No |
 +| Location | Foreign key to a(n) Location | No |
 +| IP Status | Possible values: allocated, reserved | No |
 +| Short Name | Alphanumeric string | No |
 +| DNS Domain | Foreign key to a(n) Domain | No |
 +| Usage | Foreign key to a(n) IP Address Usage | No | 
 +| **Device Information** |||
 +| Target class | Instantiated class of object that the IP should be linked to | No |
 +| Functional CI | CI of class "Target class" which the IP address should be allocated to | No |
 +| Link between IP and CI | IP attribute of the CI that the IP should be allocate to  | No |
 +
 +== Specific information for IP address V6 creation ==
 +
 +{{classicon_ipv6address.png  }}
 +
 +^  Name  ^  Type  ^  Mandatory?  ^
 +| **IP Informations** |||
 +| Subnet Block | Foreign key to a(n) IPv6 Subnet Block | No |
 +| Subnet | Foreign key to a(n) IPv6 Subnet | No |
 +| Range | Foreign key to a(n) IPv6 Range | No |
 +| Location | Foreign key to a(n) Location | No |
 +| IP Status | Possible values: allocated, reserved | No |
 +| Short Name | Alphanumeric string | No |
 +| DNS Domain | Foreign key to a(n) Domain | No |
 +| Usage | Foreign key to a(n) IP Address Usage | No | 
 +| **Device Information** |||
 +| Target class | Instantiated class of object that the IP should be linked to | No |
 +| Functional CI | CI of class "Target class" which the IP address should be allocated to | No |
 +| Link between IP and CI | IP attribute of the CI that the IP should be allocate to  | No |
 +
 +== Specific information for IP update ==
 +
 +{{classicon_ipv4address.png  }}
 +{{classicon_ipv6address.png  }}
 +
 +^  Name  ^  Type  ^  Mandatory?  ^
 +| **IP Informations** |||
 +| IP Address | Foreign key to a(n) IPv4 or IPv6 address | Yes |
 +| New IP Status | Possible values: allocated, reserved | No |
 +| New Short Name | Alphanumeric string | No |
 +| New Domain | Foreign key to a(n) Domain | No |
 +| New Usage | Foreign key to a(n) IP Address Usage | No | 
 +
 +== Specific information for IP release ==
 +
 +{{classicon_ipv4address.png  }}
 +{{classicon_ipv6address.png  }}
 +
 +^  Name  ^  Type  ^  Mandatory?  ^
 +| **IP Informations** |||
 +| IP Address | Foreign key to a(n) IPv4 or IPv6 address | Yes |
 +
 +== Specific information for Subnet V4 creation ==
 +
 +{{classicon_ipv4subnet.png  }}
 +
 +^  Name  ^  Type  ^  Mandatory?  ^
 +| **IP Informations** |||
 +| Subnet Block | Foreign key to a(n) IPv4 Subnet Block | Yes |
 +| Mask | Possible values: from /16 down to /32 | Yes |
 +| Name | Alphanumeric string  | No|
 +| Subnet Status | Possible values: allocated, reserved | Yes |
 +| Type | Alphanumeric string  | No |
 +| Location | Foreign key to a(n) Location | No |
 +
 +== Specific information for Subnet V6 creation ==
 +
 +{{classicon_ipv6subnet.png  }}
 +
 +^  Name  ^  Type  ^  Mandatory?  ^
 +| **IP Informations** |||
 +| Subnet Block | Foreign key to a(n) IPv6 Subnet Block | Yes |
 +| Mask | Possible values: /64 down to /128 | Yes |
 +| Name | Alphanumeric string  | No|
 +| Subnet Status | Possible values: allocated, reserved | Yes |
 +| Type | Alphanumeric string  | No |
 +| Location | Foreign key to a(n) Location | No |
 +
 +== Specific information for Subnet update ==
 +
 +{{classicon_ipv4subnet.png  }}
 +{{classicon_ipv6subnet.png  }}
 +
 +^  Name  ^  Type  ^  Mandatory?  ^
 +| **IP Informations** |||
 +| Subnet to update | Foreign key to a(n) IPv4 or IPv6 Subnet | Yes | 
 +| New Name | Alphanumeric string  | No|
 +| New Subnet Status | Possible values: allocated, reserved | No |
 +| New Type | Alphanumeric string  | No |
 +| Old Location | Foreign key to a(n) Location  | No |
 +| New Location | Foreign key to a(n) Location | No |
 +
 +== Specific information for Subnet release ==
 +
 +{{classicon_ipv4subnet.png  }}
 +{{classicon_ipv6subnet.png  }}
 +
 +^  Name  ^  Type  ^  Mandatory?  ^
 +| **IP Informations** |||
 +| Subnet | Foreign key to a(n) IPv4 or IPv6 Subnet | Yes |
 +
 +==== Tabs ====
 +^  Tab  ^  Description  ^
 +| Contacts | All the contacts linked to this ticket |
 +| Attachements | Documents attached to the ticket |
 +
 +===== User profiles =====
 +
 +By default, IP request management is restricted to the Hostmaster profile that is defined with TeemIp.
 +
 +
 +===== Creating an IP Request =====
 +From the Helpdesk menu, click on the “New IP Request” link. User is then asked to select amongst the 6 types of requests:
 +
 +{{ classcreate_iprequest1.png }}
 +
 +Once selection is done, the creation form is displayed (IPv4 subnet creation, in the example below).
 +
 +{{ classcreate_iprequest2.png }}
 +
 +
 +===== Managing Public & Private Log =====
 +The public and the private log are used to keep track of all communications and activities related to a user request.
 +
 +The **public log** is aimed at exchanging information with the requestor.
 +
 +The **private log** is the preferred way for keeping track of the investigations or operations: copy/paste of command line results, summary of communications with a provider, etc.
 +
 +{{public-privatelog_iprequest.png}}
 +
 +Each entry in the public or private log is tracked with the name of the user who updated it and when it was done. It cannot be modified nor deleted.
 +
 +The public log is visible from the TeemIp customer portal.
 +
 +
 +===== Assigning an IP request to a team and agent =====
 +Once an IP request is created, it needs to be assigned to a team and agent before being further processed. For that to happen, select the Assign action in the “Other Actions” menu available from the details page.
 +
 +{{ details-popup-menu-iprequestotheractions.png }}
 +
 +Then select the Support team you want to assign the ticket to as well as the agent from this team.
 +
 +{{ classassign_iprequest.png }}
 +
 +<note>
 +Assigning an IP request can be directly done when the ticket is created (from the Helpdesk menu but not from the TeemIp user portal, of course).  
 +</note>
 +
 +===== Processing an IP request =====
 +Once an IP request is assigned, the agent in charge of the request can process it. This task will actually be performed by TeemIp itself which will autonomously offer the agent to choose amongst a list of IPs or subnets for new IP or a new subnet creations or to directly perform the required change for IP or subnet modification or release.
 +
 +==== IP address creation ====
 +FIXME
 +When the Process action of an IPv4 or IPv6 creation is launched, TeemIp will look for the first 10 free IPs in the subnet and will list them at the top of the request.
 +
 +<note important>
 +A free IP here means an IP that does not exist in the data base at all. Registered IPs with status release or unassigned are not considered as free.
 +</note>
 +
 +{{ classprocess_iprequestipcreation.PNG }}
 +
 +<note>
 +An offset can be used by TeemIp when doing the search for free IPs. This offset is a default parameter defined in the Global IP Settings available in the Data administration module. It is called "Offset for the creation of IPs within IPvx subnets" (with x=4 or 6). 
 +</note>
 +
 +Once the IP is selected, pressing the "Process" button will create the IP in the data base with the attributes set in the request.  At the same time, the ticket is put in the Resolved state.
 +
 +If a Connectable CI has been selected, then the following action is performed or needs to be performed, according to the value of the Link between IP and CI attribute:
 +  * Management IP: the management IP of the selected device is automatically updated with the IP created,
 +  * Physical / Logical Interface: the agent needs to create a physical / logical interface (that includes the newly created IP) and to attach it to the device.
 +
 +If the agent wants to give a specific IP address that already exists in TeemIp's data base, then he needs to press the Modify button instead of the Process one and select the right IP in the <color #ff0000>**IP Address**</color> field of the ticket. Once done, the ticket still needs to be processed in order to  move the ticket to the Resolved state.
 +
 +<note warning>When a direct allocation is done, the attributes given in the IP request will not overwrite the ones of the already existing IP !
 +</note>
 +==== IP address update ====
 +Launching the Process action on an IP address update ticket will simply modify the IPattributes that have been set in the request without changing the others.
 +
 +==== IP address release ====
 +Processing an IP address release request will set the IP in the released state and the Release date attribute to the current date and time.
 +
 +==== Subnet creation ====
 +When the Process action of an v4 or v6 subnet creation is launched, TeemIp will look for the first 10 free subnets in the predefined block and will list them at the top of the request.
 +
 +<note important>
 +A free subnet here means a subnet that does not exist in the data base at all. Registered subnets with status release or unassigned are not considered as free.
 +</note>
 +
 +{{ classprocess_iprequestsubnetcreation.PNG }}
 +
 +Once the subnet is selected, pressing the "Process" button will create the subnet in the data base with the attributes set in the request. At the same time, the ticket is put in the Resolved state.
 +
 +If the agent wants to give a specific subnet that already exists in TeemIp's data base, then he needs to press the Modify button instead of the Process one and select the right subnet in the <color #ff0000>**Subnet created**</color> field of the ticket. Once done, the ticket still needs to be processed in order to  move the ticket to the Resolved state.
 +
 +<note warning>When a direct allocation is done, the attributes given in the IP request will not overwrite the ones of the already existing subnet !
 +</note>
 +
 +==== Subnet update ====
 +Launching the Process action on a Subnet update ticket will simply modify the subnet attributes that have been set in the request without changing the others.
 +
 +If some complex change (like subnet resizing) has been asked through the Description field of the request, then the agent in charge of the request will need first to apply the change through the standard subnet management tools provided by TeemIp before processing the request. Note that no specific check is done within TeemIp to make sure that such action has been done prior moving the ticket to Resolved state.
 +
 +==== Subnet release ====
 +Processing a Subnet release request will set the subnet in the released state and the Release date attribute to the current date and time. 
 +
 +
 +
 +===== IP Request Life Cycle =====
 +All IP requests share the same life cycle. This one is pretty simple and can be summarized as follows:
 +
 +{{ lifecycle_iprequest.PNG }}
 +
 +
 +===== IP Portal =====
 +
 +The IP Request management module works in conjunction with TeemIp portal, named IP Portal, that is embedded in the extension since revision 2.5.1. Please, refer to the [[2_x:portal:start|portal documentation page]] for further details on it.
 +
 +<note>
 +When installed on iTop, the extension provides the IP Portal next to iTop standard portal.
 +</note>
extensions/teemip-request-mgmt.txt · Last modified: 2024/03/22 14:10 by cnaud