我正在安装具有不同盐状态的OpenJDK8和OpenJFX(一种用于Java安装,一种用于JFX)。我正在通过将tar文件提取到Java文件夹来安装OpenJFX。在我的状态下,我正在运行cmd.run模块来获取Java路径并将其作为Jinja变量插入。
问题是,当我执行state.apply
时,salt开始呈现所有状态,这是因为尚未(尚未)安装Java并且Jinja变量获取了“可以”命令“哪个”的标准输出。找不到Java(因为尚未安装Java)。
有人知道在Java状态完成运行后如何强制Salt呈现特定状态吗?
还是我应该做些其他事情?
{%- set os_family = salt['grains.get']('os_family') %}
{% set ver = salt['pillar.get']('openjfx:ver') %}
{% set source = salt['pillar.get']('openjfx:source') %}
########################### The problem starts here #######################
{% set installpath = salt['cmd.shell']('readlink -f $(which java) | rev |
cut -d "/" -f4- | rev') %}