Skip to content

Commit 8712369

Browse files
committed
More updates 3
1 parent d410822 commit 8712369

File tree

1 file changed

+30
-83
lines changed

1 file changed

+30
-83
lines changed

content/patterns/ansible-edge-gitops/installation-details.adoc

Lines changed: 30 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -2,62 +2,29 @@
22

33
== Installation Steps
44

5-
These are the steps run by
6-
https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[make
5+
These are the steps run by https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[make
76
install] and what each one does:
87

98
=== https://github.com/validatedpatterns/common/blob/main/Makefile[operator-deploy]
109

11-
The operator-deploy task installs the Validated Patterns Operator, which
12-
in turn creates a subscription for the OpenShift GitOps operator and
13-
installs both the cluster and hub instances of it. The clustergroup
14-
application will then read the values-global.yaml and values-hub.yaml
15-
files for other subscriptions and applications to install.
16-
17-
The
18-
https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[legacy-install]
19-
is still provided for users that cannot or do not want to use the
20-
Validated Patterns operator. Instead of installing the operator, it
21-
installs a helm chart that does the same thing - installs a subscription
22-
for OpenShift GitOps and installs a cluster-wide and hub instance of
23-
that operator. It then proceeds with installing the clustergroup
24-
application.
25-
26-
Note that both the
27-
https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[upgrade]
28-
and
29-
https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[legacy-upgrade]
30-
targets are now equivalent and interchangeable with `+install+` and
31-
`+legacy-install+` (respectively - `+legacy-install/legacy-upgrade+` are
32-
not compatible with standard `+install/upgrade+`. This was not always
33-
the case, so both install/upgrade targets are still provided).
10+
The `operator-deploy` task installs the Validated Patterns Operator, which in turn creates a subscription for the OpenShift GitOps operator and installs both the cluster and hub instances of it. The clustergroup application will then read the values-global.yaml and values-hub.yaml files for other subscriptions and applications to install.
11+
12+
The `install` and `upgrade` targets are interchangeable and handle both initial installation and updates. These targets ensure that the necessary components, including OpenShift GitOps and the `clustergroup` application, are deployed and updated as needed.
3413

3514
==== Imperative section
3615

37-
Part of the operator-deploy process is creating and running the
38-
https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[imperative]
39-
tools as defined in the hub values file. In this pattern, that includes
40-
running the playbook to deploy the metal worker.
16+
Part of the operator-deploy process is creating and running the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[imperative]
17+
tools as defined in the hub values file. In this pattern, that includes running the playbook to deploy the metal worker.
4118

42-
The real code for this playbook (outside of a shell wrapper) is
19+
The playbook code is
4320
https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/deploy_kubevirt_worker.yml[here].
4421

45-
This script is another Ansible playbook that deploys a node to run the
46-
Virtual Machines for the demo. The playbook uses the OpenShift
47-
machineset API to provision the node in the first availability zone it
48-
finds. Currently, AWS is the only major public cloud provider that
49-
offers the deployment of a metal node through the normal provisioning
50-
process. We hope that Azure and GCP will support this functionality soon
51-
as well.
52-
53-
Please be aware that the metal node is rather more expensive in compute
54-
costs than most other AWS machine types. The trade-off is that running
55-
the demo without hardware acceleration would take ~4x as long.
22+
This Ansible Playbook deploys a node to run the Virtual Machines for the demo. The playbook uses the OpenShift
23+
machineset API to provision the node in the first availability zone it finds. Currently, AWS is the only major public cloud provider that
24+
offers the deployment of a metal node through the normal provisioning process. We hope that Azure and GCP will support this functionality soon.
5625

57-
It takes about 20-30 minutes for the metal node to become available to
58-
run VMs. If you would like to see the current status of the metal node,
59-
you can check it this way (assuming your kubeconfig is currently set up
60-
to point to your cluster):
26+
Be aware that the metal node is rather more expensive in compute costs than most other AWS machine types. The trade-off is that running the demo without hardware acceleration would take ~4x as long.
27+
It takes about 20-30 minutes for the metal node to become available to run VMs. If you want to see the current status of the metal node, you can check it this way (assuming your `kubeconfig` is currently set up to point to your cluster):
6128

6229
[source,shell]
6330
----
@@ -76,84 +43,64 @@ openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2c 1 1
7643
openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2d 0 0 47m
7744
----
7845

79-
When the `+metal-worker+` is showing "`READY`" and "`AVAILABLE`", the
80-
virtual machines will begin provisioning on it.
46+
When the `metal-worker` is showing `READY` and `AVAILABLE`, the virtual machines will begin provisioning on it.
8147

82-
The metal node will be destroyed when the cluster is destroyed. The
83-
script is idempotent and will create at most one metal node per cluster.
48+
The metal node is destroyed when the cluster is destroyed. The script is idempotent and will create at most one metal node per cluster.
8449

8550
=== https://github.com/validatedpatterns/common/blob/main/Makefile[post-install]
8651

87-
Note that all the steps of `+post-install+` are idempotent. If you want
88-
or need to reconfigure vault or AAP, the recommended way to do so is to
89-
call `+make post-install+`. This may change as we move elements of this
90-
pattern into the new imperative framework in `+common+`.
52+
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
53+
call `make post-install`. This might change as we move elements of this pattern into the new imperative framework in `+common+`.
9154

9255
Specific processes that are called by post-install include:
9356

9457
==== https://github.com/validatedpatterns/common/blob/main/scripts/vault-utils.sh[vault-init]
9558

96-
Vault requires extra setup in the form of unseal keys and configuration
97-
of secrets. The vault-init task does this. Note that it is safe to run
59+
Vault requires extra setup in the form of unseal keys and configuration of secrets. The vault-init task does this. Note that it is safe to run
9860
vault-init as it will exit successfully if it can connect to a cluster
9961
with a running, unsealed vault.
10062

10163
==== https://github.com/validatedpatterns/common/blob/main/scripts/vault-utils.sh[load-secrets]
10264

103-
This process (which calls push_secrets) calls an Ansible playbook that
104-
reads the values-secret.yaml file and stores the data it finds there in
105-
vault as keypairs. These values are then usable in the kubernetes
106-
cluster. This pattern uses the ssh pubkey for the kiosk VMs via the
65+
This process (which calls push_secrets) calls an Ansible playbook that reads the values-secret.yaml file and stores the data it finds there in
66+
vault as keypairs. These values are then usable in the kubernetes cluster. This pattern uses the ssh pubkey for the kiosk VMs via the
10767
external secrets operator.
10868

109-
This script will update secrets in vault if re-run; it is safe to re-run
110-
if the secret values have not changed as well.
69+
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.
11170

11271
==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[configure-controller]
11372

114-
There are two parts to this script - the first part, with the code
115-
https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_get_credentials.yml[here],
116-
retrieves the admin credentials from OpenShift to enable login to the
73+
There are two parts to this script - the first part, with the code https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_get_credentials.yml[here], retrieves the admin credentials from OpenShift to enable login to the
11774
AAP Controller.
11875

119-
The second part, which is the bulk of the ansible-load-controller
120-
process is
76+
The second part, which is the bulk of the ansible-load-controller process is
12177
https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_configure_controller.yml[here]
122-
and uses the
123-
https://github.com/redhat-cop/controller_configuration[controller
124-
configuration] framework to configure the Ansible Automation Platform
125-
instance that is installed by the helm chart.
78+
and uses the https://github.com/redhat-cop/controller_configuration[controller
79+
configuration] framework to configure the Ansible Automation Platform instance that is installed by the helm chart.
12680

127-
This division is so that users can adapt this pattern more easily if
128-
they’re running AAP, but not on OpenShift.
81+
This division is so that users can adapt this pattern more easily if they are running AAP, but not on OpenShift.
12982

13083
The script waits until AAP is ready, and then proceeds to:
13184

132-
[arabic]
13385
. Install the manifest to entitle AAP
13486
. Configure the custom Credential Types the demo needs
13587
. Define an Organization for the Demo
13688
. Add a Project for the Demo
13789
. Add the Credentials for jobs to use
138-
. Configure Host inventory and inventory sources, and smart inventories
139-
to define target hosts
90+
. Configure Host inventory and inventory sources, and smart inventories to define target hosts
14091
. Configure an Execution environment for the Demo
14192
. Configure Job Templates for the Demo
14293
. Configure Schedules for the jobs that need to repeat
14394

144-
_Note:_ This script has defaults that it overrides when run as part of
145-
`+make install+` that it derives from the environment (the repo that it
146-
is attached to and the branch that it is on). So if you need to re-run
147-
it, the most straightforward way to do this is to run `+make upgrade+`
95+
_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
96+
is attached to and the branch that it is on). So if you need to re-run i, the most straightforward way to do this is to run `+make upgrade+`
14897
when using the make-based installation process.
14998

15099
== OpenShift GitOps (ArgoCD)
151100

152-
OpenShift GitOps is central to this pattern as it is responsible for
153-
installing all of the other components. The installation process is
101+
OpenShift GitOps is central to this pattern as it is responsible for insalling all of the other components. The installation process is
154102
driven through the installation of the
155-
https://github.com/validatedpatterns/common/tree/v1/clustergroup[clustergroup]
156-
chart. This in turn reads the repo’s
103+
https://github.com/validatedpatterns/common/tree/v1/clustergroup[clustergroup] cart. This in turn reads the repo’s
157104
https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-global.yaml[global
158105
values file], which instructs it to read the
159106
https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[hub

0 commit comments

Comments
 (0)