posts

Oracle BPM 12c sobre AWS EC2 usando Vagrant y Chef

Posted on
devops oracle fmw bpm chef vagrant

En esta entrada mostraré el procedimiento que utilicé para crear instancias en Amazon Web Service EC2, con Oracle BPM 12c instalado y un dominio provisionado.

Este procedimiento se realizo en los siguientes pasos:

  • Crear una instancia en AWS EC2 (con Vagrant)
  • Conectarse a una instancia NFS para obtener instaladores (con Chef)
  • Instalar Oracle BPM 12c Quickstart y crear Dominio (con Chef)

GitHub: https://github.com/jeqo/oracle-bpm-12c-aws

 Crear una instancia en AWS EC2

He creado una instancia Red Hat usando Vagrant. Esta instancia debe estar conectada a una instancia NFS que tiene los instaladores de Oracle (esta fue creada en esta entrada).

Esta es la instancia NFS:

Instancia NFS

Y el directorio “/data” esta compartido. Incluye los instaladores de Oracle DB XE 11g y BPM 12c:

Directorios NFS

 Configuración en Vagrant

Gist

{% gist 62b74a9ed65d575d91b4 Vagrantfile >}}

Ejecutar el siguiente comando:

vagrant up --provider=aws

 Conectarse a la instancia NFS

Esta es la primera receta Chef que será ejecutada:

...
  chef.add_role "nfs-client"
...

Utilizando el rol Chef:

{
  "name" : "nfs-client",
  "description" : "Role applied to the system that should be an NFS client tools.",
  "json_class" : "Chef::Role",
  "default_attributes" : {
    "nfs-client" : {
      "server-host" : "localhost",
      "local-directory" : "/data",
      "remote-directory" : "/data"
    }
  },
  "run_list" : [
    "recipe[nfs-utils::nfs-client]"
  ]
}

Para actualizar el server-host desde su configuración de Vagrant, agregar las siguientes líneas:

...
chef.json = {
  "nfs-client" => {
    "server-host" => "123.1.1.12"
  },
  ...

Y cuando la instancia sea creada, un nuevo directorio “/data” se sincronizará.

 Instalación de Oracle BPM 12c Quickstart

Para instalar BPM, se debe utilizar el cookbook “oracle-fmw” compartido en Chef Supermarket. Este esta explicador en esta entrada.

La configuración de Vagrant invoca el provisionamiento con Chef:

{
  "name" : "demo-bpm_bam-12c",
  "json_class" : "Chef::Role",
  "default_attributes" : {
    "domain-12c": {
      "name": "demo-bpm_bam-domain",
      "mode": "Compact",
      "apps": [
        {"name" : "SOA", "enabled" : true},
        {"name" : "BPM", "enabled" : true},
        {"name" : "BAM", "enabled" : true},
        {"name" : "OSB", "enabled" : false}
      ],
      "machines": [
      ],
      "admin_server": {
        "base_name" : "AdminServer",
        "new_name" : "bpm_bpm-server",
        "port" : "7001"
      },
      "managed_servers": [
      ],
      "db_repo_host": "localhost",
      "db_repo_port": "1521",
      "db_repo_sid": "xe",
      "db_repo_prefix": "DEMO",
      "db_repo_password": "welcome1"
    },
    "rcu-12c": {
      "db_schema_prefix": "DEMO",
      "db_dba_user": "SYS",
      "db_dba_role": "SYSDBA",
      "db_dba_password": "welcome1",
      "db_schemas_password": "welcome1",
      "db_hostname": "localhost",
      "db_port": "1521",
      "db_service": "xe",
      "components": [
        "SOAINFRA",
        "OPSS",
        "IAU",
        "MDS",
        "WLS",
        "UCSUMS",
        "IAU_APPEND",
        "IAU_VIEWER"
      ]
    }
  },
  "run_list" : [
    "recipe[oracle-fmw::install-bpm_qs-12c]",
    "recipe[oracle-fmw::create-rcu_repository-12c]",
    "recipe[oracle-fmw::create-domain-12c]"
  ]
}

Incluye la llamada a 3 recetas: “install-bpm_qs-12c” , “create-rcu_repository-12c”, “create-domain-12c”, incluyendo la información del dominio (“domain-12c”), y RCU (“rcu-12c”).

Este proceso toma cerca de 30 min. aprox.

Una vez finalizado, debe poder acceder con el usuario de sistema operativo “oracle-fmw” (password: welcome1), e iniciar el servidor:

Start server

Server started

Eso es todo :).