Upgrading and Restarting Salt on OS X

| apple | devops |

I have been working a lot with salt this month on OS X. I have done some work in the past with Linux and it is a much more pleasant experience. Recently I have salted the installation of DataDog on a fleet of Mac Minis. My initial attempts did not work for several reasons. First, I was getting an error message from salt complaining that list indicies must be integers, not str. This turned out to be a python bug that was resolved in the latest version of salt. After upgrading salt-master and salt-minion to the latest versions I was getting yet another error stating that global name ‘salt_system_encoding’ is not defined. It turns out that this error can be resolved by restarting salt-minion. This turned out to be an issue on OS X because if you attempt to simply restart the process with salt-minion restart it hangs up and does nothing. If you try to run kill, or killall it is not able to match the name salt-minion for some reason. At first I was logging into each box manually and kill 9ing, but this kind of defeated the entire purpose of salt so I was determined to find a better way. This is where pkill comes in to save the day. pkill is able to match on salt-minion and is a working solution to restart salt-minion. On OS X salt-minion appears to run as a super daemon and immediately restarts if you try to kill it. This is not so bad since all we need to do to resolve the errors above is kill all of the old salt-minion processes. The complete process to upgrade and restart salt-minion on OS X is outlined below:

  1. Upgrade Salt (Assuming you installed salt with pip)
    `salt '*' cmd.run '/usr/local/bin/pip install salt --upgrade'`
    
  2. Restart Salt Minion (Be extra careful with this command)
    `salt '*' cmd.run 'sudo pkill -f salt-minion'`
    
  3. Verify that you are on the latest version (salt-minion 2015.5.5 (Lithium) as of this post)
    `salt '*' cmd.run '/usr/local/bin/salt-minion --version'`
    
After following these steps, everything is now working! So, now I have the latest version of salt-minion, DataDog chugging along, and I was able to do it all without resorting to writing some jenky bash script or logging in manually to each box. Salt on OS X has been a headache so far, but hopefully with everything being on the latest version things will be a bit smoother going forward.

Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.

Check out some more stuff to read down below.

Most popular posts this month

Recent Favorite Blog Posts

This is a collection of the last 8 posts that I bookmarked.

Articles from blogs I follow around the net

Social media reimagined

We’re all familiar with social media: the Facebooks, the Twitters, the TikToks of this silly digital world. They have invaded our lives and taken over our time and attention. We have spent the past decade posting, snapping, tweeting, reeling (?), …

via Manuel Moreale — Everything Feed March 19, 2026

Pokemon Go created a 3D map of the world – but for what?

You may have seen the recent headlines about how a company called Niantic Spatial is using a database of real-world locations that was originally compiled by players of the mobile game Pokemon Go — a game that launched about a decade ago and quickly becam…

via The Torment Nexus March 19, 2026

Pluralistic: Love of corporate bullshit is correlated with bad judgment (19 Mar 2026)

Today's links Love of corporate bullshit is correlated with bad judgment: Synergizing the strategic inflection points on the global data network. Hey look at this: Delights to delectate. Object permanence: Bluetooth headsets; Fruit sticker decoder; iP…

via Pluralistic: Daily links from Cory Doctorow March 19, 2026

Generated by openring