OSX Client Deployment Using DeployStudio

AID: 4596
  • Status: Published

2560 points

  • Bywoolnoir
  • TypeGeneral
  • Posted on2011-02-25 at 05:40:18
Deploystudio is a system which can be used to deploy OSX clients and servers within the small/medium or large business environments. The system is built onto of the OSX Server NetBoot system and uses images & workflows as its core assets. While working at my current employer I was asked to upgrade the organisations OSX platform providing tight windows integration and a more efficient deployment system. After some research I chose deploystudio due to its performance and capability for customisation.

Although feature-rich, deploystudio isn't so intuitive for the novice OSX engineer and it's my aim through this article to provide a quick step-by-step overview of client deployment using deploystudio(DS). Although advanced customisation is outside the scope of this article I do hope to provide reasons for any decision I make and would welcome any comments & experiences.

Pre-requisites

A OSX server installed and configured as suitable for your environment ( a example install here  )

Netboot Installed and enabled - and a suitable image folder prepared ( guide here or here )

Deploystudio Install with default options ( also explained here or here )

Overview

The process of deployment consists of the following high level steps :-

Creation of netboot boot images for deploystudio (already mentioned here)
Creation of a master OSX image
Creation of one or more workflows controlling the deployment
Deployment using Netboot & Deploystudio

This document will provide an overview of points 2,3 and 4 above. The creation of the netboot images has been detailed in my previous article (here or here).

Creation Of A Master Image

A master image is the basis of any deployment process within Deploystudio. It's at its most basic a working installation of OSX to which actions contained in a workflow run against. Workflows will be detailed in the next section but for now I will detail how a master image is created. N.b this process is architecture dependant so will need to happen separately on PPC and Intel machines.

Boot your Intel (or PPC) mac from either an OSX10.6 or OSX10.5 DVD and proceed to install the system as normal. Use a single partition and be sure to install Rosetta if you're installing on a Intel MAC. Once the installation completes and the green tick is shown power your machine down and prepare for the next stage.

Press and hold the 'N' key and start the Mac, continue holding the N key until you see the screen shown below - specifically the rotating planet indicating that network booting has started.

 
Deploy1.gif
  • 167 KB
  • deploy1
deploy1


The process should take a few minutes on a 100MB network - and should be much quicker on anything faster. Once completed the Deploystudio screen should show as below.

 
deploy2.gif
  • 85 KB
  • deploy2
deploy2


The boxes should auto populate with the exception of the password box (unless you chose to specify a password in my previous article to allow automated deployment). The password will be the one chosen when creating a netboot image in my previous article. Enter appropriate details and click login to access the DeployStudio workflow screen as shown below.

 
deploy3.gif
  • 23 KB
  • deploy3
deploy3


At this stage you will only see a small number of workflows, the one we want is the 'create master from volume'. Select it and click next. On the next screen enter a suitable name for the image and click next. I chose OSX10.6_PRE_APPLESETUP_ROSETTA.i386.hfs.dmg for my image name to indicate the version, the fact it was imaged before apple setup, the fact it had Rosetta installed and that it was for Intel (i386) machines.

DeployStudio will now image the local harddisk and transfer it onto the master folder within the Deploystudio share you created as part of my previous article. This stage can take anywhere from 20 to 60 minutes and is heavily dependant on network and disk speeds.

Workflow Creation

A workflow is a series of actions which can be applied to a master image, or a volume on a mac. Within the scope of this article a workflow has been used to create the master image, and the one we will create in this section will be used to deploy the master image to a machine and apply some post installation configuration settings.

A workflow should be created within your organisation for each architecture; small differences may exist between PPC and Intel and its easier if you can seperate the workflows for these. In addition you may have workflows which exist for different business units, requirements or even groups of machines. During this article I will detail the creation of 'Testworkflow' which I created for my currently employer to deploy a master image to intel machines.

Firstly start deploystudio admin and login to the correct deployment server. You should then see a screen similar to that shown below.

 
deploy4.gif
  • 31 KB
  • deploy4
deploy4


Click on the '+' symbol to add a new workflow and name it 'testworkflow' or whatever is appropriate for your organisation.

 
deploy5.gif
  • 14 KB
  • deploy5
deploy5


You will be presented with a blank workflow as shown above, clicking on the '+' symbol in the grey area will slide out a tasks panel showing which tasks can be applied to the current workflow.

 
deploy6.gif
  • 149 KB
  • deploy6
deploy6


My employer had a specific set of requirements. Firstly they wanted the workflow to prompt the operator for machine, network and user information during its initial stages and wanted the remainder to be fully automated. In addition they wanted the workflow to join the machine to Active and Open directory without operator input.

Firstly to comply with the informational requirements we should add three collection forms to the workflow. Click and Drag the 'Hostname', 'Network Location' and 'New User' tasks from the 'computer database update tasks' section.

 
deploy7.gif
  • 12 KB
  • deploy7
deploy7


You should start to see that a workflow is essentially a set of sequential tasks which are executed one by one until the workflow is finished. In this case, when started, the workflow will prompt the operator for hostname information (machine name, serial etc), then prompt for any custom IP addressing and finally for creation of a number of users.

Next we need to apply the master image onto the machine for which we will use the 'Restore Image' action. Click and drag the action to the end of the workflow as you did above.

 
deploy8.gif
  • 53 KB
  • deploy8
deploy8


With this task there are some addition options which we need to set. Tick the box to say restore on the first drive available (if appropriate) and type 'SYSTEM' in the 'rename volume to:' box (again if appropriate). You may want to consider if this is in line with your organisational policy.

If you do want the this stage to be automated, you can tick the 'Automate' box.

The next stage is to apply the information we captured earlier ( hostname, network configuration and any users ). Click and drag the 'reconfigure system with computers database content' action to the end of the workflow. Ensure all the options shown in the screenshot below are selected.

 
deploy9.gif
  • 44 KB
  • deploy9
deploy9


As the next action in the workflow, click and drag the 'time setup' task. If appropriate this will configure the machine being deployed to have its time synched with a local server ( in this case our local domain controller).

 
deploy10.gif
  • 43 KB
  • deploy10
deploy10


Again, if required ensure the 'automate' item is selected to avoid the need for operator input. The next task is the 'active directory binding' task, once again click and drag it to the end of the workflow.

 
deploy11.gif
  • 37 KB
  • deploy11
deploy11


Ensure that the options on this task are the same as the screenshot above, but take care that anything  specific to your organisation is configured correctly. Next, add is the 'open directory binding' task, like the one above this does require some configuration.

 
deploy12.gif
  • 34 KB
  • deploy12
deploy12


The servername, directory admin and password will be specific to your organisation so care is needed at this point to ensure they are set correctly. Once done the work flow in its most basic form is completed. You can add other steps such as automated package deployment ( for package creation please see my article here or here on the subject ). Packages can me either .pkg or .mpkg files and are installed using the 'install package' task as shown below.

 
deploy13.gif
  • 45 KB
  • deploy13
deploy13


Deployment using Netboot and Deploystudio

Depyloyment of a OSX client begins in much the same way as master imaging started. Press and hold the 'N' key and switch on the mac, continue holding the 'N' key until the rotating planet is displayed onscreen. After a few minutes the deploystudio screen should display and you will need to enter the same password you used in the first section of this article. Click Login and the system will show a list of workflows.

 
deploy14.gif
  • 23 KB
  • deploy14
deploy14


The workflow you created in the previous section will be listed, for the case of this document the one I will be using is 'INTEL - DEPLOY MAC (10.6)' which is our 'testworkflow' renamed for production use. Click on the play button and you can navigate through the three information capture screens we added to the start of the workflow. The first asks for hostname information, the second network information and the third asks for a username to create.

 
deploy15.gif
  • 28 KB
  • deploy15
deploy15

 
deploy16.gif
  • 30 KB
  • deploy16
deploy16

 
deploy17.gif
  • 25 KB
  • deploy17
deploy17


Any information which you enter in the above screens will be saved in the machine database for future use. The next time a deployment happens you can skip past the screens and use the same information.

Click 'play' and the deployment process will begin with the 'install image' task we added to our workflow.

 
deploy18.gif
  • 43 KB
  • deploy18
deploy18


For each of the tasks in the workflow a screen similar to the one above will be displayed. The process will finish and will prompt you to either continue or exit. Select to exit and the machine will restart. During the first boot, rather than the usual grey OSX screen the console will will show the progress of the final configuration tasks followed by another reboot. At this point the machine is deployed and ready to go.

I hope this article was useful, i've attempted to keep it simple and avoid many of the options available. Once you have done one deployment in a test lab you can have a play with some of the other features deploystudio offers.

Please visit the other articles in this series here, here and here. Also the main page of the blog here. In addition please pay a visit to my experts exchange profile here, where you can keep up to date on various answers and articles I have provided.

EE links for my articles in this series are here and here.

Above all, please comment on the article if its usefull - i always value the feedback.
    Asked On
    2011-02-25 at 05:40:18ID4596
    Tags

    deployment

    ,

    deploystudio

    ,

    netboot

    ,

    osx

    ,

    workflow

    ,

    apple

    Topic

    Mac OS X

    Views
    1952

    Comments

    Add your Comment

    Please Sign up or Log in to comment on this article.

    Join Experts Exchange Today

    Gain Access to all our Tech Resources

    Get personalized answers

    Ask unlimited questions

    Access Proven Solutions

    Search 3.2 million solutions

    Read In-Depth How-To Guides

    1000+ articles, demos, & tips

    Watch Step by Step Tutorials

    Learn direct from top tech pros

    And Much More!

    Your complete tech resource

    See Plans and Pricing

    30-day free trial. Register in 60 seconds.

    Loading Advertisement...

    Top Mac OS X Experts

    1. strung

      209,742

      Guru

      2,900 points yesterday

      Profile
      Rank: Genius
    2. eoinosullivan

      92,432

      Master

      1,000 points yesterday

      Profile
      Rank: Genius
    3. maximus5328

      50,329

      Master

      1,000 points yesterday

      Profile
      Rank: Wizard
    4. sigurarm

      31,890

      0 points yesterday

      Profile
      Rank: Sage
    5. ishcabittle

      30,530

      0 points yesterday

      Profile
      Rank: Master
    6. pgnatyuk

      29,332

      0 points yesterday

      Profile
      Rank: Genius
    7. jhyiesla

      22,376

      0 points yesterday

      Profile
      Rank: Genius
    8. mccrick

      17,418

      0 points yesterday

      Profile
      Rank: Guru
    9. Programmer-x

      16,532

      0 points yesterday

      Profile
      Rank: Guru
    10. vallis

      16,104

      0 points yesterday

      Profile
      Rank: Sage
    11. Mac2010

      14,175

      0 points yesterday

      Profile
      Rank: Master
    12. serialband

      12,360

      0 points yesterday

      Profile
      Rank: Master
    13. nxnw

      10,782

      0 points yesterday

      Profile
      Rank: Guru
    14. JonyHolt

      9,543

      0 points yesterday

      Profile
    15. robertcerny

      9,375

      0 points yesterday

      Profile
      Rank: Guru
    16. DaveBaldwin

      9,160

      0 points yesterday

      Profile
      Rank: Genius
    17. nappy_d

      8,700

      0 points yesterday

      Profile
      Rank: Genius
    18. chakko

      8,000

      0 points yesterday

      Profile
      Rank: Genius
    19. arnold

      7,608

      0 points yesterday

      Profile
      Rank: Genius
    20. hanccocka

      7,398

      0 points yesterday

      Profile
      Rank: Genius
    21. Anuroopsundd

      7,118

      0 points yesterday

      Profile
      Rank: Sage
    22. JBlond

      6,960

      0 points yesterday

      Profile
      Rank: Sage
    23. thinkpads_user

      6,768

      0 points yesterday

      Profile
      Rank: Genius
    24. duncan_roe

      6,100

      2,100 points yesterday

      Profile
      Rank: Genius
    25. sweetfa2

      5,868

      0 points yesterday

      Profile
      Rank: Wizard

    Hall Of Fame