Project

General

Profile

MergeHosts » History » Revision 2

Revision 1 (Kyle Baker, 03/09/2015 03:50 PM) → Revision 2/11 (Kyle Baker, 03/09/2015 04:13 PM)

h1. Merge Hosts 

 h2. Summary/Goals 

 Merge Hosts and Content Hosts into a single unified presentation. The unification includes all aspects of displayed information and user initiated actions. The primary objective is designing hosts presentation and workflows that will accommodate user needs in a more efficiently and reflect user needs. 

 h2. Targeted Persona 

 * System Engineer - Responsible for configuring all of the infrastructure to provision hosts - which includes reprovisioning based on new builds 
 ** http://projects.theforeman.org/projects/katello/wiki/Personas-SystemEngineer 
 * System Administrator - Responsible for deploying hosts to their portion of the companies managed infrastructure. Hosts are built based on the engineers configurations. 
 ** http://projects.theforeman.org/projects/katello/wiki/Personas-SystemAdministrator 
 * Systems User - (Both System Engineer & System Administrator roles) 

 h2. Status 

 h3. Use Cases 

 Owner - David Caplan, Kyle Baker 
 Status - In Progress 
 Expected Delivery - 3/16/2015 
 Blockers - None 

 h3. Requirements  

 Owner - David Caplan, Mike Mccune, Ohad Levy 
 Status - Not Started 
 Expected Delivery - TBD 
 Blockers - Waiting on User Stories 

 h3. Wireframes 

 Owner - Kyle Baker 
 Status - Not Started 
 Blockers - Waiting on User Stories & Requirements 
 Last updated TBD - Link to wireframes 

 h3. Development Stories 

 Owner - Mike Mccune, Ohad Levy 
 Status - Started based on previous efforts 
 Expected Delivery - N/A 
 Blockers - Waiting on Wireframes 

 h2. Documentation 

 h3. Assumptions 

 * Host entitlement status is a priority 
 * Context is not important for hosts 

 h3. Unknowns 

 * Need a single place where users can view host status and take action on hosts. 
 * The current process of provisioning a new host does not support the administrator role. Ideally the UI would hide all of the deeper configuration options and surface the options which have been pre configured by the engineer. Users have complained that the process is too complex when in reality the complexity simply exposed to the incorrect user. 
 * Pre-provisioning setup should include an option to build a boot ISO. 

 h3. Related Features 

 * Enabling Boot ISO - Feature coming soon 
 * Host Collections - Feature coming soon 

 h3. Use Cases 

 *Story 1 Host Monitoring* 
 A Systems User (System Engineer & System Administrator roles) would like to have a single place browse and understand the entirety of Linux hosts. *(1)* They are interested in finding out the status of a host or group of hosts in the infrastructure. *(2)* If there is an issue or scheduled update the Systems User needs the host's location and *(3)* to know the hosts software/business purpose. 

 * *(1) What is the status of this host or grouping of hosts?* 
 ** 1. Configuration Status  
 ** 2. Last Report or Check In 
 ** 3. Available Errata 
 ** 4. Periodically, Subscription Status 
 * *(2) Where is this host running?* 
 ** Capsule Information 
 ** Organization 
 ** Location 
 ** Environment 
 ** Host Group - For networking information 
 ** Host Collection 
 * *(3) What is this host running? Is it performing a critical function?* 
 ** Software Installed - OS, Errata 
 ** Puppet Facts 
 ** Content View Version 

 *Story 2 Host Detail* 
 A Systems User (System Engineer & System Administrator roles), During the identification/troubleshooting/updating process they need to examine the exact specs of a host to determine the best course of action. 
 * *Surface level Information* 
 ** OS, mac, ip, serial number, environment, capsule, hostgroup, organization and location, host collections  
 * *Drill down* 
 ** hardware, software, networking, config, events, template, meta information 

 *Story 3 Host Actions* 
 A Systems User (System Engineer & System Administrator roles), During the troubleshooting/updating process I have identified which host or group of hosts I would like to take actions against. 
 Add or remove errata or packages 
 * Change the location, organization, environment association 
 * Change the host-group association 
 * Change the host-collections association 
 * Change the subscription status 
 * Change puppet environment association 

 *Story 4 Create New Host*  
 *System Engineer* 
 When new software is released we define builds in the form of requirements/standards. We then present them to stakeholders. We then use the Katello/Foreman workflow process to build a deployable kickstart file. This file is used by the system administrator to stand up a machine. 
 * Preconfigure all infrastructure used in the host creation process 
 ** Organization, Location, Environment, etc. 
 ** Manage subscriptions and entitled content 
 ** Create Content View 
 ** Create Host Groups 
 ** Create Activation keys 
 ** Add networking services 
 *System Administrator* 
 As a System Administrator I want to easily add a new host leveraging all the configuration completed by the System Engineer 
 * Place in Infrastructure (Organization, Location, Environment) 
 * Assign networking services 
 * Choose Activation Key - If using the activation keys as the bridging element to map CVs to host groups 
 * Future - Clone an existing system. While creating a new host there should be a button to select a system I want to clone and as a second where I can adapt the pre-filled configurations (e.g. CV, HG, etc.) 

 h3. Future 

 * These features should be added as their own feature with their own specific user stories. 
 * comparing hosts 
 * dynamic host collections 
 * bookmark evolution 
 ** Use search and bookmark functionality hosts to create a grouping 
 ** Notes: Do the search and save as host collection 
 ** See the detail of the search (new collection) 
 ** Have search dynamically generate new list every time it runs 
 ** View logs to view what changed 
 ** Term 'Bookmark' is not appropriate there 
 ** Bulk operations against hosts without managing another objects 
 * interlinking host objects (clicking a CV shows all the host with that CV)    then bookmarking 
 * Clone existing host 
 ** Clone an existing system. While creating a new host there should be a button to select a system I want to clone and as a second where I can adapt the pre-filled configurations (e.g. CV, HG, etc.) 
 * History 
 ** As a sysadmin I want to access from a single page the history of events that occurred for a specific system which may include: 
 ** Puppet reports (+ be able to filter for drifts to easily identify changes on the system) 
 ** Remote tasks execution results 
 ** OpenScap compliance tests results 
 ** Software management tasks (software installation, errata apply, etc...) 
 ** DH: for each action inside the history I want to see a rollback of this particular action similar to Sat5. 
 
 h3. Requirements 

 * User stories will be broken down of the into specific actionable tasks to design and develop against. 

 h3. Development Stories 

 http://projects.theforeman.org/issues/8161 MergeHosts