Fwd: [munki] push by gregnea...@mac.com - MSU.app now displays a warning if user chooses to update while on batt... on 2011-12-06 22:29 GMT

109 views
Skip to first unread message

Greg Neagle

unread,
Dec 6, 2011, 5:36:24 PM12/6/11
to munk...@googlegroups.com
As of git revision 69419d939b35, Managed Software Update.app now displays a warning if a user chooses to update while the machine is on battery power. The user can choose to Continue or Cancel.

Some possible refinements, up for discussion:

1) Should we always display this warning when on battery power, or only if the battery charge percentage is below a certain level or if the estimated runtime is less than a certain number of minutes?

2) Should auto/periodic runs of managedsoftwareupdate perhaps bail out early once we get below a certain percentage/time remaining? Should we check the battery again if we have a list of installs/removals before we start any installs or removals?

This does not yet address Justin's problem of firmware updates that _require_ AC power.

-Greg

Begin forwarded message:

Subject: [munki] push by gregnea...@mac.com - MSU.app now displays a warning if user chooses to update while on batt... on 2011-12-06 22:29 GMT
Date: December 6, 2011 2:30:18 PM PST

Revision: 69419d939b35
Author:   Greg Neagle <Gregn...@mac.com>
Date:     Tue Dec  6 14:29:53 2011
Log:      MSU.app now displays a warning if user chooses to update while on battery power.

http://code.google.com/p/munki/source/detail?r=69419d939b35

Modified:
/code/Managed Software Update/MSUAppDelegate.py
/code/Managed Software Update/munki.py

=======================================
--- /code/Managed Software Update/MSUAppDelegate.py Tue Dec  6 14:00:08 2011
+++ /code/Managed Software Update/MSUAppDelegate.py Tue Dec  6 14:29:53 2011
@@ -641,11 +641,11 @@
        power_info = munki.getPowerInfo()
        if power_info.get('PowerSource') == 'Battery Power':
            alert = NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_(
-                        NSLocalizedString(u"Your computer is not connected to a power source", None),
+                        NSLocalizedString(u"Your computer is not connected to a power source.", None),
                        NSLocalizedString(u"Cancel", None),
                        NSLocalizedString(u"Continue", None),
                        objc.nil,
-                        NSLocalizedString(u"For best results, you should connect your computer to a power source before updating. Are you sure you want to continue the update?", None)
+                        NSLocalizedString(u"For best results, you should connect your computer to a power source before updating. Are you sure you want to continue the update?", None))
            munki.log("MSU", "alert_on_battery_power")
            buttonPressed = alert.runModal()
            if buttonPressed == NSAlertDefaultReturn:
=======================================
--- /code/Managed Software Update/munki.py Mon Dec  5 11:16:12 2011
+++ /code/Managed Software Update/munki.py Tue Dec  6 14:29:53 2011
@@ -434,7 +434,7 @@
        if not matching_items:
            # try adding '.app' to the name and check again
            matching_items = [item for item in proc_list
-                              if '/'+ appname + '.app/' in item]
+                              if '/' + appname + '.app/' in item]

        matching_items = set(matching_items)
        for path in matching_items:
@@ -457,7 +457,7 @@
    cmd = ['/usr/bin/pmset', '-g', 'ps']
    proc = subprocess.Popen(cmd, bufsize=-1, stdout=subprocess.PIPE,
        stderr=subprocess.PIPE)
-    (output, error) = proc.communicate()
+    (output, unused_error) = proc.communicate()
    if proc.returncode:
        # handle error
        return power_dict
@@ -465,22 +465,22 @@
    # output from `pmset -g ps` looks like:
    #
    # Currently drawing from 'AC Power'
-    # -InternalBattery-0 100%; charged; 0:00 remaining
+    # -InternalBattery-0    100%; charged; 0:00 remaining
    #
    # or
    #
    # Currently drawing from 'AC Power'
-    # -InternalBattery-0 98%; charging; 0:08 remaining
+    # -InternalBattery-0    98%; charging; 0:08 remaining
    #
    # or
    #
    # Currently drawing from 'Battery Power'
-    # -InternalBattery-0 100%; discharging; (no estimate)
+    # -InternalBattery-0    100%; discharging; (no estimate)
    #
    # or
    #
    # Currently drawing from 'Battery Power'
-    # -InternalBattery-0 100%; discharging; 5:55 remaining
+    # -InternalBattery-0    100%; discharging; 5:55 remaining
    #
    line = output.splitlines()
    if 'AC Power' in line[0]:
@@ -506,7 +506,7 @@
            except (IndexError, ValueError):
                pass

-        return power_dict
+    return power_dict


def setupLogging(username=None):

Justin McWilliams

unread,
Dec 6, 2011, 8:49:20 PM12/6/11
to munk...@googlegroups.com
On Tue, Dec 6, 2011 at 2:36 PM, Greg Neagle <gregn...@mac.com> wrote:
> As of git revision 69419d939b35, Managed Software Update.app now displays a
> warning if a user chooses to update while the machine is on battery power.
> The user can choose to Continue or Cancel.
>
> Some possible refinements, up for discussion:
>
> 1) Should we always display this warning when on battery power, or only if
> the battery charge percentage is below a certain level or if the estimated
> runtime is less than a certain number of minutes?

I would say only bail if battery power is below a threshold, except in
the case of firmware updates. I don't feel strongly though.

> 2) Should auto/periodic runs of managedsoftwareupdate perhaps bail out early
> once we get below a certain percentage/time remaining? Should we check the
> battery again if we have a list of installs/removals before we start any
> installs or removals?

I would prefer to not exit in this case. Do we have evidence of what
amount of battery an average execution uses? I would imagine it's not
even measurable since it's so small. Installs/removals may use a bit
more, but I'd prefer to continue onward regardless if they're
unattended/forced.

Edward Marczak

unread,
Dec 6, 2011, 9:20:46 PM12/6/11
to munk...@googlegroups.com
On Tue, Dec 6, 2011 at 8:49 PM, Justin McWilliams <og...@google.com> wrote:
> On Tue, Dec 6, 2011 at 2:36 PM, Greg Neagle <gregn...@mac.com> wrote:
>> As of git revision 69419d939b35, Managed Software Update.app now displays a
>> warning if a user chooses to update while the machine is on battery power.
>> The user can choose to Continue or Cancel.
>>
>> Some possible refinements, up for discussion:
>>
>> 1) Should we always display this warning when on battery power, or only if
>> the battery charge percentage is below a certain level or if the estimated
>> runtime is less than a certain number of minutes?
>
> I would say only bail if battery power is below a threshold, except in
> the case of firmware updates.  I don't feel strongly though.

Agreed. Firmware updates are the only real 'special' ones here. Even
an Xcode install will complete on
30%. (Not counting really old, unreliable batteries, although you can
get those type of stats, too.)


>> 2) Should auto/periodic runs of managedsoftwareupdate perhaps bail out early
>> once we get below a certain percentage/time remaining? Should we check the
>> battery again if we have a list of installs/removals before we start any
>> installs or removals?
>
> I would prefer to not exit in this case.  Do we have evidence of what
> amount of battery an average execution uses?  I would imagine it's not
> even measurable since it's so small.  Installs/removals may use a bit
> more, but I'd prefer to continue onward regardless if they're
> unattended/forced.

Also agreed.
--
Edward Marczak
w: http://www.radiotope.com/writing
p: http://profiles.google.com/edwardmarczak

Greg Neagle

unread,
Dec 7, 2011, 11:20:29 AM12/7/11
to munk...@googlegroups.com

On Dec 6, 2011, at 6:20 PM, Edward Marczak wrote:

> On Tue, Dec 6, 2011 at 8:49 PM, Justin McWilliams <og...@google.com> wrote:
>> On Tue, Dec 6, 2011 at 2:36 PM, Greg Neagle <gregn...@mac.com> wrote:
>>> As of git revision 69419d939b35, Managed Software Update.app now displays a
>>> warning if a user chooses to update while the machine is on battery power.
>>> The user can choose to Continue or Cancel.
>>>
>>> Some possible refinements, up for discussion:
>>>
>>> 1) Should we always display this warning when on battery power, or only if
>>> the battery charge percentage is below a certain level or if the estimated
>>> runtime is less than a certain number of minutes?
>>
>> I would say only bail if battery power is below a threshold, except in
>> the case of firmware updates. I don't feel strongly though.
>
> Agreed. Firmware updates are the only real 'special' ones here. Even
> an Xcode install will complete on
> 30%. (Not counting really old, unreliable batteries, although you can
> get those type of stats, too.)

Just to clarify: the current implementation only warns – it doesn't "bail". So my question is should we always display a warning if we are on battery power, or only if we have less than a certain amount of runtime? This is more of a user experience question.

>>> 2) Should auto/periodic runs of managedsoftwareupdate perhaps bail out early
>>> once we get below a certain percentage/time remaining? Should we check the
>>> battery again if we have a list of installs/removals before we start any
>>> installs or removals?
>>
>> I would prefer to not exit in this case. Do we have evidence of what
>> amount of battery an average execution uses? I would imagine it's not
>> even measurable since it's so small. Installs/removals may use a bit
>> more, but I'd prefer to continue onward regardless if they're
>> unattended/forced.
>
> Also agreed.

Thanks for your votes!

-Greg

John Randolph

unread,
Dec 7, 2011, 11:25:11 AM12/7/11
to munk...@googlegroups.com
On Wed, Dec 7, 2011 at 11:20 AM, Greg Neagle <gregn...@mac.com> wrote:

On Dec 6, 2011, at 6:20 PM, Edward Marczak wrote:

> On Tue, Dec 6, 2011 at 8:49 PM, Justin McWilliams <og...@google.com> wrote:
>> On Tue, Dec 6, 2011 at 2:36 PM, Greg Neagle <gregn...@mac.com> wrote:
>>> As of git revision 69419d939b35, Managed Software Update.app now displays a
>>> warning if a user chooses to update while the machine is on battery power.
>>> The user can choose to Continue or Cancel.
>>>
>>> Some possible refinements, up for discussion:
>>>
>>> 1) Should we always display this warning when on battery power, or only if
>>> the battery charge percentage is below a certain level or if the estimated
>>> runtime is less than a certain number of minutes?
>>
>> I would say only bail if battery power is below a threshold, except in
>> the case of firmware updates.  I don't feel strongly though.
>
> Agreed. Firmware updates are the only real 'special' ones here. Even
> an Xcode install will complete on
> 30%. (Not counting really old, unreliable batteries, although you can
> get those type of stats, too.)

Just to clarify: the current implementation only warns – it doesn't "bail". So my question is should we always display a warning if we are on battery power, or only if we have less than a certain amount of runtime? This is more of a user experience question.

I think a general warning if we are on battery power is most appropriate. 
Trying to get tricky with battery% or runtime calculations isn't worth the effort, IMO, because they can change quickly when users switch tasks to/from heavy/light load.


>>> 2) Should auto/periodic runs of managedsoftwareupdate perhaps bail out early
>>> once we get below a certain percentage/time remaining? Should we check the
>>> battery again if we have a list of installs/removals before we start any
>>> installs or removals?
>>
>> I would prefer to not exit in this case.  Do we have evidence of what
>> amount of battery an average execution uses?  I would imagine it's not
>> even measurable since it's so small.  Installs/removals may use a bit
>> more, but I'd prefer to continue onward regardless if they're
>> unattended/forced.
>
> Also agreed.

Thanks for your votes!

-Greg




--
John Randolph -- Google New York -- Corp Platforms Eng

Anurag Mohanty

unread,
Dec 7, 2011, 11:36:05 AM12/7/11
to munk...@googlegroups.com
I agree.
It's also simpler to use install keys to make sure an item has installed properly, and if a client fails to install an item due to low battery, the item would be reinstalled on the next run.

-- Anurag

Justin McWilliams

unread,
Dec 7, 2011, 11:36:44 AM12/7/11
to munk...@googlegroups.com

And I would vote the other way. I think the less times we warn users
unnecessarily the better. If we warn people every time they're on
battery, they'll learn to ignore the warnings and miss those that
really matter, like when battery is dangerously low.

John Randolph

unread,
Dec 7, 2011, 11:42:27 AM12/7/11
to munk...@googlegroups.com
My point is that the warning calculation is more complicated than we should attempt to model, especially since we know we are about to kick up installers which will change battery usage rate.

Greg Neagle

unread,
Dec 7, 2011, 11:42:24 AM12/7/11
to munk...@googlegroups.com
I'm not as worried about that as I am a partial install that fails because we've run out of battery leaving the OS in a broken state.

-Greg

Greg Neagle

unread,
Dec 7, 2011, 12:06:14 PM12/7/11
to munk...@googlegroups.com, munk...@googlegroups.com
On Dec 7, 2011, at 8:42 AM, John Randolph <jr...@google.com> wrote:

> My point is that the warning calculation is more complicated than we should attempt to model, especially since we know we are about to kick up installers which will change battery usage rate.

The calculation doesn't have to be very clever or accurate. We could just decide to display the warning only when we were under 50% charge. This would have the effect of not bugging most users most of the time, while causing them to think a bit when their battery was less than half charged.

We will also need a way to say an update _requires_ AC power; for normal Munki updates, this could be a new key in the pkginfo. If we ever implement auxiliary info for Apple updates, we could use the same key there, too. But we may want Munki to be conservative and insist on power for all Apple firmware updates.

-Greg

Mike Pullen

unread,
Dec 7, 2011, 12:21:20 PM12/7/11
to munk...@googlegroups.com
I'm in the camp of, let's not over-notify end-users. I'd prefer to be able to choose a default, whether or not to notify the end-user, then be able to deviate from that default per-package.


Mike

Justin McWilliams

unread,
Dec 7, 2011, 12:50:50 PM12/7/11
to munk...@googlegroups.com
And while I agree that "50%" may mean two completely different things
for two different laptops, the vast majority of the time this will be
sufficient to perform any install. For the cases where batteries that
have 50% only last a few minutes, the user is likely already aware of
this and probably not on battery for extended periods anyways. I'd
rather have less than ideal experience for the edge cases and less
warnings for the masses.

Nate

unread,
Dec 7, 2011, 1:01:07 PM12/7/11
to munk...@googlegroups.com
I'd prefer to simply wait for AC power to install the firmware update rather then bug the user with it.  I agree that they will eventually just treat it as another "Don't bother reading and just click-later" type dialog.

As far as auto-installs are concerned, I wasn't clear if anything was being changed in regards to firmware.  I'd prefer if on battery, munki would not do firmware updates.  I've already bootstrapped a machine whilst on battery and it got stuck in a loop as a result of a Firmware update that required AC power to install.

Childress, Matt

unread,
Dec 7, 2011, 1:10:01 PM12/7/11
to munk...@googlegroups.com

Speaking of batteries and the concerns about installing updates when on battery…

 

I’ve been working on setting up a Mac Laptop cart with the newly hardware refresh of the MacBook Pro (trying to get them to netboot was a major nightmare – literally up til 3am and still not working ideally off the DHCP server options)

 

With regards to Munki, I’m trying to figure out the best way to setup munki for a high school laptop cart:

 

* In our environment we have 802.1X/WPA2 enterprise wireless network

 

* Due to security policy coming down from up above, we’ve set the machines up so that the credentials

entered at the login window are used to login to the wireless network

 

* That means that unless there’s a user logged in, the machine will not be connected to the network

     * so we need to download the updates when a user is logged in

 

The goals are the usual, but with a little more constraints:

 

                As little impact as possible on teaching/learning time.

                As automated as possible so little impact on IT staff time.

 

Questions/thoughts:

 

The discussion about battery and updates is interesting:  I *think* I want to download the updates but most likely not install them until the cart is back in its home and plugged into power (that way if the cart is used in back-to-back-to-back classes, I’m not needlessly sucking down the battery).

 

                * but will this work if the laptop goes to sleep once it’s closed (to be put away in the laptop cart)?

                                * what are the heat implications of running updates with a closed screen and on AC power?

                * what options are available through munki (and elsewhere) to configure this?  I think the new power/battery option will be very helpful, as well as the SuppressUserNotification option  -- but is there network/cpu throttling (so the updates don’t suck up all the available wireless networking)?

 

Basically I’m asking has anyone else been down this road before with munki (and other tools) and what worked/works best… feel free to point me to the stuff I couldn’t find on google… my google fu is off this morning L

 

M@

Greg Neagle

unread,
Dec 7, 2011, 1:23:38 PM12/7/11
to munk...@googlegroups.com
On Dec 7, 2011, at 10:01 AM, Nate wrote:

I'd prefer to simply wait for AC power to install the firmware update rather then bug the user with it.  I agree that they will eventually just treat it as another "Don't bother reading and just click-later" type dialog.

As far as auto-installs are concerned, I wasn't clear if anything was being changed in regards to firmware.  I'd prefer if on battery, munki would not do firmware updates.  I've already bootstrapped a machine whilst on battery and it got stuck in a loop as a result of a Firmware update that required AC power to install.

This is not part of the current code changes yet.

Firmware updates are a challenge in any case.

On machines older than a year or two, EFI and SMC firmware updates require manual intervention and cannot be automatically installed by Munki at all. In a bootstrap workflow, these updates will cause Munki to cycle endlessly. The only way to avoid this is to make sure the Software Update catalog Munki uses does not contain any of these firmware updates.

_Some_ recent EFI and/or SMC firmware updates may require AC power in order to install. Failure to be connected to AC power may cause repeated attempted installs of the firmware update.

There are also many other updates with "firmware" in their names:

061-1744        Power Mac G5 Uniprocessor Firmware Update          5.1.5f2    2005-04-26 [] 
061-1745        Xserve G5 Firmware Update                          5.1.7f1    2005-04-26 [] 
061-1746        Power Mac G5 (June 2004) Firmware Update           5.1.8f7    2005-04-26 [] 
061-1807        SuperDrive Firmware Update                         1.0        2005-05-03 [] 
061-2377        Power Mac G5 (Late 2004) System Firmware Update    1.1        2006-03-01 [] 
061-2557        SuperDrive Firmware Update                         2.0        2006-05-31 [] 
061-4089        iMac Graphics Firmware Update                      1.0        2007-11-15 [] 
061-4414        ATI Radeon HD 2600 XT Firmware Update              1.0        2008-03-10 [] 
061-5775        Trackpad Firmware Update                           1.0        2008-11-17 [] 
061-5978        Mini DisplayPort to VGA Firmware Update            1.0        2009-03-16 ['release', 'testing'] 
061-6213        MacBook Pro Graphics Firmware Update               1.0        2009-03-25 ['release', 'testing'] 
061-6319        Xserve LOM Firmware Update                         1.2        2009-05-06 ['release', 'testing'] 
061-6884        Bluetooth Firmware Update                          2.0.1      2009-08-19 ['release', 'testing'] 
061-7020        Hard Drive Firmware Update                         2.0        2009-08-19 ['release', 'testing'] 
061-7078        iMac ATI Radeon HD Graphics FirmwareUpdate         1.0        2009-09-10 [] 
061-7230        Apple RAID Card Firmware Update                    1.0        2009-09-17 ['release', 'testing'] 
061-7131        Apple RAID Card (Early 2009) Firmware Update       1.1        2009-10-06 ['release', 'testing'] 
061-7256        Keyboard Firmware Update                           1.0        2009-10-27 ['release', 'testing'] 
061-7409        Display Camera Firmware Update                     1.0        2009-11-18 ['release', 'testing'] 
061-7667        SuperDrive Firmware Update                         3.0        2009-12-15 ['release', 'testing'] 
061-7722        27-inch iMac Graphics Firmware Update              1.0        2009-12-21 ['release', 'testing'] 
061-7733        Aluminum Keyboard Firmware Update                  1.1        2010-01-25 [] (Deprecated)
061-7835        2009 Aluminum Keyboard Firmware Update             1.0        2010-02-10 [] (Deprecated)
061-9861        LED Cinema Display Firmware Update                 1.0        2010-12-15 ['release', 'testing'] 
041-0714        iMac Hard Drive Firmware Update                    1.0        2011-04-25 ['release', 'testing'] 
041-1371        iMac Graphics Firmware Update                      2.0        2011-06-08 ['release', 'testing'] 
041-0703        Thunderbolt Firmware Update                        1.0        2011-06-28 [] (Deprecated)
041-1233        Aluminum Keyboard Firmware Update                  1.1        2011-07-06 [] (Deprecated)
041-1231        2009 Aluminum Keyboard Firmware Update             1.0        2011-07-06 [] (Deprecated)
041-2286        2009 Aluminum Keyboard Firmware Update             1.0        2011-08-23 ['release', 'testing'] 
041-2288        Aluminum Keyboard Firmware Update                  1.1        2011-08-23 ['release', 'testing'] 
041-1624        iMac Graphics Firmware Update 3.0                  3.0        2011-08-24 ['release', 'testing'] 
041-0705        Thunderbolt Firmware Update                        1.0        2011-09-19 [] (Deprecated)
041-2513        Thunderbolt Display Firmware                       1.0        2011-09-19 ['release', 'testing'] 
041-3149        Thunderbolt Firmware Update                        1.0        2011-11-07 ['release', 'testing'] 

...any of which may have unique installation requirements. I don't think it's possible to ensure that Munki can always install all of these. 

Narrowing down the problem to EFI/SMC firmware updates for recent Mac models (those that _can_ be installed in an unattended fashion), we still need to:

1) Recognize these updates.
2) When doing auto installs, skip them if we're not connected to AC power.
3) When MSU is running, notify the user of the requirement for AC power, and proceeding only if we are connected to AC power.

Ultimately, the only 100% reliable solution is to exclude firmware updates from the Software Update catalog Munki uses and to handle firmware updates outside of Munki. Anything else is a partial solution only and still requires admin vigilance.

-Greg

Greg Neagle

unread,
Dec 7, 2011, 1:28:08 PM12/7/11
to munk...@googlegroups.com
On Dec 7, 2011, at 10:10 AM, Childress, Matt wrote:

Speaking of batteries and the concerns about installing updates when on battery…
 
I’ve been working on setting up a Mac Laptop cart with the newly hardware refresh of the MacBook Pro (trying to get them to netboot was a major nightmare – literally up til 3am and still not working ideally off the DHCP server options)
 
With regards to Munki, I’m trying to figure out the best way to setup munki for a high school laptop cart:
 
* In our environment we have 802.1X/WPA2 enterprise wireless network
 
* Due to security policy coming down from up above, we’ve set the machines up so that the credentials
entered at the login window are used to login to the wireless network
 
* That means that unless there’s a user logged in, the machine will not be connected to the network
     * so we need to download the updates when a user is logged in
 
The goals are the usual, but with a little more constraints:
 
                As little impact as possible on teaching/learning time.
                As automated as possible so little impact on IT staff time.
 
Questions/thoughts:
 
The discussion about battery and updates is interesting:  I *think* I want to download the updates but most likely not install them until the cart is back in its home and plugged into power (that way if the cart is used in back-to-back-to-back classes, I’m not needlessly sucking down the battery).
 
                * but will this work if the laptop goes to sleep once it’s closed (to be put away in the laptop cart)?

Nope. Nothing runs while the machine is asleep.

                                * what are the heat implications of running updates with a closed screen and on AC power?
                * what options are available through munki (and elsewhere) to configure this?  I think the new power/battery option will be very helpful, as well as the SuppressUserNotification option  -- but is there network/cpu throttling (so the updates don’t suck up all the available wireless networking)?
 
Basically I’m asking has anyone else been down this road before with munki (and other tools) and what worked/works best… feel free to point me to the stuff I couldn’t find on google… my google fu is off this morning L

This sounds like a huge challenge. Good luck finding a solution!

-Greg

Raúl Cuza

unread,
Dec 7, 2011, 2:45:18 PM12/7/11
to munk...@googlegroups.com, munk...@googlegroups.com
Ultimately, the only 100% reliable solution is to exclude firmware updates from the Software Update catalog Munki uses and to handle firmware updates outside of Munki. Anything else is a partial solution only and still requires admin vigilance.

A package blacklist on the client would be one way to prevent Apple firmware updates from being installed. It would also give environments who allow their clients some autonomy a way for clients to op out of a package without having to make a special manifest for them. 

Sent from my eMate 300

Greg Neagle

unread,
Dec 7, 2011, 2:50:40 PM12/7/11
to munk...@googlegroups.com
On Dec 7, 2011, at 11:45 AM, Raúl Cuza wrote:

Ultimately, the only 100% reliable solution is to exclude firmware updates from the Software Update catalog Munki uses and to handle firmware updates outside of Munki. Anything else is a partial solution only and still requires admin vigilance.

A package blacklist on the client would be one way to prevent Apple firmware updates from being installed. It would also give environments who allow their clients some autonomy a way for clients to op out of a package without having to make a special manifest for them. 

The better solution is an Apple Software Update server, or a reposado server. Only updates you approve are offered to clients.

An update blacklist doesn't catch new updates offered by Apple; some percentage of your machines may get these new updates before you have a chance to update the blacklist and push it out.

-Greg

Raúl Cuza

unread,
Dec 7, 2011, 2:58:05 PM12/7/11
to munk...@googlegroups.com, munk...@googlegroups.com
I agree that we need to control which packages the client sees using reposado or other manages ASU. 

I was thinking the blacklist would allow the firmware update to be available in the repo so it can be installed outside of munki (e.g. manually) but not installed by munki. With just controlled repos, the manual run would have to point to a different repo than a munki run. 


Sent from my eMate 300

Greg Neagle

unread,
Dec 7, 2011, 4:33:40 PM12/7/11
to munk...@googlegroups.com
On Dec 7, 2011, at 11:58 AM, Raúl Cuza wrote:

I agree that we need to control which packages the client sees using reposado or other manages ASU. 

I was thinking the blacklist would allow the firmware update to be available in the repo so it can be installed outside of munki (e.g. manually) but not installed by munki. With just controlled repos, the manual run would have to point to a different repo than a munki run. 

Which Munki supports just fine. You can leave the "system" CatalogURL pointing to Apple's servers, or use MCX or defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL to point Apple Software Update to a catalog that includes firmware updates, while setting Munki's Apple Software Update catalog to a more restricted catalog (sans firmware updates, for example). (This is the SoftwareUpdateServerURL setting in Munki's preferences.)

This allows Munki to use one catalog, while manual/automatic runs of Apple Software Update use another catalog.

Nathan Domier

unread,
Jun 6, 2012, 4:28:20 PM6/6/12
to munk...@googlegroups.com
I've been searching for ways to update a laptop cart effectively for a few days, and it brought me across your thread.  I thought I'd share my current solution in case anyone was interested:

I've set munki to update on shutdown.  It's still set to check for updates in the background, but the user prompt is suppressed.  

I created /etc/rc.shutdown.local, and it contains /usr/local/munki/managedsoftware --installonly.  This way, the install triggers on shutdown, but not the check, so any lengthy downloads are avoided.  I've yet to do any full scale rollout, but in limited testing it seems to work well enough.  The labs are shut down after every class, so there are plenty of chances for it to take care of updates over the course of the day.

I haven't found solutions to any of your problems, namely the computers booting up into sleep mode.  I have seen programs that will prevent the computer from sleeping, but these only work if the computer is on and logged in and then the lid is closed, not if it's just booted up closed. 

Have you come up with a workable solution for your lab? I was getting sick of having to manually run munki from time to time, and this was the best solution I've found to date.
Reply all
Reply to author
Forward
0 new messages