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

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2017-08-23 - DanielAllen
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback