TobyHFerguson / Davenport

Project to provide automated creation of a Bare Metal Provisioning (BMP) environment for Oracle 12C
0 stars 0 forks source link

+TITLE: Project Davenport

+STARTUP: showall nohideblocks

You need to provide the software (Oracle Linux, Oracle 11g Database, Oracle Enterprise Manager 12c) and put it in the right place; the automation will then use that and build out the entire system.

The guests comprise: | Guest name | Purpose | |------------+------------------------------------------------------------------------------------------| | oemrepo | Repository (database) for the Oracle Enterprise Manager | | oms | Oracle Management Server, hosting Oracle Enterprise Manager | | dhcp | The dhcp service | | stage | Staging service for Bare Metal Provisioning (BMP) by the OMS. Holds kickstart files etc. | | tftp | Boot server for BMP. Provides PXE linux boot services. | | yum | Yum server for BMP. Provides a yum repository containing Oracle Linux 6. |

The install process takes about 4 hours.

You will then be able to access Oracle Enterprise Manager on the host machine on port 17802 and show Bare Metal Provisioning as described in [[docs/Bare_Metal_Provisioning_With_Oracle_Enterprise_Manager.org][Bare Metal Provisioning with Oracle Enterprise Manager]] ** Suggested Workflow The Oracle Software is large and takes a long time to download. I suggest you start that download first, and then get on with everything else. Given that, the workflow is:

**** Vagrant Plugins Install the following vagrant plugins: | hostmanager | https://github.com/smdahlen/vagrant-hostmanager| | vbguest | https://github.com/dotless-de/vagrant-vbguest| | snapshot | https://github.com/scalefactory/vagrant-multiprovider-snap| Running the following will accomplish the plugin installation:

+BEGIN_SRC sh

for plugin in vagrant-hostmanager vagrant-vbguest vagrant-multiprovider-snap do vagrant plugin install $plugin done

+END_SRC

*** Git Install the latest version of git on your host.

** Download Software Download four software items (each comprising one or more zip files) as detailed below: | OL6 | Latest version of Oracle Linux 6. Opensource and free to download, use and distribute.| | DB | Oracle Database 12C. Requires a license to download and use.| | OEM | Oracle Enterprise Manager 12C. Free to download. Use with Oracle Linux requires an Oracle Linux support contract | | DB Template | Oracle template for OEM 12C. Free to download.|

*** OL6 Download any (we recommend the latest) version of Oracle Linux 6 from https://edelivery.oracle.com. We used Oracle Linux 6 Update 5: | Name | Part # | |-----------------------------------------------------+-----------| | Oracle Linux Release 6 Update 5 for x86_64 (64 Bit) | V41362-01 |

Unzip the downloaded file and save the contained iso image as =ol6.iso= in the project's home directory. *** DB Download Oracle Database 11gR2 from My Oracle Support. Specifically we tested 'Patch 10404530: 11.2.0.3.0 PATCH SET FOR ORACLE DATABASE SERVER'

You don't need all the 7 parts of the database, just parts 1 and 2.

Download =p10404530_112030_Linux-x86-64_1of7.zip= and =p10404530_112030_Linux-x86-64_2of7.zip= and unzip them into =db_install=

(If you download those zip files into some directory =/Download=, then the following executed in the =Davenport= directory will unzip them into the right place:

+BEGIN_SRC sh

unzip -u -d db_install /Download/p10404530_112030_Linux-x86-64_1of7.zip unzip -u -d db_install /Download/p10404530_112030_Linux-x86-64_2of7.zip

+END_SRC

*** Enterprise Manager Download Enterprise Manager 12C Release 4 from https://edelivery.oracle.com. You'll need all three parts, as listed below; each part will download as a zip file named after its part number:

| Description | Part # | |---------------------------------------------------------------------------------------------+-----------| | Oracle Enterprise Manager Cloud Control 12c Release 4 (12.1.0.4) for Linux x86-64 Disk1of3 | V45344-01 | | Oracle Enterprise Manager Cloud Control 12c Release 4 (12.1.0.4) for Linux x86-64 Disk2of3 | V45345-01 | | Oracle Enterprise Manager Cloud Control 12c Release 4 (12.1.0.4) for Linux x86-64 Disk 3of3 | V45346-01 |

Unzip /all/ of these files into the =oms_install= directory. Again, if you downloaded the zip files into =/Download= then the following executed in the =Davenport= directory will unzip them correctly:

+BEGIN_SRC sh

unzip -u -d oms_install /Download/V45344-01.zip unzip -u -d oms_install /Download/V45345-01.zip unzip -u -d oms_install /Download/V45346-01.zip

+END_SRC

*** DB Template We use a DB template to construct the OEM repository. This template ensures that (almost) all the parts are configured and constructed correctly (we do have to apply a patch later on to cope with a partition issue, but that gets applied automatically as part of the provisioning system).

Download the DB template from http://www.oracle.com/technetwork/oem/enterprise-manager/downloads/db-templates-1959276.html. Specifically you'll need the template called '11.2.0.3 DB Template for EM 12.1.0.3 on Linux x86-64'. Download this template as a zip file into the =Davenport= directory. The zip file must be called '11.2.0.3_Database_Template_for_EM12_1_0_4_Linux_x64.zip'. Leave the file in its zipped format - it gets unzipped /inside/ the =oemrepo= vm during database construction.

You'll be setup correctly if your Davenport directory has the following content:

+BEGIN_SRC sh

[toby@dell-server-2 Davenport] ls -l total 4252360 -rw-r--r--. 1 toby toby 219488303 Dec 9 08:34 11.2.0.3_Database_Template_for_EM12_1_0_4_Linux_x64.zip drwxr-xr-x. 8 toby toby 4096 Dec 17 10:22 db_install -rw-r--r--. 1 toby toby 3885117440 Dec 18 07:46 ol6.iso drwxr-xr-x. 11 toby toby 4096 Dec 17 10:13 oms_install -rw-r--r--. 1 toby toby 6679 Dec 30 14:05 README.org -rw-rw-r--. 1 toby toby 3740 Dec 29 11:05 Vagrantfile

+END_SRC

(There're a bunch of hidden directories too, but they're for "internal" use, so I haven't shown those here)

All these VMs are "standard" vagrant VMs - the =root= and =vagrant= users have the password 'vagrant'. There is also an 'oracle' user, whose password is 'oracle'. The project directory (=Davenport=) is mounted inside each VM at =/vagrant=.

The =dhcp=, =stage=, =tftp= & =yum= servers are all managed by the OMS, and so have agents running on them.

This process takes of the order of 2 to 3 hours (with the bulk of that time being the OMS installation).

Once created each of these guests can be accessed via ssh from the =Davenport= directory by simply executing =vagrant ssh = (e.g. =vagrant ssh oms=).

All of the guests have two adapters, attached thus: | Adapter | Eth port | Network | |---------+----------+-------------------------------------------------------------------| | 1 | eth0 | NAT, through which ssh and other access is possible from the host | | 2 | eth1 | Host Only Network, for communicating with other guests | ** Post provisioning Once the provisioning has completed then halt all the machines and snapshot them, thus:

+BEGIN_SRC sh

vagrant halt vagrant snap take --name Post_Provision

+END_SRC

This will provide you a snapshot (called /Post_Provision/) for all of the machines. At any point you can do a =vagrant snap rollback --name Post_Provision= and it will revert you to this point in time.

We will use snapshots at other points to ensure we don't lose our work.

During creation and installation of the =oms= host a file, =oem_setupinfo.txt= will be created that contains information about how to communicate with Oracle Enterprise Manager. Note that the URLS contained in that document are only valid /within/ the host only network that the guests' Adpater 2 is attached to.

To make it easy to use a browser on the host or your own machine (if the host is remote) we've forwarded port 7802 from the =oms= guest to port =17802= on the host. Once the =oms= is up and running you can access the OEM GUI using an url of the form =https://HOST:17802/em= where =HOST= will be the address (hostname or ipaddress) of the host machine.

[fn:1] The name of this directory is not important, but for ease of explanation I shall refer to it as =Davenport= or the /project's home directory/