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

Stable 1.5 mg master osprh 7722 32244 32175 edits to stf #542

Closed
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
19 changes: 8 additions & 11 deletions build_tools/ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ echo "--- installing dependencies"
dnf install findutils git make ruby rubygems -y
gem install --no-document --minimal-deps asciidoctor

# get the current working branch, if we're master, we'll end up pushing new docs
# get the current working branch, if we're stable-1.5, we'll end up pushing new docs
echo "--- current working branch is $BRANCH"

echo "--- building documentation"
Expand All @@ -29,30 +29,27 @@ git config --global user.email "$GH_EMAIL" > /dev/null 2>&1
git config --global user.name "$GH_NAME" > /dev/null 2>&1

# Remove all files that are not in the .git dir
echo "--- removing all files related to HEAD"
find . -maxdepth 1 -not -wholename ".git/*" -not -wholename "./index-1-5-upstream*" -type f -delete
echo "--- removing all files related to stable-1.5"
find . -maxdepth 1 -not -wholename ".git/*" -type f -not -wholename "./index.html" -not -wholename "./index-upstream*" -delete
rm -rf images/

# We need this empty file for git not to try to build a jekyll project.
# If your project *is* Jekyll, then this doesn't apply to you...
echo "--- moving built files into the top-level directory"
touch .nojekyll
mv build/doc-Service-Telemetry-Framework/* ./
mv index-upstream.html index.html
rm -rf build/

# Add everything, get ready for commit. But only do it if we're on
# master. If you want to deploy on different branches, you can change
# this.
if [[ "$BRANCH" =~ ^master$|^[0-9]+\.[0-9]+\.X$ ]]; then
echo "Branch is master, so pushing docs to gh-pages"
# Build this for stable-1.5 branch and push custom paths to gh-pages
if [[ "$BRANCH" =~ ^stable-1\.5$ ]]; then
echo "Branch is stable-1.5, so pushing docs to gh-pages"
git add --all
git commit -am '[ci skip] publishing updated documentation...'
git commit -am '[ci skip] publishing updated documentation for STF 1.5...'

git remote rm origin
git remote add origin https://$GH_NAME:$GH_TOKEN@github.com/infrawatch/documentation.git

git push origin gh-pages
else
echo "Not on master, so won't push doc"
echo "Not on stable-1.5, so won't push doc"
fi
5 changes: 3 additions & 2 deletions common/global/rhosp_attributes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

:osp_long: Red Hat OpenStack Platform
:osp_acro: RHOSP
:osp_curr_ver: 17.1-Beta
:osp_curr_ver: 17.1
:osp_curr_ver_no_beta: 17.1
:osp_z_stream: 0

Expand All @@ -29,5 +29,6 @@
:defaultURL: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/{osp_curr_ver}/html
:defaultCephURL: https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/{CephVernum}/html

:setup-tlse: {defaultURL}/hardening_red_hat_openstack_platform/assembly_securing-rhos-with-tls-and-pki_security_and_hardening#proc_implementing-tls-e-with-ansible_encryption-and-key-management[Implementing TLS-e with Ansible]
// Specific links

:setup-tlse: {defaultURL}/hardening_red_hat_openstack_platform/assembly_securing-rhos-with-tls-and-pki_security_and_hardening#proc_implementing-tls-e-with-ansible_encryption-and-key-management[Implementing TLS-e with Ansible]
20 changes: 12 additions & 8 deletions common/global/stf-attributes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,17 @@ ifeval::[{vernum} >= 17.0]
:include_when_17:
endif::[]

ifeval::[{vernum} == 17.1]
:include_when_17_1:
endif::[]

ifeval::[{ProductVersion} < 1.5]
:include_before_stf15:
endif::[]

ifeval::["{build}" == "upstream"]
:ObservabilityOperator: Observability{nbsp}Operator
:OpenShift: OpenShift
:OpenShiftShort: OKD
:OpenStack: OpenStack
:OpenStackShort: OSP
:OpenStackVersion: Wallaby
Expand All @@ -45,24 +49,24 @@ ifeval::["{build}" == "upstream"]
:Project: Service{nbsp}Telemetry{nbsp}Framework
:ProjectShort: STF
:MessageBus: Apache{nbsp}Qpid{nbsp}Dispatch{nbsp}Router
:SupportedOpenShiftVersion: 4.10
:NextSupportedOpenShiftVersion: 4.12
:CodeReadyContainersVersion: 2.6.0
:SupportedOpenShiftVersion: 4.12
:NextSupportedOpenShiftVersion: 4.14
:CodeReadyContainersVersion: 2.19.0
endif::[]

ifeval::["{build}" == "downstream"]
:ObservabilityOperator: Cluster{nbsp}Observability{nbsp}Operator
:OpenShift: Red{nbsp}Hat{nbsp}OpenShift{nbsp}Container{nbsp}Platform
:OpenShiftShort: OCP
:OpenStack: Red{nbsp}Hat{nbsp}OpenStack{nbsp}Platform
:OpenStackShort: RHOSP
:OpenStackVersion: 17.0
:OpenStackVersion: 17.1
:OpenStackLong: {OpenStack}{nbsp}{OpenStackVersion}
:OpenStackInstaller: director
:OVirt: Red{nbsp}Hat{nbsp}Virtualization
:OVirtShort: RHV
:Project: Service{nbsp}Telemetry{nbsp}Framework
:ProjectShort: STF
:MessageBus: AMQ{nbsp}Interconnect
:SupportedOpenShiftVersion: 4.10
:NextSupportedOpenShiftVersion: 4.12
:SupportedOpenShiftVersion: 4.12
:NextSupportedOpenShiftVersion: 4.14
endif::[]
10 changes: 8 additions & 2 deletions doc-Service-Telemetry-Framework/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ ROOTDIR = $(realpath .)
NAME = $(notdir $(ROOTDIR))
DEST_DIR = $(BUILD_DIR)/$(NAME)
DEST_HTML = $(DEST_DIR)/index-$(BUILD).html
DEST_HTML_171 = $(DEST_DIR)/index-$(BUILD)-171.html
DEST_HTML_170 = $(DEST_DIR)/index-$(BUILD)-170.html
DEST_HTML_162 = $(DEST_DIR)/index-$(BUILD)-162.html
DEST_HTML_13 = $(DEST_DIR)/index-$(BUILD)-13.html
Expand All @@ -23,10 +24,12 @@ endif

all: html

html: html-latest html170 html162 html13
html: html-latest html171 html162

html-latest: prepare $(IMAGES_TS) $(DEST_HTML)

html171: prepare $(IMAGES_TS) $(DEST_HTML_171)

html170: prepare $(IMAGES_TS) $(DEST_HTML_170)

html162: prepare $(IMAGES_TS) $(DEST_HTML_162)
Expand All @@ -53,7 +56,10 @@ $(IMAGES_TS): $(IMAGES)
touch $(IMAGES_TS)

$(DEST_HTML): $(SOURCES)
asciidoctor -a source-highlighter=highlightjs -a highlightjs-languages="yaml,bash" -a highlightjs-theme="monokai" --failure-level WARN -a build=$(BUILD) -a vernum=17.0 -b xhtml5 -d book -o $@ $<
asciidoctor -a source-highlighter=highlightjs -a highlightjs-languages="yaml,bash" -a highlightjs-theme="monokai" --failure-level WARN -a build=$(BUILD) -a vernum=17.1 -b xhtml5 -d book -o $@ $<

$(DEST_HTML_171): $(SOURCES)
asciidoctor -a source-highlighter=highlightjs -a highlightjs-languages="yaml,bash" -a highlightjs-theme="monokai" --failure-level WARN -a build=$(BUILD) -a vernum=17.1 -b xhtml5 -d book -o $@ $<

$(DEST_HTML_170): $(SOURCES)
asciidoctor -a source-highlighter=highlightjs -a highlightjs-languages="yaml,bash" -a highlightjs-theme="monokai" --failure-level WARN -a build=$(BUILD) -a vernum=17.0 -b xhtml5 -d book -o $@ $<
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,11 @@ ifdef::include_when_16[]
* xref:container-health-and-api-status_assembly-advanced-features[Monitoring container health and API status]
endif::include_when_16[]


//Dashboards
include::../modules/con_dashboards.adoc[leveloffset=+1]
include::../modules/proc_setting-up-grafana-to-host-the-dashboard.adoc[leveloffset=+2]
ifdef::include_when_16[]
include::../modules/proc_overriding-the-default-grafana-container-image.adoc[leveloffset=+2]
//TODO: Add dashboards back when we have working code for OSP13
include::../modules/proc_importing-dashboards.adoc[leveloffset=+2]
endif::include_when_16[]
include::../modules/proc_retrieving-and-setting-grafana-login-credentials.adoc[leveloffset=+2]

include::../modules/proc_connecting-an-external-dashboard-system.adoc[leveloffset=+2]

//Editing the metrics retention time period
include::../modules/con_metrics-retention-time-period.adoc[leveloffset=+1]
Expand Down Expand Up @@ -69,13 +63,10 @@ include::../modules/con_resource-usage-of-openstack.adoc[leveloffset=+1]
include::../modules/proc_disabling-resource-usage-monitoring-of-openstack-services.adoc[leveloffset=+2]

//Monitoring container health

include::../modules/con_container-health-and-api-status.adoc[leveloffset=+1]
include::../modules/proc_disabling-container-health-and-api-status-monitoring.adoc[leveloffset=+2]
endif::include_when_16[]



//reset the context
ifdef::parent-context[:context: {parent-context}]
ifndef::parent-context[:!context:]
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ include::../modules/proc_configuring-red-hat-openstack-platform-overcloud-for-st
ifdef::include_when_13,include_when_17[]
include::../modules/proc_getting-ca-certificate-from-stf-for-overcloud-configuration.adoc[leveloffset=+2]
endif::include_when_13,include_when_17[]
include::../modules/proc_retrieving-the-qdr-password.adoc[leveloffset=+2]
include::../modules/proc_retrieving-the-qdr-route-address.adoc[leveloffset=+2]
include::../modules/proc_creating-the-base-configuration-for-stf.adoc[leveloffset=+2]
include::../modules/proc_configuring-the-stf-connection-for-the-overcloud.adoc[leveloffset=+2]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,44 +6,51 @@ ifdef::context[:parent-context: {context}]
:context: assembly-installing-the-core-components-of-stf

[role="_abstract"]
You can use Operators to load the {Project} ({ProjectShort}) components and objects. Operators manage each of the following {ProjectShort} core and community components:
You can use Operators to load the {Project} ({ProjectShort}) components and objects. Operators manage each of the following {ProjectShort} core components:

* cert-manager
* Certificate Management
* {MessageBus}
* Smart Gateway
* Prometheus and AlertManager
* Elasticsearch
* Grafana
* Smart Gateways
* Prometheus and Alertmanager

{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 {ObservabilityOperator}, which provides an instance of Prometheus and Alertmanager, and cert-manager for Red Hat OpenShift, which provides management of certificates.

.Prerequisites

ifeval::["{SupportedOpenShiftVersion}" == "{NextSupportedOpenShiftVersion}"]
* {OpenShift} version {SupportedOpenShiftVersion} is running.
endif::[]
ifeval::["{SupportedOpenShiftVersion}" != "{NextSupportedOpenShiftVersion}"]
* An {OpenShift} version inclusive of {SupportedOpenShiftVersion} through {NextSupportedOpenShiftVersion} is running.
* An {OpenShift} Extended Update Support (EUS) release version {SupportedOpenShiftVersion} or {NextSupportedOpenShiftVersion} is running.
endif::[]
* You have prepared your {OpenShift} environment and ensured that there is persistent storage and enough resources to run the {ProjectShort} components on top of the {OpenShift} environment. For more information, see https://access.redhat.com/articles/4907241[Service Telemetry Framework Performance and Scaling].
* Your environment is fully connected. {ProjectShort} does not work in a {OpenShift}-disconnected environments or network proxy environments.
* You have prepared your {OpenShift} environment and ensured that there is persistent storage and enough resources to run the {ProjectShort} components on top of the {OpenShift} environment. For more information about {ProjectShort} performance, see the Red Hat Knowledge Base article https://access.redhat.com/articles/4907241[Service Telemetry Framework Performance and Scaling].
* You have deployed {ProjectShort} in a fully connected or {OpenShift}-disconnected environments. {ProjectShort} is unavailable in network proxy environments.

ifeval::["{build}" == "downstream"]
[IMPORTANT]
ifeval::["{SupportedOpenShiftVersion}" == "{NextSupportedOpenShiftVersion}"]
{ProjectShort} is compatible with {OpenShift} version {SupportedOpenShiftVersion}
endif::[]
ifeval::["{SupportedOpenShiftVersion}" != "{NextSupportedOpenShiftVersion}"]
{ProjectShort} is compatible with {OpenShift} version {SupportedOpenShiftVersion} through {NextSupportedOpenShiftVersion}.
{ProjectShort} is compatible with {OpenShift} versions {SupportedOpenShiftVersion} and {NextSupportedOpenShiftVersion}.
endif::[]
endif::[]

.Additional resources

* For more information about Operators, see the https://docs.openshift.com/container-platform/{NextSupportedOpenShiftVersion}/operators/understanding/olm-what-operators-are.html[_Understanding Operators_] guide.
* 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_{}[].
* For more information about the cert-manager Operator for Red Hat, see https://docs.openshift.com/container-platform/{NextSupportedOpenShiftVersion}/security/cert_manager_operator/index.html[_cert-manager Operator for Red Hat OpenShift overview_].
* For more information about {ObservabilityOperator}, see https://docs.openshift.com/container-platform/{NextSupportedOpenShiftVersion}/monitoring/cluster_observability_operator/cluster-observability-operator-overview.html[_Cluster Observability Operator Overview_].
* For more information about OpenShift life cycle policy and Extended Update Support (EUS), see https://access.redhat.com/support/policy/updates/openshift[_Red Hat OpenShift Container Platform Life Cycle Policy_].

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

include::../modules/proc_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]
include::../modules/proc_configuring-observability-strategy.adoc[leveloffset=+1]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ ifeval::["{SupportedOpenShiftVersion}" == "{NextSupportedOpenShiftVersion}"]
{ProjectShort} is compatible with {OpenShift} version {SupportedOpenShiftVersion}
endif::[]
ifeval::["{SupportedOpenShiftVersion}" != "{NextSupportedOpenShiftVersion}"]
{ProjectShort} is compatible with {OpenShift} version {SupportedOpenShiftVersion} through {NextSupportedOpenShiftVersion}.
{ProjectShort} is compatible with {OpenShift} Extended Update Support (EUS) release versions {SupportedOpenShiftVersion} and {NextSupportedOpenShiftVersion}.
endif::[]
endif::[]

Expand All @@ -40,6 +40,7 @@ endif::[]
* https://access.redhat.com/documentation/en-us/openshift_container_platform/{NextSupportedOpenShiftVersion}/[{OpenShift} product documentation]
* https://access.redhat.com/articles/4907241[Service Telemetry Framework Performance and Scaling]
* https://docs.openshift.com/container-platform/{NextSupportedOpenShiftVersion}/welcome/index.html#cluster-installer-activities[OpenShift Container Platform {NextSupportedOpenShiftVersion} Documentation]
* https://access.redhat.com/support/policy/updates/openshift[Red Hat OpenShift Container Platform Life Cycle Policy]



Expand All @@ -49,6 +50,7 @@ include::../modules/con_support-for-stf.adoc[leveloffset=+1]
endif::[]

include::../modules/con_stf-architecture.adoc[leveloffset=+1]
include::../modules/con_stf-architecture-changes.adoc[leveloffset=+2]

include::../modules/con_installation-size-of-ocp.adoc[leveloffset=+1]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,12 @@ To prepare your {OpenShift} environment for {Project} ({ProjectShort}), you must

* Ensure that you have persistent storage available in your {OpenShift} cluster for a production-grade deployment. For more information, see <<persistent-volumes_assembly-preparing-your-ocp-environment-for-stf>>.
* Ensure that enough resources are available to run the Operators and the application containers. For more information, see <<resource-allocation_assembly-preparing-your-ocp-environment-for-stf>>.
* Ensure that you have a fully connected network environment. For more information, see xref:con-network-considerations-for-service-telemetry-framework_assembly-preparing-your-ocp-environment-for-stf[].
ifeval::["{build}" == "upstream"]
* {ProjectShort} uses Elasticsearch to store events, which requires a larger than normal `vm.max_map_count` value. The `vm.max_map_count` value is set by default in {OpenShift}. For more information about how to edit the value of `vm.max_map_count`, see <<node-tuning-operator_assembly-preparing-your-ocp-environment-for-stf>>.
endif::[]

include::../modules/con_observability-strategy.adoc[leveloffset=+1]
include::../modules/con_persistent-volumes.adoc[leveloffset=+1]
include::../modules/con_resource-allocation.adoc[leveloffset=+1]
include::../modules/con_network-considerations-for-service-telemetry-framework.adoc[leveloffset=+1]

ifeval::["{build}" == "upstream"]
include::../modules/con_node-tuning-operator.adoc[leveloffset=+1]
endif::[]

include::../modules/proc_deploying-stf-on-openshift-disconnected-environments.adoc[leveloffset=+1]
//reset the context
ifdef::parent-context[:context: {parent-context}]
ifndef::parent-context[:!context:]
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,14 @@ ifeval::["{build}" == "upstream"]
. Remove the catalog source.
endif::[]
. Remove the cert-manager Operator.
. Remove the {ObservabilityOperator}.

include::../modules/proc_deleting-the-namespace.adoc[leveloffset=+1]
ifeval::["{build}" == "upstream"]
include::../modules/proc_removing-the-catalogsource.adoc[leveloffset=+1]
endif::[]
include::../modules/proc_removing-the-cert-manager-operator.adoc[leveloffset=+1]
include::../modules/ref_removing-the-cert-manager-operator.adoc[leveloffset=+1]
include::../modules/ref_removing-the-observability-operator.adoc[leveloffset=+1]

//reset the context
ifdef::parent-context[:context: {parent-context}]
Expand Down
2 changes: 1 addition & 1 deletion doc-Service-Telemetry-Framework/docinfo.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<title>Service Telemetry Framework 1.5</title>
<subtitle>Installing and deploying Service Telemetry Framework 1.5</subtitle>
<productname>Red Hat OpenStack Platform</productname>
<productnumber>17.0</productnumber>
<productnumber>17.1</productnumber>
<pubsnumber>0</pubsnumber>
<abstract>
<para>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions doc-Service-Telemetry-Framework/master.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
= Service Telemetry Framework 1.5
OpenStack Documentation Team <rhos-docs@redhat.com>
:imagesdir: images
:vernum: 17.0
:vernum: 17.1
:toc: left
:toclevels: 3
:icons: font
Expand Down Expand Up @@ -32,9 +32,9 @@ include::assemblies/assembly_installing-the-core-components-of-stf.adoc[leveloff
include::assemblies/assembly_completing-the-stf-configuration.adoc[leveloffset=+1]

ifeval::["{build}" == "downstream"]
ifdef::include_when_16_2[]
ifdef::include_when_16_2,include_when_17_1[]
include::assemblies/assembly_completing-the-stf-configuration-using-director-operator.adoc[leveloffset=+1]
endif::include_when_16_2[]
endif::include_when_16_2,include_when_17_1[]
endif::[]

//advanced features
Expand All @@ -46,7 +46,7 @@ include::assemblies/assembly_renewing-the-amq-interconnect-certificate.adoc[leve
// removing
include::assemblies/assembly_removing-stf-from-the-openshift-environment.adoc[leveloffset=+1]

//collectd plugins

// upgrading to 1.5
include::assemblies/assembly_upgrading-service-telemetry-framework-to-version-1-5.adoc[leveloffset=+1]
// NOTE: this is no longer being rendered because the expectation is to move from STF 1.4 on OCP 4.8 to STF 1.5 on OCP 4.10, both of which are EOL now.
// if this affects you, please open a customer case to help manage the upgrade, or simply perform a greenfield deployment of STF 1.5 on OCP 4.14.
//include::assemblies/assembly_upgrading-service-telemetry-framework-to-version-1-5.adoc[leveloffset=+1]
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,14 @@
[role="_abstract"]
You can configure multiple {OpenStack} ({OpenStackShort}) clouds to target a single instance of {Project} ({ProjectShort}). When you configure multiple clouds, every cloud must send metrics and events on their own unique message bus topic. In the {ProjectShort} deployment, Smart Gateway instances listen on these topics to save information to the common data store. Data that is stored by the Smart Gateway in the data storage domain is filtered by using the metadata that each of Smart Gateways creates.

[WARNING]
====
Ensure that you deploy each cloud with a unique cloud domain configuration. For more information about configuring the domain for your cloud deployment, see xref:setting-a-unique-cloud-domain_assembly-completing-the-stf-configuration[].
====

[[osp-stf-multiple-clouds]]
.Two {OpenStackShort} clouds connect to {ProjectShort}
image::OpenStack_STF_Overview_37_0919_topology.png[An example of two {OpenStackShort} clouds connecting to {ProjectShort}]
image::363_OpenStack_STF_updates_0923_topology_2.png[An example of two {OpenStackShort} clouds connecting to {ProjectShort}]

To configure the {OpenStackShort} overcloud for a multiple cloud scenario, complete the following tasks:

Expand Down
Loading
Loading