Rapid creation of Virtual Machine(s) for SOA Suite 12.1.3 server run time environment - leveraging Vagrant, Puppet and Biemond image101

Rapid creation of Virtual Machine(s) for SOA Suite 12.1.3 server run time environment – leveraging Vagrant, Puppet and Biemond

imageIn recent previous articles I have discussed the use of Vagrant and Puppet for the automated creation of Virtual Machines, for example with various Oracle software components completely installed into them. In this article, I am merely the consumer of goodies. Edwin Biemond published on GitHub the complete set of Vagrant and Puppet configuration files for creating VMs with the SOA Infra database (Oracle Database 11.2.0.4, populated with the RCU installer) and the SOA Suite 12.1.3 run time environment – including Service Bus, see: WebLogic 12.1.3 infra (JRF) with SOA,OSB.

In this article, I will describe the steps I took to actually produce the two VMs using Edwin’s scripts. The visual description of the whole process looks something like the next figure:

image

Prepare your host environment

First of all, prepare your local environment for the use of Vagrant and Oracle VirtualBox, if you have not already done so. The required actions are described in this article –Fastest way to a Virtual Machine with JDeveloper 12.1.3 and Oracle Database XE 11gR2 – on Ubuntu Linux 64 bit – under steps 1 through 4.

Downloaded required software

Next you will have to download the installation files for Java (JDK 7u55), Oracle Database 11.2.0.4, FMW 12.1.3 Infrastructure, SOA Suite 12.1.3 and Service Bus 12.1.3. In my case, all files are downloaded into a single directory:

image

Note:

the file fmw_12.1.3.0.0_infrastructure.jar was extracted from the V44416-01.zip file that I downloaded from eDelivery (for the FMW 12.1.3 Infrastructure)

the files fmw_12.1.3.0.0_osb_Disk1_1of1.zip and fmw_12.1.3.0.0_soa_Disk1_1of1.zip are actually the renamed versions of V44423_01.zip and V44420_01.zip that I downloaded from eDelivery:

image

tips for downloading:

Database

The specific database software for 11.2.0.4 can only be downloaded from Oracle Support at this time. Go to https://support.oracle.com and search for patch 13390677 (also see instructions in this article: http://www.snapdba.com/2014/01/oracle-database-11gr2-11-2-0-4-installation-on-oracle-linux-6-4/). Download the software for Linux x86-64.

image

Then click on Download.

image

Note: you really only have to download two files (out of 7):

image

Java

The Java 7 JDK Update 55 can be downloaded from eDelivery, as part of the Fusion Middleware 12c Media Pack. Alternatively, the download site is: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u55-oth-JPR:

image

make sure you download the JDK for Linux x86-64 (the guest OS) and use the JDK 1.7u55 jdk-7u55-linux-x64.tar.gz file.

The required file JDK 7 JCE policy UnlimitedJCEPolicyJDK7.zip can be downloaded here: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

image

Fusion Middleware

The required files for Fusion Middleware are available from the eDelivery cloud at Oracle: https://edelivery.oracle.com.

Search for Fusion Middleware on platform Linux x86-64:

image

Click on the Oracle Fusion Middleware 12c Media Pack. On the next page, click the Download button for three items:

image

After downloading, extract fmw_12.1.3.0.0_infrastructure.jar from the V44416-01.zip file. Rename V44423_01.zip and V44420_01.zip  to fmw_12.1.3.0.0_osb_Disk1_1of1.zip and fmw_12.1.3.0.0_soa_Disk1_1of1.zip respectively.

Download Edwin’s Configuration Files

You can download the required files from GitHub in a ZIP-archive using: https://github.com/biemond/biemond-orawls-vagrant-12.1.3-infra-soa/archive/master.zip or you can use Git (related tools) and clone the repository at https://github.com/biemond/biemond-orawls-vagrant-12.1.3-infra-soa.git.

We’ll assume a simple download as ZIP file:

SNAGHTML536d840

Extract the content from the zip file to any directory you fancy, for example c:\temp:

image

Edit the Vagrantfile – configure the correct software directory

The Vagrantfile contains two vm.synced_folder definitions – one in the soa2admin2 VM and one in the soadb VM. Ensure that both refer the directory on your host system into which you have downloaded the installation software:

image

image

Note: you may want to set up an additional shared folder for use later on to exchange files between guest (VM) and host.

If your host machine has plenty of memory resources, you may want to extend the memory allocated to the soa2admin2 VM to for example 6GB – as this will give all WLS servers a little more breathing space:

vb.customize [“modifyvm”, :id, “–memory”, “6144”]

 

Create the two VMs using Vagrant

Open a command line window and navigate to the biemond-orawls-vagrant-12.1.3-infra-soa-master directory that was extracted from the GIT zip archive.

Type:

vagrant up soadb

This will start the creation of the first VM – with the Oracle Database 11.2.0.4 environment. The RCU installer is executed during the creation of the second VM and then the SOA Infra database schema are created into this database.

image

In under 10 minutes, the first VM is done:

image

The VirtualBox manager shows the details for this machine:

image

Let’s now have Vagrant create the second VM, with the SOA Suite run time middleware components (and install the SOA Infra database at the same time):

Type:

vagrant up soa2admin2

This will start the creation of the second VM.

image

after 15 minutes and a bit, the second VM is created as well.

image

The VirtualBox dashboard shows its details:

image

Note: configuring the logical names for the two VMs in the Windows hosts file (or whatever your host OS is) is useful as well:

10.10.10.5    soadb.example.com
10.10.10.21    soa2admin2.example.com

(in my case in C:\Windows\System32\drivers\etc\hosts)

Testing the SOA Suite 12.1.3 run time environment

A quick test of our new environment is done from the browser. The middleware VM – soa2admin2 – runs on IP address 10.10.10.21. The WebLogic Admin Server is started and can be accessed through the Admin console – http://10.10.10.21:7001/console – and the Enterprise Manager FMW Control 12c: http://10.10.10.21:7001/em.

image

After logging in with weblogic/weblogic1, the Enterprise Manager dashboard shows up:

image

In the console, we can inspect the details for the three WLS Managed Servers that were created, and we can start them, for example soa_server1

image

Once the soa_server1 is running – listening on port 8001 – we can see this reflected in the EM FMW Control:

image

Note that a sample composite is pre-installed: SimpleApproval.

The SOA Composer application can be accessed at http://10.10.10.21:8001/soa/composer

image

and

image

and likewise the BPM Worklist application for controlling Human Tasks as http://10.10.10.21:8001/integration/worklistapp

image

and

image

The Service Bus Console can be accessed at: http://10.10.10.21:7001/servicebus.

Once the BAM Server (bam_server1) has been started, it listens at port 9001. The BAM Composer runs at http://10.10.10.21:9001/bam/composer; login as weblogic/weblogic1.

Note: there is at present a problem with the BAM Data Source that causes the login to the BAM Composer to fail. This problem can be resolved manually: Locate the BamDataSource under Services/Data Sources. Edit the Data Source: open the Transaction tab and enable the option Emulate Two-Phase Commit. Restart the BAM Server to have this change resolve the login issue.

Exactly the same issues exists for the following Data Sources:wlsbjmsrpDataSource (which prevents Message Reports from being created in Service Bus), EDNDataSource, SOADataSource and OraSDPMDataSource.

The VM cannot at present do name resolution for internet domain names. If you want the SOA Suite to be able to reach out to specific domains (such as www.yoursite.com) you have to add the IP address for the site and its logical name to the /etc/hosts file. I will try to find out how to make the name resolution automatic (somewhere between VirtualBox, Linux and my host environment I think something has to give…)

Database

The database VM (soadb) runs on IP address 10.10.10.5. It hosts an Oracle Database ,Release 11.2.0.4.

The operating system users:

  • root vagrant
  • vagrant vagrant
  • oracle oracle

Welcome01 is the password for the Database users SYS and SYSTEM. (see configuration details in https://github.com/biemond/biemond-orawls-vagrant-12.1.3-infra-soa/blob/master/puppet/hieradata/soadb.example.com.yaml)

Restarting the VMs and Running WebLogic Admin Server

The VMs can be stopped and started using vargant. With

vagrant halt

you will stop both machines.

With

vagrant halt soadb

or

vagrant halt soa2admin2

you will stop the specified VM.

With vagrant up you can start both machines, with vagrant up soa2admin2 or vagrant up soadb you will again start one of the VMs.

Once the soa2admin2 machine is running, you can connect to it, either using vagrant ssh (which will start your locally installed ssh tool in the proper context) or using Putty. In the latter case, connect to 127.0.0.1 and port 2222 – which is forwarded to the VM s0a2admin2.

image.png

Login as vagrant with password vagrant.

To perform the necessary operations, type

sudo su – oracle

To assume the role of user oracle.

Change the directory focus to /opt/scripts/wls:

cd /opt/scripts/wls

And to verify the status of the Node Manager, you can execute

./showStatus.sh

SNAGHTML5dd698a.png

When you discover the Node Manager is not yet running, you can have it started using the following command:

./startNodeManager.sh

It will take a little while, and finally the Node Manager will call in to let you know it is running:

image.pngIf you check the status again, things will look brighter now:

SNAGHTML5e0333e.pngNote: if at this point the Admin Server is not yet running, then use the next command to have it started:

./startWeblogicAdmin.sh

And from the browser on the host, we can connect again to Admin Server and the other started managed servers

http://10.10.10.21:7001/console

 

Setting up connnections in JDeveloper

To work with this splendid environment, it is useful to have connections in JDeveloper to the Application Server and the MDS Service.

Create an Application Server connection to:

  • Username weblogic; Password weblogic1
  • WebLogic Hostname 10.10.10.21
  • Port 7001 ; SSL Port 7002
  • WebLogic Domain: soa_domain

Create an MDS Database Connection to:

  • name soadb_dev_mds (suggested)
  • user dev_mds; password Welcome01
  • Driver thin
  • Host Name 10.10.10.5; JDBC Port 1521
  • Service Name: soarepos.example.com

And an MDS Connection based on this Database connection:

  • Connection Name soa2admin2_soadb (suggested)
  • Connection Type: DB Based MDS
  • Connection: soadb_dev_mds
  • Select MDS Partition: soa_infra

Note: a database connection to user SYS in the soadba database can be created to:

  • user sys; password Welcome01; role SYSDBA
  • Driver thin
  • Host Name 10.10.10.5; JDBC Port 1521
  • Service Name: soarepos.example.com

 

Kudos

As always – big kudos to Edwin Biemond for sharing his Vagrant & Puppet configuration with the community. Once all downloads are done, you can create the VMs with a complete running SOA Suite 12c environment within 30 minutes waiting time (and with less than one minute of your personal time. Impressive!

39 Comments

  1. D. E. Biemond February 11, 2016
    • Rakesh April 2, 2016
  2. Rakesh February 9, 2016
  3. maartensmeets August 29, 2015
  4. Michael July 7, 2015
  5. David May 8, 2015
  6. Jos de Hoop February 26, 2015
  7. Jorge February 20, 2015
  8. Jorge February 20, 2015
  9. Aurel February 9, 2015
  10. Aurel February 8, 2015
  11. Aurel February 4, 2015
  12. Eduardo December 2, 2014
    • edwin biemond December 4, 2014
      • Edwin Biemond December 7, 2014
        • Eduardo December 10, 2014
        • Jorge January 19, 2015
        • Heiko January 20, 2015
  13. Reddy November 2, 2014
  14. Reddy November 2, 2014
    • Edwin Biemond November 8, 2014
    • Reddy November 10, 2014
  15. Francesco Savino September 14, 2014
    • Lucas Jellema September 15, 2014
  16. danirod08@gmail.com August 26, 2014
    • Rakesh Kumar August 27, 2014
      • daniel September 4, 2014
        • stwomack December 3, 2014
  17. Rakesh Kumar August 3, 2014
    • Rakesh Kumar August 3, 2014
      • Lucas Jellema August 3, 2014
        • Rakesh Kumar August 4, 2014
          • Lucas Jellema August 7, 2014
  18. Rakesh Kumar August 1, 2014
  19. Rakesh Kumar August 1, 2014
    • Edwin Biemond August 1, 2014
  20. Pierluigi Vernetto August 1, 2014
    • Lucas Jellema August 7, 2014
  21. Edwin Biemond July 31, 2014