Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions content/patterns/rhoso-gitops/_index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,3 @@ include::modules/comm-attributes.adoc[]
include::modules/rhoso-gitops/rhoso-gitops-about.adoc[leveloffset=+1]

include::modules/rhoso-gitops/rhoso-gitops-architecture.adoc[leveloffset=+1]

[id="next-steps_rhoso-gitops-index"]
== Next steps

* link:getting-started[Deploy the pattern]
* link:cluster-sizing[Review cluster sizing requirements]
* link:configuration[Configure upstream pins and overrides]
25 changes: 13 additions & 12 deletions content/patterns/rhoso-gitops/cluster-sizing.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,26 @@ aliases: /rhoso-gitops/cluster-sizing/
include::modules/comm-attributes.adoc[]
include::modules/rhoso-gitops/metadata-rhoso-gitops.adoc[]

include::modules/cluster-sizing-template.adoc[]
[id="rhoso-gitops-cluster-requirements"]
== Cluster requirements

{rh-rhoso-short} requires baremetal infrastructure for both the {rh-ocp} cluster
and the compute nodes. Cloud-based instance types (AWS, GCP, Azure) are not
supported.

For detailed hardware, software, and network requirements, see
link:https://docs.redhat.com/en/documentation/red_hat_openstack_services_on_openshift/18.0/html/planning_your_deployment/assembly_infrastructure-and-system-requirements[Infrastructure and system requirements]
in the {rh-rhoso} _Planning your deployment_ guide.

[id="rhoso-gitops-dataplane-hosts"]
== Data plane host requirements

The preceding hub cluster sizing tables cover the {rh-ocp} nodes that host the
{rh-rhoso-short} control plane.
A full {rh-rhoso-short} deployment also
requires separate {rhel-short} hosts for the data plane (compute nodes running
data plane elements).
In addition to the {rh-ocp} cluster that hosts the {rh-rhoso-short} control
plane, a full {rh-rhoso-short} deployment requires separate {rhel-short} hosts
for the data plane (compute nodes running data plane elements).

Plan additional {rhel-short} capacity beyond the OpenShift worker sizing in
`pattern-metadata.yaml`.
For Operator stages, sync order, and version pins, see
the pattern repository link:https://github.com/validatedpatterns-sandbox/rhoso-gitops/blob/main/VERSIONS.md[VERSIONS.md]
file.

[id="next-steps_rhoso-gitops-cluster-sizing"]
== Next steps

* link:../getting-started/[Deploy the pattern]
* link:../configuration/[Configure upstream pins and overrides]
6 changes: 0 additions & 6 deletions content/patterns/rhoso-gitops/configuration.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,3 @@ aliases: /rhoso-gitops/configuration/
include::modules/comm-attributes.adoc[]

include::modules/rhoso-gitops/rhoso-gitops-configuration.adoc[leveloffset=+1]

[id="next-steps_rhoso-gitops-configuration"]
== Next steps

* link:../getting-started/[Deploy the pattern]
* link:../troubleshooting/[Troubleshoot the pattern]
7 changes: 0 additions & 7 deletions content/patterns/rhoso-gitops/getting-started.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,3 @@ aliases: /rhoso-gitops/getting-started/
include::modules/comm-attributes.adoc[]

include::modules/rhoso-gitops/rhoso-gitops-deploying.adoc[leveloffset=+1]

[id="next-steps_rhoso-gitops-getting-started"]
== Next steps

* link:../configuration/[Configure the pattern]
* link:../cluster-sizing/[Review cluster sizing]
* link:../troubleshooting/[Troubleshoot the pattern]
19 changes: 7 additions & 12 deletions content/patterns/rhoso-gitops/troubleshooting.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -53,22 +53,22 @@ The pattern uses two Argo CD namespaces. List applications in each namespace:
$ oc get applications -n vp-gitops
----

. List applications in `openshift-gitops`:
. List applications in `rhoso-gitops-standalone`:
+
[source,terminal]
----
$ oc get applications -n openshift-gitops
$ oc get applications -n rhoso-gitops-standalone
----

. Inspect a child application that is out of sync or unhealthy:
+
[source,terminal]
----
$ oc describe application <application_name> -n openshift-gitops
$ oc describe application <application_name> -n rhoso-gitops-standalone
----

Use the Argo CD UI in the `openshift-gitops` namespace to review sync waves,
resource health, and diff details for upstream overlays.
Use the Argo CD UI in the `rhoso-gitops-standalone` namespace to review
application status, resource health, and diff details for upstream overlays.

[id="rhoso-gitops-check-pods"]
== Checking pod status
Expand Down Expand Up @@ -103,13 +103,8 @@ The following known issues can affect pattern deployment:
link:https://github.com/openstack-k8s-operators/gitops[openstack-k8s-operators/gitops].
* *Operator install delays*: Infrastructure Operators in `operator-dependencies`
subscribe from the cluster catalog; allow time for OLM to resolve
`ClusterServiceVersions` (CSVs) before later sync waves run.
`ClusterServiceVersions` (CSVs). Other applications retry automatically
until their dependencies are satisfied.

For community support, open an issue in the
link:https://github.com/validatedpatterns-sandbox/rhoso-gitops/issues[pattern repository].

[id="next-steps_rhoso-gitops-troubleshooting"]
== Next steps

* link:../getting-started/[Deploy the pattern]
* link:../configuration/[Configure the pattern]
2 changes: 1 addition & 1 deletion modules/rhoso-gitops/rhoso-gitops-about.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ fan-out.
| Yes
| {solution-name-upstream} clustergroup (`values-standalone.yaml`),
*rhoso-gitops* meta-chart, and child {rh-rhoso-short} Applications in
`openshift-gitops`
`rhoso-gitops-standalone`

| Managed clusters
| None
Expand Down
75 changes: 25 additions & 50 deletions modules/rhoso-gitops/rhoso-gitops-architecture.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
The {rhoso-gitops-pattern} delivers {rh-rhoso-short} configuration through Argo CD
Applications that the *rhoso-gitops* meta-chart creates. Use this overview to
understand GitOps delivery, the dual Argo CD namespaces, infrastructure topology,
and sync-wave order before you deploy or customize the pattern.
and deployment convergence before you deploy or customize the pattern.

[id="rhoso-gitops-gitops-delivery"]
== GitOps delivery flow
Expand All @@ -23,18 +23,18 @@ The delivery path is:
. The {validated-patterns-op} reconciles the pattern clustergroup
. The parent *rhoso-gitops* Application runs in `vp-gitops`
({solution-name-upstream} GitOps)
. The meta-chart renders child Applications in `openshift-gitops`
({gitops-title})
. The child apps sync upstream `example/*` overlays in order (Operators,
networks, control plane, data plane)
. The meta-chart renders child Applications in `rhoso-gitops-standalone`
(dedicated Argo CD instance)
. The child apps sync upstream `example/*` overlays (Operators,
networks, control plane, data plane) and converge through retry policies

.GitOps application delivery and sync-wave ordering
image::rhoso-gitops/rhoso-gitops-applications.svg[{rhoso-gitops-pattern} GitOps application delivery,700]
.GitOps application delivery
image::rhoso-gitops/rhoso-gitops-applications.png[{rhoso-gitops-pattern} GitOps application delivery]

The diagram shows the parent Application in `vp-gitops`, child Applications in
`openshift-gitops`, and the upstream Kustomize overlays they sync. Sync-wave
annotations order deployment from infrastructure Operators through the data
plane.
`rhoso-gitops-standalone`, and the upstream Kustomize overlays they sync.
All child Applications deploy at sync-wave 0 and converge eventually through
retry policies.

[id="rhoso-gitops-dual-argocd"]
== Dual Argo CD namespaces
Expand All @@ -43,8 +43,9 @@ The pattern uses two Argo CD namespaces:

* The {validated-patterns-op} deploys the parent *rhoso-gitops* Application into
*`vp-gitops`* ({solution-name-upstream} GitOps).
* The meta-chart creates child {rh-rhoso-short} Applications in
*`openshift-gitops`* ({gitops-title} Operator), per the chart defaults.
* Child {rh-rhoso-short} Applications are created in *`rhoso-gitops-standalone`*,
a dedicated Argo CD instance managed by the pattern (see `applicationNamespace`
in the chart).

[id="rhoso-gitops-infrastructure-topology"]
== Infrastructure topology
Expand All @@ -57,51 +58,25 @@ The preceding GitOps flow describes *how* GitOps delivers configuration. The
following diagram and list describe *what* gets deployed:

.{rh-rhoso-short} infrastructure topology
image::rhoso-gitops/rhoso-gitops-infrastructure.svg[{rhoso-gitops-pattern} infrastructure topology,700]
image::rhoso-gitops/rhoso-gitops-infrastructure.png[{rhoso-gitops-pattern} infrastructure topology]

* *OpenShift cluster*: Control-plane nodes run OpenStack Operators and
`OpenStackControlPlane` services.
* *Data plane hosts*: One or more {rhel-short} compute nodes run {rh-rhoso-short}
data plane elements and connect to the control plane.

[id="rhoso-gitops-sync-waves"]
== Application sync order
[id="rhoso-gitops-deployment-convergence"]
== Deployment convergence

Child Applications deploy in sync-wave order when Argo CD reconciles the parent
*rhoso-gitops* Application:
All child Applications deploy at sync-wave `0` (the default) when Argo CD
reconciles the parent *rhoso-gitops* Application. Argo CD launches every child
simultaneously; each retries (per `syncPolicy.retry`) until its upstream
dependencies are satisfied and converges eventually.

[cols="2,3,1",options="header"]
|===
| Application | Purpose | Sync wave

| `operator-dependencies`
| Infrastructure Operators (cert-manager, MetalLB, nmstate, observability)
| `-20`

| `openstack-operator`
| OpenStack Operator subscription
| `-20`

| `openstack-operator-cr`
| Main `OpenStack` custom resource
| `-15`

| `openstack-secrets`
| Secure-backend sync (disabled by default)
| `-10`

| `openstack-networks`
| Network configuration
| `0`

| `openstack-controlplane`
| `OpenStackControlPlane`
| `10`

| `openstack-dataplane`
| Data plane
| `20`
|===
For the full list of child applications, their upstream paths, and links to the
corresponding {rh-rhoso} product documentation, see
xref:rhoso-gitops-configuration[Configuration] >
xref:rhoso-gitops-upstream-applications[Upstream applications].

After you change overrides, confirm child apps in the Argo CD UI or with
`oc get applications -n openshift-gitops`.
`oc get applications -n rhoso-gitops-standalone`.
Loading