Skip Headers
Oracle® Virtual Assembly Builder User's Guide
11g Release 1.1 (11.1.1)

Part Number E22514-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

2 Using Oracle Virtual Assembly Builder

This chapter includes the following sections:

2.1 Oracle Virtual Assembly Builder Interfaces

Oracle Virtual Assembly Builder provides two user interfaces:

Note:

you cannot launch Oracle Virtual Assembly Builder Studio and abctl at the same time. Nor can you launch two sessions of either interface at the same time.

2.1.1 Accessing Oracle Virtual Assembly Builder Studio

Launch Oracle Virtual Assembly Builder Studio by executing the command:

$ORACLE_HOME/bin/abstudio.sh

The following log file includes logged information for Oracle Virtual Assembly Builder Studio: $AB_INSTANCE/logs/assemblybuilder.log.

Figure 2-1 shows Oracle Virtual Assembly Builder Studio.

Figure 2-1 Oracle Virtual Assembly Builder Studio

Test Assemble

2.1.2 Accessing the abctl Command-Line Tool

Launch the abctl command-line tool by executing the command:

$AB_INSTANCE/bin/abctl

The log file for the abctl command-line tool is $AB_INSTANCE/logs/assemblybuilder.log.

2.1.3 Differences Between the Interfaces

The two interfaces complement each other but do not include identical functionality. Here are the main differences:

  • Only Oracle Virtual Assembly Builder Studio enables you to create a new assembly.

  • Only Oracle Virtual Assembly Builder Studio provides editing capability. That is, the following operations are not supported in abctl:

    • managing package definitions: creating, updating and deleting package definitions

    • managing resource pool connections: creating, deleting or editing existing resource pool connections

    • editing property values

    • creating/editing a deployment plan

    • making a connection between an input and an output

  • In Oracle Virtual Assembly Builder Studio, you can introspect multiple reference systems and put the results into a new or existing assembly. In abctl, you must introspect reference systems one-by-one and the result is always put at the top level of a catalog.

  • Only Oracle Virtual Assembly Builder Studio provides a connection wizard which allows you to set up trust between Oracle Virtual Assembly Builder Studio (and abctl) and Oracle VM Manager.

  • In Oracle Virtual Assembly Builder Studio, the packaging operation is available in the Template Creation and Introspection wizards. You cannot perform a packaging-only operation. In abctl, you have to create packages and templates separately through the package and createTemplate commands, respectively.

  • External virtual machine templates can only be imported into the catalog as external appliances using abctl.

These differences will be further detailed in Section 2.3, "Oracle Virtual Assembly Builder Operations".

2.1.4 Naming Rules

Any user-provided names must follow these rules:

  • The name must begin with an alphabetic character.

  • The name may only contain alphanumeric characters, or the underscore (_) or hyphen (-) characters.

  • The name must be 4 to 40 characters long.

2.1.4.1 Resolving Naming Conflicts

You may experience a name conflict between appliances or assemblies in a catalog if you import an appliance or assembly into a catalog where you already have an appliance or assembly with the same name.

2.1.5 Symbolic Links

Symlinks are not supported by Oracle Virtual Assembly Builder, and can lead to errors during introspection, packaging, and deployment. Avoid symlinks in your Linux reference systems.

2.2 Typical Workflow

Users will typically use Oracle Virtual Assembly Builder in these ways:

2.3 Oracle Virtual Assembly Builder Operations

This section details how you will use Oracle Virtual Assembly Builder Studio or abctl command line utility.

2.3.1 Introspect a Reference System

The introspection operation results in appliance(s) and/or an assembly (if you performed the operation using Oracle Virtual Assembly Builder Studio and created an assembly) being created in the catalog.

During introspection, the metadata for appliances and assemblies is created in the $AB_INSTANCE/catalog/metadata directory. A unique ID (called the capture ID or cid) is generated for each appliance or assembly, and is stored in its metadata. In addition, a package definition is created in the shared area of the catalog.

Note:

You should not change any configuration or content of the reference system between introspection and packaging, as that may create undesired results. For instance, introspecting a reference system on one date and packaging the "same" reference system at some arbitrary future date is not supported.

For introspection to succeed, some introspection plug-ins have specific requirements for the reference system's running state. Table 2-1 lists the preconditions for the products supported by Oracle Virtual Assembly Builder.

Table 2-1 Introspection Plug-in Requirements

Introspected Product Running State Pre-Condition

Oracle WebLogic Server

Administration Server must be up and in the running state (not in the admin state). Managed Server(s) may be up or down.

Oracle Coherence*Web

Administration Server must be up and in the running state (not in the admin state). Managed Server(s) may be up or down.

Oracle HTTP Server (OHS)

No requirement; Oracle HTTP Server may be up or down.

Oracle Web Cache

No requirement; Oracle Web Cache may be up or down.

Oracle RDBMS (DB)

In the introspection phase, the database can be up or down.


2.3.1.1 No Support for Mounted NFS File Systems

Oracle Virtual Assembly does not support introspection or deployment of reference systems with mounted NFS file systems.

2.3.1.2 Custom Reconfiguration Scripts

Custom reconfiguration scripts provide you the ability to add custom scripts to an appliance that will be run on a virtual machine as part of deployment of the appliance. With this feature you can configure and operate a custom product or component that gets deployed with an Oracle product in an appliance.

To use this feature, place shell scripts in a well-known location on a reference system so that those scripts are picked up during introspection of that system. The captured scripts are executed on the VM when the corresponding operation is performed on the deployed Oracle product.

Note:

This feature is only supported for OEL based appliances. This feature is not supported on JRVE based appliances (that is, Oracle WebLogic Server on JRockit Virtual Edition).

Note:

This feature is not supported for external virtual machine templates imported in Oracle Virtual Assembly Builder catalog as External Appliances.
2.3.1.2.1 Custom Scripts Directory

Place custom scripts into a set of sub-directories under a well-known root custom script directory named /ovab/scripts.d/. This directory is analogous to the Linux /etc/rc.d/ root directory which contains a set of sub-directories with well-known names (rc0.d/, rc1.d/, rc2.d/,...). Similar to /etc/rc.d/, each subdirectory contains a set of one or more scripts that get executed at the appropriate time. You can create the following subdirectories within the /ovab/scripts.d/ directory:

  • pre-config.d/

  • post-config.d/

  • pre-start.d/

  • post-start.d/

  • pre-stop.d/

  • post-stop.d/

Note:

It is not necessary to create the custom script directories that you do not need.

These directories correspond to three actions performed on the VM: config, start, and stop. Custom scripts located in directories that start with "pre-" get executed before the corresponding action is performed on the deployed Oracle product and custom scripts located in directories that start with "post-" get executed afterwards.

The "config" action is executed only once at initial deployment after the VM has fully started. The "start" action is executed after a "config" action and at any other time when the deployed Oracle product is started as part of assembly start operation initiated from Oracle Virtual Assembly Builder. The "stop" action is executed when deployed Oracle product is stopped as part of assembly stop operation initiated from Oracle Virtual Assembly Builder.

At the end of introspection, Oracle Virtual Assembly Builder checks for the existence of custom script directories on the reference system and adds any found scripts to the appliance.

Example 2-1 shows a root custom script directory:

Example 2-1 Root Custom Script Directory

/ovab/scripts.d/
    pre-config.d/
        00configthis.sh
        01configthat.sh
    post-config.d/
        00configotherthing.sh
    pre-start.d/
        00startthisfirst.sh
        01startthatsecond.sh
    post-start.d/
        00startotherthinglast.sh
    ...

The scripts are added automatically to the appliance template with the rest of the appliance metadata at introspection time.

2.3.1.2.2 Script Execution

Oracle Virtual Assembly Builder executes scripts as follows:

  • All scripts are launched as root at deploy time by Oracle Virtual Assembly Builder. Custom scripts are responsible for switching to another user as needed.

  • Scripts are executed one at a time in lexicographical order.

  • Custom scripts must complete in a timely fashion. The action being performed can only complete after all necessary custom scripts have executed and the action has also been performed against the deployed Oracle product.

  • No arguments are passed to scripts.

  • The exit status of custom scripts is ignored.

  • As scripts are launched, details of each launch is recorded on the VM in a file named "command.out" located in the /assemblybuilder/logs/ directory. The output of each script, unless otherwise redirected by the script, is sent to a separate file in the /assemblybuilder/logs/ directory. The name of each file is recorded in "command.out" as each script is executed.

2.3.1.3 Introspect Using Oracle Virtual Assembly Builder Studio

The Create New Assembly dialog allows you to create a new assembly, name it, select which components to introspect, and provide values required by the Introspector for those components. You can access this dialog by selecting File > New > Assembly.

In the Name Assembly window (step 1 of 4), enter a name for the new assembly in the Assembly Name field. Optionally, enter a textual description. If an appliance or assembly with the same name already exists, and it has not been registered, you may overwrite it by checking the Overwrite Assembly checkbox. Click Next to define components in the assembly for introspection.

Note:

You may create an empty assembly by checking the Empty Assembly checkbox, and selecting Finish. Otherwise, define the components for the assembly by clicking Next.

In the Select Component to Introspect window, you can define one or more appliances in the new assembly by selecting the + icon (Figure 2-2):

Figure 2-2 Defining Appliances in the New Assembly

Defining Appliances in the New Assembly
Description of "Figure 2-2 Defining Appliances in the New Assembly"

This displays the following list of components that are supported for introspection:

  • Oracle Database

  • Oracle HTTP Server

  • Oracle Web Cache

  • Oracle WebLogic Server

  • Oracle Coherence*Web

You can name the appliance, specify a local or remote host, and a working directory (this is a directory used during remote introspection to copy configuration files locally for caching purposes). You can select Remote Cleanup to remove the artifacts copied over to the Remote Working Directory once the Introspection is complete.

If you specified a remote host, you must define its parameters, then select Test Connection to verify that you can create an SSH connection using the supplied credentials to the remote host.

Note:

You cannot perform remote introspection of a database if you cannot log into the database machine with the database installation owner's account. If remote introspection is required, you must enable the account for remote access.
2.3.1.3.1 Viewing Extensions

Click the Extensions button to see a list of included extensions for the selected type (that will automatically get executed).

Figure 2-3 Viewing Extensions for a Component

Viewing extensions for a component.
Description of "Figure 2-3 Viewing Extensions for a Component"

2.3.1.3.2 Performing Packaging of Components During Introspection

The Package Component checkbox is selected by default. This option packages the package definitions generated from introspection, archive the packages into one or more zip (or other raw) files, and store the resulting files in the shared area of the catalog. For more information, see Section 2.3.2, "Package an Appliance or an Assembly".

You should only unselect this checkbox if you do not want the component packaged during introspection because you intend to customize your packages.

2.3.1.3.3 Configuring Properties

In the Configure Properties window (Figure 2-4) you can set the introspection properties for the components you included for introspection in the previous window. Required properties are identified with an asterisk next to the property name.

Figure 2-4 Configure Properties

Configure properties
Description of "Figure 2-4 Configure Properties"

To edit a value for a property, select the component from the Components pane, and select the property from the Introspection Properties pane. Enter a value for the property.

Once you have set values for all required properties for all appliances, click Next (to see a summary) or Finish (to begin introspection without seeing a summary).

The Summary window (step 4 of 4) displays a logical tree view of the components you selected for introspection, their hosts, and the introspection properties entered.

Click Finish to begin the introspection. A confirmation box appears informing you that the operation is time and resource intensive. Once you select OK to confirm, introspection starts.

You can see the progress of the introspection in the catalog navigator. Oracle Virtual Assembly Builder Studio displays a node for the component being introspected. If introspection fails, Oracle Virtual Assembly Builder Studio provides a link to a log for that component.

2.3.1.4 Introspect Additional Appliances

The introspection wizard is a standalone interface to allow you to add a single appliance to a new or an existing assembly.

In the Name Component window, name your component and decide whether to create as a child of an existing parent assembly, or as a standalone component. Enter the following information:

  • Component Name: Name your component; any string is acceptable. The name can be 4 to 40 characters, may not start with a digit, and no spaces or special characters are allowed (underscores are allowed). Assembly and appliance names are not allowed to be localized.

  • Overwrite: If introspecting at the top level, you can check this box to overwrite any top-level assembly or appliance object, provided that it is not registered. If you are introspecting into an existing assembly, checking this box overwrites only assemblies and appliances inside that assembly.

  • Parent Assembly: (Optional) Choose a Parent Assembly from the drop-down list or select <no selection> to place the new appliance at the top of the catalog.

  • Description: Enter an optional description.

Click Next.

In the Identify Host window, you identify the host on which the component you want to introspect is running, by entering the following information:

  • Remote or Local Host: Select Remote Host or Local Host.

    If you selected Remote Host, configure the following information:

    • Host Name: Enter the name of the host that you want to introspect.

    • Port: Enter the port number for SSH for this host. The default port number is 22.

    • User Name: Enter the username for the SSH user to log into the remote host. This user must have permissions to access the introspected configuration.

    • Password: Enter the password the SSH user uses for accessing this host.

    • Remote Working Directory: Enter the path to a directory on the remote host in which Oracle Virtual Assembly Builder may stage files required for introspection. The files may be reused.

    • Remote Cleanup: Click this check box to remove the artifacts copied over to the Remote Working Directory once the Introspection is complete.

Note:

You cannot perform remote introspection of a database if you cannot log into the database machine with the database installation owner's account. If remote introspection is required, you must enable the account for remote access.

In the Select Component Type window, you identify the type of component you want to introspect, by entering the following information:

  • Type: Choose the component type you want to introspect from the Type drop-down menu.

Depending on the type of component chosen, different sets of properties are displayed. Set the properties for that component by selecting the cell for the property and entering a value for the property.

2.3.1.4.1 Viewing Extensions

Click the Extensions button to see a list of included extensions for the selected type (that will automatically get executed).

2.3.1.4.2 Performing Packaging of Components During Introspection

The Package Component checkbox is selected by default. This option packages the package definitions generated from introspection, archive the packages into one or more zip (or other raw) files, and store the resulting files in the shared area of the catalog. For more information, see Section 2.3.2, "Package an Appliance or an Assembly".

You should only unselect this checkbox if you do not want the component packaged during introspection because you intend to customize your packages.

Click Finish.

2.3.1.5 Introspect Using abctl

abctl provides both local and remote introspection capability. For remote introspection, the Oracle Virtual Assembly Builder host must have SSH access to the subject machine.

The -name flag is optional.

Here are two examples:

Example 2-2 Introspect Oracle HTTP Server Remotely

$ ./abctl introspectOHS –name myOHS 
  -remoteHost myReferenceSystemHost –remoteUser abdemo
  -oracleInstance /path/to/oi –componentName ohs1 

Example 2-3 Introspect Oracle WebLogic Server Locally

$ ./abctl introspectWLS -name myWLS
-wlsHome /path/to/wls/wlserver_10.3
-domainRoot /path/to/user_projects/domains/basic_domain
-adminUser weblogic

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.2 Package an Appliance or an Assembly

Packaging takes the package definitions generated from introspection, archives these packages into one or more zip (or other raw) files and stores the resulting files in the $catalog/bundles/$cid directory. cid is the capture ID for the packaged appliance or assembly and is created during introspection.

In order for the packaging to succeed, some package plug-ins have specific requirement for the reference system's running state. Table 2-2 lists the preconditions for the products supported by Oracle Virtual Assembly Builder.

Table 2-2 Package Plug-in Requirements

Introspected Product Running State Pre-Condition

Oracle WebLogic Server

No requirement; Oracle WebLogic Server may be up or down.

Oracle Coherence*Web

No requirement; Oracle WebLogic Server may be up or down.

Oracle HTTP Server (OHS)

No requirement; Oracle HTTP Server may be up or down.

Oracle Web Cache

No requirement; Oracle Web Cache may be up or down.

Oracle RDBMS (DB)

For both Oracle Virtual Assembly Builder Studio and abctl, the database must be down when packaging is done as part of introspection.

For abctl, the database must be down in the packaging phase (abctl package command).

For Oracle Virtual Assembly Builder Studio, the database must be down in the creating template phase.


Note:

Introspection and packaging are the only two operations that rely on reference systems.

2.3.2.1 File Permission Considerations During Packaging

When packaging (either independently or as part of introspection) a local or remote reference system that has files owned by root that are not globally-readable, packaging fails with file permission errors.

Use one of the following workarounds:

  • Run OVAB as root: all generated artifacts in the catalog (such as metadata or packages) become owned by the root user and all subsequent operations must be executed as the root user.

  • Run packaging via remote ssh as root: always treat the reference system as remote and perform it as a remote packaging. Use root as the ssh user.

2.3.2.2 Package Using Oracle Virtual Assembly Builder Studio

The packaging operation is available in the Template Creation Wizard, which is described in Section 2.3.3, "Create Templates for an Appliance or an Assembly".

Note:

Packages are not required for templates which target Oracle JRockit Virtual Edition.

In the Confirm Component Packaging window of the Template Creation Wizard, for each component that requires packaging you can optionally specify a pre-existing package, if available. Specify credentials if creating a new package on a remote host.

The Configure Package Definitions window, you can optionally add or remove package definitions. Typically, you will not need to add or remove package definitions.

If you want to add a package definition select Add > New Package Definition. You can define a root definition and can optionally define one or more exceptions.

For example, you want to specify a root location for home pages for OHS, but you want to exclude some particular home pages. To create a root definition, highlight the root and select the + icon (Figure 2-5). Then select the exclusions. You can also edit an existing root definition or delete one.

Figure 2-5 Creating a Root Definition

Creating a Root Definition
Description of "Figure 2-5 Creating a Root Definition"

In the Review Components window, you can review the packaging decisions you have made, then click Finish.

Progress messages are posted in the message log window. You can open and review the Assembly Status Overview by selecting the Template Creation tab to verify that progress is occurring.

2.3.2.3 Package Using abctl

abctl provides both local and remote packaging capability. For remote packaging, the Oracle Virtual Assembly Builder host must have SSH access to the subject machine.

Here are two examples:

Example 2-4 Package Oracle HTTP Server Remotely

$ ./abctl package –name myOHS 
  -remoteHost myReferenceSystemHost –remoteUser abdemo

Example 2-5 Package Oracle WebLogic Server Locally

$ ./abctl package –name myWLS

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.3 Create Templates for an Appliance or an Assembly

Template creation generates virtual machine templates that are ready to be deployed into virtualized platforms. In Oracle Virtual Assembly Builder, Oracle VM is the only supported platform. For Oracle WebLogic Server components, Oracle Virtual Assembly Builder supports both Oracle Enterprise Linux and JRockit VE template types. For non-Oracle WebLogic Server components (that is, Oracle HTTP Server, Oracle Web Cache, or Oracle Database), only the Oracle Enterprise Linux template type is supported.

To create a template, you must provide a system base image that contains the operating system. You may create your own system base image if the sample system base image does not meet your needs.

Oracle Virtual Assembly Builder provides a sample system base image for Oracle Enterprise Linux templates. When creating Oracle Enterprise Linux templates, Oracle Virtual Assembly Builder transparently invokes Oracle VM's modifyjeos tool to create the virtual machine templates. The tool allows you to modify or customize the base image (for example, adding disk space to the base image, or specifying certain RPMs). Refer to "System Base Images" in Oracle Virtual Assembly Builder Installation Guide for details on how to create a custom system base image.

When creating JRockit VE templates, use the JRockit VE image tool to transparently create JRVE templates. The tool allows you to modify or customize the base image template provided with JRockit VE (for example, to add disk space).

Templates are stored in the Oracle Virtual Assembly Builder instance's catalog directory. Template creation must be done on an Oracle Virtual Assembly Builder Host, where Oracle VM's modifyjeos is installed.

Note:

Base images are stored in either $AB_INSTANCE, or in $ORACLE_HOME. Here is the order of precedence for base image detection:
  • location specified by -baseImage flag

  • $AB_INSTANCE/templates/baseImage/OVM/[JRVE|OEL]

  • $ORACLE_HOME/templates/baseImage/OVM/[JRVE|OEL]

2.3.3.1 Create Templates Using Oracle Virtual Assembly Builder Studio

This operation allows you to create templates for an assembly by selecting Create VM Templates from the Assembly Node Context Menu, or Catalog > Build Template (Figure 2-6).

Figure 2-6 Create VM Templates Wizard

Create VM Templates Wizard
Description of "Figure 2-6 Create VM Templates Wizard"

In the Existing Templates window, you search for existing templates for the entire assembly, or for a single appliance. The table in this window lists templates that have been created already. You can select those that need to be recreated.

In the WLS Template Type window, select a template type and click Next:

  • Oracle WebLogic Server (WLS): this option allows you to select either Oracle Enterprise Linux or Oracle JRockit Virtual Edition. You may retrieve template results for one or both of these options.

  • non-WLS: this option automatically assigns Oracle Enterprise Linux.

In the Confirm WLS Component Template Type window, you specify a template type for each Oracle WebLogic Server component, either Oracle Enterprise Linux or JRockit Virtual Edition. Select a template type for each of the listed components and click Next.

In the Specify Image Location window, you can specify base image locations for the Oracle Enterprise Linux and JRockit VE images by selecting the browse icon, or you can leave the default values. For Oracle Enterprise Linux, templates you must enter root and VNC passwords. A base image is required for template creation, but not for packaging.

The Summary window lists all the templates that will be created after you click Finish. It also shows a warning that creating templates can take some time.

2.3.3.1.1 Recreating a Template

If the assembly components have already had a template created, you can recreate the template by selecting the Recreate option. The window identifies components that have an associated template. The radio buttons for selecting the operating system are read-only when recreating a template. Templates that are registered cannot be recreated.

Note:

Refer to Section 2.3.2, "Package an Appliance or an Assembly" for descriptions of packaging in the Create VM Templates wizard.

2.3.3.2 Create Templates Using abctl

Example 2-6 through Example 2-9 are createTemplate command examples:

Example 2-6 create OVM Guest OS template for OHS

$ ./abctl createTemplate -name myOHS -target OVM

Example 2-7 create OVM Guest OS template for Oracle WLS

$ ./abctl createTemplate -name myWLS -target OVM

Example 2-8 create OVM JRockit VE template for Oracle WLS using default JRockit VE base image location

$ ./abctl createTemplate -name myWLS -target OVM -jrve

You can use the -jrve flag to create templates only for WLS atomic assemblies.

To create a JRVE template for a nested WLS assembly, you must create Oracle Enterprise Linux templates for each nested appliance or non-WLS sub-assembly and then create a JRockit VE template for the WLS atomic assembly:

Example 2-9 create JRVE template for a nested WLS assembly

$createTemplate -name MySite/Wls -target OVM -jrve
$createTemplate -name MySite/OHS -target OVM
$createTemplate -name MySite/WebCache -target OVM

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.4 Edit an Assembly

This section describes how to edit an assembly, using Oracle Virtual Assembly Builder Studio.

2.3.4.1 Edit an Assembly Using Oracle Virtual Assembly Builder Studio

After creating an assembly, you may need to edit the assembly before it can be deployed to create connections, and optionally, to make other changes.

2.3.4.1.1 Creating Connections

You cannot deploy an assembly without resolving all of the output parameters (for example, AJP connections, JDBC connections, LDAP connections). You can define connections as follows:

  • Configure Web server port forwarding: select an output on myohs and connect it to a managed server input on the mywls assembly by drawing an arrow between the two.

  • Specify JDBC connect strings for each JDBC connection: open the JDBC output of an Oracle WebLogic Server assembly by selecting it.

    For JDBC connections, you either create external resources or introspect the database, then make the connection between the JDBC output of Oracle WebLogic Server to the external resource or the introspected database appliance.

    Each of the JDBC connections has a different description. Use that description to figure out which JDBC database schema to connect each to. For each of the JDBC entries, you can copy the original-url, and then copy the hostname and ORACLE_SID, into mydb.

    For example: in jdbc:oracle:thin:@machine999.example.com:1521/orcl, the hostname is machine999.example.com, the port 1521, and the ORACLE_SID orcl.

    Also specify the ORACLE_SID and port as properties of the external database resource input, and the host as a property of the database appliance itself.

    The port is a property of the external database resource input. The hostname is the only one that belongs to the database external resource itself.

    Note:

    Component-specific connection information is described in Appendix B, "Oracle Virtual Assembly Builder Introspection Plug-ins"
2.3.4.1.2 Making Changes to Properties Using the Property Inspector

You may not need to make changes to properties if the values from the reference system are appropriate. If required, make changes using the property inspector.

The property inspector (Figure 2-7) displays the property values. Set the properties as required.

Figure 2-7 Property Inspector

Property inspector
Description of "Figure 2-7 Property Inspector"

2.3.4.1.3 Editing Assemblies Containing Oracle HTTP Server/Oracle Web Cache and Oracle WebLogic Server

If you have an assembly that contains Oracle HTTP Server/Oracle Web Cache and Oracle WebLogic Server with Enterprise Manager deployed, as part of deployment of Oracle HTTP Server/Oracle Web Cache "opmnctl registerInstance" is called to register that component with an Enterprise Manager application hosted in Oracle WebLogic Server.To enable this operation to complete successfully, you must perform the following steps while editing the assembly:

  1. Define connections between Oracle HTTP Server/Oracle Web Cache's EMRegistration and Oracle WebLogic Server.

  2. Use the property inspector to set the Oracle HTTP Server/Oracle Web Cache dependency on Oracle WebLogic Server. You can do this by configuring the Dependency drop-down menu in the General section.

    Without this configuration, Enterprise Manager registration will fail because the Admin Server has not been started.

  3. Verify that the Oracle WebLogic Server Admin Server has not been configured to accept only SSL connections. The "opmnctl registerInstance" does not support SSL connection to Oracle WebLogic Server.

2.3.4.1.4 Application Routing between Oracle HTTP Server and Oracle WebLogic Server

If the Oracle HTTP Server configuration file mod_wl_ohs.conf defines application routing between Oracle HTTP Server and Oracle WebLogic Server, you need to connect Oracle HTTP Server to Oracle WebLogic Server in the editor.

2.3.5 Create a Deployment Plan

This section describes how to create a deployment plan, using Oracle Virtual Assembly Builder Studio.

2.3.5.1 Create a Deployment Plan Using Oracle Virtual Assembly Builder Studio

Create a deployment plan to allow you to override the default metadata of the assembly. You can specify a plan by selecting an assembly in the catalog and selecting File > New > Deployment Plan. The Create Deployment Plan wizard appears (Figure 2-8). A deployment plan is optional if you are using DHCP. A deployment plan is mandatory if static IPs are used, or if you want to use a JRVE template regardless of whether or not DHCP is used.

Note:

Only top-level assemblies can have a plan.

Enter the name for the deployment plan and select the associated assembly from the Assembly drop-down menu.

Figure 2-8 Create Deployment Plan

Create deployment plan window.
Description of "Figure 2-8 Create Deployment Plan"

2.3.5.1.1 Setting Properties

The deployment plan pane (Figure 2-9) displays the original property values (Original column) and the new property values (Value column). The original value is the value that existed on the reference system. Set the properties as required.

In the DefaultPlanName Properties, for each of your components enter IP addresses for each network0-instance0-ip_address. For example, your assembly has two components, myohs and mywls. In a non-cluster environment, you would enter one IP address for myohs, one for AdminServer appliance and one for each other appliance (for example, standalone managed servers) in the mywls assembly.

In a cluster, you would require more than one IP address. The number of IP addresses required is equal to the scalability maximum for the cluster appliance.

Figure 2-9 Configuring Deployment Plan Properties

Config deployment plan properties
Description of "Figure 2-9 Configuring Deployment Plan Properties"

2.3.5.1.2 Saving Deployment Plans

Save the Deployment Plan to store it in the catalog.

You can create multiple deployment plans. Multiple plans allow a host provider to turn up a new customer with a different network structure (for example, a customer requires the same environment except that they require five appliances instead of two appliances, for redundancy purposes). You can add deployment plans to a registered assembly.

2.3.5.1.3 Editing Deployment Plans

You can edit an existing deployment plan by selecting that plan in the Catalog and editing it in the deployment plan pane. Save the deployment plan when you have completed the edits.

2.3.6 Create a Resource Pool Connection

This section describes how to create a resource pool connection, using Oracle Virtual Assembly Builder Studio.

2.3.6.1 Create a Resource Pool Connection Using Oracle Virtual Assembly Builder Studio

You can define a connection to an Oracle VM manager, query for resource pools, and make the product aware of the pools by using the Create Oracle VM Connection Manager wizard to configure them, by selecting File > New > Resource Pool Connection. Or, open the Resource Pools view by selecting View > Resource Pools, then click New OVM Manager Connection. The Create OVM Manager Connection wizard appears (Figure 2-10).

Figure 2-10 Connection Properties

Configure connection properties
Description of "Figure 2-10 Connection Properties"

In the Connection window (step 1 of 4), enter the following information then click Next:

  • Connection Name: the name of the connection to an Oracle VM manager.

  • Host: the host of the Oracle VM manager.

  • Port: the port for connecting to the Oracle VM manager.

  • User Name: the user name for authenticating to the Oracle VM manager.

  • Password: the password for authenticating to the Oracle VM manager.

  • VMM version: the hard coded version is 2.2.

  • VM operations timeout: the amount of time, in seconds, to time out a VM operation. The default is 1000 seconds. Increase this value if you are running into timeout issues.

If you select Use Secure Connections, you must also configure the following parameters:

  • Secure Port: the port to use for secure SSL communications.

  • Grab Certificate: select the Get Certificate button, view the certificate details from the trust store, and select Yes if you approve the certificate.

After you click Next, the Test window attempts to connect to the specific host, and displays the result. Click Next to continue.

In the Resource Pools window, select the resource pools that you want to access with this connection. Select the resource pools from the Defined Pools, and use the arrow keys to move the resource pools to the Selected column. Also, you must designate one of the pools you have selected to be the Default pool for the connection. Click Next to continue.

In the Network Bridges window, you must provide configuration information for network bridges. At minimum, a network bridge Name must be specified. With this minimal configuration, all VMs created through this connection must be started using DHCP. If you need static IP addresses for VMs, you must specify all the other parameters. Click Finish when all parameters have been entered. You will see the new pool that has been created.

2.3.7 Register a Template

This section describes how to register a template, using Oracle Virtual Assembly Builder Studio, or abctl.

Once the Resource Pools have been configured, you can register the templates for assemblies that need to be deployed. After an assembly is registered, you cannot make any further changes to that assembly (for example, you cannot edit the properties of the assembly or appliances in the assembly, add appliances, or delete appliances from the assembly).

By not allowing changes to the assembly, you ensure that any deployment lifecycle operations that you may perform (the deploy, start, stop, scale up, scale down, undeploy, and unregister operations) are consistent with the registered assembly. Also, whenever you view a registered assembly, you can be certain that the assembly matches the registered assembly as it exists on the Resource Pool..

Template registration is a long running operation that could take several minutes. The time that it takes depends upon the number of templates being registered for the assembly and the size of each template.

2.3.7.1 Register Templates Using Oracle Virtual Assembly Builder Studio

To register a template, select the assembly then access the Register Template page by selecting Catalog > Register Template.

  1. OVM Manager Connection: Select a connection from the drop-down list. If you want to create a new connection, use the button to open the Connection Wizard.

  2. Resource Pool: Select a pool from the drop-down list. If you want to configure a new pool, use the button to open the Resource Pool Connection Wizard.

  3. Deployment Plan: Optional. Select a Deployment Plan from the drop-down list. This determines which template type to register.

After making your selections, click Register.

To view registered templates, open the Assembly Status Overview window and select the Template Registration tab.

2.3.7.2 Register Templates with abctl

Use the registerTemplates command to register templates for an assembly to a resource pool. Example 2-10 shows the registerTemplates command:

Example 2-10 registerTemplates Command

$ ./abctl help -command registerTemplates
$./abctl registerTemplates -n MyAssembly -p MyPlan -rm MyResourceManager -po MyPool 

You can list all the templates with the listTemplates command. The list displays whether the templates have been registered or not. Example 2-10 shows the listTemplates command:

Example 2-11 listTemplates Command

$ ./abctl help -command listTemplates
$ ./abctl listTemplates

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.8 Deploy an Assembly

This section describes how to deploy an assembly, using Oracle Virtual Assembly Builder Studio, or abctl.

You deploy an assembly by selecting the Assembly, the Deployment Plan, the Resource Manager, and the Resource Pool in the selected Resource Manager. The Resource Pool is optional and if one is not specified, the default pool for the specified Resource Manager is used. When an assembly is deployed, VMs for the Assembly are created and started. Furthermore, applications within the VMs are also started.

Deploying an assembly can be a long running operation that can take several minutes. The time taken to deploy an assembly will vary depending upon the number of VMs that need to be created and started.

2.3.8.1 Deploy Using Oracle Virtual Assembly Builder Studio

Once you have created your deployment plan, you can deploy an assembly by selecting Deploy to Oracle VM from the Assembly Node Context Menu, or by selecting the assembly in the Catalog Navigator and selecting Catalog > Deploy to Oracle VM.

In the Assembly Status Overview, you can see a list of assemblies that can be deployed. The status column indicates whether the assembly has been deployed or not.

In the Select deployment plan and target window (step 1 of 4), enter the following information:

Click Next.

The Review WebLogic Server Templates window (step 2 of 4) displays only if there are any Oracle WebLogic Server components with multiple template types in the assembly. Review the template type for each component then click Next.

In the Review resource requirements window, you can view a summary of the resource requirements required before deployment. Before continuing, ensure that your environment meets these requirements.

Click Finish to initiate the deployment. After the deployment has been initiated, you can go to the Assembly Status Overview window to view the deployment. You can access the Assembly Status Overview window by selecting Catalog > Assembly Status Overview.

When the deployment of a VM passes the point where the network is initialized, you can expand an appliance to see the IP addresses of each virtual machine started for that appliance.

2.3.8.1.1 Resolving Deployment Issues

When a deployment attempt fails, the information on the assembly you are attempting to deploy is not automatically cleaned up. This allows you to investigate the cause of the failure. In a non-DHCP environment, if you plan another deployment using the same IP addresses, you must first undeploy the failed deployment.

2.3.8.2 Deploy Using abctl

Check the Resource Manager before deployment to see if it has enough resources to perform the deployment. Use the checkResources command to perform this operation, as shown in Example 2-12.

Example 2-12 checkResources Command

$ ./abctl help –command checkResources
$ ./abctl checkResources  -n MyAssembly –p MyPlan –rm MyResourceManager

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

Once it has been determined that sufficient resources are available, you can initiate the deployment by using the deploy command, as shown in Example 2-13.

Example 2-13 deploy Command

$ ./abctl help –command deploy
$ ./abctl deploy –n MyAssembly –p MyPlan –rm MyResourceManager

When an assembly is deployed it is assigned a deployment Id. The Id is listed in the output of the deploy command. This Id is used to refer to that deployment in the other CLI commands. You can list the current deployments with the listDeployments command, as shown in Example 2-14:

Example 2-14 listDeployments Command

$ ./abctl help –command listDeployments
$ ./abctl listDeployments –i GqMw_3bzc_MyAssembly_MyPlan
$ ./abctl listDeployments –i GqMw_3bzc_MyAssembly_MyPlan -l

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.9 Stop a Deployment

This section describes how to stop a deployment, using Oracle Virtual Assembly Builder Studio, or abctl.

When a deployment is stopped, the VMs and the applications that are running within the VMs are stopped. VMs that are in a stopped state retain their context. Stopped VMs can be restarted much more quickly than the original deployment because the VMs do not need to be created.

2.3.9.1 Stop an Assembly with Oracle Virtual Assembly Builder Studio

From the Assembly Status Overview, you can start, stop, deploy, or undeploy a deployment. To stop a deployment, select the deployment that needs to be stopped and click Stop.

2.3.9.2 Stop an Assembly with abctl

Use the stop command to stop a deployment. The deployment is referred to by its deployment Id. You can retrieve a list of deployments by using the listDeployments command. Example 2-15 shows the stop command:

Example 2-15 stop Command

$ ./abctl help –command stop
$ ./abctl stop –i GqMw_3bzc_MyAssembly_MyPlan

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.10 Start a Deployment

This section describes how to start a deployment, using Oracle Virtual Assembly Builder Studio, or abctl.

A deployment that has been stopped can be restarted. Restarting a deployment starts up all the VMs that were stopped and also starts up the applications within the VMs. The deployment gets restored to the state it was in before it was stopped. This operation completes more quickly than a deployment operation.

2.3.10.1 Start a Deployment with Oracle Virtual Assembly Builder Studio

From the Assembly Status Overview, you can start, stop, deploy, or undeploy a deployment. To start a deployment, select the deployment and click Start.

2.3.10.2 Start a Deployment with abctl

The start command is used to start a deployment. The deployment is referred to by its deployment Id. You can retrieve the list of deployments by using the listDeployments command. Example 2-16 shows the start command:

Example 2-16 start an Assembly

$ ./abctl help –command start
$ ./abctl start –i GqMw_3bzc_MyAssembly_MyPlan

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.11 Scale Appliance(s) in a Deployment

This section describes how to scale the number of VM instances per appliance in an deployment, using Oracle Virtual Assembly Builder Studio, or abctl.

After you deploy an assembly, the target number of VM instances for each appliance is started. The target lies between the minimum and maximum number of instances that can be instantiated for each appliance. You can dynamically specify a new target after an assembly has been deployed. Oracle Virtual Assembly Builder dynamically starts or stops VM instances to reach the new target (thus scaling up or scaling down). A scale down operation will only stop the properly deployed instances.

2.3.11.1 Scale Appliance(s) in a Deployment with Oracle Virtual Assembly Builder Studio

Use Scale to scale up or scale down the number of VM queues per appliance in a deployment by clicking the Scale button. In the Scale dialog, the minimum and maximum number of VM instances are displayed, as is the number of currently running VMs. You can set the value of Target to a number between the minimum and maximum allowed values.

Click OK when you are done.

2.3.11.2 Scale Appliance(s) in a Deployment with abctl

Before scaling an appliance in a deployment, check to see if there are sufficient resources. Use the checkResources command (Example 2-17):

Example 2-17 checkResources Command

$ ./abctl help -command checkResources
$ ./abctl checkResources -i GqMw_3bzc_mySite_plan1 -a /myAppliance -tg 2 

Use the scaleAppliance command to scale the appliance (Example 2-18):

Example 2-18 scaleAppliance Command

$ ./abctl help -command scaleAppliance
$ ./abctl scaleAppliance -i GqMw_3bzc_mySite_plan1 -a /cluster_1 -tg 2 

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.12 Undeploy a Deployment

This section describes how to undeploy a deployment, using Oracle Virtual Assembly Builder Studio, or abctl.

Undeploying a deployment stops all the running VMs and removes them from the Resource Pool. It also cleans up any failed VMs that may exist.

2.3.12.1 Undeploy a Deployment with Oracle Virtual Assembly Builder Studio

From the Assembly Status Overview, you can start, stop, deploy, or undeploy a deployment. To undeploy a deployment, select the deployment that needs to be undeployed and click Undeploy.

2.3.12.2 Undeploy a Deployment with abctl

You can use the undeploy command to undeploy a deployment. The deployment is referred to by its deployment Id. You can retrieve a list of deployments by using the listDeployments command. Example 2-19 shows the undeploy command:

Example 2-19 undeploy Command

$ ./abctl help –command undeploy
$ ./abctl undeploy –i GqMw_3bzc_MyAssembly_MyPlan

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.13 Unregister Template(s) of an Assembly

This section describes how to unregister template(s) of an assembly, using Oracle Virtual Assembly Builder Studio, or abctl.

Once you have undeployed a deployment, and have no further use for the registered templates in the resource pool, you can unregister them. This recovers space in the resource pool. You must also unregister an assembly if you want to delete or modify an assembly.

You cannot unregister a template when a deployment exists. This prevents the situation having a deployment without any corresponding registered templates.

Note:

Unregistering template(s) of an assembly results in the unregistration of both Guest OS and JRockit VE templates if both templates happen to be registered.

2.3.13.1 Unregistering Templates with Oracle Virtual Assembly Builder Studio

In the Assembly Status Overview page, click the Template Registration tab to view registration information. You can register or unregister templates. To unregister a template, select the assembly whose templates needs to be unregistered, then click Unregister.

A popup window prompts you to confirm the unregistration. Click Yes to unregister the assembly.

2.3.13.2 Unregistering Templates with abctl

Use the unregisterTemplates command to unregister templates for an assembly. Example 2-20 shows the unregisterTemplates command:

Example 2-20 unregisterTemplates Command

$ ./abctl help –command unregisterTemplates
$ ./abctl unregisterTemplates -n mySite -rm MyResourceManager

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.14 Export an Appliance or Assembly from a Catalog

This section describes how to export an appliance or assembly from a catalog, using Oracle Virtual Assembly Builder Studio, or abctl.

To copy an appliance or assembly from one catalog to another, you must use Oracle Virtual Assembly Builder's export and import functionality.

Note:

Manual copying of disk files from one catalog to another is not supported and will not work.

2.3.14.1 Exporting an Appliance or Assembly from a Catalog Using Oracle Virtual Assembly Builder Studio

Access the Export dialog box (Figure 2-11) to export an appliance or assembly from a catalog by selecting File > Export. Enter the following information:

  • Name: this field pre-populates with the name of the appliance or assembly that you selected for export.

  • Directory: browse to and select or enter the name of the directory of the location of the export. This directory must be empty and will be created if it does not exist.

  • Metadata Only: check this checkbox to export only metadata (and not the associated templates or packages).

Click OK.

Figure 2-11 Exporting an Appliance or Assembly from a Catalog

Export window
Description of "Figure 2-11 Exporting an Appliance or Assembly from a Catalog"

2.3.14.2 Exporting an Appliance or Assembly from a Catalog Using abctl

Use the export command to unregister templates for an assembly. Example 2-21 and shows the export command for exporting metadata, and associated templates and packages. Example 2-22 shows exporting metadata only.

Example 2-21 export Command

$ ./abctl help –command export
$ ./abctl export -name myOhs -to /tmp/myOhs.zip
(some progress messages)
Successfully created /tmp/myOhs.zip

Example 2-22 export Command (Metadata Only)

$ ./abctl export -name myOhs -to /tmp/myOhs.zip -metadataOnly
(some progress messages)
Successfully created /tmp/myOhs.zip

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.15 Import an Appliance or Assembly to a Catalog

This section describes how to import an appliance or assembly, using Oracle Virtual Assembly Builder Studio, or abctl.

To copy an appliance or assembly from one catalog to another, you must use Oracle Virtual Assembly Builder's export and import functionality.

2.3.15.1 Importing an Appliance or Assembly to a Catalog Using Oracle Virtual Assembly Builder Studio

Access the Import dialog box (Figure 2-12) to import an appliance or assembly to a Catalog by selecting File > Import. Enter the following information:

  • Directory: browse to and select or enter the name of the directory of the assembly or appliance which was exported.

  • Overwrite: check this checkbox to specify that any existing metadata and associated packages and templates are overridden. This is to correct a case of name collision. Overriding an existing component can only be done if the existing component can be removed.

Click OK.

Figure 2-12 Importing an Appliance or Assembly

Import window
Description of "Figure 2-12 Importing an Appliance or Assembly"

2.3.15.2 Importing an Appliance or Assembly Using abctl

Use the import command to import (into the target catalog) the content of one or more zip files containing a sparse copy of exported metadata and associated packages and templates.

A new entry is created in the target catalog. If there is a name collision (for example, the import command attempts to create 'mySite', and the catalog already has 'mySite'), the operation will fail.

Example 2-23 shows the import command:

Example 2-23 import Command

$ ./abctl help –command import
$ abctl import -from /tmp/myOhs.zip
Successfully imported myOhs to /example/ab_home/catalog.

For more information see Appendix A, "Command Line Reference", which contains the details of the parameters that can be passed into the command along with a sample output of the command.

2.3.15.3 Importing an External VM Template

You can import an external VM Template into a specified catalog, creating an external appliance that can later be added to any assembly for deployment.

This operation can only be performed using abctl.

Example 2-24 shows the import external VM template command:

Example 2-24 Import an External VM Template

$ abctl importExternalTemplate -fromDir /dir/containing/image/file -name myExternalAppliance
Executing importExternalTemplate command.
Set the root and vnc passwords that will be configured in the imported template.
Enter root password:
Retype root password:
Enter vnc password:
Retype vnc password:
  (some progress messages)
Successfully imported template.