Community repository for ServiceNow integration with the Nutanix API
- Features
- Disclaimer
- Components
- Usage
- Architecture
- Communication
- Known Limitations
- Video Demonstrations
- Development
Features for all catalog items:
- Table based design to allow for simplified import and configuration.
- AD integration.
- Email notification from workflows for both success and failure conditions.
- Intetraged approvals within the workflows.
- Ability to view progress of the deployment in realtime via workflow stages.
- Nutanix Services catalog catagory to help organize the Nutanix specific catalog items within the ServiceNow Service Catalog.
- Dynamic loading of projects based on:
- Selected Prism Central instance
- Project membership of the current user
- Selected Prism Central instance
Features specific to individual catalog items:
- Nutanix VM Requests
- Virtual Machine Deployment Integration with ServiceNow
- Dynamic loading of networks based on selected project
- Discovery of the deployed virtual machine for inclusion in CMDB
- Nutanix Blueprint Requests
- Calm Blueprint Deployment Integration with ServiceNow
- Dynamic loading of Calm blueprints based on the selected project
- Dynamic loading of Calm blueprint profiles based on the selected blueprint
The integrations provided here are not production-grade and are provided to simply demonstrate functionality. Please be advised that these integrations may run and operate in a way that do not follow best practices and therefore need to be reviewed to ensure they meet your requirements.
The ServiceNow_NutanixSSP-Utilities.xml is an application that is scoped to the Global namespace. This allows the use of certain global utilities that can only be accessed from a globally scoped application to be accessed by applications scoped within other namespaces or contexts. This application file is required to be imported prior to the ServiceNow_NutanixSSP-Core.xml application file.
The ServiceNow_NutanixSSP-Core.xml is, as the name implies, the core to the integration with the Nutanix platform. It is to be imported after all of the prerequisites have been satisfied. See the Runbook for more detail about the prerequisites.
The ServiceNow_NutanixSSP-RunBook.docx contains the detailed instructions regarding the setup of the ServiceNow instance, prerequisites, detailed instructions about importing and configuring the applications.
The artifacts in this repository are meant to be used for demonstration and POC purposes only and should be deployed to a ServiceNow Developer Instance. You can learn more about Developer Instances and how to request them by going to the ServiceNow Developers portal located at https://developer.servicenow.com/.
A detailed set of instructions on how to deploy the ServiceNow integration is documented in the ServiceNow_NutanixSSP-RunBook.docx file.
The integrations leverage Scoped Applications in ServiceNow. This helps to provide a modular and transportable application which can be segregated from both the Global scope and other applications within ServiceNow. Each import file creates a scoped application when imported into a ServiceNow instance.
All communication is performed via REST calls through the mid server. See the Communication Section for more information.
All configuration is managed via tables within the NutanixSSP application. The tables are exposed via Modules on the main menu when logged in as a system adminstrator to the ServiceNow instance. This allows for quick and simplified integration and configuration of the solution.
Within the ServiceNow instance, both client side and server side JavaScripting is used.
The two catalog items, Nutanix VM Request and Nutanix Blueprint Request, both leverage client side Catalog Client Scripts to load the dropdown boxes from the application tables local to the ServiceNow instance or from the Nutanix Prism Central instance depending on where the required data resides. The dropdowns are loaded based on whether the catalog page is loading or a component on that page has changed. If the required data is pulled from the Nutanix Prism Central instance, these scripts in turn call server side Script Includes to make calls out to that instance via REST. When the item is ordered via the Order Now button, the catalog item kicks off the appropriate workflow. For the Nutanix VM Request catalog item the VM Request Workflow is fired, for the Nutanix Bluepirnt Request catalog item the Blueprint Request Workflow is fired. Each of the workflows leverage server side Script Includes to deploy the virtual machines or blueprints via REST.
Each of the workflows has a set of stages it goes through that correspond to the tasks that are executing within the workflow. This allows the workflow to be monitored in realtime as either the virtual machine or blueprint are being deployed.
All communication between a ServiceNow instance and your internal network go through a MID Server which is deployed onto a server (Linux or Windows) on the internal network. The Mid Server initiates all communication with the ServiceNow instance for activities that it needs to perform internally on the network, such as Discovery or communication with a Prism Central instance.
The integration between ServiceNow and Nutanix Calm has been built by leveraging the Nutanix Prism Central v3 REST APIs.
- The Calm Blueprint integration currently does not support the use of runtime variables. An alternative to runtime inputs is to create blueprint application profiles to cover the different permutations of the required inputs. For example, you could cover the runtime variables that modify the number of CPUs and memory by creating blueprint profiles for small, medium and large deployments with the appropriate CPU and memory settings defined within the profile. See the Video Demonstrations section for the Nutanix Calm Hybrid Cloud Deployments demo to view an example of how profiles can be leveraged.
- The Calm blueprint integration does not support blueprint versions.
- The current VM request form does not support multiple VM’s in a single request.
- SysPrep or Cloud-Init is required.
- All VM management and deletion must be done through Nutanix SSP Portal.
The Nutanix VM Request is covered in the ServiceNow Integration with Nutanix Prism Central Demo.
You can find this video on YouTube at: https://www.youtube.com/watch?v=Obysx2l5G1A
The Nutanix Blueprint Request is covered in the ServiceNow Integration with Nutanix Calm Demo.
You can find this video on YouTube at://www.youtube.com/watch?v=qNBbz8lYGKQ
To see a demo of profiles in use, check out the Nutanix Calm Hybrid Cloud Deployments demo.
You can view this on YouTube at: https://www.youtube.com/watch?v=2LCC0ZdHDDE
see CONTRIBUTING.md