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
# Deploying the Virtualization Starter Kit Pattern
8
8
9
9
# General Prerequisites
10
10
11
-
1. An OpenShift cluster ( Go to [the OpenShift console](https://console.redhat.com/openshift/create)). See also [sizing your cluster](../../ansible-edge-gitops/cluster-sizing). Currently this pattern only supports AWS. It could also run on a baremetal OpenShift cluster, because OpenShift Virtualization supports that; there would need to be some customizations made to support it as the default is AWS. We hope that GCP and Azure will support provisioning metal workers in due course so this can be a more clearly multicloud pattern.
11
+
1. An OpenShift cluster ( Go to [the OpenShift console](https://console.redhat.com/openshift/create)). See also [sizing your cluster](../../virtualization-starter-kit/cluster-sizing). Currently this pattern only supports AWS. It could also run on a baremetal OpenShift cluster, because OpenShift Virtualization supports that; there would need to be some customizations made to support it as the default is AWS. We hope that GCP and Azure will support provisioning metal workers in due course so this can be a more clearly multicloud pattern.
12
12
1. A GitHub account (and, optionally, a token for it with repositories permissions, to read from and write to your forks)
13
13
1. The helm binary, see [here](https://helm.sh/docs/intro/install/)
14
14
1. Ansible, which is used in the bootstrap and provisioning phases of the pattern install (and to configure Ansible Automation Platform).
15
-
1. Please note that when run on AWS, this pattern will provision an additional worker node, which will be a metal instance (c5n.metal) to run the Edge Virtual Machines. This worker is provisioned through the OpenShift MachineAPI and will be automatically cleaned up when the cluster is destroyed.
15
+
1. Please note that when run on AWS, this pattern will provision an additional worker node per availability zone (AZ) that the pattern is deployed in, which will be a metal instance (c5.metal) to run the Virtual Machines. These workers are provisioned through the OpenShift MachineAPI and will be automatically cleaned up when the cluster is destroyed.
16
16
17
17
The use of this pattern depends on having a running Red Hat
18
18
OpenShift cluster. It is desirable to have a cluster for deploying the GitOps
In addition to the openshift cluster, you will need to prepare a number of secrets, or credentials, which will be used
28
-
in the pattern in various ways. To do this, copy the [values-secret.yaml template](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-secret.yaml.template) to your home directory as `values-secret.yaml` and replace the explanatory text as follows:
28
+
in the pattern in various ways. To do this, copy the [values-secret.yaml template](https://github.com/validatedpatterns-sandbox/virtualization-starter-kit/blob/main/values-secret.yaml.template) to your home directory as `values-secret.yaml` and replace the explanatory text as follows:
29
29
30
-
* AWS Credentials (an access key and a secret key). These are used to provision the metal worker in AWS (which hosts
31
-
the VMs). If the portworx variant of the pattern is used, these credentials will be used to modify IAM rules to allow
32
-
portworx to run correctly.
30
+
* A username and SSH Keypair (private key and public key). These will be used to provide access to the VMs in the demo.
33
31
34
32
```yaml
35
-
---
36
33
# NEVER COMMIT THESE VALUES TO GIT
37
34
version: "2.0"
38
35
secrets:
39
-
- name: aws-creds
40
-
fields:
41
-
- name: aws_access_key_id
42
-
value: "An aws access key that can provision VMs and manage IAM (if using portworx)"
43
-
44
-
- name: aws_secret_access_key
45
-
value: "An aws access secret key that can provision VMs and manage IAM (if using portworx)"
46
-
```
47
-
* A username and SSH Keypair (private key and public key). These will be used to provide access to the Kiosk VMs in the demo.
48
-
49
-
```yaml
50
-
- name: kiosk-ssh
36
+
- name: vm-ssh
51
37
fields:
52
38
- name: username
53
39
value: 'Username of user to attach privatekey and publickey to - cloud-user is a typical value'
@@ -59,27 +45,6 @@ secrets:
59
45
value: 'Public ssh key of the user who will be able to elevate to root to provision kiosks'
60
46
```
61
47
62
-
* A Red Hat Subscription Management username and password. These will be used to register Kiosk VM templates to the Red Hat Content Delivery Network and install content on the Kiosk VMs to run the demo.
63
-
64
-
```yaml
65
-
- name: rhsm
66
-
fields:
67
-
- name: username
68
-
value: 'username of user to register RHEL VMs'
69
-
- name: password
70
-
value: 'password of rhsm user in plaintext'
71
-
```
72
-
73
-
* Container "extra" arguments which will set the admin password for the ignition application when it's running.
value: "Optional extra params to pass to kiosk ignition container, including admin password"
81
-
```
82
-
83
48
* A userData block to use with cloud-init. This will allow console login as the user you specify (traditionally cloud-user) with the password you specify. The value in cloud-init is used as the default; roles in the edge-gitops-vms chart can also specify other secrets to use by referencing them in the role block.
84
49
85
50
```yaml
@@ -93,36 +58,10 @@ secrets:
93
58
chpasswd: { expire: False }
94
59
```
95
60
96
-
* A manifest file with an entitlement to run Ansible Automation Platform. This file (which will be a .zip file) will be posted to to Ansible Automation Platform instance to enable its use. Instructions for creating a manifest file can be found [here](https://www.redhat.com/en/blog/how-create-and-use-red-hat-satellite-manifest)
97
-
98
-
```yaml
99
-
- name: aap-manifest
100
-
fields:
101
-
- name: b64content
102
-
path: 'full pathname of file containing Satellite Manifest for entitling Ansible Automation Platform'
103
-
base64: true
104
-
```
105
-
106
61
# Prerequisites for deployment via `make install`
107
62
108
63
If you are going to install via `make install` from your workstation, you will need the following tools and packages:
109
64
110
-
{% include prerequisite-tools.md %}
111
-
112
-
And additionally, the following ansible collections:
113
-
114
-
* community.okd
115
-
* redhat_cop.controller_configuration
116
-
* awx.awx
117
-
118
-
To see what collections are installed:
119
-
120
-
`ansible-galaxy collection list`
121
-
122
-
To install a collection that is not currently installed:
123
-
124
-
`ansible-galaxy collection install <collection>`
125
-
126
65
# How to deploy
127
66
128
67
1. Login to your cluster using oc login or exporting the KUBECONFIG
@@ -137,12 +76,12 @@ To install a collection that is not currently installed:
1. Fork the [ansible-edge-gitops](https://github.com/validatedpatterns/ansible-edge-gitops) repo on GitHub. It is necessary to fork to preserve customizations you make to the default configuration files.
79
+
1. Fork the [virtualization-starter-kit](https://github.com/validatedpatterns-sandbox/virtualization-starter-kit) repo on GitHub. It is necessary to fork to preserve customizations you make to the default configuration files.
1. Create a local copy of the Helm values file that can safely include credentials
@@ -180,7 +119,7 @@ Please review the [Patterns quick start](/learn/quickstart/) page. This section
180
119
./pattern.sh make install
181
120
```
182
121
183
-
The installation process will take between 45-60 minutes to complete. If you want to know the details of what is happening during that time, the entire process is documented [here](/ansible-edge-gitops/installation-details/).
122
+
The installation process will take between 45-60 minutes to complete. If you want to know the details of what is happening during that time, the entire process is documented [here](/virtualization-starter-kit/installation-details/).
184
123
185
124
# Installation Validation
186
125
@@ -192,35 +131,35 @@ The installation process will take between 45-60 minutes to complete. If you wan
192
131
193
132
The screen should like this when installed via `make install`:
Under the project `ansible-edge-gitops-hub` click on the URL for the `hub`gitops`server`. All applications will sync, but this takes time as ODF has to completely install, and OpenShift Virtualization cannot provision VMs until the metal node has been fully provisioned and ready. Additionally, the Dynamic Provision Kiosk Template in AAP must complete; it can only start once the VMs have provisioned and are running:
138
+
Under the project `virtualization-starter-kit-hub` click on the URL for the `hub`gitops`server`. All applications will sync, but this takes time as ODF has to completely install, and OpenShift Virtualization cannot provision VMs until the metal node has been fully provisioned and ready. Additionally, the Dynamic Provision Kiosk Template in AAP must complete; it can only start once the VMs have provisioned and are running:
* While the metal node is building, the VMs in OpenShift console will show as "Unschedulable." This is normal and expected, as the VMs themselves cannot run until the metal node completes provisioning and is ready.
* Under Virtualization > Virtual Machines, the virtual machines will eventually show as "Running." Once they are in "Running" state the Provisioning workflow will run on them, and install Firefox, Kiosk mode, and the Ignition application on them:
208
147
209
-

148
+

210
149
211
150
* Finally, the VM Consoles will show the Ignition introduction screen. You can choose any of these options; this tutorial assumes you chose "Ignition":
* You should be able to login to the application with the userid "admin" and the password you specified as the GATEWAY_ADMIN_PASSWORD in `container_extra_params` in your values-secret.yaml file.
216
155
217
-

156
+

218
157
219
-
Please see [Installation Details](/ansible-edge-gitops/installation-details/) for more information on the steps of installation.
158
+
Please see [Installation Details](/virtualization-starter-kit/installation-details/) for more information on the steps of installation.
220
159
221
-
Please see [Ansible Automation Platform](/ansible-edge-gitops/ansible-automation-platform/) for more information on how this pattern uses the Ansible Automation Platform Operator for OpenShift.
160
+
Please see [Ansible Automation Platform](/virtualization-starter-kit/ansible-automation-platform/) for more information on how this pattern uses the Ansible Automation Platform Operator for OpenShift.
222
161
223
-
Please see [OpenShift Virtualization](/ansible-edge-gitops/openshift-virtualization/) for more information on how this pattern uses OpenShift Virtualization.
162
+
Please see [OpenShift Virtualization](/virtualization-starter-kit/openshift-virtualization/) for more information on how this pattern uses OpenShift Virtualization.
224
163
225
164
# Infrastructure Elements of this Pattern
226
165
@@ -246,4 +185,4 @@ As part of this pattern HashiCorp Vault has been installed. Refer to the section
0 commit comments