-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RHEL Workshop improvements February 2020 #683
Comments
May I suggest that we begin with the end in mind? I.e., what are the objectives? I think we sometimes confuse these workshops with training, which is how more complex exercises get added. Is the goal still to help trigger the "ah ha" moment (lightbulb) in people new to Ansible? If so, then I agree with most of your points. Also, I would suggest: Workshop StructureI would like to see us to keep true to the original lightbulb format: Introduce a concept, demo the concept, have the student try it, and then build on it in the next section. Related to this, we should try to anchor the workshop around a practical example. The original lightbulb workshop, for example, used the deployment of a web server. I think this help anchor the concepts into a more practical context. Ex 1.2 - Ad-hocExercise ObjectivesUnderstand how Ansible can automate simple repetitive tasks on numerous nodes. Changes to meet objective
My rationale for keeping this exercise is that I think Ad-hoc commands are a great way for sys-admins to get their first taste of the power of Ansible. The ability to run a command like "uname -a" on 100 hosts can be an ah-ha moment in itself. Ex 1.4 - VariablesExercise ObjectivesUnderstand what Ansible Variables are, how they are defined, and their basic use. Changes to meet objective
Ex 1.5 - Conditionals Handlers and LoopsExercise ObjectivesUnderstand the basic control structures available in Ansible. Changes to meet objective
|
Few things from my side:
A word about lightbulb: there were multiple iterations of lightbulb. The very first I met was NOT about exercises, but about giving people some ideas and time to research them on their own. This is in strong contrast to how we run the workshops today. I challenge that the old concept was of broader use to larger groups, or even of use for any group size at all. @IPvSean I would be happy if you can craft some PRs out of this once the discussions reach a certain level. maybe even as a benevolent dictator who is not involved with the RHEL workshop as such. Also, @cloin & @goetzrieger , I'd love to get your input here! |
I agree with @ptoal , the original lightbulb was much better at layout and bringing the concepts home. A workshop should tell a story. How do I accomplish a goal not a single task, why does this matter and how can this help me in my day to day. The awkwardness is related to the flow in my opinion. As it stands today, it is a collection of random exercise's to demonstrate a concept for that section. IE lets do apache, then randomly vsftp, then back to apache, then motd. To much bouncing around. Slides - Most don't flow well or they are too busy, and there are too many of them. Some have a black background on white text, and some are white background with black text. We mostly use ansible.red instead of the pdf, and we never run the tower slides, we show a demo instead. When provisioned there are no more working examples, now I have to keep a copy of the playbooks that the students write. We also used them for students to catch up. The original concept of lightbulb was to teach every day admins, what Ansible could do for them, while teaching them the foundational Ansible concepts. Honestly I think the issue was that this attempted to replace lightbulb and it shouldn't be that. Lightbulb was great at laying a foundation of concepts and showing them. This workshop should have been written as a continuation or an addition/follow-on, not a replacement. Personally I think lightbulb should come back as a first intro to Ansible. Then have this workshop build on that and continue. The devops workshop that I wrote is meant to take what they learned from their first Ansible workshop and start moving it into infra-as-code/source of truth, building on what they have learned. Also the Dinky theme sucks. |
So, admittedly, I haven’t reviewed the RHEL workshop in some time so I’m a bit fuzzy. I did want to comment on @rhcreynold’s reply because I totally agree with the story telling bit. I feel like using workshops as a sales tool brings to life some identified use case that can be built out in a safe space. Story telling is a huge piece of solution selling. I feel that more importantly, each workshop type needs to be a pretty good 100-150 level where content is stable and very few changes are made. Something that is adaptable and can be tailored to the story we’re trying to tell that day. Too much content then becomes a good thing. Use it if you want - but here’s the base message that everybody should hear. I’m a big fan of roles, too. It’s like teaching an object oriented language instead of BASIC. Because we don’t use CLI at all in the windows workshop, I use adhoc to demonstrate manual steps vs writing a playbook and then optimizing what we’re automating by breaking it out into a role (function) instead of copying and pasting or rewriting code to do the same thing multiple times. I do miss asciidoc TOC! Is there really no way we can get that back? |
Few comments on that:
How do we proceed from here? I think there are some things at least many people agree one, like killing ad-hoc, bonus, streamlining the deck to have a consistent style and story improvements. How about we create issues at least for what people agree on and work on those? |
lightbulb - the guides is what we typically ran and it was a better story and flow when students went through it. ansible.red - this slide deck is no where near as long as the current pdf. The pdf is fine until ROI slide, we skip this in the workshop. They have seen it already from the account team and it isn't the point when teaching engineers how to ansible. How to install and consume ansible is not in the pdf, we have taken the liberty of installing it for them on their control node. Being that this workshop is focused on infrastructure people, we don't actually tell them how to install either cli or tower anymore as we do it for them. ansible.red does have a few slides on ansible-doc BUT in public sector a good chunk of our customers do not have internet, so it is very useful. Section 1.1 - is alright until towards the end then it gets bit ham sandwhich. We are stepping through the anisble subsystem, then we pimp the number of modules, then all of the sudden the next slide is how network automation works. Then now we are verifying access and doing section 1.1, has the instructor done any demos of anything yet?. This is confusing for the students. The inventories section (1.2) is fine until the ansible.cfg file. In our delivery experience this is just something that doesn't need to be covered, just another layer of confusion for the student. We are trying to teach them how to automate and write playbooks to make their jobs easier. Is the config file needed, yes, but default out of the box ansible ignoring it is fine for writing 'my first playbook'. Ad-hoc - (slide 40) we show them a command output, then spend a few slides explaining it. This is backwards. Slides 45, we finally start talking about modules, and guess what it shows, networking modules (yes i understand it is alphabetical). Need to show the high level categories and rhel admin commonly used ones, like ansible.red does. Slide 50 - this is bad, this is the second piece of yaml they have seen. It has nothing to do with the yaml they have seen earlier. Oh and now there are roles, vars, hosts, things which we have not covered in the slides. Several times a student stops to ask what a role is. After the yaml example, we explain the parts of a play. Slide 57 - somewhat back on track with the first example, but now there are handlers, which has not been covered. Which isn't covered until slide 82. Slide 65 - we call out the setup module, but it the explanation isn't until slide 70 1.4 - variables section is alright, though it doesn't relate to the apache which is the story here, right? the vars in ansible.red relate to apache. slide 75 - too much going on here, you are explaining group vars and host vars on the same slide Slide 78 - this doesn't speak to a sys admin. now we are using debug? whats that? we have not shown this to a student yet. you are using some words to show how a when clause works. a linux admin knows that apt doesn't work on rhel. so using the ansible fact for the os to only run the yum module when it is rhel makes sense. it also reinforces the ansible facts that we already covered. and it will lead them into blocks. ansible is write once, run many. for a bash script i'd have to have one for rhel and one for non rhel, with ansible i can write one playbook, use a block with a when clause for os dependent tasks. which is what is done slide 80. 1.6 - all good as it keeps with the apache story
A common theme in the slides is to demo first, then teach. This is backwards to how most learning is done, demos should be there to reenforce the concept and to provide context. dinky theme - it is just boring theme. it doesn't have any of the rh/ansible colors in it. there is no TOC (i understand that it isn't markdown), there is no pagination either. it is just basic. |
:) :) |
I think that #672 should also be part of this |
the merge is on |
I think this discussion is valuable as there are definitely things to improve about the workshops. But as the original author of the two labs (they where separate labs initially) let me add some context first: BackgroundBoth labs where conceived as short Summit-Style labs, so two hours each. And they where run all over the place: last three Summits (with best feedback), EMEA Partner Conferences, Red Hat Forums, dedicated Ansible Events, customer workshops. I know a good number of SAs in EMEA use the workshops regularly (incl myself) and nobody ever came up with the idea that the workshops take too long or are too involved. To the contrary, I'd say somebody with basic sys admin skills can do the Engine part in two hours and the Tower part in 1.5 hours. When I run one-day Ansible Workshops I usually take a modular approach, so I take my own slide decks and the Engine and Tower labs and then remix the agenda according to the audience. This could mean adding more presos (best practice/Windows automation/Network Automation). This works really well for me. Discussed Changes
So yes, there is good room for improvements, time permits, but I'd definitely opt for not changing the structure and content too much. If the labs are not working for others in the same way as for us, what about having two "levels"? First level really short and to the point, the second level suited for a more experienced audience or longer slots, this could contain more complex/longer examples. Another idea is to have more modular chapters that could be mixed and matched to be tailored to the audience. But again, this involves a lot of ongoing work and I guess the team around @IPvSean and @liquidat are pretty busy with maintaining the labs/workshops as they are. |
I've used the ansible and the tower workshop with customers several times, and I never found either one too long or too complicated. |
HiHo, I would support they idea of making the content more modular. This would give the presenter more flexibility in choosing which content is relevant to the audience. And if you feel it's to much content, you can skip some modules... My 2cents |
@cbolz @goetzrieger @ptoal @rhcreynold please review this PR #777 there is a link to my github pages there, but I will also put this here-> https://ipvsean.github.io/workshops/exercises/ansible_rhel/#section-1---ansible-engine-exercises I still think some other changes need to take place but this gets us maybe 10% of the way to where we want to be :). I hope that some of the tables will make things much easier on the eyes. I am also working on securing funding for the digital team to redo the CSS on the github pages website to make it better |
we have fixed some more issues with the RHEL workshop, thanks to @goetzrieger for creating new nodejs for RHEL8 #800 |
another release here with more solutions and fixes #878, this still doesn't fully close this out.... |
i think this issue is now too old... i think we should start a new discussion soon with EEs happening, but its time to close this issue |
SUMMARY
Feedback from multiple North America SAs that RHEL workshop needs some love to get it to a better state. Before I suggest feedback and make a PR (pull request) to modify workshop content I want to outline goals.
Goal Criteria
Problem Statement
With above goals in mind, the current problem with the workshop is the following (this is based on weekly SA meeting I conduct with SAs in North America, and some individuals in other territories like @eraser215):
First Draft for improvements
too many slides
we will tackle this once we re-factor workshop exercises, because we can obviously delete content if we don't have a relevant exercise to help shorten the workshop time, see below
too many exercises
I hope folks will not be offended by the removal of one of their exercises from the core content plan. The goal is not to "throw these away" but rather recycle content into additional lessons, demos, etc. We just have to cut somewhere given the goals and the feedback so this is my best attempt and trying to shorten the RHEL workshop and make it less complex and more turn key for SAs.
shorten 2.2 considerably by removing ad-hoc 2.2-credawkwardness
I think these will be way less controversial!
add ToC (table of contents) for every exerciseadd objective for every exerciseadd links from each exercise to the index page and next exercise (so they navigate github pages easier)change bullet lists from tower exercises into tables to make them less confusing/complexISSUE TYPE
COMPONENT NAME
ADDITIONAL INFORMATION
Please provide feedback via comments below! . If you highly disagree with something and feel better about unicasting me please email me. If you are a community member you are also welcome to comment/contribute but keep the goals in mind above. I am going to be prototyping more ways to contribute exercises and demos outside the normal lesson plan but I need to get the normal lesson plan back under control and the SAs in a happy place
The text was updated successfully, but these errors were encountered: