Skip to main content
Hear how Steve Wood successfully upgrades all his Apple devices with the Casper Suite.

Lessons learned from past OS upgrades

Posted in: Casper Suite, Jamf, Jamf Pro

It's that time of year again, children are heading back to school, football season is starting, and Apple is set to release a new version of their operating system. While the first two might throw you into a little bit of a hysterical moment, upgrading your end user operating systems should not. Utilizing the Casper Suite from JAMF Software makes upgrading your end user machines a simple task.

Even as simple as the Casper Suite makes it, there are still a couple of things that we need to think about as we take on this daunting task. You will want to make sure you have the latest version of the operating system to deploy. If you have older hardware, you will need to make sure it can handle the new operating system, and you have to be careful in how you get the installer onto your end user systems.

I’ve been using the Casper Suite to upgrade Apple operating systems since 2012. Here are some lessons I’ve learned that will hopefully help you deploy upgrades easily.

Give the JDS time
If you are utilizing JAMF's distribution servers, known as a JDS, in your environment, you will need to be patient with the upload of the operating system. Because of the way the JDS is architected, it utilizes the SQL database on the JSS to transfer installers into the Casper Share. When uploading an installer, including the operating system installer, the installer is first copied into a table in the database, and then it is transferred over to the JDS.

With larger files, like the 5GB or 6GB file size of the operating system installer, it could take up to an hour to get that file from the database and onto the JDS. So make sure to leave Casper Admin open after you have dropped the installer in. After an hour or two, come back to Casper Admin and close it, saving changes. After that, re-launch Casper Admin to verify that the installer is there. It will show up as "Install OS X Yosemite", for example, and will be in red if the file is not on the JDS. Make sure to double-check this.

Group those machines
Apple always releases a list of minimum requirements for hardware to be able to run the latest operating system. It's important to make sure the machines you are pushing the installer to meet these requirements. Since the Casper Suite maintains all sorts of information about your hardware-like processor (memory, hard disk size, and other interesting specs), you can utilize Smart Groups in the JSS to install on the machines that are capable of running the software.

Verify hard disk space
One of the most important of those requirements is to verify hard disk space. If a machine does not have enough free space to run the installer, it will fail the install policy and nothing will be changed. This can leave your end users wondering if you know what you're doing and will increase the number of help desk tickets you have coming in. And we all hate help desk tickets.

It's all about the cache
Being able to deploy an operating system upgrade without having to visit each machine is huge. Self Service allows us to put the power into our end user's hands, allowing them to kick off a system upgrade on their time. We can, of course, give them a nudge with notifications if they wait too long before running the install.

This process takes two policies and a couple Smart Groups:

Policy #1
The first policy that you need to create is one to send the installer over to the end user machines. This policy is scoped utilizing the Smart Group we created earlier, grabbing machines that meet our requirements for installation. The most important part of this policy is to make sure you are caching the installer and NOT installing it.

I have made the mistake, at least twice, of adding the operating system installer to a policy, not changing from install to cache, and then clicking save. Within an hour my phone was ringing with people complaining their machine was at some weird OS X Utilities window. Uh oh. Unfortunately, the only permanent fix for this is to actually complete the upgrade on their machine. Otherwise when they restart their computer, they stand a good chance of having their machine boot off of the recovery partition again. So double and triple check yourself before enabling the policy, and make sure that the package is set to CACHE and not install.

Policy #2
The second policy that we need for this to work is our Self Service policy. Before we create the policy, however, we need to have another Smart Group to scope to. This Smart Group is fairly straightforward, we just set it to look for "Cached Packages" and we set it to our operating system installer. With Yosemite, the Smart Group was looking for "Install OS X Yosemite.InstallESD.dmg".

Now that you have your Smart Group, you'll want to create the Self Service policy. Choose the operating system installer that you cached earlier, and make sure it is set to "Install Cached". On the Self Service tab, make sure to enter a description of what is going to happen, and make sure to mention to close all open applications.

If you follow these guidelines, and follow JAMF’s white paper on operating system upgrades, you'll be all set to be the superstar at your office. I have utilized this method to upgrade from 10.8 to 10.9 and from 10.9 to 10.10, and the only times that I have had issues they were issues I created. This method works, and it frees you up to do other things while your end users do your job for you.

Steve Wood
director of IT, Integer Group