Inventory Salt Integration Project
Table of Contents
Project Objective: Purpose
The purpose is to facilitate Salt updates pushed from inventory; involving Inventory providing an API for use by Salt, Salt uses an external pillar to pull inventory data, and providing a button so Inventory hits a Salt API to kick off a deployment.
This is a
term goal for Spring 2017, with a firm deadline of August xxth (meeting between Martin Karsten and CSCF Managers).
Project Scope/Deliverables
The high-level outcomes and results of this project are as follows:
- Inventory API to supply data to Salt in json format
- Salt External Pillar to pull json data from inventory
- Inventory UI changes to supply DHCP data to Salt
- Salt API so pressing a button in inventory can initiate a Salt recipe for provisioning
- User and Developer Documentation of new features
- Plans for potential follow-on work
Scope Includes/Excludes
Includes
- Inventory UI updates to DNS section which provide:
- checkbox for "Provision via Salt"
- dropdown to pick a "management" hostname
- two text fields
- BootP file (pre seed file) location, and a BootP server (pre seed server) location
- button to kick salt via Salt API addition- depends on work by Nathan.
- Inventory API to supply data to Salt in json format
- only return hosts that have checkbox enabled
- host, domain, ip, mac, bootp file, bootp server
Excludes
- Inventory "parenting" feature so that a physical host can "contain" VMs which inherit details useful to Salt
- To create virtual hosts, pressing the "provision" button will send Salt the appropriate provision data for the parent which is a physical host.
- Checkbox for "Provision via Salt" does not update DHCP values in infoblox, only stores in inventory.
- Creating a checkbox for "Manage this existing host in Salt" in inventory. Salt has a list of currently saltified machines, so: 1) we don't want to duplicate and store the information in inventory, nor 2) want to implement a Salt API to pull that data to inventory for UI display and salt update.
- UI simplification: only a "provision in salt" button, without a checkbox - it's our estimation that the process should allow "arming" the provisioning, before "firing" the action.
Constraints
- end of term is roughly 1 week away
Assumptions and Risks
- Risk: short timeframe means not much time for testing; and we may need to tighten scope of implementation for this term.
Project Members
drallen, jhvisser, nfish
Project Stakeholders
dlgawley, lfolland, omnafees
Project Sponsor
CSCF Management
RT
Meeting notes
--
DanielAllen - 2017-08-23