9 Commits

Author SHA1 Message Date
matt
b5399283a1 try this 2025-07-11 16:06:24 -06:00
matt
b9054543cb syntax issue 2025-07-11 16:03:16 -06:00
matt
beb47d4f8e attempt to fix annoying snapshot/inventory sync issue with CNV 2025-07-11 16:00:06 -06:00
Chris Edillon
a7b79faf34 Refer to bootstrap repo for initial APD setup (#257) 2025-07-09 13:07:17 -06:00
Chris Edillon
af7d93fcdb Improve compliance report firewalld conditional (#253)
Co-authored-by: Matthew Fernandez <l3acon@users.noreply.github.com>
2025-06-25 14:00:29 -06:00
Matthew Fernandez
0634643f21 Fix AWS groups (#255) 2025-06-25 13:06:49 -04:00
Todd Ruch
db97b38fbc Resolve parameter failure in Windows "Create some users" task (#250) 2025-06-20 14:38:08 -04:00
Chris Edillon
7468d14a98 support building multi-arch EE image (#249)
Co-authored-by: Matthew Fernandez <l3acon@users.noreply.github.com>
2025-06-18 16:49:04 -04:00
Matthew Fernandez
8a70edbfdc Attempt galaxy workaround (#252)
this will eventually be re-worked to put roles in our EE
2025-06-17 10:00:20 -06:00
16 changed files with 170 additions and 221 deletions

View File

@@ -1,6 +1,6 @@
# GitHub Actions # GitHub Actions
## Background ## Background
We want to make attempts to run our integration tests in the same manner wether using GitHub actions or on a developers's machine locally. For this reason, the tests are curated to run using conatiner images. As of this writing, two images exist which we would like to test against: We want to make attempts to run our integration tests in the same manner wether using GitHub actions or on a developers's machine locally. For this reason, the tests are curated to run using container images. As of this writing, two images exist which we would like to test against:
- quay.io/ansible-product-demos/apd-ee-24:latest - quay.io/ansible-product-demos/apd-ee-24:latest
- quay.io/ansible-product-demos/apd-ee-25:latest - quay.io/ansible-product-demos/apd-ee-25:latest

1
.gitignore vendored
View File

@@ -13,3 +13,4 @@ roles/*
.cache/ .cache/
.ansible/ .ansible/
**/tmp/ **/tmp/
execution_environments/context/

View File

@@ -1,10 +1,9 @@
[![Lab](https://img.shields.io/badge/Try%20Me-EE0000?style=for-the-badge&logo=redhat&logoColor=white)](https://red.ht/aap-product-demos)
[![Dev Spaces](https://img.shields.io/badge/Customize%20Here-0078d7.svg?style=for-the-badge&logo=visual-studio-code&logoColor=white)](https://workspaces.openshift.com/f?url=https://github.com/ansible/product-demos)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Dev Spaces](https://img.shields.io/badge/Customize%20Here-0078d7.svg?style=for-the-badge&logo=visual-studio-code&logoColor=white)](https://workspaces.openshift.com/f?url=https://github.com/ansible/product-demos)
# Official Ansible Product Demos # APD - Ansible Product Demos
This is a centralized location for Ansible Product Demos. This project is a collection of use cases implemented with Ansible for use with the [Ansible Automation Platform](https://www.redhat.com/en/technologies/management/ansible). The Ansible Product Demos (APD) project is a set of Ansible demos that are deployed using [Red Hat Ansible Automation Platform](https://www.redhat.com/en/technologies/management/ansible). It uses configuraton-as-code to create AAP resources such as projects, templates, and credentials that form the basis for demonstrating automation use cases in several technology domains:
| Demo Name | Description | | Demo Name | Description |
|-----------|-------------| |-----------|-------------|
@@ -15,54 +14,21 @@ This is a centralized location for Ansible Product Demos. This project is a coll
| [OpenShift](openshift/README.md) | OpenShift automation demos | | [OpenShift](openshift/README.md) | OpenShift automation demos |
| [Satellite](satellite/README.md) | Demos of automation with Red Hat Satellite Server | | [Satellite](satellite/README.md) | Demos of automation with Red Hat Satellite Server |
## Contributions
If you would like to contribute to this project please refer to [contribution guide](CONTRIBUTING.md) for best practices.
## Using this project ## Using this project
This project is tested for compatibility with the [demo.redhat.com Ansible Product Demos](https://demo.redhat.com/catalog?search=product+demos&item=babylon-catalog-prod%2Fopenshift-cnv.aap-product-demos-cnv.prod) lab environment. To use with other Ansible Automation Platform installations, review the [prerequisite documentation](https://github.com/ansible/product-demos-bootstrap). Use the [APD bootstrap](https://github.com/ansible/product-demos-bootstrap) repo to add APD to an existing Ansible Automation Platform deployment. The bootstrap repo provides the initial manual prerequisite steps as well as a playbook for adding APD to the existing deployment.
> NOTE: demo.redhat.com is available to Red Hat Associates and Partners with a valid account. For Red Hat associates and partners, there is an Ansible Product Demos catalog item [available on demo.redhat.com](https://red.ht/apd-sandbox) (account required).
1. First you must create a credential for [Automation Hub](https://console.redhat.com/ansible/automation-hub/) to successfully sync collections used by this project.
1. In the Credentials section of the Controller UI, add a new Credential called `Automation Hub` with the type `Ansible Galaxy/Automation Hub API Token`
2. You can obtain a token [here](https://console.redhat.com/ansible/automation-hub/token). This page will also provide the Server URL and Auth Server URL.
3. Next, click on Organizations and edit the `Default` organization. Add your `Automation Hub` credential to the `Galaxy Credentials` section. Don't forget to click **Save**!!
> You can also use an execution environment for disconnected environments. To do this, you must disable collection downloads in the Controller. This can be done in `Settings` > `Job Settings`. This setting prevents the controller from downloading collections listed in the [collections/requirements.yml](collections/requirements.yml) file.
2. If it is not already created for you, add an Execution Environment called `product-demos`
- Name: product-demos
- Image: quay.io/acme_corp/product-demos-ee:latest
- Pull: Only pull the image if not present before running
3. If it is not already created for you, create a Project called `Ansible Product Demos` with this repo as a source. NOTE: if you are using a fork, be sure that you have the correct URL. Update the project.
4. Finally, Create a Job Template called `Setup` with the following configuration:
- Name: Setup
- Inventory: Demo Inventory
- Exec Env: product-demos
- Playbook: setup_demo.yml
- Credentials:
- Type: Red Hat Ansible Automation Platform
- Name: Controller Credential
- Extra vars:
demo: <linux or windows or cloud or network>
## Bring Your Own Demo ## Bring Your Own Demo
Can't find what you're looking for? Customize this repo to make it your own. Can't find what you're looking for? Customize this repo to make it your own.
1. Create a fork of this repo. 1. Create a fork of this repo.
2. Update the URL of the `Ansible Project Demos` in the Controller. 2. Update the URL of the `Ansible Project Demos` project your Ansible Automation Platform controller.
3. Make changes as needed and run the **Product Demos | Single demo setup** job 3. Make changes to your fork as needed and run the **Product Demos | Single demo setup** job
See the [contribution guide](CONTRIBUTING.md) for more details on how to customize the project. See the [contributing guide](CONTRIBUTING.md) for more details on how to customize the project.
--- ---

View File

@@ -44,14 +44,13 @@ controller_inventory_sources:
- tag:Name - tag:Name
compose: compose:
ansible_host: public_ip_address ansible_host: public_ip_address
ansible_user: 'ec2-user' ansible_user: ec2-user
groups: groups:
cloud_aws: true cloud_aws: true
os_linux: tags.blueprint.startswith('rhel') os_linux: "platform_details == 'Red Hat Enterprise Linux'"
os_windows: tags.blueprint.startswith('win') os_windows: "platform_details == 'Windows'"
keyed_groups: keyed_groups:
- key: platform
prefix: os
- key: tags.blueprint - key: tags.blueprint
prefix: blueprint prefix: blueprint
- key: tags.owner - key: tags.owner
@@ -62,6 +61,7 @@ controller_inventory_sources:
prefix: deployment prefix: deployment
- key: tags.Compliance - key: tags.Compliance
separator: '' separator: ''
controller_groups: controller_groups:
- name: cloud_aws - name: cloud_aws
inventory: Demo Inventory inventory: Demo Inventory

View File

@@ -1 +0,0 @@
openshift-clients-4.16.0-202408021139.p0.ge8fb3c0.assembly.stream.el9.x86_64.rpm filter=lfs diff=lfs merge=lfs -text

View File

@@ -1,17 +1,16 @@
# Execution Environment Images for Ansible Product Demos # Execution Environment Images for Ansible Product Demos
When the Ansible Product Demos setup job template is run, it creates a number of execution environment definitions on the automation controller. The content of this directory is used to create and update the default execution environment images defined during the setup process. When the Ansible Product Demos setup job template is run, it creates a number of execution environment definitions on the automation controller. The content of this directory is used to create and update the default APD execution environment images defined during the setup process, [quay.io/ansible-product-demos/apd-ee-25](quay.io/ansible-product-demos/apd-ee-25).
Currently these execution environment images are created manually using the `build.sh` script, with a future goal of building in a CI pipeline when any EE definitions or requirements are updated. Currently the execution environment image is created manually using the `build.sh` script, with a future goal of building in a CI pipeline when the EE definition or requirements are updated.
## Building the execution environment images ## Building the execution environment images
1. `podman login registry.redhat.io` in order to pull the base EE images 1. `podman login registry.redhat.io` in order to pull the base EE images
2. `export ANSIBLE_GALAXY_SERVER_CERTIFIED_TOKEN="<token>"` obtained from [Automation Hub](https://console.redhat.com/ansible/automation-hub/token) 2. `export ANSIBLE_GALAXY_SERVER_CERTIFIED_TOKEN="<token>"` obtained from [Automation Hub](https://console.redhat.com/ansible/automation-hub/token)
3. `export ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN="<token>"` (same as above) 3. `export ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN="<token>"` (same token as above)
4. `./build.sh` to build the EE images and add them to your local podman image cache 4. `./build.sh` to build the EE image
The `build.sh` script creates multiple EE images, each based on the ee-minimal image that comes with a different minor version of AAP. These images are created in the "quay.io/ansible-product-demos" namespace. Currently the script builds the following images: The `build.sh` script creates a multi-architecture EE image for the amd64 (x86_64) and arm64 (aarch64) platforms. It does so by creating the build context using `ansible-builder create`, then creating a podman manifest definition and building an EE image for each supported platform.
* quay.io/ansible-product-demos/apd-ee-24 NOTE: Podman will use qemu to emulate the non-native architecture at build time, so the build must be performed on a system which includes the qemu-user-static package. Builds have only been tested on MacOS using podman-desktop with the native Fedora-based podman machine.
* quay.io/ansible-product-demos/apd-ee-25

View File

@@ -1,32 +0,0 @@
---
version: 3
images:
base_image:
name: registry.redhat.io/ansible-automation-platform-24/ee-minimal-rhel9:latest
dependencies:
galaxy: requirements.yml
additional_build_files:
# https://access.redhat.com/solutions/7024259
# download from access.redhat.com -> Downloads -> OpenShift Container Platform -> Packages
- src: openshift-clients-4.16.0-202408021139.p0.ge8fb3c0.assembly.stream.el9.x86_64.rpm
dest: rpms
- src: ansible.cfg
dest: configs
options:
package_manager_path: /usr/bin/microdnf
additional_build_steps:
prepend_base:
- RUN $PYCMD -m pip install --upgrade pip setuptools
- COPY _build/rpms/openshift-clients*.rpm /tmp/openshift-clients.rpm
- RUN $PKGMGR -y update && $PKGMGR -y install bash-completion && $PKGMGR clean all
- RUN rpm -ivh /tmp/openshift-clients.rpm && rm /tmp/openshift-clients.rpm
prepend_galaxy:
- ADD _build/configs/ansible.cfg /etc/ansible/ansible.cfg
- ARG ANSIBLE_GALAXY_SERVER_CERTIFIED_TOKEN
- ARG ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN
...

View File

@@ -4,7 +4,7 @@ images:
base_image: base_image:
name: registry.redhat.io/ansible-automation-platform-25/ee-minimal-rhel9:latest name: registry.redhat.io/ansible-automation-platform-25/ee-minimal-rhel9:latest
dependencies: dependencies:
galaxy: requirements-25.yml galaxy: requirements.yml
system: system:
- python3.11-devel [platform:rpm] - python3.11-devel [platform:rpm]
python: python:
@@ -13,10 +13,6 @@ dependencies:
python_path: /usr/bin/python3.11 python_path: /usr/bin/python3.11
additional_build_files: additional_build_files:
# https://access.redhat.com/solutions/7024259
# download from access.redhat.com -> Downloads -> OpenShift Container Platform -> Packages
- src: openshift-clients-4.16.0-202408021139.p0.ge8fb3c0.assembly.stream.el9.x86_64.rpm
dest: rpms
- src: ansible.cfg - src: ansible.cfg
dest: configs dest: configs
@@ -25,16 +21,17 @@ options:
additional_build_steps: additional_build_steps:
prepend_base: prepend_base:
# AgnosticD can use this to deterine it is running from an EE - ARG OPENSHIFT_CLIENT_RPM
# see https://github.com/redhat-cop/agnosticd/blob/development/ansible/install_galaxy_roles.yml
- ENV LAUNCHED_BY_RUNNER=1
- RUN $PYCMD -m pip install --upgrade pip setuptools - RUN $PYCMD -m pip install --upgrade pip setuptools
- COPY _build/rpms/openshift-clients*.rpm /tmp/openshift-clients.rpm
- RUN $PKGMGR -y update && $PKGMGR -y install bash-completion && $PKGMGR clean all - RUN $PKGMGR -y update && $PKGMGR -y install bash-completion && $PKGMGR clean all
- RUN rpm -ivh /tmp/openshift-clients.rpm && rm /tmp/openshift-clients.rpm # microdnf doesn't support URL or local file paths to RPMs, use rpm as a workaround
- RUN curl -o /tmp/openshift-clients.rpm $OPENSHIFT_CLIENT_RPM && rpm -Uvh /tmp/openshift-clients.rpm && rm -f /tmp/openshift-clients.rpm
prepend_galaxy: prepend_galaxy:
- ADD _build/configs/ansible.cfg /etc/ansible/ansible.cfg - ADD _build/configs/ansible.cfg /etc/ansible/ansible.cfg
- ARG ANSIBLE_GALAXY_SERVER_CERTIFIED_TOKEN - ARG ANSIBLE_GALAXY_SERVER_CERTIFIED_TOKEN
- ARG ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN - ARG ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN
append_final:
- RUN curl -o /etc/yum.repos.d/hasicorp.repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo &&
microdnf install -y terraform
... ...

View File

@@ -1,29 +1,61 @@
#!/bin/bash #!/bin/bash
# array of images to build if [[ -z $ANSIBLE_GALAXY_SERVER_CERTIFIED_TOKEN || -z $ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN ]]
ee_images=( then
"apd-ee-24" echo "A valid Automation Hub token is required, Set the following environment variables before continuing"
"apd-ee-25" echo "export ANSIBLE_GALAXY_SERVER_CERTIFIED_TOKEN=<token>"
) echo "export ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN=<token>"
exit 1
fi
for ee in "${ee_images[@]}" # log in to pull the base EE image
if ! podman login --get-login registry.redhat.io > /dev/null
then
echo "Run 'podman login registry.redhat.io' before continuing"
exit 1
fi
# create EE definition
rm -rf ./context/*
ansible-builder create \
--file apd-ee-25.yml \
--context ./context \
-v 3 | tee ansible-builder.log
# remove existing manifest if present
_tag=$(date +%Y%m%d)
podman manifest rm quay.io/ansible-product-demos/apd-ee-25:${_tag}
# create manifest for EE image
podman manifest create quay.io/ansible-product-demos/apd-ee-25:${_tag}
# for the openshift-clients RPM, microdnf doesn't support URL-based installs
# and HTTP doesn't support file globs for GETs, use multiple steps to determine
# the correct RPM URL for each machine architecture
for arch in amd64 arm64
do do
echo "Building EE image ${ee}" _baseurl=https://mirror.openshift.com/pub/openshift-v4/${arch}/dependencies/rpms/4.18-el9-beta/
_rpm=$(curl -s ${_baseurl} | grep openshift-clients-4 | grep href | cut -d\" -f2)
# build EE image # build EE for multiple architectures from the EE context
ansible-builder build \ pushd ./context/ > /dev/null
--file ${ee}.yml \ podman build --platform linux/${arch} \
--context ./ee_contexts/${ee} \ --build-arg ANSIBLE_GALAXY_SERVER_CERTIFIED_TOKEN \
--build-arg ANSIBLE_GALAXY_SERVER_CERTIFIED_TOKEN \ --build-arg ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN \
--build-arg ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN \ --build-arg OPENSHIFT_CLIENT_RPM="${_baseurl}${_rpm}" \
-v 3 \ --manifest quay.io/ansible-product-demos/apd-ee-25:${_tag} . \
-t quay.io/ansible-product-demos/${ee}:$(date +%Y%m%d) | tee podman-build-${arch}.log
popd > /dev/null
if [[ $? == 0 ]]
then
# tag EE image as latest
podman tag \
quay.io/ansible-product-demos/${ee}:$(date +%Y%m%d) \
quay.io/ansible-product-demos/${ee}:latest
fi
done done
# inspect manifest content
#podman manifest inspect quay.io/ansible-product-demos/apd-ee-25:${_tag}
# tag manifest as latest
#podman tag quay.io/ansible-product-demos/apd-ee-25:${_tag} quay.io/ansible-product-demos/apd-ee-25:latest
# push all manifest content to repository
# using --all is important here, it pushes all content and not
# just the native platform content
#podman manifest push --all quay.io/ansible-product-demos/apd-ee-25:${_tag}
#podman manifest push --all quay.io/ansible-product-demos/apd-ee-25:latest

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f637eb0440f14f1458800c7a9012adcb9b58eb2131c02f64dfa4ca515e182093
size 54960859

View File

@@ -1,77 +0,0 @@
---
collections:
# AAP config as code
- name: ansible.controller
version: ">=4.6.0"
# TODO this fails trying to install a different version of
# the python-systemd package
# - name: ansible.eda # fails trying to install systemd-python package
# version: ">=2.1.0"
- name: ansible.hub
version: ">=1.0.0"
- name: ansible.platform
version: ">=2.5.0"
- name: infra.ah_configuration
version: ">=2.0.6"
- name: infra.controller_configuration
version: ">=2.11.0"
# linux demos
- name: ansible.posix
version: ">=1.5.4"
- name: community.general
version: ">=8.0.0"
- name: containers.podman
version: ">=1.12.1"
- name: redhat.insights
version: ">=1.2.2"
- name: redhat.rhel_system_roles
version: ">=1.23.0"
# windows demos
- name: microsoft.ad
version: "1.9"
- name: ansible.windows
version: ">=2.3.0"
- name: chocolatey.chocolatey
version: ">=1.5.1"
- name: community.windows
version: ">=2.2.0"
# cloud demos
- name: amazon.aws
version: ">=7.5.0"
# satellite demos
- name: redhat.satellite
version: ">=4.0.0"
# network demos
- name: ansible.netcommon
version: ">=6.0.0"
- name: cisco.ios
version: ">=7.0.0"
- name: cisco.iosxr
version: ">=8.0.0"
- name: cisco.nxos
version: ">=7.0.0"
- name: network.backup
version: ">=3.0.0"
# TODO on 2.5 ee-minimal-rhel9 this tries to build and install
# a different version of python netifaces, which fails
# - name: infoblox.nios_modules
# version: ">=1.6.1"
# openshift demos
- name: kubernetes.core
version: ">=4.0.0"
- name: redhat.openshift
version: ">=3.0.1"
- name: redhat.openshift_virtualization
version: ">=1.4.0"
# for RHDP
- name: ansible.utils
version: ">=5.1.0"
- name: kubevirt.core
version: ">=2.1.0"
- name: community.okd
version: ">=4.0.0"
- name: https://github.com/rhpds/assisted_installer.git
type: git
version: "v0.0.1"
...

View File

@@ -1,14 +1,21 @@
--- ---
collections: collections:
# AAP config as code
- name: ansible.controller - name: ansible.controller
version: "<4.6.0" version: ">=4.6.0"
# TODO this fails trying to install a different version of
# the python-systemd package
# - name: ansible.eda # fails trying to install systemd-python package
# version: ">=2.1.0"
- name: ansible.hub
version: ">=1.0.0"
- name: ansible.platform
version: ">=2.5.0"
- name: infra.ah_configuration - name: infra.ah_configuration
version: ">=2.0.6" version: ">=2.0.6"
- name: infra.controller_configuration - name: infra.controller_configuration
version: ">=2.9.0" version: ">=2.11.0"
- name: redhat_cop.controller_configuration # linux demos
version: ">=2.3.1"
# linux
- name: ansible.posix - name: ansible.posix
version: ">=1.5.4" version: ">=1.5.4"
- name: community.general - name: community.general
@@ -19,7 +26,7 @@ collections:
version: ">=1.2.2" version: ">=1.2.2"
- name: redhat.rhel_system_roles - name: redhat.rhel_system_roles
version: ">=1.23.0" version: ">=1.23.0"
# windows # windows demos
- name: microsoft.ad - name: microsoft.ad
version: "1.9" version: "1.9"
- name: ansible.windows - name: ansible.windows
@@ -28,13 +35,13 @@ collections:
version: ">=1.5.1" version: ">=1.5.1"
- name: community.windows - name: community.windows
version: ">=2.2.0" version: ">=2.2.0"
# cloud # cloud demos
- name: amazon.aws - name: amazon.aws
version: ">=7.5.0" version: ">=7.5.0"
# satellite # satellite demos
- name: redhat.satellite - name: redhat.satellite
version: ">=4.0.0" version: ">=4.0.0"
# network # network demos
- name: ansible.netcommon - name: ansible.netcommon
version: ">=6.0.0" version: ">=6.0.0"
- name: cisco.ios - name: cisco.ios
@@ -43,12 +50,20 @@ collections:
version: ">=8.0.0" version: ">=8.0.0"
- name: cisco.nxos - name: cisco.nxos
version: ">=7.0.0" version: ">=7.0.0"
- name: infoblox.nios_modules - name: network.backup
version: ">=1.6.1" version: ">=3.0.0"
# openshift # TODO on 2.5 ee-minimal-rhel9 this tries to build and install
# a different version of python netifaces, which fails
# - name: infoblox.nios_modules
# version: ">=1.6.1"
# openshift demos
- name: ansible.utils
version: ">=6.0.0"
- name: kubernetes.core - name: kubernetes.core
version: ">=4.0.0" version: ">=4.0.0"
- name: redhat.openshift - name: redhat.openshift
version: ">=3.0.1" version: ">=3.0.1"
- name: redhat.openshift_virtualization - name: redhat.openshift_virtualization
version: ">=1.4.0" version: ">=1.4.0"
...

View File

@@ -52,7 +52,9 @@
state: enabled state: enabled
immediate: true immediate: true
permanent: true permanent: true
when: "'firewalld.service' in ansible_facts.services" when:
- "'firewalld.service' in ansible_facts.services"
- ansible_facts.services["firewalld.service"].state == "running"
- name: Disable httpd welcome page - name: Disable httpd welcome page
ansible.builtin.file: ansible.builtin.file:

View File

@@ -245,6 +245,34 @@ controller_templates:
- "OpenShift Credential" - "OpenShift Credential"
controller_workflows: controller_workflows:
- name: OpenShift / CNV / Sync Hosts
description: A workflow to update dynamic CNV inventory and wait for hosts to become avilable
organization: Default
notification_templates_started: Telemetry
notification_templates_success: Telemetry
notification_templates_error: Telemetry
survey_enabled: true
survey:
name: ''
description: ''
spec:
- question_name: Specify target hosts
type: text
variable: _hosts
required: true
default: "openshift-cnv-rhel*"
simplified_workflow_nodes:
- identifier: Inventory Sync
unified_job_template: OpenShift CNV Inventory
success_nodes:
- Wait Hosts
- identifier: Wait Hosts
unified_job_template: OpenShift / CNV / Wait Hosts
failure_nodes:
- Second Inventory Sync
- identifier: Second Inventory Sync
unified_job_template: OpenShift CNV Inventory
- name: OpenShift / CNV / Infra Stack - name: OpenShift / CNV / Infra Stack
description: A workflow to deploy Virtualized infra in OCP Virtalization description: A workflow to deploy Virtualized infra in OCP Virtalization
organization: Default organization: Default
@@ -320,15 +348,15 @@ controller_workflows:
success_nodes: success_nodes:
- Patch Instance - Patch Instance
# We need to do an invnetory sync *after* creating snapshots, as turning VMs on/off changes their IP # We need to do an invnetory sync *after* creating snapshots, as turning VMs on/off changes their IP
- identifier: Inventory Sync - identifier: Sync Hosts
unified_job_template: OpenShift CNV Inventory unified_job_template: OpenShift / CNV / Sync Hosts
success_nodes: success_nodes:
- Patch Instance - Patch Instance
- identifier: Take Snapshot - identifier: Take Snapshot
unified_job_template: OpenShift / CNV / Create VM Snapshots unified_job_template: OpenShift / CNV / Create VM Snapshots
success_nodes: success_nodes:
- Project Sync - Project Sync
- Inventory Sync - Sync Hosts
- identifier: Patch Instance - identifier: Patch Instance
unified_job_template: OpenShift / CNV / Patch unified_job_template: OpenShift / CNV / Patch
job_type: run job_type: run

View File

@@ -2,45 +2,65 @@
roles: roles:
# RHEL 7 compliance roles from ComplianceAsCode # RHEL 7 compliance roles from ComplianceAsCode
- name: redhatofficial.rhel7-cis - name: redhatofficial.rhel7-cis
src: https://github.com/RedHatOfficial/ansible-role-rhel7-cis
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel7-cjis - name: redhatofficial.rhel7-cjis
src: https://github.com/RedHatOfficial/ansible-role-rhel7-cjis
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel7-cui - name: redhatofficial.rhel7-cui
src: https://github.com/RedHatOfficial/ansible-role-rhel7-cui
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel7-hipaa - name: redhatofficial.rhel7-hipaa
src: https://github.com/RedHatOfficial/ansible-role-rhel7-hipaa
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel7-ospp - name: redhatofficial.rhel7-ospp
src: https://github.com/RedHatOfficial/ansible-role-rhel7-ospp
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel7-pci-dss - name: redhatofficial.rhel7-pci-dss
src: https://github.com/RedHatOfficial/ansible-role-rhel7-pci-dss
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel7-stig - name: redhatofficial.rhel7-stig
src: https://github.com/RedHatOfficial/ansible-role-rhel7-stig
version: 0.1.72 version: 0.1.72
# RHEL 8 compliance roles from ComplianceAsCode # RHEL 8 compliance roles from ComplianceAsCode
- name: redhatofficial.rhel8-cis - name: redhatofficial.rhel8-cis
src: https://github.com/RedHatOfficial/ansible-role-rhel8-cis
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel8-cjis - name: redhatofficial.rhel8-cjis
src: https://github.com/RedHatOfficial/ansible-role-rhel8-cjis
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel8-cui - name: redhatofficial.rhel8-cui
src: https://github.com/RedHatOfficial/ansible-role-rhel8-cui
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel8-hipaa - name: redhatofficial.rhel8-hipaa
src: https://github.com/RedHatOfficial/ansible-role-rhel8-hipaa
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel8-ospp - name: redhatofficial.rhel8-ospp
src: https://github.com/RedHatOfficial/ansible-role-rhel8-ospp
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel8-pci-dss - name: redhatofficial.rhel8-pci-dss
src: https://github.com/RedHatOfficial/ansible-role-rhel8-pci-dss
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel8-stig - name: redhatofficial.rhel8-stig
src: https://github.com/RedHatOfficial/ansible-role-rhel8-stig
version: 0.1.72 version: 0.1.72
# RHEL 9 compliance roles from ComplianceAsCode # RHEL 9 compliance roles from ComplianceAsCode
- name: redhatofficial.rhel9-cis - name: redhatofficial.rhel9-cis
src: https://github.com/RedHatOfficial/ansible-role-rhel9-cis
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel9-cui - name: redhatofficial.rhel9-cui
src: https://github.com/RedHatOfficial/ansible-role-rhel9-cui
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel9-hipaa - name: redhatofficial.rhel9-hipaa
src: https://github.com/RedHatOfficial/ansible-role-rhel9-hipaa
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel9-ospp - name: redhatofficial.rhel9-ospp
src: https://github.com/RedHatOfficial/ansible-role-rhel9-ospp
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel9-pci-dss - name: redhatofficial.rhel9-pci-dss
src: https://github.com/RedHatOfficial/ansible-role-rhel9-pci-dss
version: 0.1.72 version: 0.1.72
- name: redhatofficial.rhel9-stig - name: redhatofficial.rhel9-stig
src: https://github.com/RedHatOfficial/ansible-role-rhel9-stig
version: 0.1.72 version: 0.1.72
... ...

View File

@@ -46,15 +46,17 @@
- name: Create some users - name: Create some users
microsoft.ad.user: microsoft.ad.user:
name: "{{ item.name }}" name: "{{ item.name }}"
groups: "{{ item.groups }}" groups:
set:
- "{{ item.group }}"
password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}" password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}"
update_password: on_create update_password: on_create
loop: loop:
- name: "UserA" - name: "UserA"
groups: "GroupA" group: "GroupA"
- name: "UserB" - name: "UserB"
groups: "GroupB" group: "GroupB"
- name: "UserC" - name: "UserC"
groups: "GroupC" group: "GroupC"
retries: 5 retries: 5
delay: 10 delay: 10