---
- name: check kubernetes cluster nodes kernel version
hosts: localhost
gather_facts: false
become: true
tasks:
- name: defind env
set_fact:
kernel_info_data: "{{ kernel_info_data| default([]) }}"
- name: add host info to list
set_fact:
server_info: "{{ hostinfo }}"
when: server_info is defined
- name: add check host to remote
add_host:
hostname: '{{ item.host }}'
ansible_user: '{{ item.user }}'
ansible_ssh_pass: '{{ item.password }}'
ansible_ssh_port: '{{ item.port }}'
groups: check_kernel{{ hostgroup }}
with_items: "{{ hostinfo }}"
no_log: true
- name: Gather Facts and Get Kernel Version
raw: uname -r
register: facts_result
delegate_to: "{{ item }}"
with_inventory_hostnames:
- check_kernel{{ hostgroup }}
- name: set version envs
set_fact:
lowest_version: "{{ '%.2f'| format(kernelVersion.split('-')[0]|float) }}"
highest_version: "{{ '%.2f'| format(kernelVersion.split('-')[1]|float) }}"
- name: debug msg kernel version
debug:
msg: "{{ lowest_version }} : {{ highest_version }}"
- name: Combining JSON check False data
set_fact:
kernel_info_data: "{{ kernel_info_data + [item.item] }}"
vars:
asbKer: "{{ '%.2f'| format(item.stdout_lines[0]| regex_replace('^(\\d+\\.\\d+).*', '\\1')|float) }}"
with_items: "{{ facts_result.results }}"
no_log: true
when: isCheck == true and asbKer < lowest_version or asbKer > highest_version
- name: check kernel version
debug:
msg: "{{ kernel_info_data|to_json }} 服务器内核版本检测失败! -> 请确保系统内核版本在: {{ 'V'+lowest_version+'-'+'V'+highest_version }}"
when: isCheck == true and kernel_info_data is defined and kernel_info_data|length > 0
- name: check kernel version
debug:
msg: "[PlatformResultWithJson] {\"kernel_result\": \"内核版本检测通过!\"}"
when: isCheck == false
- name: check kernel version success
debug:
msg: "[PlatformResultWithJson] {\"kernel_result\": \"内核版本检测通过!\"}"
when: isCheck == true and kernel_info_data|length <= 0
04-01
3183

04-22
1697

09-25
1097

07-16
5006

08-11
1541

06-19
2119
