Summary of Contents for Novell PLATESPIN ORCHESTRATE 2.0.2 - DEVELOPMENT CLIENT REFERENCE 08-28-2009
Page 1
AUTHORIZED DOCUMENTATION Development Client Reference Novell ® PlateSpin Orchestrate ® 2.0.2 August 28, 2009 www.novell.com PlateSpin Orchestrate 2.0 Development Client Reference...
Page 2
Further, Novell, Inc. reserves the right to make changes to any and all parts of Novell software, at any time, without any obligation to notify any person or entity of such changes.
Page 3
Novell Trademarks For Novell trademarks, see the Novell Trademark and Service Mark list (http://www.novell.com/company/legal/ trademarks/tmlist.html). Third-Party Materials All third-party trademarks are the property of their respective owners.
Page 4
PlateSpin Orchestrate 2.0 Development Client Reference...
PlateSpin Orchestrate 2.0 documentation Web site (http://www.novell.com/documentation/pso_orchestrate20/). Documentation Conventions In Novell documentation, a greater-than symbol (>) is used to separate actions within a step and items in a cross-reference path. ® A trademark symbol ( , etc.) denotes a Novell trademark. An asterisk (*) denotes a third-party trademark.
Page 10
When a single pathname can be written with a backslash for some platforms or a forward slash for other platforms, the pathname is presented with a backslash. Users of platforms that require a forward slash, such as Linux* or UNIX, should use forward slashes as required by your software. PlateSpin Orchestrate 2.0 Development Client Reference...
Layout ® Both the grid administrator and the job developer need to have access to and use the PlateSpin Orchestrate Development Client. The administrator needs to use the console to perform any management functions, such as creating user accounts and managing Orchestrator Server activities. The developer uses the console to access the JDL editor for creating or modifying jobs and policies.
Page 12
Detailed Description of Console Areas Table 1-1 Area Description Menu bar Provides operations categorized under menus such as File, Edit, View, Grid, Server, Windows, and Help. The File menu lets you save any changes you’ve made or exit the console. The Edit menu lets cut, copy, and paste items and choose general and server preferences for console.
Page 13
Area Description Status bar The status bar displays general identity information about the Orchestrator Server where you are logged in. For information about launching the console and using it for the first time, see “Walkthrough: Launching the PlateSpin Orchestrate Development Client”in the PlateSpin Orchestrate 2.0 Installation and Configuration...
Page 14
PlateSpin Orchestrate 2.0 Development Client Reference...
Menus and Tools A number of operations are available from the PlateSpin Orchestrate Development Client from ® Novell and can be accessed from its menu bar and toolbar. Section 2.1, “The Operations Menu Bar,” on page 15 Section 2.2, “The Orchestrate Development Client Toolbar,” on page 23 2.1 The Operations Menu Bar...
2.1.2 Edit The Edit menu (Alt+E) provides keyboard and mouse accessible methods for users to save changes or to exit the application. “Undo Addition” on page 16 “Redo” on page 16 “Cut” on page 16 “Copy” on page 16 “Paste” on page 16 “Find”...
Page 17
Find The Exit operation provides a mouse-accessible method for users to open the Find and Replace dialog box, where they can search for and replace (if necessary) editable strings located in logs and editing views (for example, the Policy Editor). The Find and Replace Dialog Box Invoked From the Policy Editor Figure 2-1 The operation can also be executed from the keyboard (Ctrl+F).
Page 18
The dialog box has three tabbed pages. General Page General Page of the Orchestrate Development Client Preferences Figure 2-2 Preference settings on this page that you can change are self-explanatory. If you click Initialize Preferences, the preference settings (except Look and Feel settings) are initialized to installation values.
The Java Properties Page of the Orchestrate Development Client Preferences Figure 2-4 This page lists the Java property names and values that Novell uses to render the Orchestrate Development Client interface in Java Swing. The list is for your information only.
Page 20
Discover VM Hosts & Repositories When you select this option, the Discover VM Hosts and Repositories dialog box is displayed. VM Discovery Dialog Box Figure 2-5 Using this dialog box, you can select a provisioning adapter ( , or hyperv vcenter vmserver ) that discovers all VM host machines where the PlateSpin Orchestrate Agent is installed and...
Shutdown VMs Resync VM’s State Resync VMs’s Host State Reset State of all VMs 2.1.6 Server The Server menu lets you start a local server, log in to the server, create and display logs for logged in servers, log out from the server, and shut down a server. “Select Server”...
Page 22
The Display Log operation displays the default server log for the current, logged on Orchestrate Server. The display is in the Information window located at the bottom of the Orchestrate Development Client. The server log file is also located by default in the /var/opt/novell/ directory. zenworks/zos/server/logs...
Log View Name: Enter the name of the log view. This will be displayed on a tab in the log display panel. NOTE: You can enter only alphanumeric characters and spaces in the Log View Name field. Log Level: From the drop-down list, select the minimum log level for the log view. The log messages included in the custom view will be of this level and those of greater severity.
Page 24
Tool Icon Tool Name Tool Function Forward Go forward to the next workspace view. Refresh Refresh the Explorer and Workspace views. Open/Hide Explorer Open the Explorer Tree in a window Hide the Explorer window Cut the selected object from the workspace and copy it to the clipboard Copy Copy the selected object to the clipboard while keeping the original...
® ® You can use the Job Scheduler in PlateSpin Orchestrate Server from Novell to automatically start deployed jobs on your grid by using either time or event triggers. You can think of the functionality provided by the time triggers as being similar to a distributed cron system (in fact, time triggers can be described in cron syntax).
Job Scheduler View of the Orchestrate Development Client Figure 3-1 This section includes information to help you understand the functions of the Job Scheduler and how to use it to launch PlateSpin Orchestrate jobs. Section 3.1.1, “Navigating The Job Schedules Table,” on page 26 Section 3.1.2, “Creating or Modifying a Job Schedule,”...
Page 27
NOTE: The Job Scheduler view is not a real-time monitor view of jobs, so if a job attribute (for example, Last Job Status or Last Fire Time) has changed, it might not be displayed until you click Refresh. The Job Schedules Table has functionality that lets you decide how you want to display information about the job schedules: You can drag any column in the table to move it left or right in the table according to your preference.
NOTE: Deleting a schedule that was deployed as part of a displays a .job .sar confirmation dialog box. Deleting the schedule undeploys all contents of the that .job .sar contains the schedule. Disable: Disables the selected schedule in the Job Schedules Table. The jobs associated with the schedule are not re-run, but any currently running instances of this job continue to run.
Page 29
There are several times when you can use this part of the Job Scheduler tool: When you create a new schedule by clicking New. When you modify the attributes of an existing schedule (available when you select a schedule in the table). When you create a copy of an existing schedule by clicking Copy.
Page 30
Priority When you create a new schedule and associate a job and a user with it, a list of possible run priorities becomes available in this drop-down list. The list of priorities varies, depending on the user that is specified in the previous field. In this field, you select the priority of the job that is to be run so that if other jobs are to start concurrently or are competing for resources, PlateSpin Orchestrate can determine which job takes priority.
Page 31
The Triggers table on this page has functionality that lets you decide how you want to display information about the triggers: You can drag any column in the table to move it left or right in the table according to your preference.
Page 32
In this dialog box, you can click Add to move a selected trigger to the active, scheduled triggers that are to be associated with this job schedule. You can also click Remove to unassociate a trigger. When a trigger is moved to the scheduled list, it becomes associated to the job schedule and it is displayed in the Job Scheduler view.
Page 33
The key/values of the dictionary are dependent on the event type. For event objects, the dictionary contains the matching context of the triggered rule. For built-in jobargs.context events, the dictionary contains the key of the object type corresponding to the jobargs.context built-in event and the object ID that caused the event.
Page 34
Time Triggers A time trigger is the signal to the Job Scheduler to initiate, or “fire” a job when a prescheduled time occurs. A time trigger can be used in conjunction with an event trigger to allow flexibility in scheduling the job application for maximum effectiveness or convenience. No default time triggers are defined in the Job Scheduler.
Page 35
Description: Specifies a description for the time trigger you are creating or modifying. The description is optional and can be as detailed as you want. If the number of characters in the description string exceeds the space in the Description field, button is enabled that opens a string editor when clicked.
Page 36
The Job Arguments Area of the Job Scheduler View Figure 3-10 The jobargs are defined by the deployed job. Some jobs might already have a default value displayed, but others must have values specified in order for the job to be able to run. IMPORTANT: Job arguments displayed in blue are required.
Multiple environment variables can be specified by delimiting with a comma, as in the following example: --env=PATH,LD_PATH,ID NOTE: The user’s environment variables can also be passed to the server when the user implements the zos command line tool when running a job (as opposed to logging in). The command passes the environment variable only for that particular job run.
Page 38
Allowed special Field Name Mandatory? Allowed Values Characters Day of the Week 1-7 OR SUN-SAT , - * ? / L # Year EMPTY, 1970-2099 , - * / So cron expressions can be as simple as this: * * * * ? * Or cron expressions can be more complex, like this: 0 0/5 14,18,3-39,52 ? JAN,MAR,SEP MON-FRI 2002-2010 Special Characters...
Page 39
Operator Purpose Example L (“last”) character is allowed for the day- The value in the day-of-month field means of-month and day-of-week fields. “the last day of the month”––day 31 for January, day 28 for February in non-leap Specifies either the last day of the years.
Page 40
Results of Altered Cron Syntax on Execution Times Table 3-4 Cron Expression Example Description 0 0 12 * * ? Fire at 12:00 p.m. (noon) every day 0 15 10 ? * * Fire at 10:15 a.m. every day 0 15 10 * * ? Fire at 10:15 a.m.
Copy the deployable component to the “hot” deployment directory under the Orchestrate Server instance directory. Typically, this directory is located at /var/opt/novell/zenworks/ . Using this method, deployment proceeds within a few seconds. zos/server/deploy PlateSpin Orchestrate monitors this directory.
Although a job developer can store PlateSpin Orchestrate jobs at any location on the network, the sample jobs shipped with PlateSpin Orchestrate are limited to the directories where the product is installed. For this walkthrough, navigate to the /opt/novell/zenworks/zos/ directory. server/components/systemJobs 3 Select auditCleaner.job, then click OK to deploy the job to the Jobs container.
The new schedule is highlighted in the Job Schedules Table and is flagged with a pencil icon, signifying that the schedule has not been committed yet. Continue with Section 3.2.3, “Defining the New Schedule,” on page 43 to define this new schedule by adding the specific information you want.
Page 44
6 From the list of available priorities, select high as the priority for this job schedule. The maximum selectable priority is dependent on an attribute associated with the selected user. 7 Click the Save icon on the toolbar of the Orchestrate Development Client to save the general properties you have selected for the new schedule.
Page 45
Time triggers are shareable across schedules. After a time trigger is defined, it is added to a list of triggers in this dialog box. You can select a predefined trigger from this list when you create a new schedule, or you can create a new time trigger, as the next steps demonstrate. NOTE: For detailed information about cron syntax, see “Understanding Cron Syntax in the Job Scheduler”...
Page 46
NOTE: You can select and combine as many time triggers as you want to apply to a given schedule. You can also combine time triggers with event triggers on a given schedule. In the Triggers list of the Job Scheduler view, the 24 hour trigger is now associated with the new schedule.
Page 47
According to the tool tip text, this argument is the number of days of job history to keep, so this job cleans up the history of the job in the PlateSpin Orchestrate audit database after the job reaches the age of 60 days. Data older than 60 days is to be deleted. If you want to, you can change this parameter, or any other parameter in a job argument.
The Constraints Tab of the Job Schedule Editor Figure 3-14 Any other constraints associated with the context of this job invocation (including but not limited to this job), with the user you’ve selected, with that user’s group, with the jobs group, with the resources that the job uses, or with the resource groups that the job uses, run in spite of the policy that you define here.
Page 49
The joblet icon shows that the job is running. 2 Click the Job Scheduler icon on the toolbar to open the Job Scheduler view. schedule is listed as an active job. This indicates that the schedule has started the cleaner job as anticipated.
Page 50
PlateSpin Orchestrate 2.0 Development Client Reference...
The Policy Debugger is a tabbed page available in several views of the PlateSpin Orchestrate ® Development Client from Novell . This tool helps you to determine the reasons for the current state of a job. The following figure shows the Policy Debugger tab opened in the Jobs view of the Orchestrate Development Client.
The Constraints Table View Figure 4-2 The appearance of this view can change, depending on the constraint type you select in the drop down menu. For a description of these types, see Section 4.1.2, “The Constraint Type List,” on page The Constraints Table View is composed of several parts: Section 4.1.1, “The Match Context Area,”...
Job: The icon and a text string identifies the deployed Job that matches the one that is running on the grid. Job Instance: The icon and a fully qualified text string identifies the specific Job instance that matches the deployed job running on the grid. Resource: The Resource drop down list shows all resources.
4.1.3 The Verbose Check Box When you select the Verbose check box, the string specified in the policy is displayed in the reason Constraints tree. For more information, see Section 4.1.5, “The Constraints Column of the Constraints Table View,” on page 4.1.4 The Capable Resources Summary Directly under the Resource List in the constraint view, a populated string summarizes the resources that are capable of servicing the job.
green dot icon: A blocking constraint has been disabled so that it behaves like a match. The figure below shows the green dot icon next to that the constraint that was formerly blocked and can now behave as a match. If you right-click a constraint in the table, a popup menu with three options is displayed.
The Popup Menu Launched from the Policy Column Figure 4-6 4.2 The Facts Table View The Facts Table view displays the facts referenced in the Constraint Tree view for a specified Resource. Selecting a fact in the Constraint tree automatically selects that fact in the table. The Constraints Table View and the Accompanying Facts Table View Figure 4-7 If you right-click a column head in this table, a menu is launched where you can select the columns...
All Facts Check Box Selected with All Resources in Match Context Figure 4-9 4.3 Policy Debugger Use Cases This section includes several use cases that show how the Policy Debugger works and how to use it. The following use cases are included: Section 4.3.1, “Use Case 1: Determining Why a Job is in a Waiting State,”...
Page 58
6 In the Job Scheduler view of the Orchestrate Development Client, select the schedule, quickie then click Run Now to run the schedule. quickie 7 In the Job Monitor view of the Orchestrate Development Client, select the Policy Debugger tab and verify that the job is in the waiting state.
® ® The PlateSpin Orchestrate Development Client from Novell lets you visualize the model maintained by the Orchestrate Server used to make Virtual Machine (VM) provisioning decisions. The left pane of the Orchestrate Development Client displays a hierarchical tree known as the Explorer Tree or the Explorer View.
The PlateSpin Orchestrate Development Client is “version aware.” When the Orchestrate Development Client is launched or when server discovery is manually run, the client recognizes both current PlateSpin Orchestrate installations and old installations of discovered servers and displays their icons accordingly. This visual cue helps you to recognize when older Orchestrate Servers need to be upgraded.
Page 61
Is Master Server: This check box in non High Availability cluster configurations. It is unchecked if the server is not the Master Server in a High Availability cluster configuration. Master Server Address: Set this value when the Orchestrate Server participates in a High Availability cluster.
Page 62
Total Resend Rate: The total packet resend rate as a percentage since the last counter reset. Current Packets Sent: The total number of multicast packets sent during the current or most recent multicast file transfer. Current Packets Resent: The total number of multicast packets resent due to errors, corruption, or loss during the current or most recent multicast file transfer.
Page 63
Make TLS mandatory on the agents The Orchestrate Server rejects any connections that do not establish TLS encryption. This is the most secure encryption level because it ensures that all message communication between the node (that is, an agent) and the server are protected from tampering or interception. TLS On Client: This setting allows the encryption level to be set to one of four values, as described (in order of security level) below.
Page 64
Socket Keeps Agent Sessions Alive: Select this check box to set a flag that causes the server and agent to maintain a keep alive “ping” in order to detect hung/stalled network connections. This allows the agent to recover from hung connections and to transparently reconnect with the server.
This value is similar to (see above) but it is used in the constraint max.active.jobs accept and limits the number of jobs sitting in a queue waiting to be started. Therefore, the maximum jobs that can be present on an Orchestrate Server is max.active.jobs max.queued.jobs New jobs are not be accepted by the server if, when added, they would exceed this total.
Page 66
Base Domain Name: Specifies the Root DN of the LDAP server’s directory tree. This must be obtained by the administrator, and is usually in the form of: dc=adsroot,dc=novell,dc=com User Attribute: Specifies the attribute on a user’s entry that identifies his or her login account name.
User Filter: Specifies the name of the filter to be used in the lookup for the user’s LDAP distinguished name. User Prefix: Specifies the prefix used to define the LDAP subtree within the BaseDN tree that contains user accounts. If you leave this property blank, the Orchestrate Server uses the BaseDN. For ADS, this prefix is cn=Users Group Attribute: Specifies the attribute of a group entry describing the login name of that group.
5.3 The Job Object A job is deployed to the Orchestrate Server to automate processes, such as coordinating VM provisioning, high-performance computing, or general data center management. Jobs consist of Job Development Language (JDL) scripts(s) and might have one or more policies associated with them. Policies define job arguments and other facts that are used by the job.
Page 69
NOTE: Whenever you make changes to any Grid object, that object’s icon is overlaid with the write icon , signifying that the object has been altered. If you want to save the changes you have made, you need to click the Save icon on the Development Client toolbar.
Page 70
Job Type: This drop-down list lets you choose the job type that applies to this job. This setting is optional and is leveraged by the server to provide better quality completion time calculation for the job. The job type options (completion time algorithms) include: normal: The default job type.
Page 71
lifo: (Last In First Out) The start time implemented through policies. The server is directed to look at the job as having a finite number of active slots, so its start time depends on its position in the queue and the estimated end time of running jobs of this type. The queue for this job does not reshuffle based on priority.
Page 72
In the Fact Editor, this fact is listed as job.maxnodefailures <fact name="job.maxnodefailures" value="2" type="Integer" /> Max Resources: This value specifies the absolute maximum number of resources that you want the job to use at one time. PlateSpin Orchestrate does not exceed the value set here. Set the value at to specify unlimited resources.
Page 73
Max Joblet Retries: This value specifies the number of joblet retries (of any type) to be attempted before the Orchestrate Server considers the joblet as failed. A value of zero (0) specifies that the joblet should not be retried. A value of less than zero (<0) specifies the joblet should be continually retried.
Page 74
In the Fact Editor, this fact is listed as job.joblet.maxwaittime <fact name="job.joblet.maxwaittime" value="-1" type="Integer" /> Joblet JDL Debug Tracing: This check box is not selected by default. When it is selected (that is, its value is “true”), you specify that you want the joblet to include tracing information on the job log as it executes joblet events.
Page 75
<fact name="job.provision.maxnodefailures" value="1" type="Integer" /> Provision Selection Ranking: This field displays ranking specification used to select suitable resources to automatically provision. Element syntax is where order is either ascending fact/order or descending. In the Fact Editor, this fact is listed as an array: <fact name="job.provision.rankby">...
Page 76
In the Fact Editor, this fact is listed as job.instances.active <fact name="job.instances.active" value="0" type="Integer" /> Queued Instances: This field displays the total number of job instances of this type that are active in the PlateSpin Orchestrate system. In the Fact Editor, this fact is listed as job.instances.queued <fact name="job.instances.queued"...
Page 77
<fact name="job.history.cost.total" value="0.0000" type="Real" /> Average Cost: This field displays the average cost of running this job. The amount is calculated since the job was deployed or last modified and is updated only if the job finishes successfully. In the Fact Editor, this fact is listed as job.history.cost.average <fact name="job.history.gcycles.average"...
Average Queue Time: This field displays the average amount of wall time (in seconds) spent waiting for this job to start. In the Fact Editor, this fact is listed as job.history.queuetime.average <fact name="job.history.queuetime.average" value="0" type="Integer" /> Average Sample Size: This field displays the total number of points you want to use in the trailing average calculation for all historical averages.
The JDL Editor Figure 5-2 A drop-down list at the top of the editor includes the Java classes and their methods that are bookmarked in the code. Select any of these to go to the location in the code where they are invoked. Clickable, colored blocks on the editor scroll bar perform a similar bookmarking function.
The Job Library Editor Figure 5-3 There are two drop down lists located at the top of the Library Editor view. The first labeled “Library” lists the different libraries for the job, and the second lists the methods that are bookmarked in the code.
The Policy Selection Dialog Box Figure 5-4 5.3.6 The Job Constraints/Facts Tab The Constraints/Facts tab opens a page that shows all of the effective constraints and facts for a Grid object. Each Grid object has an associated set of facts and constraints that define its properties. In essence, by changing the policy constraints and fact values for a job, you can change the behavior of the job and how the PlateSpin Orchestrate Server allocates available system resources to it.
repository group. You can also create groups manually in the Development Client, either by xen30 clicking the Actions menu and choosing Create Resource Group or by right clicking a Resource Group object (anywhere in the Resource hierarchy) and selecting New Resource Group. 5.4.2 The Resource Info/Groups Tab The page that opens under the Info/Configuration tab of the Resource admin view includes several collapsible sections on the page where you can configure the general information and attributes of...
Page 83
Resource Type: This drop-down list lets you choose the resource type. If you manually create a resource, you must select the appropriate type. Fixed Physical: The node is a physical, hardware-based computer. VM: The node is a virtual, software-based container that can run its own operating system and applications as if it were a physical computer.
Page 84
<fact name="resource.password" value="xxx" type="String" /> Host IP Address: The network IP address of the resource running the Orchestrate Agent. In the Fact Editor, this fact is listed as resource.ip <fact name="resource.ip" value="10.255.255.255" type="String" /> VNC IP Address: The IP address for a VNC session running on this resource. In the Fact Editor, this fact is listed as resource.vnc.ip <fact name="resource.vnc.ip"...
Page 85
<fact name="resource.joblets.slots" value="1" type="Integer" /> Extra System Joblet Slots: This value specifies the number of extra slots you want to be made available to privileged joblets. system In the Fact Editor, this fact is listed as resource.joblets.systemslots <fact name="resource.joblets.systemslots" value="1" type="Integer" /> Joblets Active: (Read Only) This value specifies the number of joblets that are currently active on this resource.
Page 86
Total Wall Time: (Read Only) This field displays the total wall time (measured in seconds) that this resource has spent running joblets. In the Fact Editor, this fact is listed as resource.history.time.total <fact name="resource.history.time.total" value="31" type="Integer" /> Total Grid Time: (Read Only) This field displays the amount of time (measured in gcycles, which is the normalized average of compute cycles) of all work performed on this resource.
Page 87
You can edit this array by clicking the button to open an array editor. In this dialog box you can add or remove VM host repositories to the array of element choices. Virtual Machine Configuration The settings in this section of the Info/Groups page are available when the resource is a VM. Under Construction: This check box is not selected by default.
Page 88
<string>file:</string> </dictelement> <dictelement key="vdev"> <string>hda</string> </dictelement> <dictelement key="mode"> <string>w</string> </dictelement> <dictelement key="moveable"> <boolean>true</boolean> </dictelement> <dictelement key="size"> <integer>4096</integer> </dictelement> <dictelement key="location"> <string>file:/var/lib/xen/images/win2kbuild/disk0</string> </dictelement> <dictelement key="repository"> <string>vmh1slesx</string> </dictelement> </dictionary> </listelement> </list> </fact> You can edit these dictionary keys by clicking the button to open the Virtual Disk Editor dialog box and then expanding the map to open the details of the dictionary.
Page 89
VM Files: This list includes the files (described by file types and file paths) that make up this VM. In the Fact Editor, this fact is listed as a dictionary: <fact name="resource.vm.files"> <dictionary> <dictelement key="config"> <string>/var/lib/xen/images/win2kbuild/config.xen</string> </dictelement> </dictionary> </fact> The dictionary key (String) represents the file type (adapter specific). The value is the file path (either absolute or relative to ) of the repository.location...
Page 90
<fact name="resource.vm.cpu.weight" value="1.0000" type="Real" /> Host CPU Number: This value specifies the number of virtual CPUs assigned to this VM. In the Fact Editor, this fact is listed as resource.vm.vcpu.number <fact name="resource.vm.vcpu.number" value="1" type="Integer" /> Moveable Disk Size: This value specifies the total size (measured in Mb) of all the virtual moveable disks for this VM image.
Page 91
You can edit the dictionary by clicking the button to open an attribute editor where you can add or remove dialog box and then expanding the map to open the details of the dictionary. Provisioning Information The settings on this section of the Info/Groups panel are not available unless the resource you select is a VM.
Page 92
<fact name="resource.provisioner.maxinstances" value="1" type="Integer" /> Agent Shutdown Timeout: This value specifies the maximum amount of time (measured in seconds) allowed for this VM to shut down and for the Orchestrate Agent to disconnect from the Orchestrate Server. In the Fact Editor, this fact is listed as resource.provisioner.timeout.shutdown <fact name="resource.provisioner.timeout.shutdown"...
Page 93
Current State: This value specifies the current state of this provisioned instance. The different states include: down suspended paused unknown (when an administrative action is in process) In the Fact Editor, this fact is listed as resource.provision.state <fact name="resource.provision.state" value="down" type="String" /> Current Host: This value specifies the ID of the VM host that is currently housing this provisioned resource.
Page 94
Host Wait Time: (Read Only) This value specifies the amount of time (measured in seconds) that this resource has been waiting for or did wait for a suitable host. In the Fact Editor, this fact is listed as resource.provision.time.hostwait <fact name="resource.provision.time.hostwait" value="0" type="Integer" /> Managing Job ID: (Read Only) This value specifies the current or last Job ID that performed a provisioning action on this resource.
Page 95
The section includes the following settings/facts: MAC Address: The value you specify in this field is the name for each NIC that represents the MAC address of the interface. Specify an asterisk (*) to generate a new MAC address. If the value is not set, the current configuration is used.
Page 96
<fact name="resource.provisioner.autoprep.adapters[0].DNSServers"> <array> <string>adfadsasdf</string> </array> </fact> You can edit this array by clicking the button to open an array editor. In this dialog box you can add or remove a server IP address or change its order in the array of element choices. DNS Domain: (Windows only) This field displays the name of the adapter’s domain.
Page 97
OS Vendor: (Read Only) This field displays the unique string identifier for each OS release. In the Fact Editor, this fact is listed as resource.os.vendor <fact name="resource.os.vendor" value="Novell" type="String" /> OS Vendor Version: (Read Only) This field displays the vendor-defined version for the operating system (for example, 10 for SUSE Linux Enterprise Server 10).
Page 98
<fact name="resource.os.vendor.string" value="SUSE Linux Enterprise Server 10 (i586)" type="String" /> OS File Path Separator: (Read Only) This field displays the character used by the resource operating system for file path separation. In the Fact Editor, this fact is listed as resource.os.file.separator <fact name="resource.os.file.separator"...
Page 99
In the Fact Editor, this fact is listed as resource.memory.virtual.total <fact name="resource.memory.virtual.total" value="4060" type="Integer" /> Virtual Available: (Read only) This field displays the amount of available virtual memory (measured in Mb) on the resource. The system job must run for this value to be displayed. memInfo In the Fact Editor, this fact is listed as resource.memory.virtual.available...
Page 100
<fact name="resource.agent.home" value="/opt/novell/zenworks/zos/agent" type="String" /> Agent Java Version: (Read only) This field displays the version of the Java JVM currently in use by the PlateSpin Orchestrate Agent installed on this resource. In the Fact Editor, this fact is listed as resource.agent.jvm.version...
Page 101
In the Fact Editor, this fact is listed as esource.agent.config.gmond.port <fact name="resource.agent.config.gmond.port" value="8649" type="Integer" /> Datagrid Cache TTL: This field specifies the amount of time (measured in minutes) that inactive files should remain in the agent’s datagrid cache. A setting of zero (0) turns off the cache. In the Fact Editor, this fact is listed as jresource.agent.config.datagrid.cache.lifetime <fact name="resource.agent.config.datagrid.cache.lifetime"...
<fact name="resource.agent.config.exec.enhancedused" value="true" type="Boolean" /> Log Level: This drop-down list lets you choose the level of agent logging in terms of the amount of detail (that is, the “verbosity”) you want to include in the agent log. The choices include: quiet normal verbose...
The page has several subtabs that open other pages that display further information about the VM: Show Log: This page displays the log that includes historical details about the history of the provisioning of the VM. Host Assignment Log: This page displays the log of VM host assignment constraint errors of the last migration or provision action.
5.4.7 The Resource Constraints/Facts Tab The Constraints/Facts tab opens a page that shows all of the effective constraints and facts for a Grid object. Each Grid object has an associated set of facts and constraints that define its properties. In essence, by changing the policy constraints and fact values for a job, you can change the behavior of the job and how the PlateSpin Orchestrate Server allocates available system resources to it.
Page 105
Physical Resource: (Read Only) this field displays the name of the resource that houses this VM host container. In the Fact Editor, this fact is listed as vmhost.resource <fact name="vmhost.resource" value="vmh7sles" type="String" /> Enabled: This check box is selected by default. When it is selected (that is, its value is “true”), the VM host is enabled, which means that VM instances can be provisioned on it.
Page 106
Accounting Group: From the drop-down list, you can select the default VM host group that you want to be adjusted for VM tracking statistics. In the Fact Editor, this fact is listed as vmhost.accountinggroup: <fact name="vmhost.accountinggroup" value="all" type="String" /> Max Hosted VMs: This value specifies the maximum number of VM instances allowed on this VM host.
Page 107
<fact name="vmhost.resync" value="false" type="Boolean" /> Provisioning Adapter Config Adapter Job Name: From the drop-down list, you can select the name of the provisioning adapter job that manages VM discovery on this host. Do not change this value unless you have implemented your own discovery job.
Load Index (Slots): (Read Only) This field displays the current loading index of resource slots, which is a ratio of the active hosted VMs to the specified maximum number of VMs allowed on this host. Each provision VM takes up one slot. For more information, see Max Hosted VMs.
5.6 The Repository Object Repositories are storage areas for VMimage files and VM template files. If a VM’s files are stored on a particular host server, that VM must be run from that host server. If a VM’s files are stored on a shared repository, that VM can be run on any host server that has access to the shared repository.
Page 110
Info The following fields on the Information panel provide facts for the Repository object: “Show Inherited Fact Values Check Box” on page 110 “Repository Information” on page 110 “SAN Adapter Configuration” on page 114 Show Inherited Fact Values Check Box Select this check box to show facts with overridden values supplied through attached and/or inherited polices.
Page 111
Repository Types and Descriptions Table 5-1 Development Repository Type Description Client Icon The default repository on a host server. Each host server starts local with its own local repository, which has the same name as the server’s Resource Grid object. (Network Attached Represents a NAS device connected to host servers (for Storage)
Page 112
Repository Type Root Location Examples (Network Attached This is the mount point that is assumed to be the same on every host Storage) server with a connection to this NAS. /mnt/myshareddisk (Storage Area not required Network) datagrid grid:///vms virtual root c:/vm VM Config Search Path: Enter the relative path (from ) to be used during...
Page 113
Preferred Storage Path: Enter the relative path (from ) where you want repository.location PlateSpin Orchestrate to place the VM files after a move or a clone operation. In the Fact Editor, this fact is listed as repository.preferredpath: <fact name="repository.preferredpath" value="" type="String" /> IMPORTANT: If you use this field, do not include a leading forward slash ( / ) in the path.
Page 114
In the Fact Editor, this fact is listed as an array: <fact name="repository.vmimages"> <array type="String"> </array> </fact> You can edit this array by clicking the button to open the Attribute element values dialog box. In this dialog box you can add, remove, or edit the VM host IDs (element values) in an array of VM host ID choices.
Page 115
<fact name="repository.san.type" value="" type="String" /> Best Practices for Entering Repository File Paths Because of some limitations in the current (2.0.2) release of PlateSpin Orchestrate, we suggest that you use the following guidelines in scenarios where you need VM repositories. “Creating a Repository to Use with New VMs” on page 115 “Creating a Repository to Use with Existing VMs”...
Creating a Repository for Existing VMs with Shared Root Locations and Separate Configuration Directories When you want to create a repository for existing VMs that have a shared root path but separate configuration file directories, (for example, /vms_new/old_config1 /vms_new/ old_config2 1 In the Root Location field, enter the shared location for this repository.
5.6.5 The Repository Constraints/Facts Tab The Constraints/Facts tab opens a page that shows all of the effective constraints and facts for a Grid object. Each Grid object has an associated set of facts and constraints that define its properties. In essence, by building, deploying, and running jobs on the PlateSpin Orchestrate Server, you can individually change the functionality of any and all system resources by managing an object’s facts and constraints.
repository group. You can also create groups manually in the Development Client, either by xen30 clicking the Actions menu and choosing Create User Group or by right clicking a User Group object (anywhere in the User hierarchy) and selecting New User Group. 5.7.2 The User Info/Groups Tab The page that opens under the Info/Configuration tab of the User admin view includes several collapsible sections on the page where you can configure the general information and attributes of...
Page 119
<fact name="user.online" value="false" type="Boolean" /> Healthy: This check box is selected by default. When it is selected (that is, its value is “true”), the user is designated as being in good health. You can set the health of the object by selecting or deselecting the health check box.
Page 120
In the Fact Editor, this fact is listed as user.location.state <fact name="user.location.state" value="" type="String" /> Country: This value specifies the name of the country where the user is located. In the Fact Editor, this fact is listed as user.location.country <fact name="user.location.country" value="" type="String" /> Site: This value specifies the name of the site (for example, a campus or building) where the user works.
Page 121
In the Fact Editor, this fact is listed as user.sessions <fact name="user.sessions" value="1" type="Integer" /> Accounting Information Total Spending: This field displays the total cost of computing resources by this user. In the Fact Editor, this fact is listed as user.history.cost.total <fact name="user.history.cost.total"...
Page 122
In the Fact Editor, this fact is listed as user.priority.default.string <fact name="user.priority.default.string" value="high" type="String" /> Maximum Priority Value: This value specifies a numerical representation of the maximum priority at which this user’s job can run, with “1” being the lowest priority and “9” being the highest priority.
You can edit this array by clicking the button to open the Choose Grid Objects dialog box. In this dialog box you can add or remove Job Groups in an array of choices. The Job Groups can be added to or removed from a list of Source Grid Objects to a list of Target Grid Objects (or vice versa).
The Policy Selection Dialog Box Figure 5-7 5.7.4 The User Health Debugger Tab The Health Debugger is a common Admin view in the Development Client for most Grid objects. For information about this tool, see Chapter 6, “The Health Debugger,” on page 127.
You can use located on /opt/novell/zenworks/zos/server/examples/customNode.policy the PlateSpin Orchestrate Server as an example policy file with constraints. Policy Facts The XML fact element defines a fact to be stored in the grid object's fact namespace. The name, type and value of the fact are specified as attributes.
Page 126
126 PlateSpin Orchestrate 2.0 Development Client Reference...
The Health Debugger ® Several objects modeled by PlateSpin Orchestrate have a health fact that can be used to visually show the health of the object or to trigger a job (see Chapter 3, “The PlateSpin Orchestrate Job Scheduler,” on page 25) upon a state change.
The Constraints Table View Figure 6-2 The appearance of this view can change, depending on the Constraint Type you select in the Constraint drop down list. In effect, if you change from the health selection, you will be debugging other constraints. For a description of these constraint types, see Section 4.1.2, “The Constraint Type List,”...
A blue dot with a named, selected object indicates that its constraints match and it is healthy. A gray dot by a named, selected object indicates that its constraints do not match and that it is not healthy. 6.1.2 The Verbose Check Box When you select the Verbose check box, the string specified in the policy is displayed in the reason...
red octagonal icon: For convenience, just one of the constraints is identified as the blocking constraint. This is the constraint that the system has determined as responsible for the constraint as a whole to fail (note that individual constraint lines can fail without causing the the entire constraint to fail).
The Constraints Table View and the Accompanying Facts Table View Figure 6-4 If you right-click a column head in this table, a menu is launched where you can select the columns that you want to display. Menu Used to Select the Columns Displayed in the Facts Table View of the Policy Debugger Figure 6-5 Section 6.2.1, “The All Facts Check Box,”...
6.3.1 Use Case 1: ?? The objective of this use case is to ..Use the following steps to recreate the use case. 132 PlateSpin Orchestrate 2.0 Development Client Reference...
Grid Object Health Monitoring This section includes the following information: Section A.1, “Health Facts,” on page 133 Section A.2, “Health Events,” on page 135 A.1 Health Facts ® Starting with PlateSpin Orchestrate 2.0, the Resource grid object, the VM host grid object, the User grid object and the Repository grid object each has an attribute or “Fact”...
Page 134
The “Healthy” Check box on the Info/Groups Page Figure A-2 On the Constraint/Fact fact page of a grid object, right click the fact name, xxx.health then click Edit/View Fact to open the Edit Fact dialog box. The Edit Fact Dialog Box Displayed from the Constraint/Fact Page Figure A-3 You can set the health of the object by selecting or deselecting the health check box.
By default, PlateSpin Control runs health constraints every 30 seconds. To alter this interval, you must contact Novell Support. A.2 Health Events Each time the value of a health fact changes, an event is generated. This event can be subscribed to by long-running Jobs (see “Receiving Event Notifications in a Running...
Page 136
136 PlateSpin Orchestrate 2.0 Development Client Reference...
Understanding Policy Elements ® XML is the representation for PlateSpin Orchestrate policy elements. A policy can be deployed to the server and associated with any grid object. The policy element is the root element for policies. Policies contain constraints and fact definitions for grid objects. Section B.1, “Constraints,”...
Page 138
To create a new computed fact, you subclass the class with the extension. ComputedFact .cfact An implementation uses the to get the evaluation context. For more ComputedFactContext information, see the job structure from the following examples in the PlateSpin Orchestrate 2.0 Developer Guide and Reference: “ComputedFact”...
Page 139
For another computed fact example, see activejobs.cfact (located in the examples/ directory). activejobs.cfact For more information about policies, see “Policy Elements” in the PlateSpin Orchestrate 2.0 Developer Guide and Reference. Understanding Policy Elements 139...
Page 140
140 PlateSpin Orchestrate 2.0 Development Client Reference...
Events This section contains the following information: Section C.1, “Event Object Visualization and Management in the Development Client,” on page 141 Section C.2, “The Event Debugger,” on page 143 Section C.3, “Understanding the PlateSpin Orchestrate Events System,” on page 146 C.1 Event Object Visualization and Management in the Development Client The Events folder is displayed in the Explorer tree between the Computed Facts and Metrics folders.
2 In the dialog box, navigate to the file system location of the Event file you previously created, or to an example file from .event /opt/novell/zenworks/zos/server/examples/ , then click OK to deploy the pre-written Event. events When you deploy the rule-based Event, the Development Client opens the Event Editor, where you can edit the XML definition of this Event.
To undeploy an Event, right-click on the Event object in the Explorer tree, then select Undeploy. You can also simply select the object and press Delete. C.1.4 The Event Editor The Event Editor opens when you select a deployed Event in the Explorer tree of the Development Client.
The Event Debugger Figure C-4 The information in this section describes the various parts of the debugger. Section C.2.1, “The Constraints Table,” on page 144 Section C.2.2, “The Facts Table,” on page 145 C.2.1 The Constraints Table The left side of the Event Debugger panel includes the Constraints Table. The rules that define the of an Event are defined using the same XML constraint syntax used in <trigger>...
The Match Context Area of the Constraints Table View in the Event Debugger Figure C-6 Event Type List Select one of the Event types in the drop down list to debug how either the <trigger> <reset> rule(s) are being applied. Constraint types in the list are disabled (dimmed) if they do not apply to the Event that you are debugging.
The Facts Table View Figure C-7 If you right-click a column head in this table, a menu is launched where you can select the columns that you want to display. Menu Used to Select the Columns Displayed in the Facts Table View of the Policy Debugger Figure C-8 All Facts Check Box: If you select the All Facts check box at the top of the Facts Table view, all facts for the selected Grid object, as well as those for the Server itself (...
Section C.3.2, “Built-in Events,” on page 147 Section C.3.3, “Rule-based Events,” on page 148 C.3.1 Event Notification An Event notifies two other PlateSpin Orchestrate services– the Job Scheduler and the Job Broker. The Job Scheduler starts jobs that are awaiting an Event to trigger them. The Job Broker invokes a callback on any long-running job that has registered for notification of an Event.
built-in Event is used by the embedded discovery jobs, such as for RESOURCE_ONLINE discovering operating system and CPU information ( jobs). Both osInfo cpuInfo osInfo job archives ( ) include a schedule file ( ) specifying a trigger ( ) that cpuInfo .job .sched...
Page 149
1<event> <context> <vmhost /> </context> <trigger> <gt fact="vmhost.vm.count" value="0" /> <gt fact="vmhost.resource.loadaverage" value="2" /> </trigger> <reset> <lt fact="vmhost.resource.loadaverage" value=".5" /> </reset> 16</event> Lines 3-5: Defines the context for the Event’s rule evaluation. Line 4: The context specifies for all VM Host objects, so the Event Service iterates over all VM Hosts.
Page 150
150 PlateSpin Orchestrate 2.0 Development Client Reference...
Provisioning Actions and History The following information is included in this section: Section D.1, “What are Provisioning Actions?,” on page 151 Section D.2, “How Actions Are Displayed in the Development Client,” on page 151 D.1 What are Provisioning Actions? ® Beginning with the 2.0.2 release, the provisioning operations you perform in PlateSpin Orchestrate are recorded as “actions.”...
VM Hosts Actions Figure D-1 Two action-specific menu selections are available if you right-click an action in the action history table: Show Log opens the provision log for the VM Cancel Action cancels the selected active action The action history table is updated at the same time the polling view is updated. NOTE: The format of action history table is similar in the Provisioner monitor view and in the Users monitor view.
Page 153
Repository Action History Figure D-2 The table below defines some of the column names and the values that can populate those columns in the action history table: Action History Table Columns Table D-1 Column Name Purpose Action ID A unique integer value used to identify the action. Parent Action ID If a value is displayed, the action is a child of this parent, identified with a unique integer value.
Page 154
154 PlateSpin Orchestrate 2.0 Development Client Reference...
Documentation Updates This section contains information about documentation content changes that were made in this ® PlateSpin Orchestrate Development Client Reference after the initial release of PlateSpin Orchestrate 2.0. The changes are listed according to the date they were published. The documentation for this product is provided on the Web in two formats: HTML and PDF.
E.4 June 17, 2009 (2.0.2 Release) Updates were made to the following sections: Location Update Appendix C, “Events,” on page 141 New section. Appendix D, “Provisioning Actions New section. and History,” on page 151 156 PlateSpin Orchestrate 2.0 Development Client Reference...
Need help?
Do you have a question about the PLATESPIN ORCHESTRATE 2.0.2 - DEVELOPMENT CLIENT REFERENCE 08-28-2009 and is the answer not in the manual?
Questions and answers