Skip to content

Commit 30553db

Browse files
authored
Merge pull request #96685 from abrennan89/OSDOCS-15521
OSDOCS-15521: Fix discrete headings
2 parents 1a8e1c0 + f4b5762 commit 30553db

15 files changed

+194
-186
lines changed

applications/deployments/what-deployments-are.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ include::modules/deployments-kube-deployments.adoc[leveloffset=+1]
5151
include::modules/deployments-deploymentconfigs.adoc[leveloffset=+1]
5252
5353
include::modules/deployments-comparing-deploymentconfigs.adoc[leveloffset=+1]
54+
include::modules/deployment-specific-features.adoc[leveloffset=+2]
55+
include::modules/deploymentconfig-object-specific-features.adoc[leveloffset=+2]
56+
5457
////
5558
Update when converted:
5659
[role="_additional-resources"]

applications/pruning-objects.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ include::modules/pruning-images.adoc[leveloffset=+1]
3939
4040
ifndef::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]
4141
include::modules/pruning-images-manual.adoc[leveloffset=+1]
42+
include::modules/pruning-images-troubleshooting.adoc[leveloffset=+2]
4243
4344
[role="_additional-resources"]
4445
.Additional resources
@@ -50,7 +51,7 @@ Registry Operator in {product-title}] for information on how to create a
5051
registry route.
5152
endif::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]
5253
53-
// cannot patch resource "configs"
54+
// cannot patch resource "configs"
5455
5556
ifndef::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]
5657
include::modules/pruning-hard-pruning-registry.adoc[leveloffset=+1]
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * applications/deployments/what-deployments-are.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="deployment-specific-features_{context}"]
7+
= Deployment-specific features
8+
9+
[id="deployment-specific-features-rollover_{context}"]
10+
== Rollover
11+
12+
The deployment process for `Deployment` objects is driven by a controller loop, in contrast to `DeploymentConfig` objects that use deployer pods for every new rollout. This means that the `Deployment` object can have as many active replica sets as possible, and eventually the deployment controller will scale down all old replica sets and scale up the newest one.
13+
14+
`DeploymentConfig` objects can have at most one deployer pod running, otherwise multiple deployers might conflict when trying to scale up what they think should be the newest replication controller. Because of this, only two replication controllers can be active at any point in time. Ultimately, this results in faster rapid rollouts for `Deployment` objects.
15+
16+
[id="deployment-specific-features-proportional-scaling_{context}"]
17+
== Proportional scaling
18+
19+
Because the deployment controller is the sole source of truth for the sizes of new and old replica sets owned by a `Deployment` object, it can scale ongoing rollouts. Additional replicas are distributed proportionally based on the size of each replica set.
20+
21+
`DeploymentConfig` objects cannot be scaled when a rollout is ongoing because the controller will have issues with the deployer process about the size of the new replication controller.
22+
23+
[id="deployment-specific-features-pausing-mid-rollout_{context}"]
24+
== Pausing mid-rollout
25+
26+
Deployments can be paused at any point in time, meaning you can also pause ongoing rollouts. However, you currently cannot pause deployer pods; if you try to pause a deployment in the middle of a rollout, the deployer process is not affected and continues until it finishes.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * applications/deployments/what-deployments-are.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="deploymentconfig-object-specific-features_{context}"]
7+
= DeploymentConfig object-specific features
8+
9+
[id="deploymentconfig-object-specific-features-automatic-rollbacks_{context}"]
10+
== Automatic rollbacks
11+
12+
Currently, deployments do not support automatically rolling back to the last successfully deployed replica set in case of a failure.
13+
14+
[id="deploymentconfig-object-specific-features-triggers_{context}"]
15+
== Triggers
16+
17+
Deployments have an implicit config change trigger in that every change in the pod template of a deployment automatically triggers a new rollout.
18+
If you do not want new rollouts on pod template changes, pause the deployment:
19+
20+
[source,terminal]
21+
----
22+
$ oc rollout pause deployments/<name>
23+
----
24+
25+
[id="deploymentconfig-object-specific-features-lifecycle-hooks_{context}"]
26+
== Lifecycle hooks
27+
28+
Deployments do not yet support any lifecycle hooks.
29+
30+
[id="deploymentconfig-object-specific-features-custom-strategies_{context}"]
31+
== Custom strategies
32+
33+
Deployments do not support user-specified custom deployment strategies.

modules/deployments-comparing-deploymentconfigs.adoc

Lines changed: 0 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -19,54 +19,3 @@ One important difference between `Deployment` and `DeploymentConfig` objects is
1919
For `DeploymentConfig` objects, if a node running a deployer pod goes down, it will not get replaced. The process waits until the node comes back online or is manually deleted. Manually deleting the node also deletes the corresponding pod. This means that you can not delete the pod to unstick the rollout, as the kubelet is responsible for deleting the associated pod.
2020

2121
However, deployment rollouts are driven from a controller manager. The controller manager runs in high availability mode on masters and uses leader election algorithms to value availability over consistency. During a failure it is possible for other masters to act on the same deployment at the same time, but this issue will be reconciled shortly after the failure occurs.
22-
23-
[id="delpoyments-specific-features_{context}"]
24-
== Deployment-specific features
25-
26-
[discrete]
27-
==== Rollover
28-
29-
The deployment process for `Deployment` objects is driven by a controller loop, in contrast to `DeploymentConfig` objects that use deployer pods for every new rollout. This means that the `Deployment` object can have as many active replica sets as possible, and eventually the deployment controller will scale down all old replica sets and scale up the newest one.
30-
31-
`DeploymentConfig` objects can have at most one deployer pod running, otherwise multiple deployers might conflict when trying to scale up what they think should be the newest replication controller. Because of this, only two replication controllers can be active at any point in time. Ultimately, this results in faster rapid rollouts for `Deployment` objects.
32-
33-
[discrete]
34-
==== Proportional scaling
35-
36-
Because the deployment controller is the sole source of truth for the sizes of new and old replica sets owned by a `Deployment` object, it can scale ongoing rollouts. Additional replicas are distributed proportionally based on the size of each replica set.
37-
38-
`DeploymentConfig` objects cannot be scaled when a rollout is ongoing because the controller will have issues with the deployer process about the size of the new replication controller.
39-
40-
[discrete]
41-
==== Pausing mid-rollout
42-
43-
Deployments can be paused at any point in time, meaning you can also pause ongoing rollouts. However, you currently cannot pause deployer pods; if you try to pause a deployment in the middle of a rollout, the deployer process is not affected and continues until it finishes.
44-
45-
[id="delpoymentconfigs-specific-features_{context}"]
46-
== DeploymentConfig object-specific features
47-
48-
[discrete]
49-
==== Automatic rollbacks
50-
51-
Currently, deployments do not support automatically rolling back to the last successfully deployed replica set in case of a failure.
52-
53-
[discrete]
54-
==== Triggers
55-
56-
Deployments have an implicit config change trigger in that every change in the pod template of a deployment automatically triggers a new rollout.
57-
If you do not want new rollouts on pod template changes, pause the deployment:
58-
59-
[source,terminal]
60-
----
61-
$ oc rollout pause deployments/<name>
62-
----
63-
64-
[discrete]
65-
==== Lifecycle hooks
66-
67-
Deployments do not yet support any lifecycle hooks.
68-
69-
[discrete]
70-
==== Custom strategies
71-
72-
Deployments do not support user-specified custom deployment strategies.

modules/deployments-lifecycle-hooks.adoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ Every hook has a _failure policy_, which defines the action the strategy should
3434

3535
Hooks have a type-specific field that describes how to execute the hook. Currently, pod-based hooks are the only supported hook type, specified by the `execNewPod` field.
3636

37-
[discrete]
38-
==== Pod-based lifecycle hook
37+
[id="deployments-lifecycle-hooks-pod-based_{context}"]
38+
== Pod-based lifecycle hook
3939

4040
Pod-based lifecycle hooks execute hook code in a new pod derived from the template in a `DeploymentConfig` object.
4141

@@ -87,6 +87,7 @@ In this example, the `pre` hook will be executed in a new pod using the `openshi
8787

8888
[id="deployments-setting-lifecycle-hooks_{context}"]
8989
== Setting lifecycle hooks
90+
// out of scope for this PR - needs a separate module
9091

9192
You can set lifecycle hooks, or deployment hooks, for a deployment using the CLI.
9293

modules/deployments-triggers.adoc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@ A `DeploymentConfig` object can contain triggers, which drive the creation of ne
1212
If no triggers are defined on a `DeploymentConfig` object, a config change trigger is added by default. If triggers are defined as an empty field, deployments must be started manually.
1313
====
1414

15-
[discrete]
1615
[id="deployments-configchange-trigger_{context}"]
17-
=== Config change deployment triggers
16+
== Config change deployment triggers
1817

1918
The config change trigger results in a new replication controller whenever configuration changes are detected in the pod template of the `DeploymentConfig` object.
2019

@@ -37,9 +36,8 @@ spec:
3736
- type: "ConfigChange"
3837
----
3938

40-
[discrete]
4139
[id="deployments-imagechange-trigger_{context}"]
42-
=== Image change deployment triggers
40+
== Image change deployment triggers
4341

4442
The image change trigger results in a new replication controller whenever the content of an image stream tag changes (when a new version of the image is pushed).
4543

modules/nodes-pods-plugins-about.adoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ service DevicePlugin {
4848
}
4949
----
5050

51-
[discrete]
52-
=== Example device plugins
51+
[id="example-device-plugins_{context}"]
52+
== Example device plugins
53+
5354
* link:https://github.com/GoogleCloudPlatform/Container-engine-accelerators/tree/master/cmd/nvidia_gpu[Nvidia GPU device plugin for COS-based operating system]
5455
* link:https://github.com/NVIDIA/k8s-device-plugin[Nvidia official GPU device plugin]
5556
* link:https://github.com/vikaschoudhary16/sfc-device-plugin[Solarflare device plugin]

modules/nw-infw-operator-rules-object.adoc

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,8 @@ The fields for the Ingress Node Firewall rules object are described in the follo
3131
|`ingress` allows you to configure the rules that allow outside access to the services on your cluster.
3232
|====
3333

34-
[discrete]
3534
[id="nw-infw-ingress-rules-object_{context}"]
36-
=== Ingress object configuration
35+
== Ingress object configuration
3736

3837
The values for the `ingress` object are defined in the following table:
3938

@@ -65,7 +64,6 @@ Ingress firewall rules are verified using a verification webhook that blocks any
6564
====
6665
|====
6766

68-
[discrete]
6967
[id="nw-ingress-node-firewall-example-cr_{context}"]
7068
== Ingress Node Firewall rules object example
7169

@@ -112,7 +110,6 @@ spec:
112110
----
113111
<1> A <label_name> and a <label_value> must exist on the node and must match the `nodeselector` label and value applied to the nodes you want the `ingressfirewallconfig` CR to run on. The <label_value> can be `true` or `false`. By using `nodeSelector` labels, you can target separate groups of nodes to apply different rules to using the `ingressfirewallconfig` CR.
114112

115-
[discrete]
116113
[id="nw-ingress-node-firewall-zero-trust-example-cr_{context}"]
117114
== Zero trust Ingress Node Firewall rules object example
118115

@@ -154,4 +151,4 @@ spec:
154151
<1> Network-interface cluster
155152
<2> The <label_name> and <label_value> needs to match the `nodeSelector` label and value applied to the specific nodes with which you wish to apply the `ingressfirewallconfig` CR.
156153
<3> `0.0.0.0/0` set to match any CIDR
157-
<4> `action` set to `Deny`
154+
<4> `action` set to `Deny`

modules/olm-dependency-resolution-examples.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
In the following examples, a _provider_ is an Operator which "owns" a CRD or API service.
99

10-
[discrete]
11-
=== Example: Deprecating dependent APIs
10+
[id="olm-dependency-resolution-examples-deprecating-dependent-APIs_{context}"]
11+
== Example: Deprecating dependent APIs
1212

1313
A and B are APIs (CRDs):
1414

@@ -23,8 +23,8 @@ This results in:
2323

2424
This is a case OLM prevents with its upgrade strategy.
2525

26-
[discrete]
27-
=== Example: Version deadlock
26+
[id="olm-dependency-resolution-examples-version-deadlock_{context}"]
27+
== Example: Version deadlock
2828

2929
A and B are APIs:
3030

0 commit comments

Comments
 (0)