In 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 22.214.171.124, 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:
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 126.96.36.199, 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:
the file fmw_188.8.131.52.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_184.108.40.206.0_osb_Disk1_1of1.zip and fmw_220.127.116.11.0_soa_Disk1_1of1.zip are actually the renamed versions of V44423_01.zip and V44420_01.zip that I downloaded from eDelivery:
tips for downloading:
The specific database software for 18.104.22.168 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.
Then click on Download.
Note: you really only have to download two files (out of 7):
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:
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
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:
Click on the Oracle Fusion Middleware 12c Media Pack. On the next page, click the Download button for three items:
After downloading, extract fmw_22.214.171.124.0_infrastructure.jar from the V44416-01.zip file. Rename V44423_01.zip and V44420_01.zip to fmw_126.96.36.199.0_osb_Disk1_1of1.zip and fmw_188.8.131.52.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:
Extract the content from the zip file to any directory you fancy, for example c:\temp:
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:
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.
vagrant up soadb
This will start the creation of the first VM – with the Oracle Database 184.108.40.206 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.
In under 10 minutes, the first VM is done:
The VirtualBox manager shows the details for this machine:
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):
vagrant up soa2admin2
This will start the creation of the second VM.
after 15 minutes and a bit, the second VM is created as well.
The VirtualBox dashboard shows its details:
Note: configuring the logical names for the two VMs in the Windows hosts file (or whatever your host OS is) is useful as well:
(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.
After logging in with weblogic/weblogic1, the Enterprise Manager dashboard shows up:
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
Once the soa_server1 is running – listening on port 8001 – we can see this reflected in the EM FMW Control:
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
and likewise the BPM Worklist application for controlling Human Tasks as http://10.10.10.21:8001/integration/worklistapp
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…)
The database VM (soadb) runs on IP address 10.10.10.5. It hosts an Oracle Database ,Release 220.127.116.11.
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
you will stop both machines.
vagrant halt soadb
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.
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:
And to verify the status of the Node Manager, you can execute
When you discover the Node Manager is not yet running, you can have it started using the following command:
It will take a little while, and finally the Node Manager will call in to let you know it is running:
And from the browser on the host, we can connect again to Admin Server and the other started managed servers
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
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!