Skip to content

Commit 686ab87

Browse files
pohanhuangwilfred-s
authored andcommitted
[YUNIKORN-2900] solve broken anchors
Fix the broken anchor and some minor spacing issues in the text. Leaving 1.6.3 updates as part of this change. Closes: #525 Signed-off-by: hhcs9527 <hhcs9527@gmail.com> Signed-off-by: Wilfred Spiegelenburg <wilfreds@apache.org>
1 parent 821bfbe commit 686ab87

15 files changed

Lines changed: 116 additions & 114 deletions

File tree

docs/api/system.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Note that this list is not guaranteed to remain stable and can change from relea
6666

6767
**Content examples**
6868

69-
The output of this REST query can be rather large, and it is a combination of those which have already been documented as part of the [scheduler API](scheduler.md#Overview).
69+
The output of this REST query can be rather large, and it is a combination of those which have already been documented as part of the [scheduler API](scheduler.md).
7070

7171
The `RMDiagnostics` shows the content of the K8Shim cache. The exact content is version dependent and is not stable.
7272
The current content shows the cached objects:
@@ -81,7 +81,7 @@ The current content shows the cached objects:
8181

8282
## Go routine info
8383

84-
Dumps the stack traces of the currently running goroutines. This is a similar view as provided in the [pprof goroutine](#pprof-goroutine) in a human-readable form.
84+
Dumps the stack traces of the currently running goroutines. This is a similar view as provided in the [pprof goroutine](#pprof-goroutine) in a human-readable form.
8585

8686
**URL** : `/debug/stack`
8787

@@ -317,7 +317,7 @@ trace: A trace of execution of the current program. You can specify the duration
317317
num_symbols: 1
318318
```
319319

320-
## pprof trace
320+
## pprof trace
321321

322322
**URL** : `/debug/pprof/trace`
323323

docs/archived_design/k8shim.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ and a [validation webhook](https://kubernetes.io/docs/reference/access-authn-aut
5555
to immediately transition from the `Starting` to `Running` state so that it will not block other applications.
5656
2. The `validation webhook` validates the configuration set in the configmap
5757
- This is used to prevent writing malformed configuration into the configmap.
58-
- The validation webhook calls scheduler [validation REST API](api/scheduler.md#configuration-validation) to validate configmap updates.
58+
- The validation webhook calls scheduler [validation REST API](api/cluster.md#configuration-validation) to validate configmap updates.
5959

6060
### Admission controller deployment
6161

@@ -66,7 +66,7 @@ On startup, the admission controller performs a series of tasks to ensure that i
6666
2. If the secret cannot be found or either CA certificate is within 90 days of expiration, generates new certificate(s). If a certificate is expiring, a new one is generated with an expiration of 12 months in the future. If both certificates are missing or expiring, the second certificate is generated with an expiration of 6 months in the future. This ensures that both certificates do not expire at the same time, and that there is an overlap of trusted certificates.
6767
3. If the CA certificates were created or updated, writes the secrets back to Kubernetes.
6868
4. Generates an ephemeral TLS server certificate signed by the CA certificate with the latest expiration date.
69-
5. Validates, and if necessary, creates or updates the Kubernetes webhook configurations named `yunikorn-admission-controller-validations` and `yunikorn-admission-controller-mutations`. If the CA certificates have changed, the webhooks will also be updated. These webhooks allow the Kubernetes API server to connect to the admission controller service to perform configmap validations and pod mutations.
69+
5. Validates, and if necessary, creates or updates the Kubernetes webhook configurations named `yunikorn-admission-controller-validations` and `yunikorn-admission-controller-mutations`. If the CA certificates have changed, the webhooks will also be updated. These webhooks allow the Kubernetes API server to connect to the admission controller service to perform configmap validations and pod mutations.
7070
6. Starts up the admission controller HTTPS server.
7171

7272
Additionally, the admission controller also starts a background task to wait for CA certificates to expire. Once either certificate is expiring within the next 30 days, new CA and server certificates are generated, the webhook configurations are updated, and the HTTPS server is quickly restarted. This ensures that certificates rotate properly without downtime.

docs/design/gang_scheduling.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,15 @@ For gang scheduling we have a simple one new to one release relation in the case
167167

168168
The scheduler processes the AllocationAsk as follows:
169169
1. Check if the application has an unreleased allocation for a placeholder allocation with the same _taskGroupName._ If no placeholder allocations are found a normal allocation cycle will be used to allocate the request.
170-
2. A placeholder allocation is selected and marked for release. A request to release the placeholder allocation is communicated to the shim. This must be an async process as the shim release process is dependent on the underlying K8s response which might not be instantaneous.
170+
2. A placeholder allocation is selected and marked for release. A request to release the placeholder allocation is communicated to the shim. This must be an async process as the shim release process is dependent on the underlying K8s response which might not be instantaneous.
171171
NOTE: no allocations are released in the core at this point in time.
172-
3. The core “parks” the processing of the real AllocationAsk until the shim has responded with a confirmation that the placeholder allocation has been released.
172+
3. The core “parks” the processing of the real AllocationAsk until the shim has responded with a confirmation that the placeholder allocation has been released.
173173
NOTE: locks are released to allow scheduling to continue
174174
4. After the confirmation of the release is received from the shim the “parked” AllocationAsk processing is finalised.
175175
5. The AllocationAsk is allocated on the same node as the placeholder used.
176176
The removal of the placeholder allocation is finalised in either case. This all needs to happen as one update to the application, queue and node.
177177
* On success: a new Allocation is created.
178-
* On Failure: try to allocate on a different node, if that fails the AllocationAsk becomes unschedulable triggering scale up.
178+
* On Failure: try to allocate on a different node, if that fails the AllocationAsk becomes unschedulable triggering scale up.
179179
6. Communicate the allocation back to the shim (if applicable, based on step 5)
180180

181181
## Application completion
@@ -196,7 +196,7 @@ The time out of the _waiting_ state is new functionality.
196196

197197
Placeholders are not considered active allocations.
198198
Placeholder asks are considered pending resource asks.
199-
These cases will be handled in the [Cleanup](#Cleanup) below.
199+
These cases will be handled in the [Cleanup](#cleanup) below.
200200

201201
### Cleanup
202202
When we look at gang scheduling there is a further issue around unused placeholders, placeholder asks and their cleanup.
@@ -219,7 +219,7 @@ Processing in the core thus needs to consider two cases that will impact the tra
219219
1. Placeholder asks pending (exit from _accepted_)
220220
2. Placeholders allocated (exit from _waiting_)
221221

222-
Placeholder asks pending:
222+
Placeholder asks pending:
223223
Pending placeholder asks are handled via a timeout.
224224
An application must only spend a limited time waiting for all placeholders to be allocated.
225225
This timeout is needed because an application’s partial placeholders allocation may occupy cluster resources without really using them.
@@ -259,7 +259,7 @@ Combined flow for the shim and core during timeout of placeholder:
259259
* After the placeholder Allocations and Asks are released the core moves the application to the killed state removing it from the queue (4).
260260
* The state change is finalised in the core and shim. (5)
261261

262-
Allocated placeholders:
262+
Allocated placeholders:
263263
Leftover placeholders need to be released by the core.
264264
The shim needs to be informed to remove them. This must be triggered on entry of the _completed_ state.
265265
After the placeholder release is requested by the core the state transition of the application can proceed.
@@ -429,14 +429,14 @@ In patched message form that would look like:
429429
message UpdateResponse {
430430
...
431431
// Released allocation(s), allocations can be released by either the RM or scheduler.
432-
// The TerminationType defines which side needs to act and process the message.
432+
// The TerminationType defines which side needs to act and process the message.
433433
repeated AllocationRelease releasedAllocations = 3;
434434
...
435435
}
436436
437437
message AllocationReleasesRequest {
438438
// Released allocation(s), allocations can be released by either the RM or scheduler.
439-
// The TerminationType defines which side needs to act and process the message.
439+
// The TerminationType defines which side needs to act and process the message.
440440
repeated AllocationRelease releasedAllocations = 1;
441441
...
442442
}
@@ -469,7 +469,7 @@ In patched message form that would look like:
469469
message AllocationRelease {
470470
enum TerminationType {
471471
STOPPED_BY_RM = 0;
472-
TIMEOUT = 1;
472+
TIMEOUT = 1;
473473
PREEMPTED_BY_SCHEDULER = 2;
474474
PLACEHOLDER_REPLACED = 3;
475475
}
@@ -481,7 +481,7 @@ message AllocationRelease {
481481
// The UUID of the allocation to release, if not set all allocations are released for
482482
// the applicationID
483483
string UUID = 3;
484-
// The termination type as described above
484+
// The termination type as described above
485485
TerminationType terminationType = 4;
486486
// human-readable message
487487
string message = 5;
@@ -525,7 +525,7 @@ message AllocationReleasesRequest {
525525
...
526526
// Released allocationask(s), allocationasks can be released by either the RM or
527527
// scheduler. The TerminationType defines which side needs to act and process the
528-
// message.
528+
// message.
529529
repeated AllocationAskRelease allocationAsksToRelease = 2;
530530
}
531531
```
@@ -536,12 +536,12 @@ In patched message form that would look like:
536536
message AllocationAskRelease {
537537
enum TerminationType {
538538
STOPPED_BY_RM = 0;
539-
TIMEOUT = 1;
539+
TIMEOUT = 1;
540540
PREEMPTED_BY_SCHEDULER = 2;
541541
PLACEHOLDER_REPLACED = 3;
542542
}
543543
...
544-
// The termination type as described above
544+
// The termination type as described above
545545
TerminationType terminationType = 4;
546546
...
547547
}

docs/design/scheduler_configuration.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Configuration to consider:
5454
## Queue Configuration
5555
### Queue Definition
5656
On startup the scheduler will load the configuration for the queues from the provided configuration file after initialising the service. If there is no queue configuration provided the scheduler should start up with a simple default configuration which performs a well documented default behaviour.
57-
Based on the kubernetes definition this configuration could be a configMap <sup id="s1">[1](#f1)</sup> but not a CRD.
57+
Based on the kubernetes definition this configuration could be a [configMap](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#should-i-use-a-configmap-or-a-custom-resource) but not a CRD.
5858

5959
The queue configuration is dynamic. Changing the queue configuration must not require a scheduler restart.
6060
Changes should be allowed by either calling the GO based API, the REST based API or by updating the configuration file. Changes made through the API must be persisted in the configuration file. Making changes through an API is not a high priority requirement and could be postponed to a later release.
@@ -166,7 +166,7 @@ Defining placement rules in the configuration requires the following information
166166
* Create (boolean)
167167
* Filter:
168168
* A regular expression or list of users/groups to apply the rule to.
169-
169+
170170
The filter can be used to allow the rule to be used (default behaviour) or deny the rule to be used. User or groups matching the filter will be either allowed or denied.
171171
The filter is defined as follow:
172172
* Type:
@@ -213,7 +213,7 @@ Base point to make: a changed configuration should not impact the currently runn
213213
### Access Control Lists
214214
The scheduler ACL is independent of the queue ACLs. A scheduler administrator is not by default allowed to submit an application or administer the queues in the system.
215215

216-
All ACL types should use the same definition pattern. We should allow at least POSIX user and group names which uses the portable filename character set <sup id="s2">[2](#f2)</sup>. However we should take into account that we could have domain specifiers based on the environment that the system runs in (@ sign as per HADOOP-12751).
216+
All ACL types should use the same definition pattern. We should allow at least POSIX user and group names which uses the portable filename character set <a href="#footnote1"><sup>[1]</sup></a>. However we should take into account that we could have domain specifiers based on the environment that the system runs in (@ sign as per HADOOP-12751).
217217

218218
By default access control is enabled and access is denied. The only special case is for the core scheduler which automatically adds the system user, the scheduler process owner, to the scheduler ACL. The scheduler process owner is allowed to make sure that the process owner can use the API to call any administrative actions.
219219

@@ -241,6 +241,7 @@ The full configuration of the K8s shim is still under development.
241241
The full configuration of the YARN shim is still under development.
242242

243243
---
244-
<br/><b id="f1"></b>1: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#should-i-use-a-configmap-or-a-custom-resource. [](#s1)
245-
<br/><b id="f2"></b>2: The set of characters from which portable filenames are constructed. [](#s2)
246-
<br/>`A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 . _ -`
244+
<p id="footnote1">
245+
<strong>1.</strong> The set of characters from which portable filenames are constructed.<br/>
246+
<code>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 . _ -</code>
247+
</p>

docs/developer_guide/dependencies.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ require (
4747
)
4848
```
4949
Release branches **must** not use pseudo versions.
50-
During the creation of a release, [tags](/community/release_procedure#tag-and-update-release-for-version) will be created.
51-
These tags will be used as the reference in the go.mod files for the release.
50+
During the creation of a release, [tags](/community/release_procedure#tag-for-release) will be created.
51+
These tags will be used as the reference in the go.mod files for the release.
5252

5353
## Enforcement of pseudo version
5454
In the pull request checks for the `yunikorn-core` and `yunikorn-k8shim` repositories enforce the format of the versions.
@@ -57,7 +57,7 @@ repositories in the `master` branch is not a pseudo version.
5757

5858
The check enforces that the start of the version reference is `v.0.0.0-`
5959

60-
Pseudo versions are not enforced in the release branches as per [why a pseudo version](#why-a-pseudo-version) explanation above.
60+
Pseudo versions are not enforced in the release branches as per [why a pseudo version](#why-a-pseudo-version) explanation above.
6161

6262
## Updating the core dependency
6363
Before updating the core dependency must make sure that the scheduler interface changes are finalised.
@@ -100,7 +100,7 @@ It is therefor that steps 5 and 8 are performed to make sure there is no regress
100100
## Generating a pseudo version
101101

102102
A pseudo references for use in a go.mod file is based on the commit hash and timestamp.
103-
It is simple to generate one using the following steps:
103+
It is simple to generate one using the following steps:
104104

105105
1. Change to the repository for which the new pseudo version needs to be generated.
106106
2. Update the local checked out code for the master branch to get the latest commits

0 commit comments

Comments
 (0)