Overview

Table of Contents

General

We strive to keep all of your puppet code working throughout any changes we make to our modules. When there is a path-level update of the version, that is ALWAYS the case. On minor version updates, the module contains either new facts, classes, defined types of functions, or the existing facts classes, defined types or functions accept new parameters and/or properties. Still in this case, your current Puppet code should work without any changes.

However, on major versions, some adjustments to your Puppet code might be required.

Version 6 release notes

With the transition from version 5 to version 6, we have made the following changes that are not backward compatible:

  • Structure of the facts
  • Removed deprecated parameters remote_file and log_output
  • Removed deprecated types opatch and bsu_patch

besides these changes, we have also added facter caching, to speed up Puppet runs.

structure of facts

In facter version 4 facter supports caching. To efficiently use the fact caching, however we had to restructure the facts, making them incompatible with the older facts. The old facts were structured like this:

  "ora_install_homes": {
    "/u01/app/oracle/product/19.0.0.0/db_home1": {
      "product_version": {
          "name": "OraDB19Home1",
          "os_user": "oracle",
          "version": "19.0.0.0.0"
        }
      },
      "opatch_version": "12.2.0.1.23",
      "installed_patches": [
        "32218454",
        "32222571"
      ],
      "defined_sids": [
        "CNTNR"
      ],
      "running_processes": {
        "sids": {
          "CNTNR": {
            "open_mode": "READ_WRITE",
            "database_role": "PRIMARY"
          }
        },
        "listeners": [
          "LISTENER"
        ]
      }
    }
  },

The new facts are structured like this:

json { { "ora_install_homes": { "defined_sids": { "/u01/app/oracle/product/19.0.0.0/db_home1": [ "CNTNR" ] }, "installed_patches": { "/u01/app/oracle/product/19.0.0.0/db_home1": [ "32218454", "32222571" ] }, "opatch_version": { "/u01/app/oracle/product/19.0.0.0/db_home1": "12.2.0.1.23" }, "product_version": { "/u01/app/oracle/product/19.0.0.0/db_home1": { "name": "OraDB19Home1", "os_user": "oracle", "version": "19.0.0.0.0" } }, "running_processes": { "/u01/app/oracle/product/19.0.0.0/db_home1": { "listeners": [ "LISTENER" ], "sids": { "CNTNR": { "database_role": "PRIMARY", "open_mode": "READ_WRITE" } } } } } }

As you can see, we have changed from having the oracle home as top-level, from having the functionality (e.g. installed_patches, defined_sids etc) as top-level and the oracle home as key for the values.

We have updated all of the functions and Puppet code in ora_install to this new structure. If you have created your own functions or Puppet code that uses this fact, you will have to change it to the new structure.

Removed deprecated parameters remote_file and log_output

The parameter remote_file has been deprecated and non-functional for long time. The log_output has already been superseded by the logoutput parameter for a long time, making the log_output parameter deprecated.

When you use these parameters, you need to apply the following changes to your puppet code:

  • remove all references to remote_file
  • change the log_output parameter to logoutput

Facter caching

For some of the larger installations, resolving some of the ora_install facts can be very time-consuming. Puppet added facter caching to Facter version 4. To ensure backward compatibility, by default facter caching is disabled. So this should not cause any problems.

If you want to start using fact caching checkout the documentation here

Experience the Power of Puppet for Oracle

If you want to play and experiment with Puppet and Oracle, please take a look at our playgrounds. At our playgrounds, we provide you with a pre-installed environment, where you experiment fast and easy.