MergeHosts » History » Revision 8
Revision 7 (Kyle Baker, 03/10/2015 02:45 PM) → Revision 8/11 (Kyle Baker, 07/09/2015 03:46 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(s), ip(s), serial number, environment, capsule, host-group (puppet module), organization and location, host collections * *Drill down* ** hardware, software, networking, config, events, template(s), meta information, hypervisor *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 * Change compute resource - If deployed on compute resource yet *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. * This infrastructure is preconfigured by the System Engineer before the host creation process ** Organization, Location, Environment, etc. ** Manage subscriptions and entitled content ** Create, publish, promote Content View ** Create Host Groups *** Set up matcher parametized values when setting up puppet classes ** Create Activation keys ** Add networking services *System Administrator* As a System Administrator I want to easily provision a new host leveraging authorized configuration pre-created by the System Engineer. * Place in Infrastructure (Location, Environment, Capsule) * Choose Host-group ** Assign networking services if not pre-configured ** Modify parametized values for puppet classes * Choose Activation Key - If applicable * Choose Compute Resource * Future - Clone an existing host. While creating a new host there should be a button to select a host 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. Development Stories Requirements http://projects.theforeman.org/issues/8161 h2. Design h3. Wireframes Read though the notes and rational in the wireframes below. Latest Version: 2015-07-09 * https://dl.dropboxusercontent.com/u/5892944/Merged-Hosts-2015-07-09.pdf h3. Prototype * http://5uycxh.axshare.com/#p=create-host-blank&c=1 I have created a clickable prototype for validation testing. Please note that the prototype is just simulation of how the UI should work and not all areas are actionable. See the notes guide below on how to navigate the prototype. Use Firefox for the best results. * Clickable workflow for the prototype: ** Click Create Host button to launch the new host workflow. ** Fill out any of the fields. Selecting a Host Group User stories will populate the networking fields. ** Advanced Host Settings will expose more content ** Click Create Host when you are finished ** Click the first row in the table - testhost.idm.lab.bos.redhat… to view this hosts details ** You can click Status, Details, Content, Configuration tabs to view additional content. h3. Testing Validation As part be broken down of the Customer Support and Engagement booth the UX team performed usability tests on this interaction. You can era though the whole test plan and script below [1]. * [1] https://docs.google.com/a/redhat.com/document/d/1iRzw3J-ZSitsuEBwP6lgXwCIjEyfSuswYoaXO3i2pYM/edit?usp=sharing * With the testing we were testing to answer these questions: ** Will this interface enable System Developers to effectively perform the following tasks? * Updating a Host ** Troubleshooting a Host during [update?] * Defining a build ** Will this interface enable Sysadmin users to effectively perform the following tasks? * Provisioning a Host * Updating a Host ** Troubleshooting a Host during [update?] ** Will [Sysadmin] users get the impression that the host management process is less complex? ** Will existing users have trouble adjusting to the new UI design? ** Can new users perform the into specific actionable tasks successfully with this UI? *Test Plan* We can only expect to have about 10 minutes with each user. This is what will need to happen in that timeframe: Path A For existing users: 1 min - Identify what persona group they belong to 9 min - Usability test for primary use cases 5 min - Additional talking points Path B For non-users: 1 min - Identify what persona group they would potentially belong to (if any) 9 min - Usability test for primary use cases? (7 min) Introduction *Participants* The test was run on 16+ users (3-5 additional users went undocumented, but reported no issues) * Of the 16+ users they had experience with one or more: ** Satellite 5.+ ** Satellite 6.0 ** Spacewalk ** Foreman ** Puppet 3&4 * Participants roles include: ** Satellite 5 Customers ** Satellite 6 Beta Testers ** Foreman Community Members ** RHEL Only Customers ** Red Hat Technical Account Managers ** Red Hat Solution Architects ** Red Hat Engineers *Testing Results Overview* All participants were able to successfully complete all tasks. On 2 occasions the user required guidance on finding the location in the Host detail. All participant feedback has been incorporated in the wireframe design and prototypes above. develop against. * Host Creation Rating: ** New Host creation score average rating: 4 Easy ** Old Host creation score average rating: 2 Difficult h3. Development Stories * Host Management Rating: ** New Host management score average rating: 5 Easy ** Old Host management score average rating: 3 Difficult http://projects.theforeman.org/issues/8161