Oracle® Virtual Assembly Builder User's Guide 11g Release 1.1 (11.1.1) Part Number E22514-01 |
|
|
View PDF |
This chapter includes the following sections:
Oracle Virtual Assembly Builder provides two user interfaces:
Oracle Virtual Assembly Builder Studio, a graphical user interface, and
abctl
, a command-line tool.
Note:
you cannot launch Oracle Virtual Assembly Builder Studio andabctl
at the same time. Nor can you launch two sessions of either interface at the same time.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.
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
.
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".
Users will typically use Oracle Virtual Assembly Builder in these ways:
Basic introspect-editing-template creation-deploy cycle
The user installs and configures reference systems, then uses Oracle Virtual Assembly Builder to introspect the reference systems, create an assembly to represent the topology, create templates for the assembly, then deploys the assembly.
Additional post-deployment configuration
After the basic workflow above, the user performs more configuration and binary changes in the deployed environment. The user then goes through the introspect-edit-template creation-deploy cycle again, as described above.
Starting with pre-built appliances and assemblies
The user downloads pre-built appliances and assemblies provided by Oracle or by his/her own IT organization. The user then uses Oracle Virtual Assembly Builder to deploy these assemblies, and configure the deployed environment as needed. The user then goes through introspect-editing-template creation-deploy cycle again, as described in the basic cycle above.
This section details how you will use Oracle Virtual Assembly Builder Studio or abctl
command line utility.
Section 2.3.3, "Create Templates for an Appliance or an Assembly"
Section 2.3.14, "Export an Appliance or Assembly from a Catalog"
Section 2.3.15, "Import an Appliance or Assembly to a Catalog"
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. |
Oracle Virtual Assembly does not support introspection or deployment of reference systems with mounted NFS file systems.
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.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.
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.
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
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.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
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.
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.
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.
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.
Click the Extensions button to see a list of included extensions for the selected type (that will automatically get executed).
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.
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.
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 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.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.
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.
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.
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
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.
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]
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).
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.
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.Example 2-6 through Example 2-9 are createTemplate
command examples:
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.
This section describes how to 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.
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"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.
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:
Define connections between Oracle HTTP Server/Oracle Web Cache's EMRegistration and Oracle WebLogic Server.
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.
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.
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.
This section describes how to 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.
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
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.
This section describes how to 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).
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.
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.
To register a template, select the assembly then access the Register Template page by selecting Catalog > Register Template.
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.
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.
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.
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:
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.
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.
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:
Oracle VM Manager Connection: select the Oracle VM Manager Connection that you created using the procedures in Section 2.3.6, "Create a Resource Pool Connection".
Resource Pool: select the resource pool that you created using the procedures in Section 2.3.6, "Create a Resource Pool Connection".
Deployment Plan: select the deployment plan that you created using the procedures in Section 2.3.5, "Create a Deployment Plan". Otherwise, leave No Deployment Plan as the option if you do not require a deployment plan (for example, you are using DHCP and do not need to override metadata of the assembly).
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.
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.
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.
$ ./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.
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.
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.
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:
$ ./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.
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.
From the Assembly Status Overview, you can start, stop, deploy, or undeploy a deployment. To start a deployment, select the deployment and click Start.
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.
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.
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.
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.
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.
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.
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:
$ ./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.
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.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.
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.
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.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
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.
$ ./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.
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.
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
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:
$ ./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.
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.