繁体   English   中英

当noop run-noop元参数不起作用时,改变行为吗?

[英]Alter the behaviour when noop runs-noop metaparameter doesn't work?

我有以下资源定义

 file { '/usr/lib/oozie/libext/hadoop-lzo-0.5.0.jar':
      ensure  => present,
      group   => 'root', 
      owner   => 'root', 
      source  => '/usr/lib/hadoop/lib/hadoop-lzo-0.5.0.jar',
      mode    => 0755,
      require => [Package['lzo'],Package['lzo-devel'],Package['hadoop-lzo'],Package['hadoop-lzo-native']],
    }

基本上将罐子仿制品复制到所需位置。 这里的问题是源代码定义,它指向通过安装这些软件包之一创建的位置。 当运行在空操作模式傀儡这个资源定义事业失败,因为没有这样的来源 - 什么是非常符合逻辑的。

有没有办法改变这种行为? 我不想跳过所有依赖项。 或提议的方法是什么? 我想避免将jar复制到modules文件。

我在这里找到了noop元参数和文档但似乎也无济于事。 因此资源规范如下所示:

file { '/usr/lib/oozie/libext/hadoop-lzo-0.5.0.jar':
      ensure  => present,
      group   => 'root', 
      owner   => 'root', 
      source  => '/usr/lib/hadoop/lib/hadoop-lzo-0.5.0.jar',
      mode    => 0755,
      noop    => false,
      require => [Package['lzo'],Package['lzo-devel'],Package['hadoop-lzo'],Package['hadoop-lzo-native']],
    }

我需要打开一些东西吗? 还是我误会了什么? 如何检测该模块以noop模式运行? 如果我想进行一些讨厌的修复。 如果没有然后跳过

谢谢

当客户端以noop模式运行时, $clientnoop事实为true,否则为false。

我不确定这是否是最好的解决方案,但是当$clientnoop为true时,您可以包括其他资源。 您的“空资源”可能是具有相同参数的文件资源,但源文件除外。 这样,仍然可以应用依赖于此文件的其他资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM