使用“ extra_opt:-j”取消不具有第一级目录的zip文件的存档任务在Centos7.5服务器中失败,并且在Centos7.3中工作

时间:2019-04-02 23:51:29

标签: ansible

我有一个ansible-role,它的任务是在没有第一级目录的情况下解压缩.zip文件。

Ansible-task:

- name: Cryptography support - download & unarchive jce_policy-8.zip
  unarchive:
    extra_opts: -j
    src: https://###.nexus.###.com/repository/oracle_jdk/java/jce/8/jce_policy-8.zip
    dest: "{{java_cryptography_path}}"
    remote_src: yes
  tags:
    - cryptography

哪里

{{java_cryptography_path}}= /usr/java/default/jre/lib/security/

此操作在蔚蓝云实例上的Centos7.5服务器上失败,但在开放堆栈云实例上的Centos7.3服务器上成功

这是冗长的警告

The full traceback is:
WARNING: The below traceback may *not* be related to the actual failure.
  File "/tmp/ansible_unarchive_payload_KHaxre/ansible_unarchive_payload.zip/ansible/module_utils/basic.py", line 1071, in selinux_context
    ret = selinux.lgetfilecon_raw(to_native(path, errors='surrogate_or_strict'))

有人可以帮我这个忙吗?谢谢!

1 个答案:

答案 0 :(得分:0)

在调试后找出问题。认为将其分享给遇到类似问题的人可能会有所帮助。

这是ansible unarchive.py模块的编写方式。由于我尝试配置的远程服务器具有selinux: enabled,因此tt失败。我们需要做的就是按照您的组织规则暂时或永久禁用它。

在ansible文档中有一个示例任务。 docs.ansible.com/ansible/latest/modules/selinux_module.html

我们也应该reboot selinux is disabled一次pkg_resources.DistributionNotFound: pip==6.1.1 。在ansible文档中也有一些示例,docs.ansible.com / ansible / latest / modules / reboot_module.html