Skip to content

Commit 698649b

Browse files
authored
Merge pull request #46027 from EricPonvelle/OSDOCS-3663_Prereq-Improvements
OSDOCS-3663: Various changes to ROSA prereqs
2 parents 7f2728b + 3b9f393 commit 698649b

8 files changed

+98
-38
lines changed

modules/osd-applications-config-custom-domains.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// * applications/deployments/osd-config-custom-domains-applications.adoc
44

55
:_content-type: PROCEDURE
6-
[id="osd-applications-config-custom-domains.adoc_{context}"]
6+
[id="osd-applications-config-custom-domains_{context}"]
77
= Configuring custom domains for applications
88

99
Custom domains are specific wildcard domains that can be used with {product-title} applications. The top-level domains (TLDs) are owned by the customer that is operating the {product-title} cluster. The Custom Domains Operator sets up a new `ingresscontroller` with a custom certificate as a second day operation. The public DNS record for this `ingresscontroller` can then be used by an external DNS to create a wildcard CNAME record for use with a custom domain.

modules/rosa-sts-aws-requirements.adoc

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,26 @@ The following prerequisites must be complete before you deploy a {product-title}
99

1010
[id="rosa-account_{context}"]
1111
== Account
12-
* The customer ensures that the link:https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html[AWS limits] are sufficient to support {product-title} provisioned within the customer's AWS account.
12+
* You must ensure that the AWS limits are sufficient to support {product-title} provisioned within your AWS account. Running `rosa verify quota` in the CLI validates that you have the required quota to run a cluster.
13+
+
14+
[NOTE]
15+
====
16+
Quota verification checks your AWS quota, but it does not compare your consumption to your AWS quota. See the "Limits and scalability" link in Additional resources for more information.
17+
====
18+
+
1319
* If SCP policies are applied and enforced, these policies must not be more restrictive than the roles and policies required by the cluster.
14-
* The customer's AWS account should not be transferable to Red Hat.
15-
* The customer should not impose additional AWS usage restrictions beyond the defined roles and policies on Red Hat activities. Imposing restrictions will severely hinder Red Hat's ability to respond to incidents.
16-
* The customer may deploy native AWS services within the same AWS account.
17-
* The account must have a service-linked role set up as it is required for elastic load balancers (ELBs) to be configured.
20+
* You may deploy native AWS services within the same AWS account.
21+
* Your account must have a service-linked role set up as it is required for elastic load balancers (ELBs) to be configured. See AWS Limits in Additional resources for information about creating a service-linked role for your ELB if you have not created a load balancer in your AWS account previously.
1822
+
1923
[NOTE]
2024
====
21-
Customers are encouraged, but not mandated, to deploy resources in a Virtual Private Cloud (VPC) separate from the VPC hosting {product-title} and other Red Hat supported services.
25+
You are encouraged, but not required, to deploy resources in a Virtual Private Cloud (VPC) separate from the VPC hosting {product-title} and other Red Hat supported services.
2226
====
2327

2428
[id="rosa-associating-account_{context}"]
2529
== Associating your AWS account
2630

27-
To perform {product-title} (ROSA) cluster provisioning tasks, you must create `ocm-role` and `user-role` IAM resources in your AWS account and link them to your Red Hat organization.
31+
{product-title} (ROSA) cluster-provisioning tasks require linking `ocm-role` and `user-role` {cluster-manager} IAM resources to your AWS account using your Amazon Resource Name (ARN).
2832

2933
The `ocm-role` ARN is stored as a label in your Red Hat organization while the `user-role` ARN is stored as a label inside your Red Hat user account. Red Hat uses these ARN labels to confirm that the user is a valid account holder and that the correct permissions are available to perform the necessary tasks in the AWS account.
3034

@@ -124,8 +128,9 @@ If you do not specify a profile, the default AWS profile is used.
124128
== Access requirements
125129

126130
* Red Hat must have AWS console access to the customer-provided AWS account. This access is protected and managed by Red Hat.
127-
* The customer must not utilize the AWS account to elevate their permissions within the {product-title} cluster.
128-
* Actions available in the `rosa` CLI utility or {cluster-manager-url} console must not be directly performed in the customer's AWS account.
131+
* You must not use the AWS account to elevate your permissions within the {product-title} cluster.
132+
* Actions available in the `rosa` CLI utility or {cluster-manager-url} console must not be directly performed in your AWS account.
133+
* You do not need to have a preconfigured domain to deploy ROSA clusters. If you want to use a custom domain, see Additional resources for information.
129134

130135
[id="rosa-support-requirements_{context}"]
131136
== Support requirements
@@ -138,4 +143,4 @@ If you do not specify a profile, the default AWS profile is used.
138143
== Security requirements
139144
* Volume snapshots will remain within the customer's AWS account and customer-specified region.
140145
* Red Hat must have ingress access to EC2 hosts and the API server from allow-listed IP addresses.
141-
* Red Hat must have egress allowed to the documented domains.
146+
* Red Hat must have egress allowed to the documented domains. See the "AWS firewall prerequisites" section for the designated domains.

modules/rosa-troubleshooting-deployment.adoc

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
[id="rosa-troubleshooting-deployment_{context}"]
2-
= Troubleshooting cluster deployments
3-
This document describes how to troubleshoot cluster deployment errors.
4-
1+
// Module included in the following assemblies:
2+
//
3+
// * rosa_support/rosa-troubleshooting-deployments.adoc
4+
:_content-type: PROCEDURE
55
[id="rosa-troubleshooting-general-deployment-failure_{context}"]
6-
== General deployment failure
6+
= General deployment failure
77

88
If a cluster deployment fails, the cluster is put into an "error" state.
99

@@ -40,24 +40,3 @@ $ rosa init --delete-stack
4040
----
4141
$ rosa init
4242
----
43-
44-
== Elastic load balancer (ELB) `AccessDenied` error
45-
46-
If you have not created a load balancer in your AWS account, it is possible that the service role for the elastic load balancer (ELB) might not exist yet. You may receive the following error:
47-
48-
[source,terminal]
49-
----
50-
Error: Error creating network Load Balancer: AccessDenied: User: arn:aws:sts::xxxxxxxxxxxx:assumed-role/ManagedOpenShift-Installer-Role/xxxxxxxxxxxxxxxxxxx is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::xxxxxxxxxxxx:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing"
51-
----
52-
53-
To resolve this issue, ensure that the role exists on your AWS account. If not, create this role with the following command:
54-
55-
[source,terminal]
56-
----
57-
aws iam get-role --role-name "AWSServiceRoleForElasticLoadBalancing" || aws iam create-service-linked-role --aws-service-name "elasticloadbalancing.amazonaws.com"
58-
----
59-
60-
[NOTE]
61-
====
62-
This command only needs to be executed once per account.
63-
====
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * rosa_getting_started_sts/rosa-sts-aws-prereqs.adoc
4+
:_content-type: PROCEDURE
5+
[id="rosa-troubleshooting-elb-serivce-role_{context}"]
6+
= Creating the service role for the elastic load balancer (ELB)
7+
8+
If you have not created a load balancer in your AWS account, it is possible that the service role for the elastic load balancer (ELB) might not exist yet. You may receive the following error:
9+
10+
[source,terminal]
11+
----
12+
Error: Error creating network Load Balancer: AccessDenied: User: arn:aws:sts::xxxxxxxxxxxx:assumed-role/ManagedOpenShift-Installer-Role/xxxxxxxxxxxxxxxxxxx is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::xxxxxxxxxxxx:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing"
13+
----
14+
15+
To resolve this issue, ensure that the role exists on your AWS account. If not, create this role with the following command:
16+
17+
[source,terminal]
18+
----
19+
aws iam get-role --role-name "AWSServiceRoleForElasticLoadBalancing" || aws iam create-service-linked-role --aws-service-name "elasticloadbalancing.amazonaws.com"
20+
----
21+
22+
[NOTE]
23+
====
24+
This command only needs to be executed once per account.
25+
====
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * rosa_support/rosa-troubleshooting-deployments.adoc
4+
:_content-type: PROCEDURE
5+
[id="rosa-troubleshooting-general-deployment-failure_{context}"]
6+
== General deployment failure
7+
8+
If a cluster deployment fails, the cluster is put into an "error" state.
9+
10+
Run the following command to get more information:
11+
12+
[source,terminal]
13+
----
14+
$ rosa describe cluster -c <my_cluster_name> --debug
15+
----
16+
17+
[id="rosa-troubleshooting-deployment-failure-osdccsadmin_{context}"]
18+
== Deployment failure with an `osdCcsAdmin` error
19+
20+
If a cluster creation action fails, you can receive the following error message.
21+
22+
.Example output
23+
[source,terminal]
24+
----
25+
Failed to create cluster: Unable to create cluster spec: Failed to get access keys for user 'osdCcsAdmin': NoSuchEntity: The user with name osdCcsAdmin cannot be found.
26+
----
27+
28+
To fix this issue:
29+
30+
. Delete the stack:
31+
+
32+
[source,terminal]
33+
----
34+
$ rosa init --delete-stack
35+
----
36+
37+
. Reinitialize your account:
38+
+
39+
[source,terminal]
40+
----
41+
$ rosa init
42+
----

rosa_architecture/rosa-sts-about-iam-resources.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ AWS IAM roles link to your AWS account to create and manage the clusters. For mo
5252
include::modules/rosa-sts-ocm-role-creation.adoc[leveloffset=+2]
5353
5454
[role="_additional-resources"]
55+
[id="additional-resources_about-iam-resources_{context}"]
5556
.Additional resources
5657
* link:https://docs.aws.amazon.com/IAM/latest/APIReference/API_Types.html[AWS Identity and Access Management Data Types]
5758
* link:https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Types.html[Amazon Elastic Computer Cloud Data Types]

rosa_planning/rosa-sts-aws-prereqs.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,6 @@ include::modules/osd-aws-privatelink-firewall-prerequisites.adoc[leveloffset=+1]
3434
== Additional resources
3535
* xref:../rosa_planning/rosa-limits-scalability.adoc#rosa-limits-scalability[Limits and scalability]
3636
* xref:../rosa_architecture/rosa_policy_service_definition/rosa-policy-process-security.adoc#rosa-policy-sre-access_rosa-policy-process-security[SRE access to all Red Hat OpenShift Service on AWS clusters]
37+
* xref:../applications/deployments/osd-config-custom-domains-applications.adoc#osd-applications-config-custom-domains[Configuring custom domains for applications]
38+
* xref:../rosa_planning/rosa-limits-scalability.adoc#rosa-limits-scalability[AWS limits]
39+
* xref:../rosa_support/rosa-troubleshooting-deployments.adoc#rosa-troubleshooting-general-deployment-elb[Creating the service role for the Elastic load balancer (ELB)]

rosa_support/rosa-troubleshooting-deployments.adoc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,9 @@ include::_attributes/attributes-openshift-dedicated.adoc[]
55
:context: rosa-troubleshooting-cluster-deployments
66
toc::[]
77

8-
include::modules/rosa-troubleshooting-deployment.adoc[leveloffset=+1]
8+
[id="rosa-troubleshooting-deployment_{context}"]
9+
= Troubleshooting cluster deployments
10+
This document describes how to troubleshoot cluster deployment errors.
11+
12+
include::modules/rosa-troubleshooting-general-deployment.adoc[leveloffset=+1]
13+
include::modules/rosa-troubleshooting-elb-service-role.adoc[leveloffset=+1]

0 commit comments

Comments
 (0)