e65996b878
OSP, the downstream version of tripleo have to enforce some policies for rhel version and subscribed channel. This module hosts hoses requirements, so that we prevent update to wrong rhel release or subscription to wrong channels. Currently it only implements a basic check to the subscribed rhel version. This check has some fail-safe logic to avoid crashing the update on temporary network issue when running subscription-manager. We are avoiding the validation framework as this can be easily disabled and we want this enforcement to be mandatory as this could lead user to unsupported combination of OSP/RHEL. For upstream that change is transparent as the tasks are skipped if the ansible_distribution is not Red Hat. For Red Hat, there will be a mechanism in THT to avoid the check altogether, for instance for CI purposes. For this first check (RHEL/OSP version), downstream patches will add the required values in vars/redhat.yml. Change-Id: I2d1ac92ee6ee8407fb156a2718f94ad3e9220bbe
37 lines
1.2 KiB
YAML
37 lines
1.2 KiB
YAML
---
|
|
# Copyright 2020 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.
|
|
|
|
|
|
# "tripleo_redhat_enforce" will search for and load any operating system variable file
|
|
|
|
# found within the "vars/" path. If no OS files are found the task
|
|
# will skip.
|
|
|
|
# Note that using "skip: true" is deprecated, but "errors: ignore"
|
|
# fails on 2.8 with include_vars.
|
|
- name: Gather variables for each operating system
|
|
include_vars: "{{ include_file }}"
|
|
when:
|
|
- include_file is exists
|
|
vars:
|
|
include_file: "{{ role_path }}/vars/{{ ansible_distribution | lower }}.yml"
|
|
tags:
|
|
- always
|
|
|
|
- include_tasks: enforce_release.yml
|
|
name: Enforce RHEL/OSP version pair
|
|
when: tripleo_redhat_enforce|bool
|