Tuesday, September 19, 2017

Subject: Puppet RubyIO.java error
======================================================================
The following is a letter to a friend on a Puppet issue.

Friend,
Swapping some insomnia for Puppet skills, I hit an error that google didn't solve.  It seems "RubyIO.java" errors can occur on the client when the file (i.e. /downloads/rdbms_1201.dbt.erb) needs to live on the Puppet Master--hope this helps.

Regards,
Jim


PROBLEM:
On the puppet client/target:
#root$ puppet agent -t
Notice: Local environment: 'production' doesn't match server specified node environment 'orardbms', switching agent to 'orardbms'.
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Failed to parse template /downloads/rdbms_12102.dbt.erb:
 Filepath: org/jruby/RubyIO.java
 Line: 3804
 Detail: No such file or directory - /downloads/rdbms_12102.dbt.erb
at /etc/puppetlabs/code/modules/oradb/manifests/database.pp:136:18 at /etc/puppetlabs/code/environments/orardbms/modules/linode3/manifests/prereq.pp:290 on node li1059-248.members.linode.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
#root$ ls -l /downloads/rdbms_12102.dbt.erb

SOLUTION:
The biemond module is trying to read "/downloads" on the master, not the client where that last "ls -l  /downloads/rdbms_12102.dbt.erb" is being executed.  Create the template on the Puppet master, then run "puppet agent -t" again on the client.

This is the call to biemond's code:
     oradb::database{ 'testDb_Create':
     oracle_base               => '/u01/app/oracle',
     oracle_home               => '/u01/app/oracle/product/12.1.0/db_1',
     version                   => '12.1',
     user                      => 'oracle',
     group                     => 'dba',
 #    template                  => 'dbtemplate_12.1', # this will use dbtemplate_12.1.dbt.erb example template
     template                  => 'dbtemplate_12.1.0.2',
     download_dir              => '/u01/app/install',  # This path is on the MASTER!!!
     action                    => 'create',
     db_name                   => 'test1',
     db_domain                 => 'members.linode.com',
     db_port                   => 1521,
     sys_password              => 'Welcome01',
     system_password           => 'Welcome01',
     data_file_destination     => '/u01/app/oracle/oradata/data01',
     recovery_area_destination => '/u01/app/oracle/oradata/fra01',
     character_set             => 'AL32UTF8',
     nationalcharacter_set     => 'UTF8',
     memory_percentage         => 40,
     memory_total              => 800,
     puppet_download_mnt_point => '/u01/app/install',
     require                   => [ Db_listener['start listener'],
                          File['/u01/app/install/dbtemplate_12.1.0.2.dbt.erb'], ],
   }

No comments:

Post a Comment