85 lines
2.7 KiB
YAML
85 lines
2.7 KiB
YAML
---
|
|
# Copyright 2022 Red Hat, Inc.
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
- name: Overcloud Node kernel Ddp package select
|
|
hosts: allovercloud
|
|
any_errors_fatal: true
|
|
gather_facts: false
|
|
# 'ddp' is the OS-default package for all platforms
|
|
vars:
|
|
ddp_package: 'ddp'
|
|
pre_tasks:
|
|
- name: Wait for provisioned nodes to boot
|
|
wait_for_connection:
|
|
timeout: 600
|
|
delay: 10
|
|
connection: local
|
|
|
|
tasks:
|
|
- name: gather facts
|
|
setup:
|
|
- name: Apply user provided Ddp package
|
|
block:
|
|
- name: Get latest version of specified Ddp package(s)
|
|
shell: "ls --sort=version -r /lib/firmware/intel/ice/{{ ddp_package }}/ice[_-]?*.pkg*"
|
|
register: ddp_package_files
|
|
|
|
- name: List available ddp_package_files
|
|
debug:
|
|
var: ddp_package_files.stdout
|
|
|
|
- name: Remove existing Ddp package
|
|
become: true
|
|
block:
|
|
- name: Check if previous ddp/ice.pkg exists
|
|
stat:
|
|
path: "/lib/firmware/intel/ice/ddp/ice.pkg"
|
|
register: ice_pkg
|
|
- name: Remove ddp/ice.pkg if it exists
|
|
file:
|
|
path: "/lib/firmware/intel/ice/ddp/ice.pkg"
|
|
state: absent
|
|
when: ice_pkg.stat.exists
|
|
- name: Check if ddp/ice.pkg.xz exists(rhel9)
|
|
stat:
|
|
path: "/lib/firmware/intel/ice/ddp/ice.pkg.xz"
|
|
register: ice_pkg_xz
|
|
- name: Remove ddp/ice.pkg.xz if it exists
|
|
file:
|
|
path: "/lib/firmware/intel/ice/ddp/ice.pkg.xz"
|
|
state: absent
|
|
when: ice_pkg_xz.stat.exists
|
|
|
|
- name: Select and deploy Ddp package
|
|
become: true
|
|
block:
|
|
- name: Confiure ddp/ice.pkg
|
|
vars:
|
|
ddp_package_file: "{{ ddp_package_files.stdout.split('\n')[0] }}"
|
|
file:
|
|
src: '{{ ddp_package_file }}'
|
|
dest: "/lib/firmware/intel/ice/ddp/ice.pkg.xz"
|
|
state: link
|
|
when: (ddp_package|string) != ''
|
|
|
|
- name: Load the new ice package
|
|
shell: |-
|
|
dracut -f
|
|
rmmod ice
|
|
modprobe ice
|
|
when: ddp_package_files is defined
|
|
|
|
when: ddp_package|string != ""
|