N1 Service Provisioning System 4.1 Reference Guide

Overview of the cdb Commands

You can use the rsrc commands to manage resources. The cdb.rsrc commands include tools for checking in resources individually or in groups (through a batch files) for listing the versions of resources, determining where resources have been installed, and so on.

Checking in a resource creates a check-in job. A check-in job is a process that lasts until the resource has been fully entered in the repository and assigned a version number. The cdb.cj commands enable you to control and monitor check-in jobs.

Table 13–1 summarizes the CLI commands for managing resources.

Table 13–1 Summary of the cdb.rsrc Commands

Command 

Description 

cdb.rsrc.ci 

Checks in a certain components and their source objects to the repository. 

cdb.rsrc.cib 

Checks in all the resources listed in a batch file. 

cdb.cj.la 

Lists check-in jobs. 

cdb.cj.lo 

Lists the status and details of a check-in job. 

cdb.cj.stop 

Stops the check-in job. 

cdb.rsrc.co 

Checks out the specified resource. 

cdb.rsrc.rci 

Re-checks in a resource. 

cdb.rsrc.showopts 

Shows the check in options supported by a particular type. 

In the descriptions that follow, the term <resource family name> means a resource name which designates the collection of all versions of resources checked in as that name. The term <resource specifier> indicates either a resourceID, or the human-friendly equivalent combination of a resource family name and a version number, separated by a colon (example: “bin/blip/blorp:1.1”).

cdb.rsrc.ci

Use the cdb.rsrc.ci command to check in certain components and their source objects. You will need to use this command in the following scenarios.

Each invocation of the cdb.rsrc.ci command is considered a “check-in job,” and can be managed with the CLI commands for managing check-in jobs. For example, to determine which cdb.rsrc.ci commands are running, you can run the cdb.cj.la command, which lists all the current check-in jobs. You can also pass compCheckInID value returned by cdb.rsrc.ci as an argument to cdb.cj.lo to get status information about a specific check-in job.

Table 13–2 Arguments and Result for the cdb.rsrc.ci Command

Argument/Result 

Syntax 

Description 

src 

[R] 

String 

The local file/directory being checked in 

dst 

[R] 

String 

Which component name to check in as 

type 

[R] 

String 

The type of the component 

platform 

[O] 

HostSetID 

The platform of the component 

desc 

[O] 

String 

A description of the component 

major 

[O] 

Boolean 

Whether the version increment should be major or minor, default false 

config 

[O] 

Boolean 

Whether the component is a config file; the default is false 

hidePrev 

[O] 

Boolean 

Whether to hide the latest component; the default is true 

includeOwners 

[O] 

Boolean 

Whether to include owner information; the default is true 

includeGroups 

[O] 

Boolean 

Whether to include group information; the default is true 

addTo 

[O] 

Boolean 

Whether the files being checked in should be added to the existing files to create a new version of the component, instead of completely replacing the existing files 

hostID 

[O] 

HostID 

The ID of the local host 

redun 

[O] 

Boolean 

Whether redundancy checking should apply; the default is true 

exported 

[O] 

Boolean 

Whether the source file was exported; the default is false. If true, the following parameters are not used: includeOwners, includeGroups, and addTo. 

exportPath 

[O/R] 

String 

The source path of the (previously exported) component. Required if the exported argument is set to true. 

pickerName 

[O] 

String 

The name of the component picker to use (defaults to null for the default picker).  

extraOpts 

[O] 

Hashtable 

Names and values for any additional options for the type. 

result 

CompCheckInID 

The ID for this component check in job. 

cdb.rsrc.cib

The command is the “check-in batch” command. It checks in all the resources listed in a batch file.

Table 13–3 Arguments and Result of the cdb.rsrc.cib

Argument/Result 

Syntax 

Description 

batchfile 

[R] 

String 

The name of the batch file listing the resources to be checked in 

haltonerror 

[O] 

Boolean 

When true, first error will halt batch execution, default true 

pwdrelative 

[O] 

Boolean 

When true, relative paths are relative to the user directory; otherwise they are relative to the batchfile location, defaults to false 

result 

String 

Message indicating the operation is complete 

Overview of Batch Files

The rsrc.cib operates on a batch file that includes a line for each resource that will be checked in. Batch files enable you to check-in large numbers of resources with a single command.

Each line in the batch file corresponds to a single resource on the local machine that will be checked in as a single resource. Each line consists of a series of fields that are separated by the pipe character (|). Some fields are optional and may be omitted. If an optional field is omitted but is followed by other fields, the omitted field should be followed by a | character, so that rsrc.cib can accurately identify each field.

You can include comments in a batch file. Any line that begins with the pound character (#) is interpreted as a comment.

Table 13–4 describes the syntax of a line of a batch file.

Table 13–4 Syntax of a Line in a Batch File

Content 

Optional/Required 

The location of the resource on the local machine 

Required 

The name to be assigned to the resource when checked in 

Required 

The resource type 

Required 

The platform the resource is intended for expressed as a HostSetID in the form NM:<platform_name>, where <platform_name> is one of the names listed in Table 13–5.

Optional 

A description of the resource 

Optional 

A boolean designation of whether the file is a configuration file 

Optional (Default is false) 

A boolean designation of whether check-in should be assigned a major version number (e.g., 2.0) 

Optional (Default is false) 

A boolean designation of whether to hide the previous most recent version of the resource 

Optional (Default is true) 

A boolean designation of whether to include owner information when storing permissions information 

Optional (Default is true) 

A boolean designation of whether to include group information when storing permissions information 

Optional (Default is true) 

A boolean designation of whether the files being checked in should be added to the existing files to create a new version, instead of creating a new version by completely replacing the existing files 

Optional (Default is true) 

If this resource is being checked in a from a host, the host ID of the host from which the resource is being checked in  

Optional 

A boolean designation of whether redundancy checking should apply  

Optional (Default is true) 

A boolean designation of whether the source file was exported. If true, the following parameters are not used: includeOwners, includeGroups, and addTo.. 

Optional (Default is false) 

A string identifying the export path of the (previously exported) resource; that is, the type-specific path the resource had before it was exported. . 

Required if the exported value is true 

The name of the picker to use (optional, defaults to null for the default picker) 

 

A Hastable in string from containing extra options supported by the type's exporter. (See cdb.rsrc.showopts.) 

 

The table below lists the names that you can use in the fourth field of a batch file line to specify a platform for the component.

Table 13–5 Names for Platforms

Platform Name 

Description 

any

Any platform supported by the N1 Service Provisioning System software 

AIX - any version

Either IBM AIX 4.3.3 or IBM AIX 5.1 

AIX 4.3.3

IBM AIX 4.3.3 

AIX 5.1

IBM AIX 5.1 

Solaris - any version

SolarisTM 6, Solaris 7, or Solaris 8 releases

Solaris 6

Solaris 6 release 

Solaris 7

Solaris 7 release 

Solaris 8

Solaris 8 release 

Windows 2000 Server

Microsoft Windows 2000 Server 

Red Hat Linux

Red Hat Linux 7.2, 7.3, 8.0 

Red Hat Advanced Server 2.1 

Example of a Line in a Batch File

To check in a local file named home/etc/myfile as the component mypath/mycomponentname as the resource type file for the platform Solaris 7 with the description “this is my file” and no designation as a configuration file, you would enter the following line in a batch file:


/home/myfile|mypath/mycomponentname|file|NM:Solaris 7|this is my file

If the file being checked in was a configuration file, you would add a boolean field to the end of the line and the field to true. For example:


/home/myfile|mypath/mycomponentname|file|NM:Solaris 7|this is my file|true 

If you wanted to omit a description for the mycomponent, you do change this line to the following (note the adjacent pipe separators):

/home/myfile|mypath/mycomponentname|file|NM:Solaris 7||true

To check in the component as a major version (e.g., 2.0 as opposed to 1.7), you would add true in the boolean field for major version check-ins:

/home/myfile|mypath/mycomponentname|file|NM:Solaris 7||true |true

If the check in was desired to not hide the previous component, the line above would become (note the additional false in the final field):

/home/myfile|mypath/mycomponentname|file|NM:Solaris 7||true |true|false

Similar format considerations apply to the optional boolean specifying whether to include owner and group information when storing permissions information.

Batch File Syntax

The N1 Service Provisioning System software applies these rules when parsing batch files.

Invocation

Batch check in via text file is invoked via a cdb.src.cib command ("cib" = check in batch) of the form


cdb.rsrc.cib -batchfile [batchfile location] [-haltonerror true|false] [-pwdrelative true|false]

Before checking in any resources, the cdb.rsrc.cib command performs a syntax check of the file. Next it verifies the existence of all the local files that are to be checked in. If cdb.rsrc.cib detects errors in either of these processes, it reports the errors and halts execution (regardless of the setting of the -haltonerror boolean argument described below).

The haltonerror Argument

The command line includes an optional -haltonerror argument (false by default) that designates whether or not an error from the check-in of a single file should halt the check-in of subsequent files. This boolean argument applies only to errors encountered after cdb.rsrc.cib has performed its preliminary error-checking (described in the section above).

The pwdrelative Argument

The command line includes an optional -pwdrelative provision (false by default) that designates whether relative paths in the batch file should be interpreted as being relative to the current working directory (pwdrelative = true) or relative to the location of the batchfile (pwdrelative = false).

Batch File Processing

Batchfile processing is non-transactional. This means that if batch file processing fails and/or halts before completion, any resources that have been successfully checked in remain checked in, and are not “un”-checked in.

Concurrent batch check ins are not arbitrated. If two different batch check-ins targeting the same set of resources begin to run at the same time, there is no mechanism throttling the processing of one batch file while another completes. Both batch files will be processed in the interleaved manner that results from their proximate timing.

cdb.cj.la

This command lists check-in jobs (components being checked in through the HTML user interface or through a CLI check-in command such as rsrc.ci). It lists all the jobs that are currently active, as well as the last 20 jobs that completed.

Table 13–6 Result of the cdb.cj.la Command

Result 

Syntax 

Description 

result 

CompCheckInId[] 

The list of check in job IDs  

cdb.cj.lo

This command displays the status and details of the specified check-in job. You specify a job by its compCheckInID. This value is returned by cdb.rsrc.ci when you check in a resource.

Table 13–7 Argument and Result of the cdb.cj.lo Command

Argument/Result 

Syntax 

Description 

ID  

[R] 

compCheckInID 

The ID of the check in job 

result 

compStatus 

The check in job that was specified  


Note –

Because this command requires the ID of the check-in job, it does not support ID NM: notation for its argument. See Appendix A for a detailed description of compCheckInId syntax.


cdb.cj.stop

This command stops the specified check-in job.

Table 13–8 Argument and Result of the rsrc.cj.stop

Argument/Result 

Syntax 

Description 

ID  

[R] 

CompCheckInID 

The ID of the check in job 

result 

CompStatus 

The check in job that was specified 


Note –

Because this command requires the ID of the check-in job, it does not support ID NM: notation for its argument. See Appendix A for a detailed description of CheckInJobID syntax.


cdb.rsrc.co

This command checks out the specified component. It transfers a copy from the repository to the local machine.

Table 13–9 Arguments and Result for the cdb.rsrc.co

Argument/Result 

Syntax 

Description 

src 

[R] 

String 

The name of the component to transfer 

[R] 

String 

The version of the component 

dst 

[R] 

String 

The location where the component is to be placed 

result 

String 

Message indicating the operation is complete 

cdb.rsrc.rci

This command re-checks in a component. If a check-in job has been interrupted, you can use this command to repeat the check-in without artificially incrementing the version number of the checked-in component.

Table 13–10 Argument and Result for the cdb.rsrc.rci Command

Argument/Result 

Syntax 

Description 

ID

[R] 

ComponentID 

The ID of the component to re-check in. 

result 

CompCheckInID 

The ID of the resulting check in job.