RHCE之路--12生成硬件报告

RHCE之路–12生成硬件报告

1. 考题

RHCE之路–12生成硬件报告
创建一个名为 /home/student/ansible/hwreport.yml 的 playbook ,它将在所有受管节点上生成
含有以下信息的输出文件 /root/hwreport.txt :

  • 清单主机名称
  • 以 MB 表示的总内存大小
  • BIOS 版本
  • 磁盘设备 vda 的大小
  • 磁盘设备 vdb 的大小

输出文件中的每一行含有一个 key=value 对
您的 playbook 应当:
从 http://materials.example.com/cd/exam_rhce8/hwreport.empty 下载文件,并将它保存为 /root/hwreport.txt
使用正确的值改为 /root/hwreport.txt,如果硬件项不存在,相关的值应设为 NONE

2. 解题

vi  /home/student/ansible/hwreport.yml

2.1 方法1:

---
- name: 11
  hosts: all

  tasks:
    - name: get url
      get_url:
        url: http://materials.example.com/cd/exam_rhce8/hwreport.empty
        dest: /root/hwreport.txt
    - name: HOSTNAME
      lineinfile:
        path: /root/hwreport.txt
        regexp: '^HOSTNAME'
        line: HOSTNAME="{
    
    { ansible_fqdn }}"
    - name: MEMORY
      lineinfile:
        path: /root/hwreport.txt
        regexp: '^MEMORY'
        line: MEMORY="{
    
    { ansible_memtotal_mb }}"
    - name: BIOS_VERSION
      lineinfile:
        path: /root/hwreport.txt
        regexp: '^BIOS_VERSION'
        line: BIOS_VERSION="{
    
    { ansible_bios_version }}"
    - name: VDASIZE
      lineinfile:
        path: /root/hwreport.txt
        regexp: '^VDASIZE'
        line: VDASIZE="{
    
    { ansible_devices.vda.size }}"
    - name: VDBSIZE
      lineinfile:
        path: /root/hwreport.txt
        regexp: '^VDBSIZE'
        line: VDBSIZE="{
    
    { ansible_devices.vdb.size | default('NONE',true) }}"

2.2 方法2:

---
- name: 11
  hosts: all
  vars:
    hw:
      - hw_key: HOSTNAME
        hw_val: "{
    
    { ansible_fqdn }}"
      - hw_key: MEMORY
        hw_val: "{
    
    { ansible_memtotal_mb }}"
      - hw_key: BIOS_VERSION
        hw_val: "{
    
    { ansible_bios_version }}"
      - hw_key: VDASIZE
        hw_val: "{
    
    { ansible_devices.vda.size }}"
      - hw_key: VDBSIZE
        hw_val: "{
    
    { ansible_devices.vdb.size | default('NONE',true) }}"

  tasks:
    - name: get url
      get_url:
        url: http://materials.example.com/cd/exam_rhce8/hwreport.empty
        dest: /root/hwreport.txt
    - name: sed
      lineinfile:
        path: /root/hwreport.txt
        regexp: "^{
    
    { item.hw_key }}"
        line: "{
    
    { item.hw_key }}={
    
    { item.hw_val }}"
      loop: "{
    
    { hw }}"

3. 确认本题是否成功

ansible-playbook /home/student/ansible/hwreport.yml

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_29974229/article/details/125365380