查看Get puppet build to fail when the contained SQL script fails execution
我试图运行一个流浪汉版本,它在Ubuntu Virtualbox VM中安装Oracle XE,然后运行一个SQL脚本来初始化Oracle Schema。流浪汉的构建在这里:https://github.com/ajorpheus/vagrant-ubuntu-oracle-xe。 setup.sql作为oracle模块init.pp的一部分运行(位于底部或搜索'oracle-script')。
当作为vagrant构建的一部分运行SQL脚本时,我看到以下错误:
notice: /Stage[main]/Oracle::Xe/Exec[oracle-script]/returns: Error 6 initializing SQL*Plus
notice: /Stage[main]/Oracle::Xe/Exec[oracle-script]/returns: SP2-0667: Message file sp1<lang>.msb not found
notice: /Stage[main]/Oracle::Xe/Exec[oracle-script]/returns: SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
有两件事对我找到解决问题的方法起了作用:
答案 0 :(得分:0)
如果已设置某个配置文件以向用户提供可用的交互式shell,则应该能够通过此类shell传递操作
command => 'bash -i -c "<actual command>"'
关于logoutput,除了你提到的那样 - documentation建议&#34; on_failure&#34;是一个理智的默认值,因为它只会在存在要分析的实际错误时膨胀您的输出。它是Puppet的最新版本中的实际默认值。