Closed Bug 690601 Opened 13 years ago Closed 13 years ago

Mac OS 10.7 test slave configuration for rev4 minis

Categories

(Release Engineering :: General, defect, P3)

x86
macOS
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jhford, Assigned: jhford)

References

Details

(Whiteboard: [hardware][buildslave][puppet])

Attachments

(2 files, 2 obsolete files)

We should have Lion (10.7) test slaves to run tests on.  Because I dont know if puppet works on these machines or if the necessary command line/flat file configuration tools exist, I am filing the bug as generically as I can.

This bug is to track the work needed to develop a reproducible set of steps, scripts and/or manifests to configure Macs as 10.7 test slaves.
Changed the summary to note that this is explicitly about getting a 10.7 image that will run tests successfully on the rev4 minis. 

We may have rev5 minis in a few months, but those come with 10.7 already installed while the rev4 minis do not.
Priority: -- → P3
Summary: Mac OS 10.7 test slave configuration → Mac OS 10.7 test slave configuration for rev4 minis
Whiteboard: [hardware][buildslave][puppet]
I don't know whether we want to test with iLife installed or not, but my understanding is that these machines will come with iLife installed from the factory.  Because the version of iLife that they would ship with is mac app store exclusive, we'd need to use the mac app store to install iLife on future slave reimages, or use a base image that already has ilife installed.

Another option is to measure the performance impact of having iLife installed as well as whether it affects our unit tests.
Blocks: 693776
(In reply to John Ford [:jhford] from comment #2)
> I don't know whether we want to test with iLife installed or not, but my
> understanding is that these machines will come with iLife installed from the
> factory.  Because the version of iLife that they would ship with is mac app
> store exclusive, we'd need to use the mac app store to install iLife on
> future slave reimages, or use a base image that already has ilife installed.

Per meeting w/jhford: we do not want to have iLife installed on these. Therefore we will do the same as we did for the 10.6 rev4 testers - installing OSX from recovery disk so these machines can run in production *without* iLife.
Attached patch puppet-manifests wip (obsolete) — Splinter Review
This is a WIP patch.  I am able to sync against a Lion machine but there are the following issues:

1) can't create python virtualenvs, need to extract the Python SDK from the Xcode 4.1? installer
2) need to figure out what to do with /Users/cltbld/Library/Preferences/com.apple.LaunchServices.plist
3) Figure out why the following files cause puppet errors even though they are present on the puppet file store:
-/Users/cltbld/Library/Preferences/com.apple.dock.plist
-/Users/cltbld/Library/Preferences/com.apple.LaunchServices.plist
-/etc/sudoers
4) need to figure out how to configure some new lion features
Assignee: nobody → jhford
Status: NEW → ASSIGNED
3) was a permissions issue on the puppet master, resolved
Looks like the python sdk is in DevSDK/System/Library/Frameworks/Python.framework
creating python sdk using:

create-dmg.sh Python.framework/ python-sdk-4.1.1 python-sdk /System/Library/Frameworks/
wget http://pyyaml.org/download/pyyaml/PyYAML-3.10.tar.gz
tar zxf PyYAML-3.10.tar.gz
cd PyYAML-3.10
python2.7 setup.py install --root=root
python2.6 setup.py install --root=root
python2.5 setup.py install --root=root
python2.7
wget http://hg.mozilla.org/build/puppet-manifests/raw-file/aa75d6e91838/create-dmg.sh
sh create-dmg.sh root/Library/Python pyyaml-3.10 pyyaml /Library/
scp pyyaml-3.10.dmg staging-puppet.build.mozilla.org:/N/staging/darwin11-x86_64/test/DMGs/
(In reply to John Ford [:jhford] from comment #5)
> 1) can't create python virtualenvs, need to extract the Python SDK from the
> Xcode 4.1? installer

resolved, created a python sdk dmg based on Xcode 4.1.1

> 2) need to figure out what to do with
> /Users/cltbld/Library/Preferences/com.apple.LaunchServices.plist

I think this is something to do with a unit test launching iCal.  Anyone know how we created this file in the first place?
Attached patch puppet manifests (obsolete) — Splinter Review
this patch is still a WIP, but this is syncing properly with lion-testing1.
Attachment #566360 - Attachment is obsolete: true
(In reply to John O'Duinn [:joduinn] from comment #4)

> Per meeting w/jhford: we do not want to have iLife installed on these.
> Therefore we will do the same as we did for the 10.6 rev4 testers -
> installing OSX from recovery disk so these machines can run in production
> *without* iLife.

This is slightly troubling to me. What is the percieved problem with iLife, and why do we believe that that problem is worth creating a configuration different than every Mac shipped?
Regarding the Lion application resuming feature, I think we can get around it by cleaning up the following files on each reboot.  I think this is better than disabling the feature altogether, in case we ever implement this resume behaviour.

rm -rf /Users/cltbld/Library/Saved Application State/*

Information from http://osxdaily.com/2011/07/17/delete-specific-application-saved-states-from-mac-os-x-10-7-lion-resume/
Depends on: 695757
Found a utility for disabling bluetooth on OS X.  Sources from http://www.frederikseiffert.de/blueutil/, rebuilt using

Clients-MacBook-Pro:Source cltbld$ cd 
Clients-MacBook-Pro:~ cltbld$ mkdir blueutil
Clients-MacBook-Pro:~ cltbld$ cd blueutil
Clients-MacBook-Pro:blueutil cltbld$ curl -LO http://www.frederikseiffert.de/blueutil/download/blueutil.dmg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 33343  100 33343    0     0  26940      0  0:00:01  0:00:01 --:--:-- 46309
Clients-MacBook-Pro:blueutil cltbld$ open blueutil.dmg
Clients-MacBook-Pro:blueutil cltbld$ cp -r /Volumes/blueutil/Source .
Clients-MacBook-Pro:blueutil cltbld$ cd Source/
Clients-MacBook-Pro:Source cltbld$ xcodebuild -sdk /Developer/SDKs/MacOSX10.6.sdk/ -arch i386 -arch x86_64
scp build/Release/blueutil staging-puppet.build.mozilla.org:/N/staging/darwin11-x86_64/test/usr/local/bin/
This script sets the resolution from within the puppet manifest if its wrong.  I am still deploying the launch agent for times when the machine is not connected to the puppet master
Attachment #566407 - Attachment is obsolete: true
Attachment #568781 - Flags: review?(coop)
Comment on attachment 568781 [details] [diff] [review]
add 10.7 to puppet manfiests

Review of attachment 568781 [details] [diff] [review]:
-----------------------------------------------------------------

Looks good, but should there be an node entry for the lion ref image?
Attachment #568781 - Flags: review?(coop) → review+
(In reply to Chris Cooper [:coop] from comment #16)
> Comment on attachment 568781 [details] [diff] [review] [diff] [details] [review]
> add 10.7 to puppet manfiests
> 
> Review of attachment 568781 [details] [diff] [review] [diff] [details] [review]:
> -----------------------------------------------------------------
> 
> Looks good, but should there be an node entry for the lion ref image?

I'll add it and assume that i don't need another review cycle for that :)
diff -u b/scl-production.pp b/scl-production.pp
--- b/scl-production.pp
+++ b/scl-production.pp
@@ -1553,6 +1553,10 @@
     include talos_osx_rev4
 }
 
+node "talos-r4-lion-ref" inherits "darwin11-x86_64-test" {
+    include talos_osx_rev4
+}
+
 node "talos-r4-lion-001" inherits "darwin11-x86_64-test" {
     include talos_osx_rev4
 }
This has been deployed.  As we don't have a baseline for this OS, I have nothing to compare to.  All issues with this machine setup should be filed as new bugs blocking bug 693760
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Blocks: 696507
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: