You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/patterns/virtualization-starter-kit/_index.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,15 +23,15 @@ ci: vsk
23
23
24
24
## Background
25
25
26
-
Organizations are interested in accelerating their deployment speeds and improving delivery quality in their Edge environments, where many devices may not fully or even partially embrace the GitOps philosophy. Further, there are VMs and other devices that can and should be managed with Ansible. This pattern explores some of the possibilities of using an OpenShift-based Ansible Automated Platform deployment and managing Edge devices, based on work done with a partner in the Chemical space.
26
+
Organizations are interested in accelerating their deployment speeds and improving delivery quality in their Edge environments, where many devices may not fully or even partially embrace the GitOps philosophy.
27
27
28
28
This pattern uses OpenShift Virtualization (the productization of Kubevirt) to host the VMs.
29
29
30
30
### Solution elements
31
31
32
32
- How to use a GitOps approach to manage virtual machines, either in public clouds (limited to AWS for technical reasons) or on-prem OpenShift installations
33
-
-How to integrate AAP into OpenShift
34
-
- How to manage Edge devices using AAP hosted in OpenShift
33
+
-A standardized environment with two running VMs to start exploring Virtualization on OpenShift with High Availability
When the `metal-worker` is showing "READY" and "AVAILABLE", the virtual machines will begin provisioning on it.
47
+
When the `metal-worker`'s are showing "READY" and "AVAILABLE", the virtual machines will begin provisioning on it.
49
48
50
-
The metal node will be destroyed when the cluster is destroyed. The script is idempotent and will create at most one metal node per cluster.
49
+
The metal nodes will be destroyed when the cluster is destroyed. The script is idempotent and will create at most one metal node per availability zone in the cluster.
Note that all the steps of `post-install` are idempotent. If you want or need to reconfigure vault or AAP, the recommended way to do so is to call `make post-install`. This may change as we move elements of this pattern into the new imperative framework in `common`.
53
+
Note that all the steps of `post-install` are idempotent.
55
54
56
55
Specific processes that are called by post-install include:
57
56
@@ -65,28 +64,6 @@ This process (which calls push_secrets) calls an Ansible playbook that reads the
65
64
66
65
This script will update secrets in vault if re-run; it is safe to re-run if the secret values have not changed as well.
There are two parts to this script - the first part, with the code [here](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_get_credentials.yml), retrieves the admin credentials from OpenShift to enable login to the AAP Controller.
71
-
72
-
The second part, which is the bulk of the ansible-load-controller process is [here](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_configure_controller.yml) and uses the [controller configuration](https://github.com/redhat-cop/controller_configuration) framework to configure the Ansible Automation Platform instance that is installed by the helm chart.
73
-
74
-
This division is so that users can adapt this pattern more easily if they're running AAP, but not on OpenShift.
75
-
76
-
The script waits until AAP is ready, and then proceeds to:
77
-
78
-
1. Install the manifest to entitle AAP
79
-
1. Configure the custom Credential Types the demo needs
80
-
1. Define an Organization for the Demo
81
-
1. Add a Project for the Demo
82
-
1. Add the Credentials for jobs to use
83
-
1. Configure Host inventory and inventory sources, and smart inventories to define target hosts
84
-
1. Configure an Execution environment for the Demo
85
-
1. Configure Job Templates for the Demo
86
-
1. Configure Schedules for the jobs that need to repeat
87
-
88
-
*Note:* This script has defaults that it overrides when run as part of `make install` that it derives from the environment (the repo that it is attached to and the branch that it is on). So if you need to re-run it, the most straightforward way to do this is to run `make upgrade` when using the make-based installation process.
89
-
90
67
# OpenShift GitOps (ArgoCD)
91
68
92
69
OpenShift GitOps is central to this pattern as it is responsible for installing all of the other components. The installation process is driven through the installation of the [clustergroup](https://github.com/validatedpatterns/common/tree/main/clustergroup) chart. This in turn reads the repo's [global values file](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-global.yaml), which instructs it to read the [hub values file](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml). This is how the pattern knows to apply the Subscriptions and Applications listed further in the pattern.
@@ -111,22 +88,6 @@ The creation of virtual machines is controlled by the chart [here](https://githu
111
88
112
89
More details about the way we use OpenShift Virtualization are available [here](/ansible-edge-gitops/openshift-virtualization).
113
90
114
-
# Ansible Automation Platform (AAP, formerly known as Ansible Tower)
115
-
116
-
The use of Ansible Automation Platform is really the centerpiece of this pattern. We have recognized for some time that the notion and design principles of GitOps should apply to things outside of Kubernetes, and we believe this pattern
117
-
gives us a way to do that.
118
-
119
-
All of the Ansible interactions are defined in a Git Repository; the Ansible jobs that configure the VMs are designed
120
-
to be idempotent (and are scheduled to run every 10 minutes on those VMs).
121
-
122
-
The installation of AAP itself is governed by the chart [here](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/ansible-automation-platform). The post-installation configuration of AAP is done via the [ansible-load-controller.sh](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh) script.
123
-
124
-
It is very much the intention of this pattern to make it easy to replace the specific Edge management use case with another one. Some ideas on how to do that can be found [here](/ansible-edge-gitops/ideas-for-customization/).
125
-
126
-
Specifics of the Ansible content for this pattern can be seen [here](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible).
127
-
128
-
More details of the specifics of how AAP is configured are available [here](/ansible-edge-gitops/ansible-automation-platform/).
0 commit comments