Blog

  • Troubleshooting AutoPkgr

    While awaiting my awesome Part.2 of how to set up Munki we will look at quick fix I made recently to troubleshoot AutoPkgr issues I was having.

    I have AutoPkgr set up with several sites as a quick and easy way to get updates of free and licensed software into Munki. Strangely, I ran into an error on my test box, and not on my deployments with clients. So it was something I had done, but what did I do?

    AutoPkgr python error
    AutoPkgr python error

    At first I thought that one of the recent updates to AutoPkgr had broken the application. But since it was running correctly elsewhere I had to quickly rule that out. Running the recipes, which looks for new updates of certain applications, kept giving me a python error. How do you troubleshoot this? Re-install Python? De-compile AutoPkgr? Rant on the MacEnterprise maillist? No, that won’t help. 🙂

    AutoPkgr is a very nice GUI front end to the excellent AutoPkg project. AutoPkgr installs Git and AutoPkg which are needed. AutoPkgr makes much of the set up much quicker and faster. It’s a great tool. Thanks to the Linde group.

    AutoPkgr update dialog
    AutoPkgr update dialog

    The best way to troubleshoot this issue with AutoPkgr is to see if it is an issue with AutoPkgr. Let’s see if AutoPkg runs at all, and with the same errors. Now there’s an idea. So how do we run AutoPkg? Terminal. Open Terminal.app, and run AutoPkg directly. I always start with a basic “where is the app binary I want?” and then run the app with no options to see if there’s a help menu with an explanation of the switches.

    AutoPkg in Terminal
    AutoPkg in Terminal

    Looking at what Terminal says we now know that AutoPkg is installed in the path /usr/local/bin which is a very accepted place for non-standard (extra, or optional) binaries to live. We also know that “autopkg run all” is not the correct command to run, but it was enough to elicit a better error message. In fact, the problem seems to be a “plist error” with the TextWrangler override recipe. What’s that you might be asking? AutoPkg allows the use of “overrides” which adjust a recipe. In my use of AutoPkg I set an override to add information to a recipe, specifically developer and category information so that Munki’s Managed Software Update app correctly displays the information and the user has a more logically sorted software self-serve portal. In any case, we know from this error that something is wrong with the override. I can run xmllint and clean it, I can open and find the error, or I can just delete this override and re-run AutoPkg to see if we can get somewhere.

    AutoPkg transmit
    AutoPkg transmit

    In this example I run AutoPkg with the Transmit recipe and all runs well. Everything is good now. So what’s the lesson here? Be careful with your plist files. When you make your override, and add useful keys, double-check your work to avoid a broken AutoPkg.

  • Configuration Profiles and Identity payloads

    Pretty sweet. It was a great gathering of IT pros in the deployment session. Great feedback and info sharing.

  • Using Munki and AutoPkg to automate Mac software deployment (Part 1)

    Recently Munki v2.01 was released and now more than ever with the help of other apps it is easier to automate software deployment. With help with AutoPkg (and AutoPkgr) you can quickly set up a Munki server to deliver software to all your Macs. In the time it takes to download one new app and update each of your client workstations you could instead put it in your Munki repo and have it ready to deploy to everyone.

    Munki allows you to automate software deployment. When you have more than one or two Macs to ensure that they are up to date with security, Flash, Java or other app updates you being to realize that an automated system can save you time and maybe even your sanity. You don’t backup manually, of course, you automate it. When it’s important and you want it done right, then some planning ahead of time and automation will make your life much easier.

    If you have not yet set up a Munki server then follow along as I walk you through setting Munki 2.01 with AutoPkgr 1.1 in part 1 of this blog post of Munki and AutoPkg. In part 2 I will go into further detail of how to use MunkiAdmin (Mac app) and Mandrill (a node.js web server) to edit and maintain your Munki set up. Pros and cons of each method will be touched upon. Using the command line in the past was required but I will show you how some really good apps and web services can help you maintain your automated software deployment workflow.

    Note: Munki requires only a web server to deploy software, while traditionally the munki tools ran on a Mac. You can put your software repo on any web server. I will show you the set up on a Mac for the purposes of this blog post.

    Steps to a basic Munki server set up on a Mac running 10.8, 10.9, or 10.10:
    1. Install latest Munki tools (v.2.01 at the time I write this), restart
    muni tools 2.01 pkg
    muni tools 2.01 pkg
    2. Install AutoPKGr (v.1.1 at the time I write this)

    AutoPkgr icon

    Install AutoPkg, and Git using AutoPkgr.
    Install autopkg and git using autopkgr
    Install autopkg and git using autopkgr
    3. Set your Munki repo to some folder (for example, /Users/Shared/munki_repo)
    Munki repo
    Munki repo
    4. Set up web services on OS X by manually editing httpd.conf document root to your Munki repo or with Server.app, setting your munki_repo as where you store your site files.
    Server.app Website document root munki repo
    Server.app Website document root munki repo
    6. Add recipes to AutoPKGr and choose apps. Set a schedule for AutoPkgr.
    Configure AutoPkgr
    Configure AutoPkgr
    7. Check for apps manually the first time, and let AutoPKG download them to your repo
    Configure AutoPkgr schedule
    Configure AutoPkgr schedule
    8. Check your repo for a manifests folder, and if it is not there, create it
    Munki repo manifests
    Munki repo manifests
    9. Download icon importer, move to /usr/local/munki folder, run against your repo
    curl -O https://munki.googlecode.com/git-history/Munki2/code/client/iconimporter
    mv iconimporter /usr/local/munki/iconimporter.py
    sudo chmod +x /usr/local/munki/iconimporter.py
    cd /usr/local/munki ; sudo ./iconimporter.py /Users/Shared/munki_repo/
    iconimporter munki repo
    iconimporter munki repo
    Next, go to the icons folder in your repo, pick a fav icon and rename if necessary (some have more than one icon with name with “_1, _2, etc”).
    10. Open MunkiAdmin and add packages to catalogs as needed, edit package info (add developer and category info, descriptions etc as needed), then create a client manifest.
    11. Choose apps to install for clients (choose from installs, optional installs, uninstalls)
    12. Set client id and repoURL on actual clients.

    sudo defaults write /Library/Preferences/ManagedInstalls ClientIdentifier “test-client”

    sudo defaults write /Library/Preferences/ManagedInstalls SoftwareRepoURL “http://ip.addr.ess”

    Done. Your munki server is set up and ready for clients to connect. Next up, in part 2, we will look at Munki’s client facing app, the Managed Software Center. We will also look at how to use Munki Admin (Mac app) and Mandrill (a node.js web server) to edit and maintain your Munki set up. Pros and cons of each method will be touched upon. Using the command line with Munki was required in the past but the Munki ecosystem has grown and there are some really good apps and web services can help you maintain your automated software deployment workflow.
    Further Reading:
    1. What’s new in Munki 2  (Links to apps in the Munki ecosystem)
    2. Munki 2 Demonstations setup (basic walkthrough setup)
  • Xsan 4 in OS X 10.10 (Yosemite)

    Apple released Yosemite (OS X 10.10) today.  The big news for me is the built-in version of Xsan is v.4. But don’t get too excited and upgrade your OS without some planning (and backups). If your systems are in production then please leave them as is. Install OS X 10.10 on a test system first. Install a test Xsan and play with that. Don’t test in production. ‘Nough said.

    What you need to know is, if you upgrade your Mac to 10.10 then it is officially incompatible with Xsan 3. You can NOT have Xsan 3 (10.9) clients on a 10.10 Xsan, and I don’t think that 10.10 (Xsan 4) clients will work on a Xsan 3 based SAN. There may be a hack to get incompatible versions working together but that’s left to imaginative tinkerers and not useful for production where deadlines are involved.

    I’ve done some basic testing with Xsan 4 and it does away with the Xsan Admin app, all setup is done in the Server.app. Also, it depends on Open Directory (and DNS, of course). If there is no OD master set up then it will create one (same with DNS). If you have OD then join your Xsan controllers to it as replicas or else they will create a new OD master on the first Xsan controller and a replica on the second. You were warned.

    To configure the clients you export a config profile and install it on the clients, or alternatively you can enrol the Xsan controller in MDM (Profile Manager, for example) and push out the config to the clients.

    I have not tested Xsan 4 with StorNext but I expect there is compatibility, as usual.

    In Summary:

    More testing is needed, but strictly speaking Xsan 4 is not going to work with Xsan 3 and vice versa. If an Xsan 3 (10.9 client) is part of Xsan 4 (10.10) then it may work but commands and configs will not come across (unmount / mount the volume, the volume is destroyed stop looking for it, etc).

    And now for some screenshots of the actual setup.

    Step 1. Install Server. Turn on Xsan and get ready to rumble.

    Screen Shot 2014-10-15 at 2.02.06 PM

    Step 2. Change your name. If you’re using dot-local change it.

    Change-dot-local-name-Xsan4

    Step 3. Set up valid DNS

    Setup-DNS-if-you-dont-have-none

    Step 4. Set up a new SAN

    Set-up-new-SAN

    Step 5. Choose a SAN name

    Choose-SAN-Name

    Step 6. Configure Users and Groups (OD)

    Config-users-groups

    Step 7. Choose your organization name

    OD-name

    Step 8. Create the Xsan volume

    Add-Xsan-volume2

    Step 9. Add LUNs to your storage

    Edit-storage-pool-add-LUNs

    Step 10. Save a configuration profile

    Save-mobile-config

    Step 11. Deploy config to clients

    Use MDM or manually deliver the file to your clients.

    Stay tuned.

  • NFS set up with OS X 10.9 Mavericks

    One way to set up NFS shares on OS X 10.9.x

    Summary: On OS X create “exports” text file describing your share that you want to export over NFS. Server.app is not necessary or needed. On the client the fstab file will describe the client end where the share gets mounted. Note: use whatever text editor you wish, whether it is vi, nano or TextWrangler, etc.

    Server:

    1. “sudo vi /etc/exports” example:

    /MySharedFolder -maproot=nobody

    2. “sudo nfsd checkexports”

    Check the correctness of exports file

    3. “sudo nfsd enable”

    Start nfsd

    Note: run “sudo kill -1 `cat /var/run/mountd.pid`” is nfsd had been running previously and you want to reread exports.

    4. “/usr/bin/showmount -e”

    Test the share. It should show something like: “/MySharedFolder Everyone”

    Client:

    1. “mkdir /MyShare”

    Make the mount point for the NFS share

    2. “vi /etc/fstab”

    Edit the fstab file to show the mounts you wish to have

    Example:

    192.168.23.5:/MySharedFolder /MyShare nfs rw,async,noatime 0 0

    4. “mount -a”

    Mount all

  • Automatic Archive in Archiware P5

    Let’s say you work in the media and entertainment industry, perhaps in Post production, and maybe, just maybe, you shoot a lot of digital film (R3D, Arri RAW, XDCAM, etc), and just maybe you have a SAN. And maybe you’re lucky and you set up a nice backup system using Archiware P5, for example. What about archive? What about finished projects, what do you do about that? Even more importantly, what do you do about the camera archives? That’s the digital film footage that comes in and gets copied to the SAN before creative work begins… it seems like important stuff. Very important to backup, and even better, to archive! How can we set up an automatic archive in Archiware P5?

    DEFINITION: What is the difference between backup and archive? In the media and entertainment industry I would define backup as a continuous data protection of live data on a production volume, while archive is a copy of a finished project or original media that will be removed from the production volume and must kept safe for future retrieval. Backups will roll over (a new full backup every week, or month) and if that is all we had, then footage or projects that are done and gone off the SAN would be then lost. Archive separates out the finished projects or source material as needing an independent safekeeping. P5 Archive also has the option of creating a mini-MAM type database of proxy files that can be easily viewed in a web browser for quick identification of files to be restored.

    So, how do we set up an automatic archive in Archiware P5? We want it to be automatic so we don’t have to think about it, since manually archiving like backups can be forgotten. If we set up a watch folder on the SAN then we just have to instruct everyone to drop their camera masters and other source files into the folder when they copy to the SAN and P5 will automatically archive them to an incremental tape archive. Wow. That’s awesome.

    Tips and Tricks: If you edit with Final Cut Pro X then I recommend using it to make Camera Archives (a verified copy of the footage from the original card or drive) then placing this in the watch folder. If you’re using Adobe’s Premiere workflow, then Prelude can make a verified copy as well, but not in the same way exactly. This will be the subject of another post. Stay tuned.

    What does an automatic archive look like?

    P5 Archive watch folder
    P5 Archive watch folder

    Requirements:

    1. Pool (designated tapes, or a disk, for archive)
    2. Index (could be the archive default index, or a unique new index)
    3. Plan (an archive plan specifies the pool and index used as well as the what and how)

    P5 Archive General Setup Screen Shot 2014-05-13 at 1.46.50 PM

    Tips and Tricks: If you’re generating QT previews then you’ll want to move your index off of the default, or else you might fill up your system hard drive with movie files and then your backup server won’t boot. No, I never done this. OK, trust me it will happen 🙂

    Tips and Tricks: Make sure to set up a backup job of the Archive index. This is a safety measure. The archive index is not saved to the tape in the same way backup jobs information. You need to create a backup job specifically to save your archive index. But you’re already running a backup job to backup your Archiware main index, right? Uh huh, thought so.

    Tips and Tricks: When creating the archive pool set it at 512KB media block size for faster archiving of big video files.

    Archive Index:

    Use the advanced options to create a new Archive Index, select its location and optionally create new additional fields to help searching for archived projects.

    P5 Archive Db config Screen Shot 2014-05-13 at 1.45.53 PM

    Archive options:

    Incremental or full? QT previews, yes or no? For an automatic archiving set up I suggest incremental archive and no QT previews. Using previews is up to you (and your disk space available), so plan accordingly.

    P5 Archive Options Screen Shot 2014-05-13 at 1.46.59 PM

    P5 Archive Preview Gen Screen Shot 2014-05-13 at 1.47.02 PM

    If you have any questions or need help setting this up please do not hesitate to contact me. In the meantime, I’ll work on a nice PDF doc to summarize the setup. Download a demo of Archiware P5 and give it a whirl. You’ll see that it’s super easy to create an automatic archive location on your SAN and your editors will thank you when you can restore their files that they need (when they need it!).

  • MacTech 2014 LA

    MacTech conf 2014
    MacTech conf 2014

    MacTech conference in LA, Nov 5-7, 2014. Grand unification theory of Mac geekdom. IT N3rdz united to share knowledge and make the Mac IT world a better place.

  • MacTech 2014 Seattle

    Talked about  “backups and storage” at the MacTech bootcamp 2014 in Seattle. Case studies of media storage and project archives to focus the discussion around backup technology best practise.

  • MacTech 2013 conference

    MacTech_Conference_2013-Gradient-logo-200x073

    Mac Tech 2013 in LA. The great assembly of IT nerds, geeks, developers and Mac devotees.

  • NAB 2013

    NAB 2013
    NAB 2013

    Xsanity meetup at NAB 2013. I am 2nd from the left. Aaron is to my left. André to my right, and Jordan on the far right. Go Xsan!

    Xsan
    Xsan (Photo credit: Wikipedia)