breakout support status table to yaml file (#12834)

* breakout support status table to yaml file

* use k8s versions from new yaml file, based off previous ver

* same as previous commit but based off idx of yaml obj

* trim whitespace from supported k8s vers shortcode

* make verion lists arrays instead of strings

* update shortcode to read yaml data array

* rename support status shortcode to follow naming convention

* make versions in table use new arrays, update reference to support status table

* make each version in yaml file a string

* update header comment, change ext to *.yml to follow repo convention

* use prelim ternary to select k8s versions

* update supportStatus.yml heading comments

* update supported k8s shortcode to use branch name

* initial commit of python support status updater

* add null representer

* use lambda for quoted representer

* put back master population off idx 1, update comments

* working stdout version complete: use flow style for version list keys

* prepend yaml with header comments, cleanup script

* perform version check, default write errors are more helpful

* add copyright and license info

* linter has some weird tastes

* this is 100% worse but if it makes the linter happy

* call update_support_status.py from within create version

* update version matrix path since script ran from repo root

* use yq for updating the version support matrix instead of PyYAML
This commit is contained in:
Skyler Spaeth 2023-03-17 15:06:40 -05:00 committed by GitHub
parent 2211adfaf2
commit 19431056ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 126 additions and 19 deletions

View File

@ -59,21 +59,7 @@ As of now, data plane to data plane is compatible across all versions; however,
## Support status of Istio releases ## Support status of Istio releases
| Version | Currently Supported | Release Date | End of Life | Supported Kubernetes Versions | Tested, but not supported | {{< support_status_table >}}
| --------------- | -------------------- | ----------------- | ---------------------- | ----------------------------- | -----------------------------------------|
| master | No, development only | | | | |
| 1.17 | Yes | February 14, 2023 | ~Sept 2023 (Expected) | 1.23, 1.24, 1.25, 1.26 | 1.16, 1.17, 1.18, 1.19, 1.20, 1.21, 1.22 |
| 1.16 | Yes | November 15, 2022 | ~June 2023 (Expected) | 1.22, 1.23, 1.24, 1.25 | 1.16, 1.17, 1.18, 1.19, 1.20, 1.21 |
| 1.15 | Yes | August 31, 2022 | ~March 2023 (Expected) | 1.22, 1.23, 1.24, 1.25 | 1.16, 1.17, 1.18, 1.19, 1.20, 1.21 |
| 1.14 | No | May 24, 2022 | Dec 27, 2022 | 1.21, 1.22, 1.23, 1.24 | 1.16, 1.17, 1.18, 1.19, 1.20 |
| 1.13 | No | February 11, 2022 | Oct 12, 2022 | 1.20, 1.21, 1.22, 1.23 | 1.16, 1.17, 1.18, 1.19 |
| 1.12 | No | November 18, 2021 | Jul 12, 2022 | 1.19, 1.20, 1.21, 1.22 | 1.16, 1.17, 1.18 |
| 1.11 | No | August 12, 2021 | Mar 25, 2022 | 1.18, 1.19, 1.20, 1.21, 1.22 | 1.16, 1.17 |
| 1.10 | No | May 18, 2021 | Jan 7, 2022 | 1.18, 1.19, 1.20, 1.21 | 1.16, 1.17, 1.22 |
| 1.9 | No | February 9, 2021 | Oct 8, 2021 | 1.17, 1.18, 1.19, 1.20 | 1.15, 1.16 |
| 1.8 | No | November 10, 2020 | May 12, 2021 | 1.16, 1.17, 1.18, 1.19 | 1.15 |
| 1.7 | No | August 21, 2020 | Feb 25, 2021 | 1.16, 1.17, 1.18 | 1.15 |
| 1.6 and earlier | No | | | | |
{{< warning >}} {{< warning >}}
[Kubernetes 1.22 removed some deprecated APIs](https://kubernetes.io/blog/2021/07/14/upcoming-changes-in-kubernetes-1-22/) and as a result versions of Istio prior to 1.10.0 will no longer work. If you are upgrading your Kubernetes version, make sure that your Istio version is still supported. [Kubernetes 1.22 removed some deprecated APIs](https://kubernetes.io/blog/2021/07/14/upcoming-changes-in-kubernetes-1-22/) and as a result versions of Istio prior to 1.10.0 will no longer work. If you are upgrading your Kubernetes version, make sure that your Istio version is still supported.

View File

@ -28,9 +28,6 @@ archive_search_refinement: "V1.1"
source_branch_name: master source_branch_name: master
doc_branch_name: master doc_branch_name: master
# The list of supported versions described by the docs
supported_kubernetes_versions: ["1.23", "1.24", "1.25", "1.26"]
####### Static values ####### Static values
# we use different search engines for each incarnation of the site # we use different search engines for each incarnation of the site

View File

@ -0,0 +1,81 @@
# Please keep entries ordered descending by version.
# The order will be retained while rendering the
# data into the support_status_table shortcode
- version: "master"
supported: "No, development only"
releaseDate:
eolDate:
k8sVersions: ["1.23", "1.24", "1.25", "1.26"]
testedK8sVersions:
- version: "1.17"
supported: "Yes"
releaseDate: "February 14, 2023"
eolDate: "~Sept 2023 (Expected)"
k8sVersions: ["1.23", "1.24", "1.25", "1.26"]
testedK8sVersions: ["1.16", "1.17", "1.18", "1.19", "1.20", "1.21", "1.22"]
- version: "1.16"
supported: "Yes"
releaseDate: "November 15, 2022"
eolDate: "~June 2023 (Expected)"
k8sVersions: ["1.22", "1.23", "1.24", "1.25"]
testedK8sVersions: ["1.16", "1.17", "1.18", "1.19", "1.20", "1.21"]
- version: "1.15"
supported: "Yes"
releaseDate: "August 31, 2022"
eolDate: "~March 2023 (Expected)"
k8sVersions: ["1.22", "1.23", "1.24", "1.25"]
testedK8sVersions: ["1.16", "1.17", "1.18", "1.19", "1.20", "1.21"]
- version: "1.14"
supported: "No"
releaseDate: "May 24, 2022"
eolDate: "Dec 27, 2022"
k8sVersions: ["1.21", "1.22", "1.23", "1.24"]
testedK8sVersions: ["1.16", "1.17", "1.18", "1.19", "1.20"]
- version: "1.13"
supported: "No"
releaseDate: "February 11, 2022"
eolDate: "Oct 12, 2022"
k8sVersions: ["1.20", "1.21", "1.22", "1.23"]
testedK8sVersions: ["1.16", "1.17", "1.18", "1.19"]
- version: "1.12"
supported: "No"
releaseDate: "November 18, 2021"
eolDate: "Jul 12, 2022"
k8sVersions: ["1.19", "1.20", "1.21", "1.22"]
testedK8sVersions: ["1.16", "1.17", "1.18"]
- version: "1.11"
supported: "No"
releaseDate: "August 12, 2021"
eolDate: "Mar 25, 2022"
k8sVersions: ["1.18", "1.19", "1.20", "1.21", "1.22"]
testedK8sVersions: ["1.16", "1.17"]
- version: "1.10"
supported: "No"
releaseDate: "May 18, 2021"
eolDate: "Jan 7, 2022"
k8sVersions: ["1.18", "1.19", "1.20", "1.21"]
testedK8sVersions: ["1.16", "1.17", "1.22"]
- version: "1.9"
supported: "No"
releaseDate: "February 9, 2021"
eolDate: "Oct 8, 2021"
k8sVersions: ["1.17", "1.18", "1.19", "1.20"]
testedK8sVersions: ["1.15", "1.16"]
- version: "1.8"
supported: "No"
releaseDate: "November 10, 2020"
eolDate: "May 12, 2021"
k8sVersions: ["1.16", "1.17", "1.18", "1.19"]
testedK8sVersions: ["1.15"]
- version: "1.7"
supported: "No"
releaseDate: "August 21, 2020"
eolDate: "Feb 25, 2021"
k8sVersions: ["1.16", "1.17", "1.18"]
testedK8sVersions: ["1.15"]
- version: "1.6 and earlier"
supported: "No"
releaseDate:
eolDate:
k8sVersions:
testedK8sVersions:

View File

@ -0,0 +1,36 @@
{{ $data := index .Site.Data.compatibility.supportStatus }}
<table>
<thead>
<tr>
<th>Version</th>
<th>Currently Supported</th>
<th>Release Date</th>
<th>End of Life</th>
<th>Supported Kubernetes Versions</th>
<th>Tested, but not supported</th>
</tr>
</thead>
<tbody>
{{ range $data }}
<tr>
<td>{{ .version }}</td>
<td>{{ .supported }}</td>
<td>{{ .releaseDate }}</td>
<td>{{ .eolDate }}</td>
<td>
{{- range $i, $v := .k8sVersions -}}
{{- if ne $i 0 -}}, {{ end -}}
{{- $v -}}
{{- end -}}
</td>
<td>
{{- range $i, $v := .testedK8sVersions -}}
{{- if ne $i 0 -}}, {{ end -}}
{{- $v -}}
{{- end -}}
</td>
</tr>
{{ end }}
</tbody>
</table>

View File

@ -1,4 +1,9 @@
{{- range $i, $v := .Site.Data.args.supported_kubernetes_versions -}} {{- $branch := .Site.Data.args.source_branch_name -}}
{{- $key := cond (eq $branch "master") $branch (index (split $branch "-") 1) -}}
{{- $versions := .Site.Data.compatibility.supportStatus -}}
{{- $data := index (where $versions "version" $key) 0 -}}
{{- range $i, $v := $data.k8sVersions -}}
{{- if ne $i 0 -}}, {{ end -}} {{- if ne $i 0 -}}, {{ end -}}
{{- $v -}} {{- $v -}}
{{- end -}} {{- end -}}

View File

@ -178,6 +178,8 @@ advance_master_to_next_release() {
make update_all gen make update_all gen
yq -i '.[0].k8sVersions = .[1].k8sVersions' data/compatibility/supportStatus.yml
if [[ $(git status --porcelain) ]]; then if [[ $(git status --porcelain) ]]; then
git add -A git add -A
git commit -m "advance master to release-${NEXT_MINOR}" git commit -m "advance master to release-${NEXT_MINOR}"