Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Build an open source sandbox with IBM Tivoli Provisioning Manager: Part 1, Deploying the software

Aaron Olds (amolds@hotmail.com), Systems Engineer, Freelance
Aaron Olds graduated with a M.S. in computer science from Portland State University in 2004. He has worked as a systems engineer on large, complex enterprise applications at several Fortune 500 companies.
Sam Boucot (boucot@verizon.net), Developer and writer, Freelance writer
Sam Boucot
Sam Boucot graduated with a B.S. in mathematics from the University of California in 1986 and has worked for many years as a business systems analyst on large, complex ERP applications at several Fortune 500 companies.

Summary:  How can your company experiment with new technology without spending too much on IT resources? The answer is open source sandboxes that allow small pilot deployments of different applications for testing and evaluation. In this first part of a two-part series, we will show you how open source tools and IBM Tivoli Provisioning Manager can be used to construct a sandbox for testing pilot deployments of applications. No prior sandbox experience is necessary.

Date:  14 Dec 2010
Level:  Intermediate PDF:  A4 and Letter (855KB | 25 pages)Get Adobe® Reader®
Also available in:   Portuguese

Activity:  21506 views
Comments:  

Getting started

This article is for programmers and administrators who have used Tivoli Provisioning Manager, but are new to open source sandboxes. It will show how the bundle of software that makes up an open source sandbox—as well as the tools used to build and test an application in an open source sandbox—can be deployed quickly to an environment using Tivoli Provisioning Manager. By completing this article, you will learn about the following:

  • Open source
  • Open source sandboxes
  • How to build an open source sandbox
  • How to deploy an open source sandbox

Part 2 of this series will show how Tivoli Provisioning Manager reports can be used to track sandbox deployments.

The following tools are needed to follow along with this article:

  • Java™ Single Sign-On
  • Alfresco
  • Ruby on Rails
  • Nulldb
  • Amanda
  • MySQL
  • Trial version of Windows® XP
  • Trial version of Windows 2003
  • Trial version of IBM Tivoli Provisioning Manager

See the Resources section at the end of this article for links to download these technologies.


Open source sandboxes

Just what is open source software? The source code in open source software is available to the general public for use and or modification either free of charge or for a very modest annual fee. Open source software is generally developed collaboratively and shared with a community. The source code in closed source (also called proprietary) software is not available to the public. Table 1 shows the differences between open source and closed source content management software.


Table 1. Differences between open source and closed source CMS
Software typeProviderProductCostFamous client
Closed sourceMicrosoftSharepointMarketDepartment of Defense
Open sourceAlfrescoAlfrescoModest annual feeToyota
Open sourceDrupalDrupalFreeWhite House

Sandboxes

A sandbox is a protected, limited environment where applications, especially those from new vendors or that were downloaded from the Internet for the first time, are allowed to "play" without risking damage to a company's other systems. How and what sandboxes are used for can vary widely between companies. At some companies, only a handful of DBAs and system administrators ever touch a sandbox, and when they do it's only to test software patches or new hardware. At other companies, many of the end users from non-IT departments also make use of the sandbox not only to test patches and hardware, but also to carry out proof of concept on new applications. A sandbox environment generally has at least the following two elements:

Secure environment
Sandbox user access and authentication need to be controlled, especially if sensitive or confidential data is going to be available in the sandbox. In addition, your company's servers and mission-critical applications need to be protected from the testing that takes place within the sandbox.
Limited portion of production environment
Most companies usually do not have the resources to copy entire production environments into their sandboxes. So it is critical for the sandbox users to decide which portion of the production environment is needed and which portion is not needed in the sandbox. For example, if the sandbox is going to be used for a proof of concept of a manufacturing software package, there would probably be no reason to include payroll and human resource data in the sandbox.

But many companies have found the next two elements significantly increase the usefulness of their sandboxes:

Collaboration among sandbox users
Do multiple departments share the same sandbox, but do not always share what they are doing in the sandbox? Content management systems (CMS) offer a way to get all of the sandbox users on the same page. A CMS allows users to collaborate by storing important information, such as database refresh dates and the emails of all sandbox users, in a centralized document repository. Some CMS software packages allow for the creation of virtual teams and automatically notify users of any new or changing information of interest.
Backup of important data
Have any of your sandbox users ever been surprised by an unexpected database refresh before they finished their testing? Did they lose valuable test data that needed to be re-input? Most companies are adept at backing up their production environments, but less time and effort is put into backing up sandboxes. Companies often do not have the resources to do full backups of sandboxes and especially not on an incremental basis that captures all changes. A practical alternative is to do partial backups on a periodic basis that save off important data that was agreed up on by the sandbox users.

There are three types of sandboxes for companies to choose from:

  • A traditional sandbox completely built from closed source software. These are the most expensive to build and maintain. If your company is committed to commercial software, this option is probably the way to go. But you will have to pay more.
  • An open source sandbox built with a mixture of closed source and open source software. The cost for these is middle of the road. For companies just getting their hands wet with open source software, this approach makes a lot of sense. Open source software has come a long way. Large multi-national companies, such as Toyota, are now using open source software, such as Alfresco, in their sandboxes. So can your company.
  • An open source sandbox completely built from open source software. These are the most affordable. They are also the most flexible. Changing from one set of open source software to another set of open source software does not incur the financial penalties of changing from one set of commercial software to another set of commercial software.

Table 2 shows examples of three common sandbox setups:


Table 2. Three command sandbox setups
ElementTraditional sandboxOpen source sandbox (some close source, some open software)Open source sandbox (all open source software)
SecurityActive DirectoryJossoJosso
CollaborationSharepointAlfrescoAlfresco
BackupVeritasAmandaAmanda
DatabaseSQL ServerMySQLMySQL
File SystemWindows7WindowsLinux®

Now that we have reviewed some of the basics about sandboxes, we are ready to build our own open source sandbox that will use some closed source and some open source software.


Build an open source sandbox

Now we are ready to build an open source sandbox that will be called Sandbox1 and has two parts: sandbox client/server and sandbox distribution set.

The sandbox client/server consists of the following elements:

  • Tivoli Provisioning Manager server that is called vm5winxp and runs Windows XP
  • First Tivoli Provisioning Manager client/agent that is called vm2win2003 and runs Windows 2003
  • Second Tivoli Provisioning Manager client/agent that is called vm3win2003 and runs Windows 2003

The sandbox distribution set consists of the following elements:

  • Josso for security
  • Alfresco for collaboration
  • Amanda for backup
  • MySQL for the database
  • Ruby on Rails as the tool to build an application

Let's get started:

  1. Download a trial version of Windows XP for the Tivoli Provisioning Manager Server operating system. Windows XP works well with the Tivoli Provisioning Manager server.
  2. Download trial version of Windows 2003 for the Tivoli Provisioning Manager Client/Agent operating system. Windows 2003 works well with the Tivoli Provisioning Manager client/agent and all of the open source software that is in our distribution set.
  3. Create a secure environment with Josso. Josso is a Java-based platform-neutral user authentication and authorization tool. In the Get Products and Trials Section there is a Josso download link. After you install it you should get a home page like that shown in Figure 1.


    Figure 1. Josso home page
    Screen shot of Josso home page

  4. Help the sandbox users collaborate with Alfresco. Alfresco is the most popular open source enterprise content management system. We installed the document management, web content management, and collaboration components.
  5. Backup important data using Amanda. Amanda is the most popular open source backup and recovery system.
  6. Download Ruby on Rails. Ruby on Rails is a popular open source web framework.
  7. Download MySQL for the database. MySQL is the most popular open source database. Figure 2 shows the MySQL Workbench from Sandbox1.


    Figure 2. MySQL workbench
    MySQL workbench

  8. Install Tivoli Provisioning Manager. Tivoli Provisioning Manager is an industry leading provisioning tool. We will use it to deploy the sandbox. Figure 3 shows the Tivoli Provisioning Manager home page from our sandbox.


    Figure 3. Tivoli Provisioning Manager home page
    Screen shot of Tivoli Provisioning Manager home page

Our open source sandbox is now complete and we are ready to move it. Next, you'll see how Tivoli Provisioning Manager can be used to deploy our sandbox.


Deploy your open source sandbox with Tivoli Provisioning Manager

The open software that makes up our sandbox has been installed and now needs to be deployed. Let's go through each of the eight steps used to deploy our open source sandbox, Sandbox1:

  1. Determine how Sandbox1 will be organized
  2. Log on as admin
  3. Register machines
  4. Create new package
  5. Create new bundle
  6. Create new export
  7. Create new distribution
  8. Create new schedule

Let's look at each step in more depth:

Determine how Sandbox1 will be organized

There are three suggested ways for organizing software distributions: by operating system, by application, or by any other characteristic. We chose to organize by OS and then within the OS by application.

The Tivoli Provisioning Manager client/agent is installed on two Windows 2003 servers. The Tivoli Provisioning Manager server is installed on a Windows XP server (see Figure 4).


Figure 4. Organization of Sandbox1 with applications beneath the OS
Organization of Sandbox1 with applications beneath the OS

Log on as Admin

After you have installed Tivoli Provisioning Manager, you will want to log on with full rights, using the default administrative user ID and Password: admin/password.

Register machines

Under the initial set up, no machines are in the machines registered list on the Tivoli Provisioning Manager server. After the two clients vm2win2003 and vm3win2003 are installed, the two machines will be checked into the Tivoli Provisioning Manager server vm5winxp. See Figure 5 for the Machine Management screen.


Figure 5. Machine Management screen
Machine Management screen

Create new package

A package defines what is to be pushed to the target machine. In our case, the package is the software that makes up the open source sandbox. The next step is to create a package called Sandbox Package. Go to the Package Management Screen. There are several tabs to fill out. Enter the following general package information on the General tab (see Figure 6):

  • Name: Sandbox Package
  • Version: 1.0
  • Details: Sandbox Package 1.0
  • Icon Path: Packages/2003/Sandbox1/download-server.ico
  • Max Install Time(Min): 0
  • Do not select the Package Reboot checkbox
  • Do not select the Client Reboot checkbox
  • Do not select the Mandatory checkbox
  • Select the Silent checkbox
  • Do not select the Enable Deferral Options

Figure 6. General tab of Package Management screen
General tab of Package Management screen

Then click the Install tab (see Figure 7) and enter the following information that tells the package how to install the open source software on the target machine:

  • Select Directory Download as the Package Type
  • Do not select the Secure checkbox
  • Installation Directory: /tpmx/packages/2003/sandbox1
  • Enter nothing for Installation Command
  • Do not select Include MST/ISS File checkbox
  • Do not select Remove Directory After Install checkbox
  • Do not select Enable Process Tracking checkbox
  • Enter nothing for Windows RegKey
  • Enter nothing for Stamp File
  • Select Package for Stamp Mode
  • Stamp File Date: 0
  • Do not select Require Purchase Order
  • Enter nothing for Part Number

Figure 7. Install tab of Package Management screen
Install tab of Package Management screen

Then click the Target tab (see Figure 8) and enter the following information that provides more details about the target machine:

  • Temp. Space Required(MB): 0
  • Target Space Required (MB): 0
  • Target Directory: C:\Sandbox\
  • Enter nothing for Prerequired Program
  • Enter nothing for Preinstall Program
  • Enter nothing for Postinstall Program
  • Do not select Enable Network Speed Detection
  • Network Speed Allowed: 28.8 Kbps (Modem)

Figure 8. Target tab of Machine Management screen
Target tab of Machine Management screen

Then click the Platform tab (see Figure 9) and enter the following information:

  • Select Windows 2003 for Target Platforms

Figure 9. Platform tab of Machine Management screen
Platform tab of Machine Management screen

The last step is to fill out the Upload tab. The sandbox package is now created (see Figure 10).


Figure 10. New sandbox package
Example of new sandbox package

Create new bundle

A bundle defines the criteria by which machines get packages. Now we are going to create a bundle called Sandbox1 Bundle. The first thing is to create stamp file called readme.txt and move it to c:\Sandbox1\readme.txt. Go to the Bundle Management screen (see Figure 11) and enter the following information on the Bundle tab:

  • Name: Sandbox1 Bundle
  • Description: Sandbox1 Bundle
  • Stamp File: c:\Sandbox1\readme.txt
  • Do not select the Selectable checkbox
  • Select Windows 2003 for the Supported OS

Figure 11 - Bundle tab of Bundle Management screen
Bundle tab of Bundle Management screen

Then click the Packages tab (see Figure 12) and enter the following information:

  • Do not select Agent for Software Distribution checkbox
  • Select Sandbox Package checkbox

Figure 12. Package tab of Bundle Management screen
Package tab of Bundle Management screen

The Search tab can be ignored. Sandbox Bundle 1 is now complete (see Figure 13).


Figure 13. Sandbox1 Bundle is complete
Sandbox1 Bundle is complete

Perform new export

The export says these packages and bundles are available to be downloaded via the client. Now we are going to create an export called Sandbox1 Export. Go to the Export Management screen and enter the following information on the Export tab (see Figure 14):

  • Name: Sandbox1 Export
  • Description: Sandbox1 Export

Figure 14. Export tab of Export Management screen
Export tab of Export Management screen

Then click the Packages tab (see Figure 15) and enter the following information:

  • Do not select Agent for Software Distribution checkbox
  • Select Sandbox Package checkbox

Figure 15. Packages tab of Export Management screen
Packages tab of Export Management screen

Then click the Bundles tab (see Figure 16) and enter the following, which provides more information about the bundles in the export:

  • Select Sandbox Bundle checkbox

Figure 16. Bundles tab of Export Management screen
Bundles tab of Export Management screen

The Search tab can be ignored, because we did not search for packages or bundles in our export. The Export is now complete.

Create new distribution

A distribution, or distro for short, provides rules by which certain machines will get packages. The rules can be static or dynamic. Now we are going to create a distribution called Sandbox1 Distro. Go to the Distribution Management screen and enter the following information on the General tab (see Figure 17):

  • Name: Sandbox1 Distro
  • Description: Sandbox1 Distribution

Figure 17. General tab of Distribution Management screen
General tab of Distribution Management screen

Then click the Selectable Targets tab (see Figure 18) and enter the following information:

  • Select vm2win2003 checkbox.
  • Select vm3win2003 checkbox.
  • Do not select vm5winxo checkbox.

Figure 18. Selectable Targets tab of Distribution Management screen
Selectable Targets tab of Distribution Management screen

The Selectable Search, Dynamic Targets, and Invalid Targets tabs can be ignored. The distribution is finished (see Figure 19).


Figure 19. Sandbox1 Distro is complete
Sandbox1 Distro is complete

Create new schedule

There are two ways to distribute software to the target—push from the server to the client or pull from the client. Our schedule will push the Sandbox1 Bundle from the server to the client every night between 8 pm. and 10 pm. Go to the Schedule Management screen and enter the following information on the General tab about the schedule (see Figure 20).

  • Name: Sandbox1 Scheduled Refresh
  • Description: Sandbox1 Refresh
  • Select the Enable checkbox
  • Distribution Name: Sandbox1 Distro
  • Do not select the Enable Deferral Option checkbox
  • Daily Start Time: 20 00
  • Daily End Time: 23 00
  • Start Date: 2010-11-07
  • End Date: 2010-11-14

Figure 20. General tab of Schedule Management screen
General tab of Schedule Management screen

Then click the Package Tab and enter the following information:

  • Check Query Bundles
  • radio button
  • Package/Bundle Name
  • Sandbox1 Bundle

Figure 21 shows the Package Tab of Schedule Management Screen.


Figure 21. Package Tab of Schedule Management screen
Package Tab of Schedule Management screen

The schedule is added (see Figure 22).


Figure 22. Sandbox1 Scheduled Refresh is complete
Sandbox1 Scheduled Refresh is complete

All eight of the deployment steps are now complete. Sandbox1 is deployed.


Conclusion

You've built and deployed an open source sandbox. Your important business partners now have a safe environment where they can quickly and affordably run pilot tests to evaluate new applications and web services. Their important data is periodically backed up, and they are able to collaborate easily. In today's market, the ability to select new applications in a timely and cost-effective manner can give your company an advantage on your competition. It can also make your sandbox more popular with your internal customers.

Part 2 of this series will show how Tivoli Provisioning Manager reports can be used to track sandbox deployments.


Resources

Learn

  • What is Open Source: Open source software is an attractive option for companies wishing to maximize their IT dollars. To find out more about open source software read this article from ONLamp.com.

  • Read sandbox (software development from Wikipedia for more information about how sandboxes are used in application and Web services testing.

  • Find out more about commercial and open source content management systems from Wikipedia.

  • Alfresco: Learn about the open source content management software Alfresco.

  • Josso: Learn more about the open source Java Single Sign software.

  • amanda: Learn more about the open source backup and recovery software.

  • Ruby on Rails is becoming a very popular web application framework. To learn more about the basics try these screencasts or take a look at these tutorials.

  • Learn more about the Ruby on Rails plug-in nulldb that allows you to simulate a database while testing Ruby on Rails applications.

  • MySQL is the most populate open source database. For more information try these podcasts and tutorials.

  • For more information about Tivoli Provisioning Manager try the Global Tivoli User Community video gallery.

  • Open source: Visit the developerWorks Open source zone for extensive how-to information, tools, and project updates to help you develop with open source technologies, and use them with IBM products.

  • developerWorks technical events and webcasts: Stay current with developerWorks technical events and webcasts.

  • Podcasts: Tune in and catch up with IBM technical experts.

Get products and technologies

Discuss

About the authors

Aaron Olds graduated with a M.S. in computer science from Portland State University in 2004. He has worked as a systems engineer on large, complex enterprise applications at several Fortune 500 companies.

Sam Boucot

Sam Boucot graduated with a B.S. in mathematics from the University of California in 1986 and has worked for many years as a business systems analyst on large, complex ERP applications at several Fortune 500 companies.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Tivoli, Open source
ArticleID=600753
ArticleTitle=Build an open source sandbox with IBM Tivoli Provisioning Manager: Part 1, Deploying the software
publish-date=12142010

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers