federator - tibco softwarerepackaged jboss enterprise middleware open source software. ......

66
Federator Guide Proprietary and Confidential

Upload: others

Post on 01-Feb-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide

Proprietary and Confidential

Page 2: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Confidentiality and Disclaimer

Copyright © 2009 DataSynapse, Inc. All Rights Reserved. Neither this document nor any of its contents may be used or disclosed without the express written consent of DataSynapse. This document does not carry any right of publication or disclosure to any other party.While the information provided herein is believed to be accurate and reliable, DataSynapse makes no representations or warranties, express or implied, as to the accuracy or completeness of such information. Only those representations and warranties contained in a definitive license agreement shall have any legal effect. In furnishing this document, DataSynapse reserves the right to amend or replace it at any time and undertakes no obligation to provide the recipient with access to any additional information. Nothing contained within this document is or should be relied upon as a promise or representation as to the future.DataSynapse products may include some or all of the following:Software developed by the Apache Software Foundation.Software developed by the OpenSSL Project for use in the OpenSSL Toolkit.Software developed by Sam Stephenson.Software developed by Yahoo! Inc.Code licensed from RSA Data Security.Spring Framework software.Code licensed under the Lesser Gnu Public License (LGPL)Repackaged JBoss Enterprise Middleware open source software.Product integration with the BEA WebLogic® Server software developed and copyrighted by BEA Systems, Inc. Certain third party software is distributed by the BEA WebLogic Server.GridServer®, and FabricServer® software are a registered trademarks. DataSynapse, the DataSynapse logo, GridClient, GridBroker, FabricBroker, LiveCluster, VersaUtility, VersaVision, SpeedLink, Federator, and RTI Design are trademarks. GRIDesign is a registered servicemark of DataSynapse, Inc.WebLogic® is a registered trademark of BEA Systems, Inc.WebSphere® is a registered trademark and CloudScape™ is a trademark of International Business Machines Corporation in the United States, other countries, or both.Software developed using the Eclipse open source development platform.Software developed by the Massachusetts Institute of Technology.VMware, the VMware “boxes” logo and design, Virtual SMP and VMotion are registered trademarks or trademarks of VMware, Inc. in the United States and/or other jurisdictions.Portions copyright 2009 John Resig.PuTTY, copyright 1997-2009 Simon Tatham.Portions copyright Robert de Bath, Joris van Rantwijk, Delian Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry, Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa, Markus Kuhn, Colin Watson, and CORE SDI S.A.Portions copyright 2005 Envoi Solutions LLC.All other product names are trademarks or registered trademarks of their respective companies.DataSynapse products are protected by U.S. Patent No. 6,757,730, U.S. Patent No. 7,093,004 and U.S. Patent No. 7,130,891; other patents pending.DataSynapse, Inc. 632 Broadway, 5th Floor; New York, NY 10012

Tel: 212.842.8842

Fax: 212.842.8843

E-mail: [email protected] Web: www.datasynapse.com

For technical support issues and product updates, please visit: customer.datasynapse.com

7272009

Page 3: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 1 • • • •••

Contents

Contents .....................................................................................................................................................1Chapter 1 ‐ Introduction  ........................................................................................................................5

Document Conventions ...................................................................................................................5Chapter 2 ‐ An Introduction to Federator  ...........................................................................................7

What Can I Do with Federator? ......................................................................................................8Chapter 3 ‐ Installation  ..........................................................................................................................9

Setting up the Database ...................................................................................................................9Configuring the Database Server ........................................................................................9Setting up the JDBC Driver ..............................................................................................10

Running Federator in FabricServer ...............................................................................................10Enabling DataSynapse Grids for Federator ..................................................................................12Running Federator for the First Time ...........................................................................................12

Creating an Administrator Account ..................................................................................13Uploading Your License ...................................................................................................13

Chapter 4 ‐ Administration  .................................................................................................................15Creating User Accounts ................................................................................................................15

Creating Accounts .............................................................................................................15Editing Accounts ...............................................................................................................16Enabling and Disabling Accounts .....................................................................................16

Modifying Federator’s Configuration and Licensing ...................................................................16Configuring Federator .......................................................................................................17Federator Licensing ..........................................................................................................20

Viewing Federator Logs ...............................................................................................................20Monitoring Federator Activity ......................................................................................................20

Alerts and Scheduler Events .............................................................................................21Recent History ..................................................................................................................21Migrating Resources .........................................................................................................22Policies ..............................................................................................................................22Additional Monitoring Pages ............................................................................................22

Chapter 5 ‐ Working with Resource Managers  ...............................................................................23DataSynapse Resource Managers .................................................................................................23

Creating a New DataSynapse Resource Manager ............................................................23Viewing or Editing a DataSynapse Resource Manager ....................................................24Enabling or Disabling a DataSynapse Resource Manager ...............................................24

EC2 Resource Managers ...............................................................................................................25Creating a New EC2 Resource Manager ..........................................................................25Viewing or Editing an EC2 Resource Manager ................................................................28Enabling or Disabling an EC2 Resource Manager ...........................................................28Proxy Servers for EC2 Resource Managers .....................................................................28

Creating and Populating DataSynapse Resource Groups .............................................................29Creating Static Resource Groups ......................................................................................30Viewing or Editing a Static Resource Group ....................................................................31Assigning Resources to Static Resource Groups ..............................................................32Creating Dynamic Resource Groups ................................................................................34Rules for Finding Resources .............................................................................................37

Page 4: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

2 Contents• • • •••

This Document is Proprietary and Confidential

Working with Shared Resources .......................................................................................38Using EC2 Resource Groups ........................................................................................................38

Creating EC2 Resource Groups ........................................................................................39Viewing or Editing an EC2 Resource Group ....................................................................40

Scheduling Resource Migration ....................................................................................................41Creating Policy Intervals ..................................................................................................41Viewing or Editing a Policy Interval ................................................................................42Enabling or Disabling a Policy Interval ............................................................................43Resource Draining ............................................................................................................43Reclaiming Abandoned Resources Manually ...................................................................44

Moving Resources Manually ........................................................................................................44Resource Migration Details ..........................................................................................................45

Target Configuration Changes, Target Manager Doesn’t ................................................45Target Manager Changes, Configuration Doesn’t, No Initial Configuration ...................45Target Manager Changes, Configuration Changes, No Initial Configuration ..................45Target Manager Changes, Configuration Changes, Initial Configuration Set ..................46

Appendix A ‐ Database Configuration  .............................................................................................47Database-Specific Configuration ..................................................................................................47MySQL 5.0 ...................................................................................................................................47

Installing MySQL .............................................................................................................47Setting Up the Federator Database ...................................................................................47Setting Up Access Controls ..............................................................................................48Variable Values .................................................................................................................48

Microsoft SQL Server 2005 ..........................................................................................................48Installing SQL Server .......................................................................................................49Setting Up the Federator Database ...................................................................................49Variable Values .................................................................................................................49

Oracle 10g .....................................................................................................................................50Installing Oracle 10g .........................................................................................................50Setting Up the Federator Database ...................................................................................50Variable Values .................................................................................................................50

Sybase ASE 12.5 ...........................................................................................................................51Installing Sybase ...............................................................................................................51Setting Up the Federator Database ...................................................................................51Variable Values .................................................................................................................51

Appendix B ‐ Using Amazon EC2 with Federator  ..........................................................................53Federator and EC2 ........................................................................................................................53Configuring GridServer for Use with EC2 ...................................................................................53Obtaining an EC2 Account ...........................................................................................................53Tools for Working with AWS and EC2 ........................................................................................53Configuring EC2 for Federator .....................................................................................................54

Increasing the Instance Limit ............................................................................................54Getting Access Identifiers and a Certificate Pair ..............................................................54Creating an Elastic IP Address .........................................................................................54Creating Security Groups ..................................................................................................55Creating Key Pairs ............................................................................................................55

Amazon Machine Images .............................................................................................................55

Page 5: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 3 • • • •••

AMIs on S3 .......................................................................................................................56Additional Resources ....................................................................................................................56

Appendix C ‐ Web Services API Reference  .....................................................................................57The Federator Web Services API .................................................................................................57

ResourceManagerAdmin ..................................................................................................57ResourceGroupAdmin ......................................................................................................58PolicyIntervalAdmin .........................................................................................................58SharedResourceAdmin .....................................................................................................59

Classes Used by the API ...............................................................................................................59DatasynapseResourceGroupInfo ......................................................................................59DynamicResourceGroupInfo ............................................................................................60DynamicResourceRuleInfo ...............................................................................................60DatasynapseResourceManagerInfo ..................................................................................61Ec2LaunchConfigInfo ......................................................................................................61Ec2ResourceManagerInfo ................................................................................................61Ec2ResourceGroupInfo ....................................................................................................62PolicyIntervalInfo .............................................................................................................62ResourceInfo .....................................................................................................................63SharedResourceInfo ..........................................................................................................63

Page 6: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

4 Chapter 1 – Contents• • • •••

This Document is Proprietary and Confidential

Page 7: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 5 • • • •••

Chapter 1

• • • • • • Introduction

This guide is your starting point for planning, installing, and configuring Federator for your site.

Document ConventionsConvention Explanation Example

[bracketed italics] Variable user input Go to http://[hostname], where [hostname] is the computer running your Engine.

bold text Interface labels or options Enter your URL in the Address box and click Next.

Courier New User input, directories, file names, file contents, and program scripts

Run the script in the /opt/datasynapse directory.

[FS Broker Dir] The directory where FabricServer is installed, such as c:\datasynapse or /opt/datasynapse.

The files are located in [FS Broker Dir]/webapps/livecluster

Page 8: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

6 Chapter 1 – Introduction• • • •••

Document Conventions

This Document is Proprietary and Confidential

Page 9: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 7 • • • •••

Chapter 2

• • • • • • An Introduction to Federator

Federator extends the power of your existing DataSynapse grids by letting you move groups of resources among your FabricServer and GridServer grids. You can do this automatically, through a schedule, or manually. In addition to resources running within your datacenter or organization, it can allow you to access virtual resources running in an external infrastructure such as Amazon’s Elastic Compute Cloud (EC2).

First, a few definitions:

• Resource In Federator, a resource is a DataSynapse Engine Daemon and all of its Engine instances.• Resource Manager Resource managers represent sources and destinations for resources. There are two

types of resource manager, as described below.• DataSynapse Resource Manager DataSynapse resource managers represent FabricServer and

GridServer grids. They are able to be both the source and target for resources.• Virtual Resource Manager Virtual resource managers represent the source of resources from some

virtual provider. Federator allows for Amazon EC2 resource managers, which are a type of virtual resource manager.

• Resource Group A resource group specifies multiple resources (Engine Daemons) and allows them to be manipulated as a single unit.• Static Resource Group Static resource groups represent resources being explicitly shared by a

DataSynapse resource manager for use in policies.• Dynamic Resource Group Dynamic resource groups also represent resources used in policies, but

they are comprised of resources determined at policy startup time by a set of criteria.• Virtual Resource Group Virtual resource groups represent resources coming from virtual resource

managers, such as Amazon EC2.

Page 10: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

8 Chapter 2 – An Introduction to Federator• • • •••

What Can I Do with Federator?

This Document is Proprietary and Confidential

•• Policy Interval A policy interval is the basic building block for scheduling resources in Federator. It

defines which resource groups will be assigned to which target DataSynapse resource manager at what time of the day.

What Can I Do with Federator?Federator lets you do the following:

• Indicate which grids to federate by associating a DataSynapse resource manager with each grid. Federator lets you federate the following types of DataSynapse grids:• GridServer 4.2 (update 10 or later)• GridServer 5.0• GridServer 5.1• FabricServer 2.6• FabricServer 3.0

• Designate which resources on the federated grids are shareable, by assigning them to resource groups.• Create virtual resource managers to provide additional resources for your grids to use. In the case of

Amazon EC2 resource managers, these resources run on instances of virtual machines in Amazon’s Elastic Compute Cloud.

• Move resources among federated grids, either manually or according to schedules.• Monitor federated grids for (and repair) potential problems.

Page 11: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 9 • • • •••

Chapter 3

• • • • • • Installation

Federator installation is a multi-step process involving the following tasks:

• Setting up the Database• Running Federator in FabricServer• Enabling DataSynapse Grids for Federator• Running Federator for the First TimeBefore you set up Federator, you should be familiar with installing and configuring Domains to run on FabricServer. For more details, see the FabricServer Admin Guide.

Setting up the DatabaseFederator requires a relational database to maintain its data. You must provide the database server and set it up with user credentials, permissions, and a database for Federator to use. When you set up the Federator Domain on FabricServer (see “Running Federator in FabricServer” on page 10), you specify information that allows Federator to find and use the database.

Configuring the Database ServerSetting up the database is similar, regardless of the particular database server you are using. (Federator has been tested with MySQL 5.0, Oracle 10g, Microsoft SQL Server 2005, and Sybase ASE 12.5—database-specific information for configuring these can be found in Appendix A, “Database Configuration,” on page 47.) See “Running Federator in FabricServer” on page 10 for details on setting database-related configuration variables.1. Install the database server according to the manufacturer’s directions. 2. Create a user for Federator to log in as. By default, Federator will use the username “federator” and

the password “server” to connect, but these can be changed when configuring the Federator Domain (using the DB_USERNAME and DB_PASSWORD variables, respectively).

3. Create a database for Federator to use. By default, Federator will look for a database named “federator_prod” but you can specify the name of the database when configuring the Federator Domain (as part of the DB_URL variable).

4. Set up access controls so that the engine machines where the Federator Domain will be running will be able to connect to the database and that the Federator account (for example, “federator”) will have full access to the newly created database.

The first time that Federator starts and connects to the database, it creates all tables and indices it requires; there is no need to run a set-up script to do this.

Page 12: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

10 Chapter 3 – Installation• • • •••

Running Federator in FabricServer

This Document is Proprietary and Confidential

Setting up the JDBC DriverFederator needs to have access to the JDBC driver for your particular database in order to communicate with it. You can set this up in one of two ways: you can manually put the driver JAR file at a known location on the Engine machines where Federator will run (at the same location on every machine) or you can bundle the JAR file into your Federator Domain using the FabricServer user interface. In either case, you must tell Federator where the JAR file is using the EXTERNAL_JDBC_JAR variable in the Domain. If you installed the JAR on each Engine machine manually, set this variable to the path you used. If you bundled the JAR into the Domain, specify the path relative to the grid library using a value such as ${CATALINA_BASE}/jars/[JDBC JAR file name] (see “Running Federator in FabricServer,” below).

Running Federator in FabricServerFederator is designed to run as a Domain on top of DataSynapse FabricServer. Federator works with both versions 2.6 and 3.0 of FabricServer. Install FabricServer according to the installation instructions in the FabricServer Installation Guide. Install the FabricServer Engine software on at least one machine (the FabricServer license that comes with Federator allows for up to two Engine Daemons).Install Federator on FabricServer as follows:1. Copy the Federator-related grid libraries to your FabricServer Broker’s [FS Broker

Dir]/webapps/livecluster/deploy/resources/gridlib directory. They are: federator-gridlib.zip, tomcat55-container-gridlib.zip, and tomcat55-distribution-gridlib.zip.

2. Log in to the FabricServer administration tool.3. Verify that the existence of the Application Component called “Federator” (in FabricServer 2.6, this

would be the Federator Domain).4. If you want to include the JDBC driver JAR file as part of the Federator grid library, upload it as a

configuration file on the Add/override/customize Container and Component-specific config files page of the Application Component wizard for Federator. (For FabricServer 2.6, this would be the Add/override/customize Container and Domain-specific config files page of the Domain wizard.) For example, set the relative path to “jars,” choose “Any” for the operating system, and make sure “Resolve Variables” is not checked.

5. Edit the variables for the Federator Application Component using the Add/override/edit Container and Component-specific runtime context variables page of the Application Component wizard. (Again, this would be the Add/edit Container-specific runtime context variables of the Domain wizard in FabricServer 2.6.) The values will depend on how you configured your database as well as which database product you are using. The variables are described below:

Variable Name Description Default Value

DB_USERNAME The username used to connect to the database. federator

DB_PASSWORD The password used to connect to the database. server

Page 13: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 11 • • • •••

6. Create a Federator Application that includes the Federator Application Component and is scheduled to run continuously. (In FabricServer 2.6, define a Policy to do schedule the Domain.)

7. Deploy the Application Component and the Application (deploy the Domain and activate the Policy in FabricServer 2.6)—Federator should be copied to the engine and start running.

DB_DRIVER_CLASS The fully qualified class name of the JDBC driver used for communication with the database. This depends on the database and JDBC driver you are using. See your database manufacturer’s documentation for details.

com.mysql.jdbc.Driver

DB_URL The URL for the database in use. Note that the URL contains the name of the database you created for Federator to use. The format and contents of the URL depend on the particular database and JDBC driver you are using. See your database manufacturer’s documentation or for details.

jdbc:mysql://localhost:3306/federator_prod?autoreconnect=true

EXTERNAL_JDBC_JAR The full path to the JDBC driver JAR file. This may either be the path to the install location of the JAR file if you installed it manually (e.g. C:\jdbc\mysql-connector-java-5.1.7-

bin.jar), or a path relative to the Tomcat Container variable CATALINA_BASE if you included the JAR file in your Domain in Step 4, above (e.g. ${CATALINA_BASE}/jars/mysql-connector-

java-5.1.7-bin.jar).

blank

JAVA_OPTS Memory options for the Java Virtual Machine running Federator. The default is to use 1GB for Federator.

-Xmx1g –Xms1g

SSL_CLIENT_TRUST_STORE_FILE

The full path to the trust store required if you connect to managers via secure connections (i.e. via HTTPS). Leave this blank to use the default DataSynapse trust store on GridServer or FabricServer.

blank

SSL_CLIENT_TRUST_STORE_PASSWORD

The password used for the trust store specified by SSL_CLIENT_TRUST_STORE_FILE. If using the default DataSynapse trust store, leave this blank.

blank

Variable Name Description Default Value

Page 14: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

12 Chapter 3 – Installation• • • •••

Enabling DataSynapse Grids for Federator

This Document is Proprietary and Confidential

Enabling DataSynapse Grids for FederatorTo enable DataSynapse grids for federation, run the EnablerInstaller JAR file included with your copy of Federator.

NOTE: You must enable all servers associated with a given grid to be able to federate that grid. This includes all Directors and Brokers as well as any failover servers (but not Engines).

To run the enabler, do the following:1. Type the following from into the command shell from the directory containing the enablement JAR

file: java -jar EnablementInstaller.jar [path to GridServer/FabricServer installation]

For example, the path might be /opt/datasynapse/webapps/livecluster.

2. Check the output from the command line for a message indicating a successful installation. When successful, the installer will have added an enablement[version].properties file to the server to record the installation.

NOTE: The enablement version shown in the message may not match your GridServer or FabricServer update version exactly, as some enablement versions support multiple service release levels. If you update FabricServer or GridServer after applying an enablement, updating the Federator enablement may also be required. To determine if an updated enablement is required, re-run the EnablementInstaller. Any required updates install automatically; if no update is required, no changes will occur.

Running Federator for the First TimeOnce Federator has started up on the FabricServer Engine, you are ready to log in for your first session. Open your web browser and point it to the Federator Domain. FabricServer’s Virtual Router makes it available at a constant URL, regardless of which Engine it is actually running on. Append “/federator” to your FabricServer URL (for example, http://fabricserver.mydomain.com:8000/federator) to get the URL where Federator is running.

When you first launch Federator, you will need to do two things: create an initial administrator account and upload your license file.

Page 15: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 13 • • • •••

Creating an Administrator AccountSimply enter the username and password for the initial administrator account (retype the password to verify it) and click the Create and Login button. Federator will create the new account and log you in using it. You will probably want to create additional accounts for Federator users, as described in “Creating User Accounts” on page 15.

Uploading Your LicenseIn the top banner, Federator will display a flashing “key” icon indicating a problem with the license for the product. If you hover over the key, you’ll see a message indicating what the problem is. When you first install Federator, the error will be that there is no license installed. You’ll need to install the license file you received with Federator.1. Click the blinking key icon to go to the License page.2. Click the Browse… or Choose File button to browse for the license file—it should be called

license.ser.3. Click the Upload… button to install the license. You should see a message that the license was

successfully installed and the flashing key icon should now be steady and white.

Your Federator installation is now ready.

Page 16: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

14 Chapter 3 – Installation• • • •••

Running Federator for the First Time

This Document is Proprietary and Confidential

Page 17: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 15 • • • •••

Chapter 4

• • • • • • Administration

This chapter discusses common Federator administrative tasks such as Creating User Accounts and Modifying Federator’s Configuration and Licensing.

Creating User AccountsThere are two types of Federator users: user and admin. All users can access Federator’s core functionality, including working with resource managers, resource groups, policy intervals, etc. Admin users can create and manage user accounts as well as configure the global parameters for Federator (parameters on the Admin tab in the user interface). Regular users can only see and edit their own user accounts and have no access to the functionality on the Admin tab.

NOTE: Admin users are limited similarly to regular users when editing the account with which they’re logged in—they can neither change their account’s login name nor enable/disable it.

Creating AccountsTo create new accounts, do the following:1. Click the Users tab. The Users page appears.2. Click New. The Create User page appears. 3. Enter the log-in credentials and other information to create the user account.4. Click Create. The new account is created and appears in the list of users.NOTE: Only admin users can create user accounts.

Page 18: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

16 Chapter 4 – Administration• • • •••

Modifying Federator’s Configuration and Licensing

This Document is Proprietary and Confidential

Editing AccountsTo edit an existing account, do the following:1. Click the Users tab. The Users page appears. If you are not an admin user, you are brought directly

to the Show User page for your account and you can skip over step 2.2. Click the login name of the user you wish to edit. The Show User page for that user appears.3. Click Edit. (As a shortcut, you can get to the Edit page by clicking the edit (pencil) icon for the user

on the list page.)4. Make the desired changes.5. Click Update. The account is updated with the new information.NOTE: If you are logged on as a non-admin-level user, you can only edit the password, full name, and description fields, and only of your own account.

Enabling and Disabling AccountsTo change whether a user account is enabled, do the following:1. Click the Users tab. The Users page appears.2. Click the login name of the user you wish to edit. The Show User page for that user appears.3. Click Enable or Disable. The button that appears depends on the current state of the account—if

the account is currently enabled, the button reads “Disable,” and vice-versa. After you click the button, the account’s status changes. (As a shortcut, you can click the enable or disable icon for the user on the list page.)

NOTE: Only admin users can enable or disable accounts, and even admin users cannot disable the account they’re currently logged in with.

Modifying Federator’s Configuration and LicensingIf you are an admin user, you can change the configuration parameters Federator uses in the user interface as well as upload license files. These are done using the Admin tab.

Page 19: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 17 • • • •••

Configuring FederatorOn the Configuration page of the Admin tab you can specify global parameters affecting how Federator runs. To edit them, simply change one or more values and click the Update button (click Revert to undo any changes you have made).

The parameters you can configure are:

Parameter Description Default Value

Logging Level The level of granularity of the information contained in Federator’s logs. The default setting, Info, provides standard informational output and should be appropriate most of the time. Changing this setting to Debug, Trace, or All increases the amount of information written to the logs and can be helpful when troubleshooting problems. See “Viewing Federator Logs” on page 20 for more details about Federator’s logging.

Info

Page 20: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

18 Chapter 4 – Administration• • • •••

Modifying Federator’s Configuration and Licensing

This Document is Proprietary and Confidential

Scheduler Interval The interval between runs of Federator’s scheduler, in seconds. The shorter this interval, the more often Federator reallocates resources among your DataSynapse Resource Managers. While resources are being migrated among resource managers, the short scheduler interval (see below) is used instead, to provide more responsive migration. The scheduler interval must be greater than or equal to the minimum interval (see below).

60 seconds

Scheduler Minimum Interval The interval between runs of Federator’s scheduler while resources are being migrated, in seconds. The two intervals work in tandem to allow your Federator to only poll frequently for resource status from the managers while migration is occurring. The minimum interval must be at least 5 seconds and less than or equal to the scheduler interval (see above).

5 seconds

Migration Timeout The time, in minutes, that migrating Engine Daemons have to log into their new target resource manager. If they fail to do so within in this time frame, Federator will generate an alert.

3 minutes

Alert Timeout The time, in minutes, that the alert panel on the dashboard will keep alerts visible. [Alerts are visible on the drill-down pages until they end of the Statistics Expiration period (see below).]

60 minutes

Statistics Expiration The time, in days, that statistics, scheduler events, and alerts are maintained in Federator’s database. Information older than this will be removed.

30 days

Policy Interval Minimum The minimum duration, in minutes, that policy intervals must have when created. If you try to create a policy interval shorter than this, Federator will show an error and force you to lengthen the interval.

15 minutes

Parameter Description Default Value

Page 21: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 19 • • • •••

License Expiration Warning The amount of time, in days, before your license expires that Federator will begin warning you of the impending expiration. During this period, Federator will show a warning when you log on and the license (key) icon at the top of the pages will flash red.

30 days

Amazon EC2 Parameters

Enable Proxy This should be checked to enable the proxy server on the Federator machine which the cloud-side proxy (running on an EC2 instance) can talk through via an SSH connection. If you want to configure your cloud-side proxy to use some other mechanism for secure communication, you can disable this. See “Proxy Servers for EC2 Resource Managers” on page 28 for details. NOTE: This setting should only be changed if you are an advanced user and are sure what you are doing or your EC2 engines will cease to work properly.

Checked

Startup Timeout The time, in minutes, that Engine Daemons on EC2 instances have to log into their target resource manager. If they fail to do so within this time frame, Federator will generate an alert.

20 minutes

Shutdown Threshold The time, in minutes, that an EC2 resource group must be idle (not specified in a current policy) before Federator will terminate its instances. For example, if you have two policies that use a particular EC2 resource group and the second one starts within this threshold from the time the first one ends, Federator will simply migrate the already running EC2 instances to the new target rather than terminating the instances and spinning up new ones. This can diminish the time spent waiting for instances to start.

20 minutes

Parameter Description Default Value

Page 22: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

20 Chapter 4 – Administration• • • •••

Viewing Federator Logs

This Document is Proprietary and Confidential

Federator LicensingOn the Licensing page of the Admin tab you can see information about the currently installed license and also upload a new license file to replace the current one. The License Details section shows when your license will expire, the version of Federator you are running, how many DataSynapse resource managers you are allowed to have, which virtual resource providers, if any, you are allowed to use, and whether the license restricts you to running on particular hosts.

To upload a new license file:1. Click the Admin tab. The Configuration page appears.2. Click the Licensing sub-navigation link. The Licensing page appears.3. Click the Browse… or Choose File button (the name depends on the web browser you are using)

in the License Upload section and locate the new license file you want to upload (usually named license.ser).

4. Click the Upload… button to upload the license file to Federator. Federator validates the license and updates the page to show the new details.

Viewing Federator LogsTo view the current Federator log, do the following:1. Access the administration tool for the FabricServer grid where Federator is running.2. Navigate to System > Engine Admin.3. Select the Log URL List action in the row for the Engine that is running Federator.4. Click on the link labeled federator.log.NOTE: When you restart Federator, it archives the previous log file and starts a new one (Federator will also automatically switch its log file and archive when the file’s size reaches 10MB). The three most recent archived logs are visible on the page as well, named federator.log.1, federator.log.2, and federator.log.3.

Monitoring Federator ActivityClick Federator’s Activity tab at any time to monitor current Federator activity. The Activity Dashboard is divided up into sections that show:

Page 23: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 21 • • • •••

• The most recent alerts regarding problems migrating resources (within the alert timeout specified on the configuration page; the default is within the last hour)

• A chart showing the history of resource migration (within the past hour)• A list of any resources currently being migrated, and• A list of active policies as well as any policies that are scheduled to become active within the next hourEach of these sections provides links that let you drill down and find out more detail about its contents. The activity dashboard automatically updates itself periodically—you don’t need to refresh it manually.

Alerts and Scheduler Events When Federator’s scheduler detects resource changes, it creates and logs change events. Some important change events that merit the administrator’s attention are also shown as alerts. The Latest Alerts panel has two links (More Alerts… and All Events…) that take you to detail pages (Alerts and Scheduler Events, respectively) that show all the alerts and events currently on record in the Federator database. If you want to acknowledge an alert and allow room for others to be displayed on the panel abbreviated list, click the delete button next to the alert and it will be removed from the panel (it will remain on the drill-down pages). Alerts and other events are kept for a period determined by the configuration property named Statistics Expiration (thirty days by default), though the panel on the dashboard only shows alerts for the Alert Timeout period (one hour by default). See “Configuring Federator” on page 17 for details.

Recent HistoryThe Recent History chart shows the number of resources allocated to various DataSynapse resource managers over the past hour. Clicking the More… button will show the Resource History page with a more-detailed chart. Here you can specify which managers’ resources to include, and the exact time frame you’d like to see.

Page 24: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

22 Chapter 4 – Administration• • • •••

Monitoring Federator Activity

This Document is Proprietary and Confidential

Migrating ResourcesThe Migrating Resources panel shows resources which are in the process of being migrated to a new target DataSynapse resource manager. These are resources which have been told to move but which haven’t yet logged into the target’s Director or Broker. The list is limited to the five most recently migrated resources. To see the full list, click the All… link to go to the Migrating Resources page. (Note that the link tells you how many total migrating resources there are.)

PoliciesThe Active Policies panel shows you the policy intervals which are currently active. It will show up to five policies—click the More… link to see them all. The Upcoming Policies panel shows any policies which are scheduled to start within the next hour.

Additional Monitoring PagesIn addition to the Activity Dashboard and its drill-down pages, you can see information about the state of Federator using pages available throughout Federator’s user interface. For details, see:

• “Viewing or Editing a DataSynapse Resource Manager” on page 24• “Viewing or Editing an EC2 Resource Manager” on page 28• “Viewing or Editing a Static Resource Group” on page 31• “Creating Dynamic Resource Groups” on page 34• “Viewing or Editing an EC2 Resource Group” on page 40• “Viewing or Editing a Policy Interval” on page 42• “Reclaiming Abandoned Resources Manually” on page 44

Page 25: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 23 • • • •••

Chapter 5

• • • • • • Working with Resource Managers

Federator uses the concept of resource managers to keep track of the various external servers with which it interacts when manipulating resources (Engine Daemons). There are two types of resource managers, DataSynapse resource managers and virtual ones. DataSynapse resource managers represent GridServer Directors and FabricServer Brokers, and can be both the sources of the resources Federator works with and also the targets to which resources are migrated. Virtual resource managers such as those for Amazon EC2, on the other hand, only contribute resources which Federator can make available to your grids. This chapter will help you set up the resource managers necessary to federate your grids.

DataSynapse Resource Managers In Federator, DataSynapse resource managers represent your GridServer and FabricServer grids. Each resource manager is associated with a Director (for GridServer grids) or Broker (for FabricServer grids) and contains the URLs and credentials that allow Federator to communicate with the grid. Federator communicates with DataSynapse resource managers to find out about resources logged into the grid, to tell resources to migrate to a different grid, and to see the status of migration. You will create a DataSynapse resource manager for each GridServer or FabricServer grid you want to federate.

Creating a New DataSynapse Resource ManagerTo create a DataSynapse resource manager, do the following:1. Click the Resource Managers tab. The Resource Managers summary page appears. 2. Click DataSynapse in the Type column to show the list of DataSynapse resource mangers.3. Click New. The Create DataSynapse Resource Manager page appears.4. Enter information about your grid:

• Name: Enter a name for the resource manager. Resource managers are referred to by name when specified in resource groups and policy intervals.

• Description: Optionally, enter a description for the resource manager.• Primary Manager URL: Enter the URL to your grid—the Director for a GridServer grid or Broker

for a FabricServer grid. This is generally in the form http://grid1.mycompany.com:8000/.• Secondary Manager URL: If your grid has a secondary, i.e. failover, manager, enter its URL here. If

not, leave this field blank.• Admin Username: Enter the username that Federator should use when connecting to your grid. This

user must have administrative privileges for the grid.

Page 26: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

24 Chapter 5 – Working with Resource Managers• • • •••

DataSynapse Resource Managers

This Document is Proprietary and Confidential

• Admin Password: Enter the password that Federator should use when connecting to your grid with the given username. (Note that all passwords are stored encrypted within Federator.)

5. Click Test to make sure you entered the information correctly. Test can reveal the following types of problems:• Whether you’ve typed an incorrect URL• Whether you’ve typed incorrect login credentials• Whether the grid hasn’t yet been enabled for Federator (see “Enabling DataSynapse Grids for

Federator” on page 12)6. Correct any errors that appear and test again until the errors are resolved.7. Click Create. The DataSynapse resource manager is created for the specified grid and appears in

the list of resource managers.

Viewing or Editing a DataSynapse Resource ManagerTo view or edit an existing resource manager, do the following:1. Click the Resource Managers tab. The Resource Managers summary page appears. 2. Click DataSynapse in the Type column to show the list of DataSynapse resource mangers.3. Click the name of the resource manager you want to view or edit. It appears on the Show DataSynapse

Resource Manager page.4. If you want to edit the values, click the Edit button to show the Edit DataSynapse Resource Manager

page. (As a shortcut, you can get to the Edit page by clicking the edit (pencil) icon for the resource manager on the list page.)`

5. Make any changes you want and click Update to save them. Note that you can use the Test button when editing a resource manager to validate your changes just as when you created it.

Enabling or Disabling a DataSynapse Resource ManagerFederator lets you enable and disable resource mangers. Since Federator ignores disabled resource managers when migrating resources, disabling one can be useful when that grid is temporarily unavailable. To enable or disable a resource manager, do the following:1. Click the Resource Managers tab. The Resource Managers summary page appears. 2. Click DataSynapse in the Type column to show the list of DataSynapse resource mangers.

Page 27: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 25 • • • •••

3. Click the name of the resource manager you want to modify. It appears on the Show DataSynapse Resource Manager page.

4. Click Enable or Disable to modify the resource manager (if the resource manager is currently enabled, the button says “Disable,” and vice-versa). (As a shortcut, you can click the enable or disable icon for the resource manager on the list page.)

EC2 Resource ManagersAn EC2 resource manager represents a connection to the Amazon Web Services (AWS) Elastic Compute Cloud (EC2) service. Using an EC2 resource manager, Federator can launch Engine Daemons in the Amazon cloud which can be assigned to your DataSynapse resource managers in order to do work as part of your grids. In order to use EC2 resource managers, you must set up an account with Amazon and properly configure it. See Appendix B, “Using Amazon EC2 with Federator,” on page 53 for more details. Many of the fields used to specify an EC2 resource manager govern the manager’s proxy server. For more about proxy servers, see “Proxy Servers for EC2 Resource Managers” on page 28.

Creating a New EC2 Resource ManagerTo create an EC2 resource manager, do the following:1. Click the Resource Managers tab. The Resource Managers summary page appears.2. Click Amazon EC2 in the Type column to show the list of EC2 resource mangers.3. Click New. The Create Amazon EC2 Resource Manager page appears. (Note that some of the fields on

the page are not populated until you fill in others. For example, the Elastic IP pop-up list isn’t populated until you specify the access keys for your EC2 account.)

4. Enter the information about your EC2 account:• Name: Enter a name for the resource manager. Resource managers are referred to by name when

specified in resource groups.• Description: Optionally, enter a description for the resource manager.• Engine Instance Limit: Enter the maximum number of instances you want to run on this account (this

limit does not include the proxy server’s instance, which will always run while the EC2 resource manager is enabled).

• AWS Access Key ID: Enter the AWS access key ID for your AWS account.• Secret AWS Access Key: Enter the secret access key for your AWS account. The two keys are used

to allow Federator to log onto EC2 on your behalf. See “Getting Access Identifiers and a Certificate Pair” on page 54 for more about access keys.

• Region: Choose the EC2 region your resource manager will run in. If you want to run Engines in multiple regions, you will need to create one EC2 resource manager for each region. (Note that Amazon may charge different fees based on regions.)

• Elastic IP: Choose the IP address to use for the proxy instance. The list shows the elastic IP addresses configured for your account and indicates which ones aren’t currently bound to a running instance. See “Creating an Elastic IP Address” on page 54 for more about elastic IP addresses.

• AWS Image: Choose the Amazon Machine Image (AMI) to use for the proxy server associated with this EC2 resource manager. (Note that this list is filtered to only show images with “proxy” in their manifest name.)

Page 28: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

26 Chapter 5 – Working with Resource Managers• • • •••

EC2 Resource Managers

This Document is Proprietary and Confidential

• Instance Type: Choose the instance type to use when running the proxy server. The instance type determines how much processing power and disk space the instance will have. Standard instances may be small, large, or extra large. High-CPU instances may be medium or extra large. Note that the values in this list change to reflect the types appropriate for the image you have chosen. For the proxy server, you will want to use a standard type—the size will be determined by the size of the grid resources you need to cache. For specific details on the instance types and their pricing, see the EC2 website.

• Security Groups: You can choose one or more of the EC2 security groups defined in your account for the proxy server to run in. Generally, you would have defined a security group specifically for the proxy server and would choose that group here (see “Creating Security Groups” on page 55).

• Availability Zone: Choose the availability zone for the proxy server. Choose “Automatic” to let Amazon choose for you at start-up time.

• User Data: You should only enter user data here if you are using a custom AMI for the proxy server and it requires this field.

• Kernel ID: You should only enter a kernel ID here if you are using a custom AMI for the proxy server and it requires this field.

• Ram Disk ID: You should only enter a kernel ID here if you are using a custom AMI for the proxy server and it requires this field.

Page 29: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 27 • • • •••

• Block Device Mappings: You should only enter block device mappings if you are using a custom AMI for the proxy server and it requires this field. This field maps block devices from Amazon Elastic Block Store (EBS) to devices visible to the instance. The format is the same as for the run-instances command in the command-line interface—see Amazon’s documentation for details.

5. Click Test to make sure you entered the information correctly. Test can reveal the following types of problems:• Whether any of the required fields are missing• Whether any of the fields’ values are incompatible with one another• Whether you’ve typed incorrect access keys• Whether there are communication issues talking to the EC2 server

6. Correct any errors that appear and test again until the errors are resolved.

Page 30: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

28 Chapter 5 – Working with Resource Managers• • • •••

EC2 Resource Managers

This Document is Proprietary and Confidential

7. Click Create. The EC2 resource manager is created and appears in Federator’s list.

Viewing or Editing an EC2 Resource ManagerTo view or edit an existing resource manager, do the following:1. Click the Resource Managers tab. The Resource Managers summary page appears. 2. Click Amazon EC2 in the Type column to show the list of EC2 resource mangers.3. Click the name of the resource manager you want to view or edit. It appears on the Show Amazon EC2

Resource Manager page.4. If you want to edit the values, click the Edit button to show the Edit Amazon EC2 Resource Manager

page. (As a shortcut, you can get to the Edit page by clicking the edit (pencil) icon for the resource manager on the list page.)

5. Make any changes you want and click Update to save them. The fields are the same as when creating an new EC2 resource manager. Note that you can use the Test button when editing a resource manager to validate your changes just as when you created it.

Enabling or Disabling an EC2 Resource ManagerFederator lets you enable and disable resource mangers. Federator uses the enabled state of EC2 resource managers to know start and stop the associated proxy server instance (see “Proxy Servers for EC2 Resource Managers” on page 28 for more about proxy servers). To enable or disable a resource manager, do the following:1. Click the Resource Managers tab. The Resource Managers summary page appears. 2. Click Amazon EC2 in the Type column to show the list of EC2 resource mangers.3. Click the name of the resource manager you want to modify. It appears on the Show Amazon EC2

Resource Manager page.4. Click Enable or Disable to modify the resource manager (if the resource manager is currently enabled,

the button says “Disable,” and vice-versa). As mentioned above, the proxy server will be started or stopped by this action. (As a shortcut, you can click the enable or disable icon for the resource manager on the list page.)

Proxy Servers for EC2 Resource ManagersEC2 resource managers use proxy servers to allow Engines in the Amazon cloud to securely communicate with the Directors and Brokers in your corporate network. To do this, the Federator starts up a machine instance in the cloud according to the parameters specified when configuring the resource manager (see “Creating a New EC2 Resource Manager” on page 25 for details about these parameters). It also starts up a corresponding server on the Federator machine inside your network. Then, the servers create a secure tunnel for communication, using SSH. In order for the Engine Daemons to be able to communicate with the grids they’re assigned to, the proxies must be running on both ends of the tunnel.

The proxy server also caches the grid resources that are transferred when Engine Daemons synchronize with their Brokers. This helps to minimize the network traffic into and out of the Amazon cloud. Depending on the quantity of data your grids need to synchronize, you may wish to alter the instance type used for the proxy server to provide more storage.

Page 31: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 29 • • • •••

Downloading the Proxy’s Key PairFederator automatically tells Amazon to generate an X.509 key pair to use for the SSH tunnel; the key pair’s name is based on the elastic IP address chosen for the proxy. (If you like, you can use this key pair when setting up EC2 resource groups so that the EC2 instances running Engines use the same encryption key. See “Creating EC2 Resource Groups” on page 39 for details about configuring EC2 resource groups. See “Creating Key Pairs” on page 55 for more about generating key pairs in Amazon.)

You can download the proxy’s key data as a PEM file if you need to securely connect to the proxy server instance yourself. To do so:1. Click the Resource Managers tab. The Resource Managers summary page appears. 2. Click Amazon EC2 in the Type column to show the list of EC2 resource mangers.3. Click the name of the resource manager whose key you want to download. It appears on the Show

Amazon EC2 Resource Manager page.4. Click Download Proxy Key. Your browser should start downloading the PEM file, which will be

named fed-[Proxy IP Address]-keypair.pem. See the documentation that came with your SSH tools for details on using the PEM file to access the cloud-based proxy machine.

Creating and Populating DataSynapse Resource GroupsLike resource managers, resource groups come in two flavors: DataSynapse resource groups and virtual resource groups (including EC2 resource groups). DataSynapse resource groups represent resources shared into Federator by DataSynapse resource managers (i.e. FabricServer and GridServer grids) while EC2 resource groups represent resources shared by EC2 resource managers. This section describes DataSynapse resource groups; EC2 resource groups are described later; see “Using EC2 Resource Groups” on page 38.

GridServer and FabricServer resources are not shared by default. To make them shareable, you must assign them to DataSynapse resource groups. Federator considers a resource that belongs to a DataSynapse resource group a shared resource. DataSynapse resource groups are further divided into static and dynamic groups.

Static resource groups contain, as their name implies, a static set of shared resources. Resources in a static resource group are migrated en masse to the target resource manager while they’re in use by an active policy interval. When not in use, resources in a static group return to the resource manager (and configuration) designated as the default for that group. You add resources to a static resource group by selecting them on one of the resource pages in the user interface and then explicitly adding them to the group.

Dynamic resource groups, on the other hand, contain potentially a different set of resources every time they are used. Dynamic groups contain a set of rules which specify their resources. When a dynamic resource group comes into effect as part of an active policy interval, its set of rules is used to find available resources. These resources are added to the group only for the duration of the current policy interval, after which time they revert back to the resource managers they had been assigned to prior to being grouped.

The sections that follow discuss creating, populating, and using these types of DataSynapse resource groups in more detail.

Page 32: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

30 Chapter 5 – Working with Resource Managers• • • •••

Creating and Populating DataSynapse Resource Groups

This Document is Proprietary and Confidential

Creating Static Resource GroupsTo create a static DataSynapse resource group, do the following:1. Click the Resource Group tab. The Resource Groups summary page appears.2. Click Static in the Type column. The Static Resource Groups page appears.3. Click New. The Create Static Resource Group page appears.4. Enter the details for the resource group:

• Name: Give the resource group a name. Resource groups are referred to by name when specified in policy intervals. All resource group names must be unique, even across different types of groups.

• Description: Optionally, enter a description for the resource group.• Default Manager: Choose the default DataSynapse resource manager for this group. When the

resources in the group are not involved in a policy interval, they will be returned to this resource manager.

• Default Initial Configuration: You can optionally specify the name of the configuration to use when the Engine Daemons first start up. Use this field, for example, if you want them to synchronize with a particular Broker but then connect to their “real” Broker (as defined by the default configuration) afterwards. This is in effect when the group is not part of a policy interval; when in a policy interval, the policy interval’s settings have precedence.

• Default Configuration: Specify the name of the configuration to use when the Engine Daemons are running. This is in effect when the group is not part of a policy interval; when in a policy interval, the policy interval’s settings have precedence.

• Default Busy Action: Specify the action that should be taken when Federator wants to migrate resources in this group but they are busy. Choosing “Force” causes the resources to be migrated regardless of their busy status. Choosing “Abandon” causes Federator to give up on migrating resources that are still busy (taking them out of draining mode as well). This is in effect when the group is not part of a policy interval; when in a policy interval, the policy interval’s settings have precedence.

• Default Warning Period: Specify the warning period for resources in this group (in minutes). This is the amount of time before the resources are to be migrated that they will be put into draining mode (see “Resource Draining” on page 43). This is in effect when the group is not part of a policy interval; when in a policy interval, the policy interval’s settings have precedence.

Page 33: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 31 • • • •••

• Default Success Threshold: Optionally, specify a percentage of the resources in the group (an integer between 0 and 100) that must be successfully migrated; if this threshold is not reached, Federator will generate an alert. Leaving this blank means Federator will never generate alerts when resources fail to migrate. This is in effect when the group is not part of a policy interval; when in a policy interval, the policy interval’s settings have precedence.

5. Click Create. The new resource group is created and appears in the list of static resource groups.

Viewing or Editing a Static Resource GroupTo view or edit an existing resource group, do the following:1. Click the Resource Groups tab. The Resource Groups summary page appears. 2. Click Static in the Type column to show the list of static DataSynapse resource groups.3. Click the name of the resource group you want to view or edit. It appears on the Show Static Resource

Group page.4. If you want to edit the values, click the Edit button to show the Edit Static Resource Group page. (As a

shortcut, you can get to the Edit page by clicking the edit (pencil) icon for the group on the list page.)5. Make any changes you want and click Update to save them.

Page 34: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

32 Chapter 5 – Working with Resource Managers• • • •••

Creating and Populating DataSynapse Resource Groups

This Document is Proprietary and Confidential

Assigning Resources to Static Resource GroupsNewly created DataSynapse resource groups have no resources associated with them. To make them useful, you need to add resources to them from your grids. You can do this in two ways: using the resource-manager-based resources page, or using the rule-based resources page. For details on removing shared resources from resource groups, see “Working with Shared Resources” on page 38.

Finding Resources by Resource ManagerTo find resources based on the resource manager to which they are currently assigned:1. Click the Resources tab. The list of all DataSynapse resources appears.

2. Choose which resource manager’s resources you want to see. The Resource Manager pop-up shows your DataSynapse resource managers. Choose “All” to show resources assigned to all resource managers; choose a specific manager to show only resources assigned to that manager.

3. You can further filter the list by using the Match button and its related controls (such as “Match default in configuration” to match resources with configuration named “default”).

4. Select the resources you want to add to the group by clicking their checkboxes. You can click the checkbox in the table header to select all of the resources on the page.

5. Select the resource group you would like to add the resources to from the Add Checked To pop-up list.6. Click the Add Checked To button to add the selected resources to the that group.7. Repeat these steps to add additional resources to static resource groups. You can add resources from

multiple managers to the same group and you can add resources from any given manager to multiple groups; you just cannot add the same resource to multiple groups.

NOTE: When you add resources to a static resource group, they will be immediately migrated to the current target (manager and configuration) of the group, if they are not already there. If the group is in use by an active policy interval, they will be migrated to that policy interval’s target; if not, they will be migrated to the default manager for the group.

Finding Resources Using RulesTo find resources using resource rules:1. Click the Resources tab. The list of all DataSynapse resources appears.

Page 35: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 33 • • • •••

2. Click on the Rule-Based Search link in the sub-navigation bar. You will see the Search Resources Using Rules page.

3. Specify the criteria for your search as follows:• Target Resource Count: Specifies the maximum number of resources you want to find. If this many

resources do not meet your criteria, only those that do will be shown; otherwise this many matches will be shown.

• Resource Managers: Specify which DataSynapse resource managers’ resources should be searched. To add a resource manager to the search, select it in the left list and click the right arrow button to move it to the right. To remove one, select it and click the left arrow button. To change the order of the resource managers on the right, use the up and down arrow buttons. You must specify at least one resource manager for the search.

• Search Resource Managers in Order: Check this box to make the order of the resource managers in the list above be significant; if it is checked, then all resources from the first manager in the list will be included in the search results before any resources from the second manager are chosen, and so on. If this is not checked, the resources from all selected resource managers will be searched in a random order to help distribute the results across all resource managers. Note that while this is designed to help distribute the burden over the list of resource managers, it does not necessarily guarantee an even distribution of that burden.

• Rules: Choose a type of rule from the Add a New Rule pop-up menu to add it to the criteria. To remove a rule, click its delete button. You can add only one instance of each rule type, except for custom rules (where you can add as many as you need). The specific rule types are described in detail in “Rules for Finding Resources” on page 37.

4. When you are satisfied with the criteria, click the Search button. Federator performs your search and takes you to the Rules Search Results page where you can see the list of resources that it found.

Page 36: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

34 Chapter 5 – Working with Resource Managers• • • •••

Creating and Populating DataSynapse Resource Groups

This Document is Proprietary and Confidential

5. Select the resources you want to add to the group by clicking their checkboxes. You can click the checkbox in the table header to select all of the resources on the page.

6. Select the resource group you would like to add the resources to from the Add Checked To pop-up list.7. Click the Add Checked To button to add the selected resources to the that group.8. You can also click the Add All To button to add all of the search results to a group without having to

page through the results.9. If you want to do a new search, click the Search Again button to go back to the search page.10.Repeat these steps to add additional resources to static resource groups. You can add resources from

multiple managers to the same group and you can add resources from any given manager to multiple groups; you just cannot add the same resource to multiple groups.

NOTE: When you add resources to a static resource group, they will be immediately migrated to the current target (manager and configuration) of the group, if they are not already there. If the group is in use by an active policy interval, they will be migrated to that policy interval’s target; if not, they will be migrated to the default manager for the group.

Creating Dynamic Resource GroupsUnlike static resource groups, dynamic resource groups use rules to find available resources at the point when they are being activated. These resources remain part of the dynamic group for the duration of the policy interval. At the end of the policy interval, the resources are returned to their source resource managers.

To create a dynamic resource group, do the following:1. Click the Resource Group tab. The Resource Groups summary page appears.2. Click Dynamic in the Type column. The Dynamic Resource Groups page appears.3. Click New. The Create Dynamic Resource Group page appears.4. Enter the details for the resource group:

• Name: Give the resource group a name. Resource groups are referred to by name when specified in policy intervals. All resource group names must be unique, even across different types of groups.

• Description: Optionally, enter a description for the resource group.• Target Resource Count: Specifies the maximum number of resources you want the group to include.• Minimum Resource Count: Specifies the minimum number of resources you want the group to

include. If this number cannot be met, then the group will fail to activate.• Resource Managers: Specify which DataSynapse resource managers’ resources should be searched.

To add a resource manager to the search, select it in the left list and click the right arrow button to move it to the right. To remove one, select it and click the left arrow button. To change the order of the resource managers on the right, use the up and down arrow buttons. You must specify at least one resource manager for the group.

• Search Resource Managers in Order: Check this box to make the order of the resource managers in the list above be significant; if it is checked, then all resources from the first manager in the list will be included in the search results before any resources from the second manager are chosen, and so on. If this is not checked, the resources from all selected resource managers will be searched in a random

Page 37: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 35 • • • •••

order to help distribute the results across all resource managers. Note that while this is designed to help distribute the burden over the list of resource managers, it does not necessarily guarantee an even distribution of that burden.

• Rules: Choose a type of rule from the Add a New Rule pop-up menu to add it to the criteria. To remove a rule, click its delete button. You can add one instance of each rule type, except for custom rules (where you can add as many as you need). The specific rule types are described in detail in “Rules for Finding Resources” on page 37.

• Default Busy Action: Specify the action that should be taken when Federator wants to migrate resources in this group but they are busy. Choosing “Force” causes the resources to be migrated regardless of their busy status. Choosing “Abandon” causes Federator to give up on migrating resources that are still busy (taking them out of draining mode as well). This has effect when a policy interval using this group ends and resources are being migrated back to their original managers; when in a policy interval, the policy interval’s settings have precedence.

• Default Warning Period: Specify the warning period for resources in this group (in minutes). This is the amount of time before the resources are to be migrated that they will be put into draining mode (see “Resource Draining” on page 43). This has effect when a policy interval using this group ends and resources are being migrated back to their original managers; when in a policy interval, the policy interval’s settings have precedence.

Page 38: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

36 Chapter 5 – Working with Resource Managers• • • •••

Creating and Populating DataSynapse Resource Groups

This Document is Proprietary and Confidential

• Default Success Threshold: Optionally, specify a percentage of the resources in the group (an integer between 0 and 100) that must be successfully migrated—if this threshold is not reached, Federator will generate an alert. Leaving this blank means Federator will never generate alerts when resources fail to migrate. This has effect when the group is not part of a policy interval; when in a policy interval, the policy interval’s settings have precedence.

5. Click Create. The new resource group is created and appears in the list of dynamic resource groups.

Page 39: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 37 • • • •••

Rules for Finding ResourcesThe Search Resources Using Rules and the Create Dynamic Resource Group pages use lists of rules for defining the search criteria that select resources. To add a rule to the list, choose a type of rule from the Add a New Rule pop-up. To remove one, click the delete icon for that rule. (Note that except for custom rules, you can only add one of each type.) Type various types of rules are described in the following table:

Rule Type Operators Description

IP Address Matches Does not match

Searches using the IP addresses of the resources. You can choose whether the resource’s address must match or not match the value you specify. The value is a comma-separated list of one or more IP addresses or IP address ranges. IP addresses can be specified using the wildcard character (*), which matches any sequence of characters. IP address ranges can be specified using CIDR notation. (CIDR, or Classless Inter-Domain Routing, notation, specifies a range of IP addresses using a base address and a subnet mask. The base address is specified in standard “dot” notation followed by a forward slash and then by an integer specifying the number of bits in the subnet mask. For example, 192.169.0.0/22 would specify the range of IPv4 addresses from 192.168.0.0 to 192.168.3.255.)

Operating System Is one of Is not one of

Searches using the resources’ operating system. Select one or more operating systems to match (or exclude) from the list.

Total Memory Is exactly equal to Is not equal to Is less than or equal to Is less than Is greater than or equal to Is greater than Is between (inclusive) Is not between (exclusive)

Compares the value you supply against the actual value of total memory on the resource’s machine. Values specified should be in megabytes. If you choose either of the “between” operators, you must supply two values, for the upper and lower limits.

CPU Count Is exactly equal to Is not equal to Is less than or equal to Is less than Is greater than or equal to Is greater than Is between (inclusive) Is not between (exclusive)

Compares the value you supply against the actual number of CPUs on the resource’s machine. If you choose either of the “between” operators, you must supply two values, for the upper and lower limits.

Configuration Matches Does not match

Compares the resources’ configuration names against the value or values specified. You specify one or more values in a comma-separated list. Each value may include the wildcard character (*), which matches any sequence of characters.

Page 40: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

38 Chapter 5 – Working with Resource Managers• • • •••

Using EC2 Resource Groups

This Document is Proprietary and Confidential

Working with Shared ResourcesOnce resources have been shared and made part of a resource group, you can view and manipulate them using the Shared Resources page in the user interface.

To see the shared resources in your system:1. Click the Resources tab. The DataSynapse Resources page appears.2. Click the Shared Resources link in the sub-navigation bar. The Shared Resources page appears.

You can page to see the shared resources in your Federator system.If you would like to remove resources from a group, effectively un-sharing them, select them in the list and click the Ungroup Checked button. If resources have been abandoned during a migration, you can see this in the Status column. To reclaim them, select them and click the Reclaim Abandoned button. For more about abandoned resources, see “Reclaiming Abandoned Resources Manually” on page 44.

Using EC2 Resource GroupsLike DataSynapse resource groups, EC2 resource groups provide resources that Federator can assign to the grids it manages. Unlike DataSynapse resource groups, the resources don’t actually exist, except when Federator requests them.

Busy State Is busy Is not busy

Compares the resources’ busy state. (Note that if any of the Engines on the resource is busy, then the entire resource is deemed busy for the purposes of this rule; therefore resources with several Engine instances will seldom appear to Federator as not busy.)

Other Property Matches Does not match Is exactly equal to Is not equal to Is less than or equal to Is less than Is greater than or equal to Is greater than Is between (inclusive) Is not between (exclusive) Is present Is not present

Compares the Engine Daemon property whose name you specify against the value or values you provide. The standard properties available from GridServer and FabricServer Engines can be specified, as well as any custom properties that have been defined on your grids.

If you choose either of the “matches” operators, the value you supply should be a comma-separated list of one or more possible values. Each value may include the wildcard character (*), which matches any sequence of characters. If you choose the numeric operators, the value should be an appropriate number (integer or floating point) and the property’s value must also be numeric. If you choose either of the “present” operators, there is no value to specify—the rule will match any resource whose list of properties includes the one you name, regardless of its value.

Rule Type Operators Description

Page 41: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 39 • • • •••

Creating EC2 Resource GroupsTo create an EC2 resource group, do the following:1. Click the Resource Group tab. The Resource Groups summary page appears.2. Click Amazon EC2 in the Type column. The Amazon EC2 Resource Groups page appears.3. Click New. The Create Amazon EC2 Resource Group page appears.4. Enter the details for the resource group:

• Name: Give the resource group a name. Resource groups are referred to by name when specified in policy intervals.

• Description: Optionally, enter a description for the resource group.• Default Warning Period: Specify the warning period for resources in this group (in minutes). This is

the amount of time before the resources are to be migrated that they will be put into draining mode (see “Resource Draining” on page 43). This can be overridden when you create policy intervals.

• Amazon EC2 Manager: Specify the EC2 resource manager that will be used to create resource instances for this group. (Federator uses the credentials—AWS access key, secret access key, region—of this manager to communicate with the EC2 server when dealing with this resource group.)

• Resource Count: Specify the number of resources (Amazon EC2 instances running Engine Daemons) that the group contains. When this group is activated in a policy interval, this many instances will be started.

• AWS Image: Choose the Amazon Machine Image (AMI) to use for the Engine Daemons launched as part of this group.

• Instance Type: Choose the instance type to use when running the proxy server. The instance type determines how much processing power the instance will have. Standard instances may be small, large, or extra large. High-CPU instances may be medium or extra large. (For specific details on the instance types and their pricing, see the EC2 website.) Note that the values in this list change to reflect the types appropriate for the image you have chosen.

• Security Groups: You can choose one or more of the EC2 security groups defined in your account for the instances to run in. See “Creating Security Groups” on page 55 for more.

• Key Pair Name: Choose one of the key pairs associated with your account. Instances started as part of this resource group will use this key pair to secure themselves.

• Availability Zone: Choose the availability zone for the proxy server. Choose “Automatic” to let Amazon choose for you at start-up time. Note that you choosing to run the Engine instances in the same availability zone as the EC2 resource manager’s proxy server can avoid inter-zone networking fees. See Amazon’s fee schedule for details.

• User Data: You should only enter user data here if you are using a custom AMI for the engines and it requires this field.

• Kernel ID: You should only enter a kernel ID here if you are using a custom AMI for the engines and it requires this field.

• Ram Disk ID: You should only enter a kernel ID here if you are using a custom AMI for the engines and it requires this field.

Page 42: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

40 Chapter 5 – Working with Resource Managers• • • •••

Using EC2 Resource Groups

This Document is Proprietary and Confidential

• Block Device Mappings: This field maps block devices from Amazon Elastic Block Store (EBS) to devices visible to the instance. The format is the same as for the run-instances command in the command-line interface—see Amazon’s documentation for details.

5. Click Create. The new resource group is created and appears in the list of EC2 resource groups.

Viewing or Editing an EC2 Resource GroupTo view or edit an existing resource group, do the following:1. Click the Resource Groups tab. The Resource Groups summary page appears. 2. Click Amazon EC2 in the Type column to show the list of EC2 resource groups.3. Click the name of the resource group you want to view or edit. It appears on the Show Amazon EC2

Resource Group page.4. If you want to edit the values, click the Edit button to show the Edit Amazon EC2 Resource Group page.

(As a shortcut, you can get to the Edit page by clicking the edit (pencil) icon for the group on the list page.)

5. Make any changes you want and click Update to save them.

Page 43: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 41 • • • •••

Scheduling Resource MigrationThe main purpose of Federator, of course is to let you control the resources (Engine Daemons) associated with your grids. You can move shared resources from one grid to another (including between GridServer and FabricServer and between different versions of each product) and you can add virtual resources into the pool available to your grids. This movement is generally done using a daily schedule, although ad hoc movement is also possible.

Federator’s schedule consists of a collection of named policy intervals. A policy interval consists essentially of a time range, the resource group to migrate during that time, and the target resource manager to migrate to. Based on a policy interval, Federator will make the resources in the resource group available to the target manager, moving them to that manager from another if necessary or creating them in the case of virtual resources. At any given time, there can be a policy interval in effect for each of Federator’s resource groups (whether DataSynapse and virtual), but policy intervals involving the same resource group cannot overlap in time.

When the DataSynapse resource group is not referenced by an active policy interval, Federator attaches the group to its default manager. When an EC2 resource group is not referenced by an active policy interval, Federator releases the groups resources, shutting down the instances they are running on.

NOTE: If a second policy interval using the same resource group starts at the end of the first policy interval, the second policy interval’s settings take precedence over the resource group's defaults; the resources are migrated as the second policy interval dictates and don’t return to the group’s default resource manager.

Creating Policy IntervalsTo create a policy interval, do the following:1. Click the Policy Intervals tab. The Policy Intervals page appears. 2. Click New. The Create Policy Interval page appears.3. Enter values for the policy interval:

• Name: Give the policy interval a name.• Description: Optionally, give the policy interval a description.• Type: Currently, the only valid type in Federator is “Placement.”• Resource Group: The group whose resources are affected by this policy interval. Each policy interval

affects exactly one group’s resources. This may be either a DataSynapse resource group (static or dynamic) or a virtual one.

• Target Manager: Choose the DataSynapse resource manager that should own the resources for this policy interval.

• Start: The Start group contains several fields that affect the way the policy interval behaves when coming into effect:•Time: This is the time of day the policy interval takes effect. It can be set in increments of five

minutes.•Warning Period: Specify the start warning period for this policy interval (in minutes). When

resources are migrated for the policy interval, they are put into draining mode, preventing them from accepting new jobs from their current target resource manager for this period of time (see “Resource Draining” on page 43 for details). If, after this time, they are still busy, then they are dealt with according to the “if still busy” action (see below).

Page 44: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

42 Chapter 5 – Working with Resource Managers• • • •••

Scheduling Resource Migration

This Document is Proprietary and Confidential

•If Still Busy: Specify the action that should be taken when Federator wants to migrate resources targeted by this policy interval but they are busy processing tasks for their current resource manager. Choosing “Force” causes the resources to be migrated regardless of their busy status. Choosing “Abandon” causes Federator to give up on migrating resources that are still busy (taking them out of draining mode as well). Note that this action only occurs if the resources are still busy after the start warning period has expired.

•Initial Configuration: You can optionally specify the name of the configuration to use when the Engine Daemons first start up. Use this field, for example, if you want them to synchronize with a particular Broker but then connect to their “real” Broker (as defined by the target configuration) afterwards.

•Target Configuration: Specify the name of the configuration to use when the Engine Daemons are running.

•Success Threshold: Optionally, specify a percentage of the resources in the group (an integer between 0 and 100) that must be successfully migrated—if this threshold is not reached, Federator will generate an alert. Leaving this blank means Federator will never generate alerts when resources fail to migrate.

• End: The End group contains fields that affect the way the policy interval behaves when ending:•Time: This is the time of day the policy interval ends. It can be set in increments of five minutes.•Warning Period: Specify the end warning period for this policy interval (in minutes). Resources will

be put into draining mode, preventing them from accepting new jobs from their current target resource manager, this many minutes before the policy interval ends (see “Resource Draining” on page 43 for details). If they are still busy after this time and if the resource group is not in a new policy interval, they are either returned to their default manager (if the default busy action for the group is set to “Force”) or taken out of draining mode and left connected to the current resource manager (if the default busy action for the group is “Abandon”).

4. Click Create to create the policy interval.

Viewing or Editing a Policy IntervalTo view or edit an existing policy interval, do the following:1. Click the Policy Intervals tab. The Policy Intervals page appears.

Page 45: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 43 • • • •••

2. Click the name of the policy interval you want to view or edit. It appears on the Show Policy Interval page.

3. If you want to edit the values, click the Edit button to show the Edit Policy Interval page. (As a shortcut, you can get to the Edit page by clicking the edit (pencil) icon for the policy interval on the list page.)

4. Make any changes you want and click Update to save them. The fields are the same as when creating a new policy interval.

Enabling or Disabling a Policy IntervalFederator lets you enable and disable policy intervals. Federator only schedules enabled policy intervals. If a currently active policy interval is disabled, it behaves the same way as if it had reached its end time. To enable or disable a policy interval, do the following:1. Click the Policy Intervals tab. The Policy Intervals page appears. 2. Click the name of the policy interval you want to modify. It appears on the Show Policy Interval page.3. Click Enable or Disable to modify the policy interval (if the policy interval is currently enabled, the

button says “Disable” and vice-versa). As mentioned above, disabling a policy interval that is currently in effect will stop it. (As a shortcut, you can click the enable or disable icon for the policy interval on the list page.)

Resource DrainingBecause Engines can be busy with important work when a move is scheduled or otherwise indicated, it is not always desirable to move those Engines immediately when a policy interval begins. Federator cooperates with your grids to let Engines complete their current tasks before assigning them further work. This process is called draining. Draining occurs during a warning period that begins at the time of any resource group-related move. Idle resources, and those that become idle during the warning period, always move. The “if still busy” property of policy intervals and resource groups lets you determine what happens to resources that are not idle by the end of a warning period.

There are two choices:

• Force directs Federator to move the resource even though it’s still busy; any tasks it may have been working on are discarded (the Broker that assigned them will reassign them to another Engine automatically, though they may take longer to complete).

• Abandon directs Federator to leave the busy resource in place and tells its current resource manager that it no longer needs to drain, and can once again accept new tasks. Note that abandonment is not permanent. It lasts only until the next policy transition or other Federator-directed move.

NOTE: FabricServer 2.6 does not implement resource draining. This makes the Busy Action especially important when moving resources away from FabricServer 2.6 grids. In such moves, Federator monitors the resources scheduled for movement during the warning period to see if any of them go idle, but in most cases moving those resources away from that FabricServer requires the Force busy action. (FabricServer 3.0 includes this feature and resource draining there works as described above.)

Page 46: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

44 Chapter 5 – Working with Resource Managers• • • •••

Moving Resources Manually

This Document is Proprietary and Confidential

Reclaiming Abandoned Resources ManuallyThere may be occasions where Federator abandons a resource that stays busy through a warning period, but business necessity requires that you override the general abandon setting. You can try again to move abandoned resources manually as follows:1. Click the Shared Resources tab. The Shared Resources page appears. 2. Locate the Shared Resources with status of Abandoned. (You can filter the list, matching the value

“Abandoned” for the Status field.)3. Select the check boxes that correspond to the abandoned resources you would like to retry.4. Click Reclaim Abandoned. The resources begin draining again and, when they become idle, Federator

moves them according to the policy interval or resource group settings currently in effect.

Moving Resources ManuallyThere may be cases where you want to move selected resources on a one-time basis from one grid to another. Manually moving lets you migrate resources from one resource manager to another without making those resources part of a shared resource group and without scheduling them to move on a regular basis.

NOTE: When you designate a shared resource for a manual move, Federator removes it from the resource group it belongs to, if any. It remains unshared after the move until you add it back into a resource group, sharing it again.

To manually move resources between DataSynapse resource mangers, do the following:1. Click the Resource Manager tab. The Resource Managers summary page appears.2. Click DataSynapse in the Type column. The DataSynapse Resource Managers page appears.3. Find the DataSynapse resource manager that owns the resources you’d like to share. Click the

number in the Resources column for that row. The Resources page appears. (You can also navigate to the All Resources or Shared Resources page on the Resources tab.)

4. Select the checkboxes corresponding to the resources you want to move. You can click the checkbox in the table header to select all of the resources on the page.

5. Click Move Checked.6. On the Resources to Move page, specify the following parameters about the destination:

• Target Manager: Choose the DataSynapse resource manager to which you want to move the resources.

• Initial Configuration: You can optionally specify the name of the configuration to use when the Engine Daemons first start up. Use this field, for example, if you want them to synchronize with a particular Broker but then connect to their “real” Broker (as defined by the target configuration) afterwards.

• Target Configuration: Specify the name of the configuration to use when the Engine Daemons are running.

• Warning Period: Specify the warning period for the move, in minutes. Resources will be put into draining mode, preventing them from accepting new jobs from their current resource manager for this period of time (see “Resource Draining” on page 43 for details). If, after this time, they are still busy, then they are dealt with according to the “if still busy” action (see below).

Page 47: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 45 • • • •••

• If Still Busy: Specify the action that should be taken resources are still busy processing tasks for their previous resource manager after the warning period is over. Choosing “Force” causes the resources to be migrated regardless of their busy status. Choosing “Abandon” causes Federator to give up on migrating resources that are still busy (taking them out of draining mode as well).

7. Click Move. Federator begins migrating the selected resources.

Resource Migration DetailsDepending on what is changing for the resource as it is migrated, the specifics of what Federator does can vary. The parameters that affect what happens during migration are the target resource manager, the target configuration, and the initial configuration, if any. Different scenarios are discussed below, based on which of these parameters are changing.

Target Configuration Changes, Target Manager Doesn’tFederator:1. Puts the resource into draining mode and waits until the resource is idle or the warning period has

expired2. Sets the new target configuration for the resource, causing it to restart (if the resource is idle or the

busy action is “Force”)3. Takes the resource out of draining mode (if the resource has been abandoned)Note that the initial configuration is ignored here, since the resource will have already synchronized with this resource manager.

Target Manager Changes, Configuration Doesn’t, No Initial ConfigurationFederator:1. Puts the resource into draining mode and waits until the resource is idle or the warning period has

expired2. Sets the new target resource manager for the resource, causing it to restart (if the resource is idle or

the busy action is “Force”)3. Takes the resource out of draining mode (if the resource has been abandoned)

Target Manager Changes, Configuration Changes, No Initial ConfigurationFederator:1. Puts the resource into draining mode and waits until the resource is idle or the warning period has

expired2. Disables the resource (if the resource is still busy and the busy action is “Abandon,” the resource is

abandoned—skip to Step 6)3. Sets the new target resource manager for the resource, causing the Daemon to restart4. Sets the new configuration for the resource, causing the Daemon to restart5. Enables the resource

Page 48: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

46 Chapter 5 – Working with Resource Managers• • • •••

Resource Migration Details

This Document is Proprietary and Confidential

6. Takes the resource out of draining mode (if the resource has been abandoned)Note that the Engine Daemon needs to restart multiple times for this type of migration.

Target Manager Changes, Configuration Changes, Initial Configuration SetFederator:1. Puts the resource into draining mode and waits until the resource is idle or the warning period has

expired2. Disables the resource (if the resource is still busy and the busy action is “Abandon,” the resource is

abandoned—skip to Step 7)3. Sets the new target resource manager for the resource, causing the Daemon to restart4. Sets the configuration for the resource to the initial configuration, causing the Daemon to restart5. Enables the resource for synchronization6. After synchronization, sets the configuration for the resource to the target configuration, causing the

Daemon to restart7. Takes the resource out of draining mode (if the resource has been abandoned)Note that the Engine Daemon needs to restart multiple times for this type of migration.

Page 49: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 47 • • • •••

Appendix A

• • • • • • Database Configuration

Database-Specific ConfigurationIn Chapter 3, “Installation” on page 9, setting up a database for Federator to use is described in generic terms. This aim of this appendix is to provide specific details for several popular database servers you are likely to be using with your Federator installation. Details are provided for the three database servers with which Federator has been tested:

• MySQL 5.0• Oracle 10g• Microsoft SQL Server 2005• Sybase Adaptive Server Enterprise (ASE) 12.5

MySQL 5.0This section describes configuration of the MySQL database server for use with Federator.

Installing MySQLDownload and unpack MySQL 5.0.x from the MySQL website (http://www.mysql.com/). Run the installer (for Windows) or use the package manager to install from the RPM file (for Linux).

Download the JDBC driver file for MySQL, called “Connector/J,” also from the MySQL website. Federator needs the JAR file in this package to communicate with the server. See “Setting up the JDBC Driver” on page 10 for details on installing it—you have the option of installing it manually on each FabricServer Engine machine where Federator will run or of including it in the Federator Domain that you deploy on FabricServer.

Setting Up the Federator DatabaseFederator will set up the tables and indices in the database the first time it runs, but you must manually create the database first and set its permissions. Using the MySQL command-line tool, type mysql --user=[your username] --password=[your password] to connect to the database server (installing MySQL with the default options will create a user named “root” whose password is blank). Then issue the following commands to create the database:create database federator_prod; use federator_prod; grant all on federator_prod.* to federator identified by 'server';

Page 50: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

48 Appendix A• • • •••

Microsoft SQL Server 2005

This Document is Proprietary and Confidential

Note that you can use your own values for the database name, username, and password (“federator_prod,” “federator,” and “server,” respectfully, in the sample code). If you don’t use the default values, be sure to adjust the corresponding values when configuring the Domain in FabricServer (as well as in subsequent sample code below).

Setting Up Access ControlsBy default, MySQL connections are only allowed from the machine the server is running on (i.e., localhost). In a production environment, the database should be running on a separate server from the Engine running Federator. To allow other connections, comment out or remove the “bind-address” line from the MySQL configuration file my.cnf or my.ini:bind-address = 127.0.0.1

Then restart MySQL with this command:mysql restart

Log back into the MySQL tool and execute the following line for each hostname that will run Federator Engines:grant all on federator_prod.* to 'federator'@'[hostname]' identified by 'server'

You can specify DNS names or an IP address or range of addresses.

NOTE: For more information on MySQL access control, consult the Access Control, Stage 1: Connection Verification topic in the MySQL 5.0 Reference Manual available on their website.

Variable ValuesThe variables specified as part of the Federator Domain (see the chart on page 10) should have the following values when using MySQL:

Microsoft SQL Server 2005This section describes configuration of the Microsoft SQL Server 2005 database server for use with Federator.

Variable Name Value for MySQLDB_USERNAME federator or whatever username you chose for the MySQL account you created with

the “grant” command under “Setting Up the Federator Database” on page 47

DB_PASSWORD server or whatever password you chose for the MySQL account you created above

DB_DRIVER_CLASS com.mysql.jdbc.Driver

DB_URL jdbc:mysql://[DB host name]:3306/federator_prod?autoreconnect=true where DB host name is the DNS name or IP address of the database machine

EXTERNAL_JDBC_JAR [path to JAR file]/mysql-connector-java-5.1.7-bin.jar if it’s installed on the Engine machines directly, or ${CATALINA_BASE/jars/mysql-connector-java-5.1.7-bin.jar if you included it in the Domain (note that your version might be different).

Page 51: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 49 • • • •••

Installing SQL ServerYou should install Microsoft SQL Server 2005 according to the instructions Microsoft provides with the product. Make sure that you choose Mixed rather than Windows authentication—Federator cannot connect to the database using Windows authentication. (You can change this after installation, if necessary, using the Server Properties dialog box in Management Studio.)

The JDBC driver for SQL Server can be downloaded directly from Microsoft at: http://msdn.microsoft.com/en-us/data/aa937724.aspx. To install it you need to run the executable ZIP file (on Windows) or unzip and untar it (on Linux). See the installation instructions that come with the driver for details. Since the driver consists of more than a single JAR file, it is simplest to install it directly on the Engine machines that will run Federator rather than trying to include it in the Federator Domain.

Setting Up the Federator DatabaseFederator will set up the tables and indices in the database the first time it runs, but you must manually create the database first and set its permissions.

Using the SQL Server Management Studio, create a new login using the username “federator” and password “server.” Make sure you choose SQL Server authentication and deselect the “User must change password” checkbox.

Now create a new database, named “federator_prod” and assign the “federator” login as its owner. (Note that if you choose not to make the login the database’s owner, you must explicit grant the login privileges to create and modify tables and indices as well as to perform selects, inserts, updates, and deletes on the database.)

Note that you can use your own values for the database name, username, and password (“federator_prod,” “federator,” and “server,” respectfully). If you don’t use the default values, be sure to adjust the corresponding values when configuring the Domain in FabricServer.

Variable ValuesThe variables specified as part of the Federator Domain (see the chart on page 10) should have the following values when using SQL Server:

Variable Name Value for SQL Server 2005DB_USERNAME federator or whatever username you chose for the SQL Server login you created

during the step “Setting Up the Federator Database” on page 49

DB_PASSWORD server or whatever password you chose for the account you created above

DB_DRIVER_CLASS com.microsoft.sqlserver.jdbc.SQLServerDriver

DB_URL jdbc:sqlserver://[DB host name]:1433;databaseName=federator_prod;applicat

ionName=Federator where DB host name is the DNS name or IP address of the database machine

EXTERNAL_JDBC_JAR [path to JAR file]/sqljdbc.jar if it’s installed on the Engine machines directly, as recommended

Page 52: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

50 Appendix A• • • •••

Oracle 10g

This Document is Proprietary and Confidential

Oracle 10gThis section describes configuration of the Oracle 10g database server for use with Federator.

Installing Oracle 10gYou should install Oracle 10g according to the instructions Oracle provides with the product.

The JDBC driver for Oracle 10g can be found inside your installation or can be downloaded directly from Oracle at: http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html. Federator needs the JAR file in this package to communicate with the server. See “Setting up the JDBC Driver” on page 10 for details on installing it—you have the option of installing it manually on each FabricServer Engine machine where Federator will run or of including it in the Federator Domain that you deploy on FabricServer.

Setting Up the Federator DatabaseFederator will set up the tables and indices in the database the first time it runs, but you must manually create the database first and set its permissions.

Set up a the System Identifier (SID) named “FED” for the database. Then create a new user using the username “federator” and password “server.” Oracle will use a tablespace called “FEDERATOR” by default; if you want to set up a different default tablespace, do so now. Grant this user the right to log in and create tables—you can do this by adding the CONNECT and RESOURCE roles to the user.

Note that you can use your own values for the database name/SID, username, and password (“FED,” “federator,” and “server,” respectfully). If you don’t use the default values, be sure to adjust the corresponding values when configuring the Domain in FabricServer.

Variable ValuesThe variables specified as part of the Federator Domain (see the chart on page 10) should have the following values when using Oracle 10g:

Variable Name Value for Oracle 10gDB_USERNAME federator or whatever username you chose for the database user you created during the

step “Setting Up the Federator Database” on page 50

DB_PASSWORD server or whatever password you chose for the account you created above

DB_DRIVER_CLASS oracle.jdbc.OracleDriver

DB_URL jdbc:oracle:thin:@[DB host name]:1521:FED where DB host name is the DNS name or IP address of the database machine (if you chose a different SID when setting up the database, replace “FED” here with yours)

EXTERNAL_JDBC_JAR [path to JAR file]/ojdb14.jar if it’s installed on the Engine machines directly, or ${CATALINA_BASE/jars/ojdb14.jar if you included it in the Domain (note that your version might be different).

Page 53: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 51 • • • •••

Sybase ASE 12.5This section describes configuration of the Sybase ASE database server for use with Federator. Federator has been tested with version 12.5 of Sybase ASE using version 6 of the JConnect JDBC driver.

Installing SybaseYou should install Sybase ASE according to the instructions Sybase provides with the product. The JDBC driver for ASE, called JConnect, can be downloaded directly from Sybase at: http://www.sybase.com/products/allproductsa-z/softwaredeveloperkit/jconnect. See the installation instructions that come with the driver for details on installing it. The JAR file you will need to install in Federator is named jconn3.jar.

Setting Up the Federator DatabaseFederator will set up the tables and indices in the database the first time it runs, but you must manually create the database first and set its permissions. You should create a user named “federator” with password “server”. You should create a database named “federator_prod” and ensure that the “federator” user has full access to it. You must also ensure that the machines which will be running Federator (the FabricServer Engine or Engines) have remote access to the database. Your DBA should be able to help set this up.

Note that you can use your own values for the database name, username, and password (“federator_prod,” “federator,” and “server,” respectfully). If you don’t use the default values, be sure to adjust the corresponding values when configuring the Domain in FabricServer.

Variable ValuesThe variables specified as part of the Federator Domain (see the chart on page 10) should have the following values when using Sybase ASE:

Variable Name Value for ASE 12.5DB_USERNAME federator or whatever username you chose for the ASE login you created during the

step “Setting Up the Federator Database” on page 51

DB_PASSWORD server or whatever password you chose for the account you created above

DB_DRIVER_CLASS com.sybase.jdbc3.jdbc.SybDriver

DB_URL jdbc:sybase:Tds:[DB host name]:5000/federator_prod where DB host name is the DNS name or IP address of the database machine

EXTERNAL_JDBC_JAR [path to JAR file]/jconn3.jar if it’s installed on the Engine machines directly, or ${CATALINA_BASE/jars/jconn3.jar if you included it in the Domain.

Page 54: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

52 Chapter A – • • • •••

Sybase ASE 12.5

This Document is Proprietary and Confidential

Page 55: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 53 • • • •••

Appendix B

• • • • • • Using Amazon EC2 with Federator

Federator and EC2Federator allows you to use Amazon’s Elastic Compute Cloud (EC2) to launch Engine Daemons in the Amazon compute cloud for your grids to use. You can use these resources on a continuing basis, to account for temporary needs, for regular, periodic demand, or whatever makes the most sense for your business.

Configuring GridServer for Use with EC2You need tell each of your GridServer instances to allow Amazon EC2-based engines to log into its brokers. When Engine Daemons log into GridServer as EC2 engines, they do not count against the number of instances allowed by your license, so it is important to configure GridServer to prevent inadvertent use of valuable license slots.

In the GridServer 5 administrative user interface, click on the Admin tab. Then click the link to configure Engines and Clients. Scroll down to the section on this page labeled Amazon Web Services. Enter your Amazon Access Key ID and Secret Access Key in the fields provided. Optionally, change the Validation Timeout value from the default of five seconds (you would do this if, for example, you are experiencing difficulty due to slow network connectivity). Finally, make sure that the value for Allow EC2 Engine Daemon Login is set to “True.” GridServer uses this information to communicate with Amazon in order to verify that the Daemons logging in are valid instances of the DataSynapse Paid AMI. Click the Save button when done. EC2 Engine Daemons will now be able to connect to your grid without affecting your licensing.

Obtaining an EC2 AccountThe first step in getting Federator working with Amazon EC2 is to create and set up an account with Amazon Web Services (AWS). Visit their website (http://aws.amazon.com) for details on getting started.

You need to enable your AWS account for use with the DataSynapse Paid AMI in order for Federator to be able to start engines in the cloud. You will have received the URL for doing so with your purchase of Federator. (If you haven’t created an AWS account yet, this URL will redirect you to the sign-up page.)

NOTE: You will initially set up your AWS account using a credit card for billing purposes. You can contact Amazon to arrange for other billing options available to corporate customers.

Tools for Working with AWS and EC2Amazon provides a number of tools for working with EC2. We highly recommend ElasticFox, a plug-in for Mozilla Firefox which provides a comprehensive graphical user interface for managing your EC2 environment. There are also command-line tools for working with EC2 and you can also write scripts or

Page 56: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

54 Appendix B• • • •••

Configuring EC2 for Federator

This Document is Proprietary and Confidential

other code that accesses Amazon’s API through REST or SOAP. Visit the Developer Tools page on the AWS EC2 website for an up-to-date listing of available tools you might want to try (http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=88).

Configuring EC2 for FederatorOnce your Account is set up and enabled for the DataSynapse Paid AMI, there are a few things you’ll need to do before you can begin federating.

Increasing the Instance LimitBy default, AWS accounts enabled for EC2 allow a maximum of twenty instances to be launched simultaneously. Most users will need to increase this limit to allow Federator to launch more Engines. You can request an increase using this URL: http://aws.amazon.com/contact-us/ec2-request. Note that it may take several days for Amazon to process your request

Getting Access Identifiers and a Certificate PairAccess identifiers are used by Federator to connect with the EC2 server on your behalf. There are two, the AWS Access Key ID and the AWS Secret Access Key. You can think of them as a name and password for connecting to EC2. You can see these from the Access Identifiers page of the AWS website while logged on with your account (click the Show link to make your secret access key visible).

Amazon uses an X.509 certificate to secure the connection to the server when using the command-line tools. You can have Amazon generate one for you or you can upload your own to the server. You can do either on the same Access Identifiers page of the AWS site. See the command-line tool documentation for details on how to use the certificate.

NOTE: If you generate a new secret access key you will need to update the EC2 resource managers and groups in Federator to use it or they will no longer be able to communicate with the EC2 server. Similarly for the X.509 certificate.

Creating an Elastic IP AddressFederator uses a proxy server to allow the Engine Daemons running in EC2 to communicate securely with the Directors and Brokers in your corporate network. The proxy server also caches resources being downloaded by Engines, making the process faster (and less costly, since you pay Amazon for the data transferred in and out of the cloud). In order for the proxy server to work correctly, it must have a fixed IP address that is visible outside the cloud, known as an “elastic” IP address. You can create one using tools such as ElasticFox or the command-line interface. Take note of the address since you’ll need it when setting up your EC2 Resource Manager (see “EC2 Resource Managers” on page 25). You won’t want to bind it to another instance or the proxy won’t work correctly.

NOTE: Amazon charges a small fee for IP addresses which you create but don’t bind to an instance, after a certain number of free ones. Check the EC2 website for details.

Page 57: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 55 • • • •••

Creating Security GroupsBefore you can launch a machine instance in EC2, you must associate the instance with a security group. Security groups specify access rules such as which network ports will be open to the instance and which IP addresses the instance can connect to via these ports.

You should create a group for the proxy instance and at least one additional group for your Engines. The proxy’s group will be specified when creating the EC2 resource manager and the engine group will be used by the EC2 resource groups. The examples here show how to use the command-line to create the groups though you can easily use

Proxy GroupThe proxy must have permission to talk on port 22 (the SSH port) and 80 (the HTTP port) with machines on your corporate network. It must also have permission to talk on port 3128 from instances in the cloud (specified based on their security group).

Using the command-line tool, you would configure this in the following manner (note that the last line specifies the name of the engine group, “engine,” as created below):ec2-add-group proxy -d “This is the security group for the proxy server”ec2-authorize proxy -P tcp -p 22 -s [your corporate subnet]/[subnet mask bits]ec2-authorize proxy -P tcp -p 3128 -u engine

Engine GroupThe engines must have permission to talk on port 22 (the SSH port), port 3389 (the RDP port), and port 27159 (used by GridServer and FabricServer) with machines on your corporate network. It must also have permission to talk on port 3128 from instances in the cloud (specified based on their security group).ec2-add-group engine -d “This is the security group for Federator’s Engines”ec2-authorize engine -P tcp -p 22 -s [your corporate subnet]/[subnet mask bits]ec2-authorize engine -P tcp -p 3389 -s [your corporate subnet]/[subnet mask bits]ec2-authorize engine -P tcp -p 27159 -s [your corporate subnet]/[subnet mask bits]ec2-authorize engine -P tcp -p 3128 -u proxy

Creating Key PairsAmazon lets you generate X.509 certificates for use by the instances you launch. Each instance is launched using a specific key pair. Knowing this key pair allows you to make connections via SSL into these virtual machines. Federator automatically creates and uses a key pair for the SSH-based tunnel that the proxy server uses to communicate between the Amazon cloud and your corporate network.

You may wish to create additional key pairs for use by the Engine instances you create. Each EC2 resource group you define lets you choose a specific key pair. You can either use the same one that Federator creates for the proxy to use (named fed-[Proxy IP Address]-keypair) or you can create your own. Be aware that you can only download the key pair when you first generate it.

Amazon Machine ImagesAmazon Machine Images (AMIs) are the templates that Amazon uses to start instances in the cloud. They contain the operating system software for the virtual machine as well as any other software that may have been pre-installed. Federator requires two types of AMI, one for the proxy server and one for DataSynapse Engine Daemons. Each of these is available in different flavors depending on your OS needs and

Page 58: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

56 Appendix B• • • •••

Additional Resources

This Document is Proprietary and Confidential

preferences. When you create an EC2 resource manager in Federator, you tell it which AMI to use when instantiating the proxy server; when you create an EC2 resource group, you tell it which AMI to use for instantiating engine machines.

AMIs on S3DataSynapse provides the necessary AMIs via Amazon’s Simple Storage Service (S3) product. They are publicly available and can be located by their manifest names, which start with “datasynapse.com-engine” for engine machines or “datasynapse.com-proxy” for proxy machines. You can easily see the list by browsing in ElasticFox’s Images tab (filtering for manifests with “datasynapse” in their names).

Custom AMIs and Product CodesFor most customers, the AMIs provided by DataSynapse will be sufficient. Some customers may wish to create their own images with additional software installed (for example, to use a company-standard VPN instead of the SSH tunnel that the proxy server uses by default). Amazon provides tools for working with AMIs to let you manipulate their contents. There is a caveat, however—in order for them to work properly and be recognized by GridServer or FabricServer as EC2 Engine Daemons, the AMI must be tagged with the DataSynapse product code, “B11CAE06,” (if the product code is missing, the virtual machine can still log into the FabricServer or GridServer but will count against the Engine Daemon and Engine limitations your grid’s license specifies).

Additional ResourcesThat covers the Federator-specific changes you’ll need to make to your EC2 account. If you’d like more information, the best place to start is at the Amazon AWS website: http://aws.amazon.com. There you’ll find details about AWS in general, and EC2 and S3 more specifically. There are “Getting Started” guides, developer guides, and reference sheets for the various services. In addition, there are links for technical support and account administration.

Page 59: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 57 • • • •••

Appendix C

• • • • • • Web Services API Reference

The Federator Web Services APIMost operations available in Federator's user interface are also exposed via SOAP web services. The web services API is composed of four interfaces:

ResourceManagerAdmin

(WSDL at http://[host]:[port]/federator/services/resourceManagerAdmin?wsdl)

ResourceGroupAdmin

(WSDL at http://[host]:[port]/federator/services/resourceGroupAdmin?wsdl)

PolicyIntervalAdmin

(WSDL at http://[host]:[port]/federator/services/policyIntervalAdmin?wsdl)

SharedResourceAdmin

(WSDL at http://[host]:[port]/federator/services/sharedResourceAdmin?wsdl)

NOTE: Requests to the web services interface, like all other requests to Federator, require proper credentials. You must specify a valid Federator username and password both when requesting the WSDL and when executing methods on the web services interfaces.

ResourceManagerAdminThe ResourceManagerAdmin service lets you list, create, update and remove resource managers. The supported operations on this interface are:• DatasynapseResourceManagerInfo[] getAllDatasynapseResourceManagerInfo()

Return an array of DatasynapseResourceManagerInfo objects describing all of the DataSynapse resource managers known to Federator.

• DatasynapseResourceManagerInfo getDatasynapseResourceManagerInfoByName(String name)Return information about the named DataSynapse resource manager.

• void addDatasynapseResourceManager(DatasynapseResourceManagerInfo info)Create a new DataSynapse resource manager as specified by the DatasynapseResourceManagerInfo passed in.

• void updateDatasynapseResourceManager(DatasynapseResourceManagerInfo info)Update the DataSynapse resource manager to match the edited DatasynapseResourceManagerInfo object.

• Ec2ResourceManagerInfo[] getAllEc2ResourceManagerInfo()Return an array of Ec2ResourceManagerInfo objects describing all of the Amazon EC2 resource managers known to Federator.

• Ec2ResourceManagerInfo getEc2ResourceManagerInfoByName(String name)Return information about the named Amazon EC2 resource manager.

• void addEc2ResourceManager(Ec2ResourceManagerInfo info)Create a new Amazon EC2 resource manager as specified by the Ec2ResourceManagerInfo passed in.

• void updateEc2ResourceManager(Ec2ResourceManagerInfo info)Update the Amazon EC2 resource manager to match the edited Ec2ResourceManagerInfo object.

• void deleteResourceManager(long id)Delete the resource manager with the specified ID. Applies to all types of resource managers.

Page 60: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

58 Appendix C• • • •••

The Federator Web Services API

This Document is Proprietary and Confidential

• void enableResourceManager(String name)Enable the resource manager with the specified name. Applies to all types of resource managers.

• void disableResourceManager(String name)Disable the resource manager with the specified name. Applies to all types of resource managers.

• ResourceInfo[] getAllResourceInfo()Return information about all of the resources known to Federator.

• ResourceInfo[] getAllResourceInfoByManager(String name)Return information about the resources known to Federator that belong to the resource manager with the given name.

ResourceGroupAdminThe ResourceGroupAdmin service lets you manage resource groups. The following methods are supported:• DatasynapseResourceGroupInfo[] getAllDatasynapseResourceGroupInfo()

Return information about the DataSynapse resource groups known to Federator.• DatasynapseResourceGroupInfo getDatasynapseResourceGroupInfoByName(String name)

Return information about the DataSynapse resource group with the given name.• void addDatasynapseResourceGroup(DatasynapseResourceGroupInfo info)

Create a new DataSynapse resource group as specified by the DatasynapseResourceGroupInfo passed in.• void updateDatasynapseResourceGroup(DatasynapseResourceGroupInfo info)

Update the DataSynapse resource group to match the edited DatasynapseResourceGroupInfo object.• DynamicResourceGroupInfo[] getAllDynamicResourceGroupInfo()

Return information about the dynamic resource groups known to Federator.• DynamicResourceGroupInfo getDynamicResourceGroupInfoByName(String name)

Return information about the dynamic resource group with the given name.• void addDynamicResourceGroup(DynamicResourceGroupInfo info)

Create a new dynamic resource group as specified by the DynamicResourceGroupInfo passed in.• void updateDynamicResourceGroup(DynamicResourceGroupInfo info)

Update the dynamic resource group to match the edited DynamicResourceGroupInfo object.• void addResource(DatasynapseResourceGroupInfo info, String resourceId)

Add a resource with the given resource ID to the DataSynapse resource group whose ID is specified in info.• void removeResource(DatasynapseResourceGroupInfo info, String resourceId)

Add the resource with the given resource ID from the DataSynapse resource group whose ID is specified in info.• Ec2ResourceGroupInfo[] getAllEc2ResourceGroupInfo()

Return information about the Amazon EC2 resource groups known to Federator.• Ec2ResourceGroupInfo getEc2ResourceGroupInfoByName(String name)

Return information about the Amazon EC2 resource group with the given name.• void addEc2ResourceGroup(Ec2ResourceGroupInfo info)

Create a new Amazon EC2 resource group as specified by the Ec2ResourceGroupInfo passed in.• void updateEc2ResourceGroup(Ec2ResourceGroupInfo info)

Update the Amazon EC2 resource group to match the edited Ec2ResourceGroupInfo object.• void deleteResourceGroup(long id)

Deletes the resource group with the specified ID. Applies to all types of resource groups.

PolicyIntervalAdminThe PolicyIntervalAdmin service lets you list, create, update and remove policy intervals. The supported methods are:• PolicyIntervalInfo[] getAllPolicyIntervalInfo()

Return information about the policies known to Federator.• PolicyIntervalInfo getPolicyIntervalInfoByName(String name)

Return information about the policy with the given name.• void addPolicyInterval(PolicyIntervalInfo info)

Create a new policy as specified by the PolicyIntervalInfo object passed in.• void deletePolicyInterval(PolicyIntervalInfo info)

Delete the policy whose ID is specified in info.

Page 61: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 59 • • • •••

• void updatePolicyInterval(PolicyIntervalInfo info)Update the policy to match the edited PolicyIntervalInfo object.

• void enablePolicy(String policyName)Enable the policy with the specified name.

• void disablePolicy(String policyName)Disable the policy with the specified name.

SharedResourceAdminThe SharedResourceAdmin service lets you list shared resources. It also lets you manually move resources not associated with a resource group. The supported methods are:• SharedResourceInfo[] getAllSharedResourceInfo()

Return information about the shared resources known to Federator.• SharedResourceInfo[] getSharedResourceInfoByGroup(String group)

Return information about the shared resources belonging to the resource group with the given name.• SharedResourceInfo[] getSharedResourceInfoByManager(String currentManager)

Return information about the shared resources assigned to the DataSynapse resource manager with the given name.• void reclaimResource(SharedResourceInfo info)

Migrate the specified shared resource to its default manager.• void moveResource(String resourceId, String targetManager, String targetConfig, int

warningPeriodMinutes, String busyAction)Migrate the specified resource to the target DataSynapse resource manager specified by targetManager. The targetConfig, warningPeriodMiniutes, and busyAction parameters are similar to their counterparts in the PolicyIntervalInfo object.

Classes Used by the APIThe web service API uses various objects to describe the Federator artifacts you can manipulate. These are essentially generic Java beans, with standard getter and setter methods to access their properties. Properties whose values are constrained beyond their Java type are described along with their accessors.

DatasynapseResourceGroupInfoThe DatasynapseResourceGroupInfo object is used by the ResourceGroupAdmin service. It is defined as follows:long getId()String getName()void setName(String name)String getDescription()void setDescription(String description)String getDefaultManager()void setDefaultManager(String defaultManager)String getInitialConfig()void setInitialConfig(String initialConfig)String getDefaultConfig()void setDefaultConfig(String defaultConfig)String getBusyAction()void setBusyAction(String busyAction)

Note: busyAction is one of “Abandon” or “Force”Integer getDefaultSuccessThreshold()void setDefaultSuccessThreshold(Integer defaultSuccessThreshold)

Note: defaultSuccessThreshold must be between 0 and 100Integer getDefaultWarningPeriod()void setDefaultWarningPeriod(Integer defaultWarningPeriod)

Page 62: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

60 Appendix C• • • •••

Classes Used by the API

This Document is Proprietary and Confidential

DynamicResourceGroupInfoThe DynamicResourceGroupInfo object is used by the ResourceGroupAdmin service. It is defined as follows:long getId()String getName()void setName(String name)String getDescription()void setDescription(String description)String getBusyAction()void setBusyAction(String busyAction)

Note: busyAction is one of “Abandon” or “Force”Integer getDefaultSuccessThreshold()void setDefaultSuccessThreshold(Integer defaultSuccessThreshold)

Note: defaultSuccessThreshold must be between 0 and 100Integer getDefaultWarningPeriod()void setDefaultWarningPeriod(Integer defaultWarningPeriod)int getMinResourceCount()void setMinResourceCount(int minResourceCount)int getTargetResourceCount()void setTargetResourceCount(int targetResourceCount)boolean getResourceManagersOrdered()void setResourceManagersOrdered(boolean resourceManagersOrdered)DatasynapseResourceManagerInfo[] getManagers()void setManagers(DatasynapseResourceManagerInfo[] managers)DynamicResourceRuleInfo[] getRules()void setRules(DynamicResourceRuleInfo[] rules)

DynamicResourceRuleInfoThe DynamicResourceRuleInfo object is used by the DynamicResourceGroupInfo object. It is defined as follows:long getId()String getType()void setType(String type)

Note: type is one of IP, os, totalMemInKB, cpuNo, configurationName, busy, or customString getPropertyName()void setPropertyName(String propertyName)

Note: propertyName is the name of the property’s key in the map of values returned from the GridServer of FabricServer for thisresource (except for “custom” rules, propertyName should be the same as type)

String getOperator()void setOperator(String operator)

Note: operator is one of matches, equals, lte (≤), gte (≥), inRange, or existsString getValue()void setValue(String value)

Note: value depends on the operator of the rule:For matches, value is a comma-separated list of potential valuesFor equals, lte, or gte, value is a numeric value as a stringFor inRange, value is a string containing two numeric values separated by .. (e.g. “4..16”)For exists, value is not used and should be set to the empty string ("")

When type is set to busy, value is not used and should be set to the empty string ("")boolean getNegated()void setNegated(boolean negated)

Page 63: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 61 • • • •••

DatasynapseResourceManagerInfoThe DatasynapseResourceManagerInfo object is used by the ResourceManagerAdmin service. It is defined as follows:long getId()String getName()void setName(String name)String getDescription()void setDescription(String description)String getPrimaryManagerUrl()void setPrimaryManagerUrl(String primaryManagerUrl)String getSecondaryManagerUrl()void setSecondaryManagerUrl(String secondaryManagerUrl)String getAdminUsername()void setAdminUsername(String adminUsername)String getAdminPassword()void setAdminPassword(String adminPassword)boolean isEnabled()void setEnabled(boolean enabled)

Ec2LaunchConfigInfoThe Ec2LaunchConfigInfo object is used indirectly by the ResourceManagerAdmin and ResourceGroupAdmin services; it is used directly by the Ec2ResourceManagerInfo and Ec2ResourceGroupInfo classes. It is defined as follows:String getAwsImage()void setAwsImage(String awsImage)String getInstanceType()void setInstanceType(String instanceType)String getSecurityGroup()void setSecurityGroup(String securityGroup)String getAvailabilityZone()void setAvailabilityZone(String availabilityZone)

Note: null indicates the “automatic” optionString getKeyPairName()void setKeyPairName(String keyPairName)String getKeyFingerprint()void setKeyFingerprint(String keyFingerprint)String getKeyData()void setKeyData(String keyData)String getUserData()void setUserData(String userData)String getKernel()void setKernel(String kernel)String getRamDisk()void setRamDisk(String ramDisk)String getDeviceMapping()void setDeviceMapping(String deviceMapping)

Ec2ResourceManagerInfoThe Ec2ResourceManagerInfo object is used by the ResourceManagerAdmin service. It is defined as follows:long getId()String getName()void setName(String name)String getDescription()

Page 64: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

62 Chapter C – • • • •••

Classes Used by the API

This Document is Proprietary and Confidential

void setDescription(String description)String getRegionUrl()void setRegionUrl(String regionUrl)

Note: regionUrl is the endpoint URL for the region you want to use, e.g. https://us-east-1.ec2.amazonaws.comString getAccessKeyId()void setAccessKeyId(String accessKeyId)String getSecretAccessKey()void setSecretAccessKey(String secretAccessKey)int getInstanceLimit()void setInstanceLimit(int instanceLimit)String getProxy()void setProxy(String proxy)

Note: proxy is the Elastic IP address that will be used for the server-side proxyboolean isEnabled()void setEnabled(boolean enabled)Ec2LaunchConfigInfo getLaunchConfig()void setLaunchConfig(Ec2LaunchConfigInfo info)

Ec2ResourceGroupInfoThe Ec2ResourceGroupInfo object is used by the ResourceGroupAdmin service. It is defined as follows:long getId()String getName()void setName(String name)String getDescription()void setDescription(String description)String getDefaultManager()void setDefaultManager(String defaultManager)Integer getDefaultSuccessThreshold()void setDefaultSuccessThreshold(Integer defaultSuccessThreshold)

Note: defaultSuccessThreshold must be between 0 and 100Integer getDefaultWarningPeriod()void setDefaultWarningPeriod(Integer defaultWarningPeriod)Integer getResourceCount()void setResourceCount(Integer resourceCount)Ec2LaunchConfigInfo getLaunchConfig()void setLaunchConfig(Ec2LaunchConfigInfo launchConfig)

PolicyIntervalInfoThe PolicyIntervalInfo object is used by the PolicyIntervalAdmin service. It is defined as follows:long getId()boolean isEnabled()void setEnabled(boolean enabled)String getName()void setName(String name)String getDescription()void setDescription(String descriptionString getType()void setType(String type)

Note: type is reserved for future useString getResourceGroup()void setResourceGroup(String resourceGroup)String getTargetManager()void setTargetManager(String targetManager)String getBusyAction()void setBusyAction(String busyAction)

Page 65: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

Federator Guide 63 • • • •••

Note: busyAction is one of “Abandon” or “Force”String getInitialConfig()void setInitialConfig(String initialConfig)String getTargetConfig()void setTargetConfig(String targetConfig)String getStartHour()void setStartHour(String startHour)String getStartMinute()void setStartMinute(String startMinute)String getEndHour()void setEndHour(String endHour)String getEndMinute()void setEndMinute(String endMinute)Integer getStartWarningPeriod()void setStartWarningPeriod(Integer startWarningPeriod)Integer getEndWarningPeriod()void setEndWarningPeriod(Integer endWarningPeriod)Integer getStartSuccessThreshold()void setStartSuccessThreshold(Integer startSuccessThreshold)

ResourceInfoThe ResourceInfo object is used by the ResourceManagerAdmin service. It is defined as follows:String getResourceId()void setResourceId(String resourceId)String getHostname()void setHostname(String hostname)String getIp()void setIp(String ip)String getOs()void setOs(String os)String getCurrentResourceManager()void setCurrentResourceManager(String currentResourceManager)

SharedResourceInfoThe SharedResourceInfo object is used by the SharedResourceAdmin service. It is defined as follows:String getResourceId()String getHostname()String getIp()String getOs()String getStatus()void setStatus(String status)String getCurrentResourceManager()String getPreviousResourceManager()

Page 66: federator - TIBCO SoftwareRepackaged JBoss Enterprise Middleware open source software. ... FabricServer. For more details, see the FabricServer Admin Guide. Setting up the Database

64 Chapter C – • • • •••

Classes Used by the API

This Document is Proprietary and Confidential