Аналитическая динамическая инвентаризация для запуска контрольной суммы на модуле ядра удаленного хоста - PullRequest
0 голосов
/ 24 октября 2019

Team,

У меня есть задача, в которой перечислены имена хостов, и мне нужно использовать эти имена хостов и запустить проверку контрольной суммы модулей ядра Linux. Новичок в этом, какой-нибудь намек, пожалуйста?

task:

      - name: "Pull NodeName with Kernel Version"
        set_fact:
          nodes_kernelversion: "{{ gpu_node_list | json_query(query) }}"
        vars:
          query: 'resources[].{node_name: metadata.name, nodeType: status.nodeInfo.kernelVersion}'
      - debug:
          var: nodes_kernelversion

      - name: "uname on all hosts "
        shell: ssh -F {{ ssh_cfg_path.stdout }} {{ item.node_name }}.{{ ssh_host }} "uname -a"
        ignore_errors: no
        with_items: "{{ nodes_kernelversion }}"

Выше работает нормально: Теперь я хочу запустить задачу ниже на всех хостах, которые я нашел выше.

- name: verify if kernel modules exists
        stat:
          path: /lib/modules/{{ kernel_version }}/kernel/{{ item.dir }}/{{ item.module_name }}
          checksum_algorithm: sha1
        register: res
        failed_when: res.stat.checksum != item.sha1
        with_items:
          - { dir: fs/fscache, module_name: fscache.ko, sha1: "{{ checksum.fscache }}"  }
          - { dir: fs/cachefiles, module_name: cachefiles.ko, sha1: "{{ checksum.cachefiles }}" }
          - { dir: fs/isofs, module_name: isofs.ko, sha1: "{{ checksum.isofs }}" }
          - { dir: drivers/target , module_name: target_core_user.ko, sha1: "{{ checksum.target_core_user }}" }
          - { dir: drivers/target/loopback , module_name: tcm_loop.ko, sha1: "{{ checksum.tcm_loop }}" }

     - fail:
          msg: "FAILED TO FIND {{ item.item }}"
        with_items: "{{ res.results }}"
        when: item.stat.exists == False

вывод:

ok: [target1] => {
    "nodes_kernelversion": [
        {
            "nodeType": "4.15.0-45-generic",
            "node_name": "node1"
        },
        {
            "nodeType": "4.15.0-45-generic",
            "node_name": "node2"
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...