The Quest To Learn Puppet: New Learning VM

Breadcrumb

Editor's note: The Learning VM has been updated with new learning quests, and for use with Puppet Enterprise 3.7. Read about it here.

The Puppet Labs Learning VM is the most popular learning resource we’ve created, downloaded more than 76,000 times. We appreciate all of you who’ve used it, and especially those who have been kind enough to offer feedback.

We took your feedback into account as we considered how to make the Learning VM even more useful and effective than it already was. One way to make something good better: Add some fun into the mix. Most of us here at Puppet Labs enjoy quest-based games, and we know many of you do, too. So the new Learning VM takes you on a quest for each technical concept, with tasks to complete in each quest so you can monitor your own learning.

We've focused the beginning of the learning journey on the essentials, starting with a practical example of how to use Puppet Enterprise and supported modules from the Puppet Forge to automate a task. Next, the learner moves on to quests that cover the basics of writing and understanding Puppet code. For people who are brand new to Puppet, we hope this new Learning VM will make it even easier to get started. It comes with Puppet Enterprise pre-installed, so you can get started immediately. For anyone who’s already using Puppet, we think the new Learning VM will make it easier to refresh your knowledge of any concepts you want to review.

Either way, we appreciate you trying out this new approach to learning Puppet, and we hope you’ll give us feedback so we can improve the Learning VM over time. Contact us at learningvm@puppetlabs.com, and let us know how you like this new approach to self-paced learning.

To get started, download the Learning VM, and follow along with the PDF file that’s included in the downloaded zip file.

Puppet Skills Can Boost Your Career

It’s no secret that Puppet skills are highly valued in today’s workplaces. “Puppet” is No. 6 among top-trending keywords on job board Indeed.com, and one of the top technology skills that net six-figure salaries, according to Dice's 2014 Tech Salary Survey. Building your knowledge of Puppet is a great way to provide more value to your company, and to help turn IT into a strategic asset for the business.

We have created a robust and growing educational ecosystem at Puppet Labs. We’ve trained more than 6,500 people on Puppet, almost 1,000 in the first quarter of this year alone, and we offer certification exams so you can put the official stamp on your knowledge. As your quest for Puppet skills leads you further, we’re here to help you conquer the next level.

Hi Larry, we are aware of this issue, with at least one other person writing to report that the form is not completely visible. Could you (and anyone else who runs into a problem seeing the form) please email me at carthik at puppetlabs.com?

i downloaded the LVM and set it up per instructions in the guide. Im stuck in Quest 2, task 3. I am unable to add the lvmguide class to the list of classes available to the PE
Console. On the Puppet Node Manager, when i select "Add Classes", select "lvmguide" and click "Add selected classes", i get a popup error that says
"Oops, something went wrong!"
"Error: Unauthorized"
Please help, im stuck. Tried reinitializing the VM, but nothing helps

I cannot reproduce the issue - what seems to work is to use a different browser. Please try a different browser and see if that fixes it. If there's a way to consistently reproduce this, I would appreciate an email with how to. Specifics regarding the version of the OS and Browser would be great. Sorry for the trouble.

Thank you for the response and suggestion. I was using Safari 7.0.3 and switching over to Chrome worked great. I am embarrassed it didn't occur to me that trying a different browser would solve the problem.

Brahim, the quest tool, and several parts of the guide and exercises within require some preliminary set up that's already been done on the VM. Besides, since you learn how to manage configurations by changing the configuration of the machine, it may not be wise to try this on your machine, instead of the VM. Lastly, the guide also counts on a machine with CentOS installed, to reduce the number of variables involved early on in learning. I hope you can use the VirtualBox (OVF) files and install and use VirtualBox on your laptop. Thanks!

Carthik,
Thanks for your response.. I take that to mean that there is no "module" per se that will help to implement the pre-reqs on a standalone instance. No worries. I'm able to use the LVM as published, even on my underpowered machine, and its a great resource for anyone interested in learning Puppet.

I've been having the same problem - while running the Puppet VM, VirtualBox is at around 100% CPU, and the response time in the VM itself is very slow. I tried re-downloading, unzipping, and importing the VM, but no luck.

Tried to upgrade to VB 4.3.12, but same issue.
I've downloaded the vmdk image, and with Fusion 6, command in terminal windows goes ok.
When I try to install puppet-apache module, i've a couple of error regarding module version. I've tried to install from local cache as stated in Quest_guide.pdf, but when I try to tar command there's a message about file format: not in gzip format. I've also tried to use bzip2 but error.
I've tried to connect to web interface, can connect but it is extremely slowly... Anyone can help me? Sorry for bad english...

It appears there is a bug within the current build of quests involving the Ordering Quest. The quest wishes for you to disable GSSAPIAuthentication within SSHD however the source code appears to be looking for it to be enabled. Additionally the quest progress for this should say "no" instead of "disable".

/root/.testing/spec/localhost/ordering_spec.rb

describe "GSSAPIAuthentication" do
it 'should be disable in the sshd config file' do
file('/etc/ssh/sshd_config').should contain /^GSSAPIAuthentication yes/
end
end

I'm having trouble with the lvmguide. When I did a "puppet module list" it showed lvmguide as v??.??.??. After a bit of messing around, I decided to do a "puppet module uninstall lvmguide" thinking I could easily do an install later. However, that doesn't work...

# puppet module install lvmguide
Notice: Preparing to install into /etc/puppetlabs/puppet/modules ...
Notice: Downloading from https://forgeapi.puppetlabs.com ...
Error: Could not execute operation for 'lvmguide'
The server being queried was /v3/releases?module=lvmguide
The HTTP response we received was '400 Bad Request'
Check the author and module names are correct.

Hi Trevor,
Thanks for bringing this to our notice. This will be fixed in the next version - the ModuleFile is no longer used (or present) in the latest version of the puppetlabs-apache module. The task looks for the presence of the file to see if the module has been installed. Please ignore this, or edit the:
/root/.testing/spec/localhost/power_spec.rb file to look like this:https://github.com/puppetlabs/puppetlabs-training-bootstrap/blob/master…

I'm seeing the same errors reported by other commenters - an unresponsive VM with a load average that climbs steadily to about 100! The problem is that a huge number of quest processes are being spawned. Here is a snippet of the output of ps aux during the problem:

As a temporary fix, to regain control of the VM, I was able to rename the /root/bin/quest file to something else. This stops the spawning of the processes. Renaming it back again causes the problem to start immediately and renders the VM unresponsive once more.

These quest processes appear to be spawned by the tmux sessions, which uses them to display the quest status in the right-hand region of the status bar. If I comment the line beginning "set-option -g status-right ..." out of /root/.tmux.conf , and rename the /root/bin/quest back to normal, then the system does not show the same problems.

I'm running the VM in VirtualBox 4.3.10 on CentOS 6.5 x86_64, with 4GB memory configured for the VM.

Hi I'm a Windows Muggle learning Puppet, I've run into the same issue with Apache and the preloaded materials, any chance someone could line by line me through getting the .gz file from My local win PC into the virtualbox? (I'm all out at "cd" and "ls" :o) thanks in advance all - sorry Noob

I just wanted to leave some feedback on the learning puppetVM.
I first used the VM last year, and it was great. Really helped in getting up to speed with puppet and showcased what puppet could do.
However, I think it now reflects very badly on puppetlabs that this version of the VM has been broken since April, and still isn't fixed.

Puppet is all about rapid deployment, yet it's been 6 months and there's still this bug where quest runs away with itself, and hits 100% CPU.

Hi Simon, thanks for the feedback. I'm sorry about your experience with the Learning VM. We have an updated version that will be released in the next week. You're more than welcome to reach out to me personally by email to check the status later this week. brad@
Thanks.

I can't get the Quest Guide website to load. The PE console works fine:

Check out the Quest Guide website! In your browser's address bar, type the following URL: http://<IPADDRESS> . (Though the IP address is the same, using https will load the PE console, while http will load the Quest Guide as a website.)

i hope you are using the latest version of the VM. In any case please reach out to us via email (which will be in the PDF quest guide) so we can help you better. Doing this back and forth in the comments to this post might not be the most efficient way to figure this out.

Hello,
having some trouble with the learning VM.
I am stuck at Quest 2, after successfully setting up the web interface i am unable to do an agent run. So far i managed:
---
1:50 pm admin
Add the "lvmguide" class

Also i had trouble getting the web interface up and running, it only works if a manually restart some services (service httpd, service pe-puppetserver, service pe-httpd, service pe-console-services). Restarting the VM does not solve that problem, only a manual service restart helps.

hoping for some help
René
PS: i am behind a firewall and had to use the 'offline' method of installing the first module

Hello!
I can't login to console and got message "The username/password combination entered is incorrect. If you believe you have received this message in error, please consult the logs at /var/log/pe-console-services/console-services.log.". I used login/password from guide. Is it correct login|password?
Best regards,
Mike

Open a web browser on your host machine and go to https://<IPADDRESS> , where
<IPADDRESS> is the Learning VM's IP address. (Be sure to include the s in https )
Your browser may give you a security notice because the PE console certificate is selfsigned.
Go ahead and click through this notice to continue to the console.
When prompted, use the following credentials to log in:
• username: admin
• password: learningpuppet

I am getting error - "The username/password combination entered is incorrect. If you believe you have received this message in error, please consult the logs at /var/log/puppetlabs/console-services/console-services.log" while login to WebConsole of Puppet Lab.

Can you please let me know the password to login to the portal/web-console

The PDF version of the Quest Guide is outdated and won't work with recent versions of the Learning VM. The VM hosts a static html version of the content that you can access by entering http://<VM's ADDRESS> in the address bar of your web browser. There are instructions for this process included as a readme with the Learning VM download.

Could you check the status of the pe-puppetserver service on the Learning VM (`systemctl status pe-puppetserver.service`)? If the service isn't running, start it (`systemctl status pe-puppetserver.service`). You may also want to double check the memory allocated to the Learning VM in your virtualization software, as running out of memory is the most common reason for this service to stop unexpectedly. It should be at least 2GB, though you may want to allocate more if available.

Hello, i have a problem. I downloaded Learning VM, and I got stuck on quest 2 (power of Puppet), task 3 - in the "PE Console > Nodes > Classification > Add Node", when i am adding the new rule (name is learning.puppetlabs.vm) it seems not to update number of matching nodes. Tried to change "name" to "fqdn", or "domainname", even changed to "ipaddress", with value set to ip address of Learning VM (result of "facter ipaddress") - nothing helps. I am using VirtualBox 5.0.2 and Windows 7 (hmm, can it be issue of Windows firewall?). I have also error message "Error retrieving certificates: Server Error" (in Nodes > Inventory tab).

I have the same issue, with Windows 7 and Virtual Box 4.3. Will try this out on linux later this week.
Can't see any errors dispalyed in the PE Console, but no nodes match, have tried regex matches, ipaddress, everything I can think of.

I'm running into the exact same problem with the vmware workstation with the 4.2.1 learning VM. I have poked at it and found out the VM i have has no name, and using the IP address, FQDN, domain name, and documented name do not seem to work. Any input would be awesome.

I am not sure if this is related to the certificate error on the nodes inventory page. But looking at the content of the 500 Internal Error message, I see a connection refused to https://learning.puppetlabs.vm:8140. If I go to the VM itself, nothing is running on port 8140. My guess is that the agent is not running correctly, which is why there are no nodes showing up in the node list.

The issues is that the rest of the Puppet related services were not running properly. Specifically puppetdb. I tried to restart it with the services command, but it kept on failing. So I ran it directly from /opt/puppetlabs/server/apps/puppetdb, and then I had to restart the console services, and then reinstall the agent with "curl -k https://learning.puppetlabs.vm:8140/packages/current/install.bash | sudo bash". Now it seems to be working.

I am facing issues with SSL certificates between the client and master on the learning VM. After restarting the oracle virtual box my IP changed and the problem started therafter. I followed the cert clean process and generated new certificated multiple times but it still fails. How do we handle the IP change on the virtual box as it picks up the IP's randomly. I also tried resetting the MAC address but even that does not work. I am really stuck with this issue and can not proceed further. Please help !!!

I am trying to run the latest learning VM (VMWare Fusion on MacOS). After changing network setting to "Autodetect", I started the VM. Noticed that the IP address is not shown on the splash page. Any suggestion?