Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mg_master_RHOSPDOC-1380_chunk-installation-procedure #492

Merged
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,13 @@ endif::[]
* For more information about Operator catalogs, see https://docs.openshift.com/container-platform/{NextSupportedOpenShiftVersion}/operators/understanding/olm-rh-catalogs.html[_Red Hat-provided Operator catalogs_].
//* For more information about how to remove {ProjectShort} from the {OpenShift} environment, see xref:assembly-removing-stf-from-the-openshift-environment_{}[].

include::../modules/proc_deploying-stf-to-the-openshift-environment.adoc[leveloffset=+1]
include::../modules/con_deploying-stf-to-the-openshift-environment.adoc[leveloffset=+1]

include::../modules/proc_deploying-observability-operator.adoc[leveloffset=+2]
include::../modules/proc_deploying-certificate-manager-for-openshift-operator.adoc[leveloffset=+2]
include::../modules/proc_deploying-service-telemetry-operator.adoc[leveloffset=+2]


include::../modules/proc_creating-a-servicetelemetry-object-in-openshift.adoc[leveloffset=+1]
include::../modules/con_primary-parameters-of-the-servicetelemetry-object.adoc[leveloffset=+2]
include::../modules/proc_accessing-uis-for-stf-components.adoc[leveloffset=+1]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[id="deploying-stf-to-the-openshift-environment_{context}"]
= Deploying {Project} to the {OpenShift} environment

[role="_abstract"]
Deploy {Project} ({ProjectShort}) to collect and store {OpenStack} ({OpenStackShort}) telemetry.
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
:_content-type: PROCEDURE

[id="deploying-certificate-manager-for-openshift-operator_{context}"]
= Deploying Certificate Manager for OpenShift Operator

[role="_abstract"]
The Certificate Manager for OpenShift is pre-installed from the `stable-v1` channel with Service Telemetry Framework ({ProjectShort}) on {OpenShift} 4.12 or later. When installing {ProjectShort} on {OpenShift} 4.10 pre-installation is required due to only the `tech-preview` channel being available. Pre-installation is only required on versions of {OpenShift} prior to 4.12.

.Procedure

. Create a namespace for the cert-manager Operator:
+
[source,yaml,options="nowrap",role="white-space-pre"]
----
$ oc create -f - <<EOF
apiVersion: project.openshift.io/v1
kind: Project
metadata:
name: openshift-cert-manager-operator
spec:
finalizers:
- kubernetes
EOF
----

. Create an OperatorGroup for the cert-manager Operator:
+
[source,yaml,options="nowrap",role="white-space-pre"]
----
$ oc create -f - <<EOF
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: openshift-cert-manager-operator
namespace: openshift-cert-manager-operator
spec: {}
EOF
----

. Subscribe to the cert-manager Operator by using the redhat-operators CatalogSource:
+
[source,yaml,options="nowrap",role="white-space-pre"]
----
$ oc create -f - <<EOF
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: openshift-cert-manager-operator
namespace: openshift-cert-manager-operator
spec:
channel: tech-preview
installPlanApproval: Automatic
name: openshift-cert-manager-operator
source: redhat-operators
sourceNamespace: openshift-marketplace
EOF
----

. Validate your ClusterServiceVersion. Ensure that cert-manager Operator displays a phase of `Succeeded`:
+
[source,bash,options="nowrap",role="white-space-pre"]
----
$ oc get csv --namespace openshift-cert-manager-operator --selector=operators.coreos.com/openshift-cert-manager-operator.openshift-cert-manager-operator

NAME DISPLAY VERSION REPLACES PHASE
openshift-cert-manager.v1.7.1 cert-manager Operator for Red Hat OpenShift 1.7.1-1 Succeeded
----
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
:_content-type: PROCEDURE

[id="deploying-observability-operator_{context}"]
= Deploying Observability Operator

[role="_abstract"]
// TODO: https://access.redhat.com/articles/7011708 covers migration to OBO from community-operators Prometheus Operator. This documentation references community-operators as the installation CatalogSource. It is hoping OBO is available from redhat-operators CatalogSource prior to STF 1.5.3. If so, then we will need to update this.
{Project} ({ProjectShort}) uses other supporting Operators as part of the deployment. {ProjectShort} can resolve most dependencies automatically, but you need to pre-install some Operators, such as Observability Operator, which provides an instance of Prometheus.

.Procedure

. To store metrics in Prometheus, enable the Observability Operator by using the community-operators CatalogSource:
+
[WARNING]
====
Community Operators are Operators which have not been vetted or verified by Red Hat. Community Operators should be used with caution because their stability is unknown. Red Hat provides no support for community Operators.

https://access.redhat.com/third-party-software-support[Learn more about Red Hat’s third party software support policy]
====
+
[source,yaml,options="nowrap",role="white-space-pre"]
----
$ oc create -f - <<EOF
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: observability-operator
namespace: openshift-operators
spec:
channel: development
installPlanApproval: Automatic
name: observability-operator
source: community-operators
sourceNamespace: openshift-marketplace
EOF
----

. Verify that the ClusterServiceVersion for Observability Operator `Succeeded`:
+
[source,bash,options="nowrap",role="white-space-pre"]
----
oc get csv --namespace=openshift-operators --selector=operators.coreos.com/observability-operator.openshift-operators

NAME DISPLAY VERSION REPLACES PHASE
observability-operator.v0.0.25 Observability Operator 0.0.25 observability-operator.v0.0.22 Succeeded
----
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
:_content-type: PROCEDURE

[id="deploying-service-telemetry-operator_{context}"]
= Deploying Service Telemetry Operator

[role="_abstract"]
Deploy Service Telemetry Operator on {OpenShift} to provide the supporting Operators and interface for creating an instance of {Project} ({ProjectShort}) to monitor {OpenStack} ({OpenStackShort}) cloud platforms.

.Prerequisites

* Installation of Observability Operator which uses Prometheus to store metrics. For more information, see xref:deploying-observability-operator_assembly-installing-the-core-components-of-stf[].
* Installation of Certificate Manager for OpenShift on {OpenShift} versions prior to 4.12. For more information, see xref:deploying-certificate-manager-for-openshift-operator_assembly-installing-the-core-components-of-stf[]

.Procedure

. Create a namespace to contain the {ProjectShort} components, for example, `service-telemetry`:
+
[source,bash,options="nowrap",role="white-space-pre"]
----
$ oc new-project service-telemetry
----
. Create an OperatorGroup in the namespace so that you can schedule the Operator pods:
+
[source,yaml,options="nowrap",role="white-space-pre"]
----
$ oc create -f - <<EOF
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: service-telemetry-operator-group
namespace: service-telemetry
spec:
targetNamespaces:
- service-telemetry
EOF
----
+
For more information, see https://docs.openshift.com/container-platform/{NextSupportedOpenShiftVersion}/operators/understanding/olm/olm-understanding-operatorgroups.html[OperatorGroups].

ifeval::["{build}" == "upstream"]

// NOTE: setting priority to 0 which makes it highest priority. This allows us
// to skip the pre-installation step for Smart Gateway Operator as it will be
// installed through dependency resolution, but will pull from the Infrawatch
// Operators CatalogSource for upstream deployments rather than from Red Hat
// Operators CatalogSource (which may not be compatible, or out of date).
. Before you deploy {ProjectShort} on {OpenShift}, you must enable the catalog source. Install a CatalogSource that contains the Service Telemetry Operator and the Smart Gateway Operator:
+
[source,yaml,options="nowrap",role="white-space-pre"]
----
$ oc create -f - <<EOF
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: infrawatch-operators
namespace: openshift-marketplace
spec:
displayName: InfraWatch Operators
image: quay.io/infrawatch-operators/infrawatch-catalog:nightly
priority: 0
publisher: InfraWatch
sourceType: grpc
updateStrategy:
registryPoll:
interval: 30m
EOF
----

. Confirm that the CatalogSource is installed:
+
[source,bash,options="nowrap",role="white-space-pre"]
----
$ oc get -nopenshift-marketplace catalogsource infrawatch-operators

NAME DISPLAY TYPE PUBLISHER AGE
infrawatch-operators InfraWatch Operators grpc InfraWatch 2m16s
----

. Validate that the Operators are available from the catalog:
+
[source,bash,options="nowrap",role="white-space-pre"]
----
$ oc get packagemanifests | grep InfraWatch

service-telemetry-operator InfraWatch Operators 7m20s
smart-gateway-operator InfraWatch Operators 7m20s
----
endif::[]

. Create the Service Telemetry Operator subscription to manage the {ProjectShort} instances:
+
ifeval::["{build}" == "upstream"]
[source,yaml,options="nowrap",role="white-space-pre"]
----
$ oc create -f - <<EOF
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: service-telemetry-operator
namespace: service-telemetry
spec:
channel: unstable
installPlanApproval: Automatic
name: service-telemetry-operator
source: infrawatch-operators
sourceNamespace: openshift-marketplace
EOF
----
endif::[]
ifeval::["{build}" == "downstream"]
[source,yaml,options="nowrap",role="white-space-pre"]
----
$ oc create -f - <<EOF
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: service-telemetry-operator
namespace: service-telemetry
spec:
channel: stable-1.5
installPlanApproval: Automatic
name: service-telemetry-operator
source: redhat-operators
sourceNamespace: openshift-marketplace
EOF
----
endif::[]

. Validate the Service Telemetry Operator and the dependent operators have their phase as Succeeded:
+
[source,bash,options="nowrap",role="white-space-pre"]
----
$ oc get csv --namespace service-telemetry

NAME DISPLAY VERSION REPLACES PHASE
amq7-interconnect-operator.v1.10.16 Red Hat Integration - AMQ Interconnect 1.10.16 amq7-interconnect-operator.v1.10.4 Succeeded
cert-manager-operator.v1.11.4 cert-manager Operator for Red Hat OpenShift 1.11.4 Succeeded
observability-operator.v0.0.25 Observability Operator 0.0.25 observability-operator.v0.0.22 Succeeded
service-telemetry-operator.v1.5.1691275411 Service Telemetry Operator 1.5.1691275411 Succeeded
smart-gateway-operator.v5.0.1691275406 Smart Gateway Operator 5.0.1691275406 Succeeded
----
Loading