title: MySQL Server - Puppet Labs module and Oracle Linux 7
body: <p>With the popular <a href="https://github.com/puppetlabs/puppetlabs-mysql" rel="nofollow noreferrer">MySQL server module</a> from Puppet Labs, it sets <code>$provider</code> to mariadb on Oracle Linux 7.x, which causes issues if I am not using Maria, but instead using Percona. The issue is in <code>params.pp</code>. I was wondering if there is a way to force the <code>$provider</code> to be mysql. I could try creating a symlink to <code>mariadb.log</code>, to get around this issue but it is ugly...</p>
  
  <p>Here's the code from <code>params.pp</code>:</p>
  
  <pre><code>case $::osfamily {
  'RedHat': {
    case $::operatingsystem {
      'Fedora': {
        if versioncmp($::operatingsystemrelease, '19') &gt;= 0 or $::operatingsystemrelease == 'Rawhide' {
          $provider = 'mariadb'
        } else {
          $provider = 'mysql'
        }
      }
      /^(RedHat|CentOS|Scientific|OracleLinux)$/: {
        if versioncmp($::operatingsystemmajrelease, '7') &gt;= 0 {
          $provider = 'mariadb'
        } else {
          $provider = 'mysql'
        }
      }
      default: {
        $provider = 'mysql'
      }
    }
  </code></pre>
  
  <p>Source: <a href="https://github.com/puppetlabs/puppetlabs-mysql/blob/master/manifests/params.pp" rel="nofollow noreferrer">https://github.com/puppetlabs/puppetlabs-mysql/blob/master/manifests/params.pp</a></p>
  
  <pre><code>Error: Could not set 'present' on ensure: No such file or directory @ rb_sysopen - /var/log/mariadb/mariadb.log at /[redacted]/modules/mysql/manifests/server/installdb.pp:25
  </code></pre>
  
  <p>Bsically, I am looking for a graceful workaround via Puppet over rides. But not experienced enough to know how to implement it. :(</p>
  
  <p>Thanks!</p>