MergeHosts » History » Version 9
Kyle Baker, 07/09/2015 03:49 PM
1 | 2 | Kyle Baker | h1. Merge Hosts |
---|---|---|---|
2 | |||
3 | h2. Summary/Goals |
||
4 | |||
5 | 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. |
||
6 | |||
7 | h2. Targeted Persona |
||
8 | |||
9 | 3 | Kyle Baker | *System Engineer* |
10 | Responsible for configuring all of the infrastructure to provision hosts - which includes reprovisioning based on new builds |
||
11 | * http://projects.theforeman.org/projects/katello/wiki/Personas-SystemEngineer |
||
12 | 1 | Kyle Baker | |
13 | 3 | Kyle Baker | *System Administrator* |
14 | Responsible for deploying hosts to their portion of the companies managed infrastructure. Hosts are built based on the engineers configurations. |
||
15 | * http://projects.theforeman.org/projects/katello/wiki/Personas-SystemAdministrator |
||
16 | |||
17 | *Systems User* |
||
18 | (Both System Engineer & System Administrator roles) |
||
19 | |||
20 | 2 | Kyle Baker | h2. Status |
21 | |||
22 | h3. Use Cases |
||
23 | |||
24 | Owner - David Caplan, Kyle Baker |
||
25 | 9 | Kyle Baker | Status - Done |
26 | Expected Delivery - 5/16/2015 |
||
27 | 2 | Kyle Baker | Blockers - None |
28 | |||
29 | h3. Requirements |
||
30 | |||
31 | 9 | Kyle Baker | Owner - David Caplan & Kyle Baker |
32 | Status - Done |
||
33 | Expected Delivery - 5/16/2015 |
||
34 | Blockers - None |
||
35 | 2 | Kyle Baker | |
36 | 9 | Kyle Baker | h3. Design |
37 | 2 | Kyle Baker | |
38 | Owner - Kyle Baker |
||
39 | 9 | Kyle Baker | Status - Done |
40 | Blockers - None |
||
41 | Design Assets Below |
||
42 | 2 | Kyle Baker | |
43 | h3. Development Stories |
||
44 | |||
45 | 9 | Kyle Baker | Owner - Justin Sherrill & Team |
46 | Status - In Progress |
||
47 | http://projects.theforeman.org/issues/8161 |
||
48 | 2 | Kyle Baker | |
49 | h2. Documentation |
||
50 | |||
51 | h3. Assumptions |
||
52 | |||
53 | * Host entitlement status is a priority |
||
54 | * Context is not important for hosts |
||
55 | |||
56 | h3. Unknowns |
||
57 | |||
58 | * Need a single place where users can view host status and take action on hosts. |
||
59 | * 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. |
||
60 | * Pre-provisioning setup should include an option to build a boot ISO. |
||
61 | |||
62 | h3. Related Features |
||
63 | |||
64 | * Enabling Boot ISO - Feature coming soon |
||
65 | * Host Collections - Feature coming soon |
||
66 | |||
67 | h3. Use Cases |
||
68 | |||
69 | *Story 1 Host Monitoring* |
||
70 | 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. |
||
71 | |||
72 | * *(1) What is the status of this host or grouping of hosts?* |
||
73 | ** 1. Configuration Status |
||
74 | ** 2. Last Report or Check In |
||
75 | ** 3. Available Errata |
||
76 | ** 4. Periodically, Subscription Status |
||
77 | * *(2) Where is this host running?* |
||
78 | ** Capsule Information |
||
79 | ** Organization |
||
80 | ** Location |
||
81 | ** Environment |
||
82 | ** Host Group - For networking information |
||
83 | ** Host Collection |
||
84 | * *(3) What is this host running? Is it performing a critical function?* |
||
85 | ** Software Installed - OS, Errata |
||
86 | ** Puppet Facts |
||
87 | ** Content View Version |
||
88 | |||
89 | *Story 2 Host Detail* |
||
90 | 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. |
||
91 | * *Surface level Information* |
||
92 | 4 | Kyle Baker | ** OS, mac(s), ip(s), serial number, environment, capsule, host-group (puppet module), organization and location, host collections |
93 | 2 | Kyle Baker | * *Drill down* |
94 | 4 | Kyle Baker | ** hardware, software, networking, config, events, template(s), meta information, hypervisor |
95 | 2 | Kyle Baker | |
96 | *Story 3 Host Actions* |
||
97 | 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. |
||
98 | Add or remove errata or packages |
||
99 | * Change the location, organization, environment association |
||
100 | * Change the host-group association |
||
101 | * Change the host-collections association |
||
102 | 1 | Kyle Baker | * Change the subscription status |
103 | 2 | Kyle Baker | * Change puppet environment association |
104 | 4 | Kyle Baker | * Change compute resource - If deployed on compute resource yet |
105 | 2 | Kyle Baker | |
106 | *Story 4 Create New Host* |
||
107 | *System Engineer* |
||
108 | 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. |
||
109 | 5 | Kyle Baker | * This infrastructure is preconfigured by the System Engineer before the host creation process |
110 | 2 | Kyle Baker | ** Organization, Location, Environment, etc. |
111 | 1 | Kyle Baker | ** Manage subscriptions and entitled content |
112 | 5 | Kyle Baker | ** Create, publish, promote Content View |
113 | 2 | Kyle Baker | ** Create Host Groups |
114 | 7 | Kyle Baker | *** Set up matcher parametized values when setting up puppet classes |
115 | 2 | Kyle Baker | ** Create Activation keys |
116 | ** Add networking services |
||
117 | 3 | Kyle Baker | |
118 | 2 | Kyle Baker | *System Administrator* |
119 | 6 | Kyle Baker | As a System Administrator I want to easily provision a new host leveraging authorized configuration pre-created by the System Engineer. |
120 | 1 | Kyle Baker | * Place in Infrastructure (Location, Environment, Capsule) |
121 | 7 | Kyle Baker | * Choose Host-group |
122 | ** Assign networking services if not pre-configured |
||
123 | ** Modify parametized values for puppet classes |
||
124 | * Choose Activation Key - If applicable |
||
125 | * Choose Compute Resource |
||
126 | * 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.) |
||
127 | 2 | Kyle Baker | |
128 | h3. Future |
||
129 | |||
130 | * These features should be added as their own feature with their own specific user stories. |
||
131 | 6 | Kyle Baker | * Comparing hosts |
132 | * Dynamic host collections |
||
133 | * Bookmark evolution |
||
134 | 2 | Kyle Baker | ** Use search and bookmark functionality hosts to create a grouping |
135 | ** Notes: Do the search and save as host collection |
||
136 | ** See the detail of the search (new collection) |
||
137 | ** Have search dynamically generate new list every time it runs |
||
138 | ** View logs to view what changed |
||
139 | ** Term 'Bookmark' is not appropriate there |
||
140 | ** Bulk operations against hosts without managing another objects |
||
141 | * Interlinking host objects (clicking a CV shows all the host with that CV) then bookmarking |
||
142 | * Clone existing host |
||
143 | 1 | Kyle Baker | ** 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.) |
144 | 2 | Kyle Baker | * History |
145 | ** As a sysadmin I want to access from a single page the history of events that occurred for a specific system which may include: |
||
146 | ** Puppet reports (+ be able to filter for drifts to easily identify changes on the system) |
||
147 | ** Remote tasks execution results |
||
148 | 7 | Kyle Baker | ** OpenSCAP compliance tests results |
149 | 2 | Kyle Baker | ** Software management tasks (software installation, errata apply, etc...) |
150 | ** DH: for each action inside the history I want to see a rollback of this particular action similar to Sat5. |
||
151 | |||
152 | 1 | Kyle Baker | h3. Development Stories |
153 | |||
154 | http://projects.theforeman.org/issues/8161 |
||
155 | 8 | Kyle Baker | |
156 | h2. Design |
||
157 | |||
158 | h3. Wireframes |
||
159 | |||
160 | Read though the notes and rational in the wireframes below. |
||
161 | |||
162 | Latest Version: 2015-07-09 |
||
163 | * https://dl.dropboxusercontent.com/u/5892944/Merged-Hosts-2015-07-09.pdf |
||
164 | |||
165 | h3. Prototype |
||
166 | |||
167 | * http://5uycxh.axshare.com/#p=create-host-blank&c=1 |
||
168 | |||
169 | 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. |
||
170 | |||
171 | * Clickable workflow for the prototype: |
||
172 | ** Click Create Host button to launch the new host workflow. |
||
173 | ** Fill out any of the fields. Selecting a Host Group will populate the networking fields. |
||
174 | ** Advanced Host Settings will expose more content |
||
175 | ** Click Create Host when you are finished |
||
176 | ** Click the first row in the table - testhost.idm.lab.bos.redhat… to view this hosts details |
||
177 | ** You can click Status, Details, Content, Configuration tabs to view additional content. |
||
178 | |||
179 | h3. Testing Validation |
||
180 | |||
181 | As part 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]. |
||
182 | |||
183 | * [1] https://docs.google.com/a/redhat.com/document/d/1iRzw3J-ZSitsuEBwP6lgXwCIjEyfSuswYoaXO3i2pYM/edit?usp=sharing |
||
184 | |||
185 | * With the testing we were testing to answer these questions: |
||
186 | ** Will this interface enable System Developers to effectively perform the following tasks? |
||
187 | * Updating a Host |
||
188 | ** Troubleshooting a Host during [update?] |
||
189 | * Defining a build |
||
190 | ** Will this interface enable Sysadmin users to effectively perform the following tasks? |
||
191 | * Provisioning a Host |
||
192 | * Updating a Host |
||
193 | ** Troubleshooting a Host during [update?] |
||
194 | ** Will [Sysadmin] users get the impression that the host management process is less complex? |
||
195 | ** Will existing users have trouble adjusting to the new UI design? |
||
196 | ** Can new users perform the tasks successfully with this UI? |
||
197 | |||
198 | *Test Plan* |
||
199 | We can only expect to have about 10 minutes with each user. This is what will need to happen in that timeframe: |
||
200 | |||
201 | Path A For existing users: |
||
202 | 1 min - Identify what persona group they belong to |
||
203 | 9 min - Usability test for primary use cases |
||
204 | 5 min - Additional talking points |
||
205 | |||
206 | Path B For non-users: |
||
207 | 1 min - Identify what persona group they would potentially belong to (if any) |
||
208 | 9 min - Usability test for primary use cases? (7 min) |
||
209 | Introduction |
||
210 | |||
211 | *Participants* |
||
212 | |||
213 | The test was run on 16+ users (3-5 additional users went undocumented, but reported no issues) |
||
214 | * Of the 16+ users they had experience with one or more: |
||
215 | ** Satellite 5.+ |
||
216 | ** Satellite 6.0 |
||
217 | ** Spacewalk |
||
218 | ** Foreman |
||
219 | ** Puppet 3&4 |
||
220 | |||
221 | * Participants roles include: |
||
222 | ** Satellite 5 Customers |
||
223 | ** Satellite 6 Beta Testers |
||
224 | ** Foreman Community Members |
||
225 | ** RHEL Only Customers |
||
226 | ** Red Hat Technical Account Managers |
||
227 | ** Red Hat Solution Architects |
||
228 | ** Red Hat Engineers |
||
229 | |||
230 | *Testing Results Overview* |
||
231 | 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 and prototypes above. |
||
232 | |||
233 | * Host Creation Rating: |
||
234 | ** New Host creation score average rating: 4 Easy |
||
235 | ** Old Host creation score average rating: 2 Difficult |
||
236 | |||
237 | * Host Management Rating: |
||
238 | ** New Host management score average rating: 5 Easy |
||
239 | ** Old Host management score average rating: 3 Difficult |