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

Generate reference doc for 1.21.0-rc.0 tag #27248

Merged
merged 1 commit into from
Apr 6, 2021
Merged

Generate reference doc for 1.21.0-rc.0 tag #27248

merged 1 commit into from
Apr 6, 2021

Conversation

reylejano
Copy link
Member

Update generated reference API docs with tag 1.21.0-rc.0

/assign @kbhawkey
/hold for review

@k8s-ci-robot k8s-ci-robot added this to the 1.21 milestone Mar 27, 2021
@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 27, 2021
@k8sio-netlify-preview-bot
Copy link
Collaborator

k8sio-netlify-preview-bot commented Mar 27, 2021

Deploy preview for kubernetes-io-vnext-staging processing.

Building with commit d2bf43b

https://app.netlify.com/sites/kubernetes-io-vnext-staging/deploys/6067e84512412f0008034d09

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Mar 27, 2021
@k8s-ci-robot k8s-ci-robot added the sig/docs Categorizes an issue or PR as relevant to SIG Docs. label Mar 27, 2021
Copy link
Member

@irvifa irvifa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 27, 2021
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 0d6b0907d438377973a9b80231ca9681b51eac70

@kbhawkey
Copy link
Contributor

kbhawkey commented Mar 27, 2021

Hi @reylejano .
Were there any errors? I don't see any generated component/tool pages?
You should update the base reference page (to link to API reference v1.21)?
This link is referring to the v1.20 reference page.
I assume that the kubectl tool did not change (commands, not descriptions).

Preview page:
https://deploy-preview-27248--kubernetes-io-vnext-staging.netlify.app/docs/reference/
https://deploy-preview-27248--kubernetes-io-vnext-staging.netlify.app/docs/reference/generated/kubernetes-api/v1.21/
https://deploy-preview-27248--kubernetes-io-vnext-staging.netlify.app/docs/reference/generated/kubernetes-api/v1.20/
https://deploy-preview-27248--kubernetes-io-vnext-staging.netlify.app/docs/reference/generated/kubectl/kubectl-commands

Hold for review
/hold

@kbhawkey
Copy link
Contributor

Related PR (1.21 API reference pages): #26413

@kbhawkey
Copy link
Contributor

Hi. I tried to build the component tool reference pages. The build failed (running script and running from command line).
@tengqm I think you recently changed the build of gen-compdocs. Would you have time to sort out the build/module errors?
Looks like Kubernetes requires Go 1.16+ now. Thanks. I'll continue to look into the errors.

@reylejano
Copy link
Member Author

Hi @reylejano .
Were there any errors? I don't see any generated component/tool pages?
You should update the base reference page (to link to API reference v1.21)?
This link is referring to the v1.20 reference page.
I assume that the kubectl tool did not change (commands, not descriptions).

Preview page:
https://deploy-preview-27248--kubernetes-io-vnext-staging.netlify.app/docs/reference/
https://deploy-preview-27248--kubernetes-io-vnext-staging.netlify.app/docs/reference/generated/kubernetes-api/v1.21/
https://deploy-preview-27248--kubernetes-io-vnext-staging.netlify.app/docs/reference/generated/kubernetes-api/v1.20/
https://deploy-preview-27248--kubernetes-io-vnext-staging.netlify.app/docs/reference/generated/kubectl/kubectl-commands

Hold for review
/hold

@kbhawkey I did not receive any errors, I'll update the base reference page to link to API reference v1.21

@k8s-ci-robot
Copy link
Contributor

New changes are detected. LGTM label has been removed.

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 28, 2021
@reylejano
Copy link
Member Author

@kbhawkey I updated my golang and re-ran. The build failed on the second run

Copy link
Contributor

@sftim sftim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sftim

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 28, 2021
@kbhawkey
Copy link
Contributor

👋 @reylejano .
It is not clear to me why the tool pages cannot build with the release candidates.
There appears to be some differences in the packaging/modules of the libraries (dependencies of k8s.io)?
Hoping @tengqm will chime in here.

@tengqm
Copy link
Contributor

tengqm commented Mar 30, 2021

@reylejano @kbhawkey I don't think we need/want to build the component reference at this stage. As you may know, to ensure a stable/repeatable generation of the references, we have switched to manage Go dependencies using go mod. The side effect is that we will not be able to generate the proper reference until the upstream repos are ready. By "ready", I mean the proper tags show up in those repos. For example, we will need the v0.21.0 tag from the k8s.io/api repo, and that will not happen before 1.21.0 is released from k8s.io/kubernetes.

@irvifa
Copy link
Member

irvifa commented Mar 30, 2021

In this case then we can wait until the tag is published and then preparing for the document to be generated?

@reylejano
Copy link
Member Author

@kbhawkey @tengqm @irvifa , we discussed this PR a little bit on today's SIG Docs call.
Do you think we should change the release docs handbook timeline to have the reference doc generation to the release day when the v0.21.0 tag is available

@kbhawkey
Copy link
Contributor

kbhawkey commented Mar 30, 2021

Hi. In the past releases, we have created the reference documentation in time for the release and used the
last release candidate tag (sometimes even beta for testing). This worked well and enabled the docs site to include the generated reference documentation in the dev-<release> branch.
It is surprising to me that this has changed.
Creating the docs from the release candidate tags, enables us to evaluate and update the reference docs (or steps to generate the docs) in time for the release. I would think that the docs could use the release candidate tags (?).

The v0.21.0 (?) tag is required for the v1.21.0 release:
For example, we will need the v0.21.0 tag from the k8s.io/api repo, and that will not happen before 1.21.0 is released from k8s.io/kubernetes

@tengqm
Copy link
Contributor

tengqm commented Mar 31, 2021

Why is the v1.21.0 (v0.21.0?) tag required?

See https://github.com/kubernetes-sigs/reference-docs/blob/master/gen-compdocs/go.mod#L22-L46

go.mod Outdated

require (
k8s.io/apimachinery v0.20.0
k8s.io/kubernetes v1.20.0
k8s.io/kubernetes v1.21.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@reylejano , Are the go.mod changes related to the generated files in this PR?

Copy link
Member Author

@reylejano reylejano Mar 31, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kbhawkey , the generated files are with the go.mode L7 change k8s.io/kubernetes v1.21.0
But I did not change go.mod lines 11-37:

replace (
k8s.io/api => k8s.io/api v0.20.0
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.20.0
k8s.io/apimachinery => k8s.io/apimachinery v0.20.0
k8s.io/apiserver => k8s.io/apiserver v0.20.0
k8s.io/cli-runtime => k8s.io/cli-runtime v0.20.0
k8s.io/client-go => k8s.io/client-go v0.20.0
k8s.io/cloud-provider => k8s.io/cloud-provider v0.20.0
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.20.0
k8s.io/code-generator => k8s.io/code-generator v0.20.0
k8s.io/component-base => k8s.io/component-base v0.20.0
k8s.io/component-helpers => k8s.io/component-helpers v0.20.0
k8s.io/controller-manager => k8s.io/controller-manager v0.20.0
k8s.io/cri-api => k8s.io/cri-api v0.20.0
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.20.0
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.20.0
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.20.0
k8s.io/kube-proxy => k8s.io/kube-proxy v0.20.0
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.20.0
k8s.io/kubectl => k8s.io/kubectl v0.20.0
k8s.io/kubelet => k8s.io/kubelet v0.20.0
k8s.io/kubernetes => k8s.io/kubernetes v1.20.0
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.20.0
k8s.io/metrics => k8s.io/metrics v0.20.0
k8s.io/mount-utils => k8s.io/mount-utils v0.20.0
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.20.0
k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.20.0
k8s.io/sample-controller => k8s.io/sample-controller v0.20.0
)

I can re-run with changes in L11-37 in go.mod from v0.20.0 to v0.21.0 and add to this PR

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is that these modules are staged from the k/k repo. When 1.21.0 is not out, you won't get the v0.21.0 tag from these modules.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is that these modules are staged from the k/k repo. When 1.21.0 is not out, you won't get the v0.21.0 tag from these modules.

@tengqm that's what I thought, but I re-ran with changes to go.mod to v0.21.0 or v1.21.0, I'll push but won't squash yet to see the changes

@kbhawkey
Copy link
Contributor

/hold cancel

@k8s-ci-robot k8s-ci-robot added language/en Issues or PRs related to English language and removed do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. labels Mar 31, 2021
@reylejano
Copy link
Member Author

reylejano commented Mar 31, 2021

@kbhawkey @tengqm Pushed commit a2eed93 after re-running with complete version/tag changes in go.mod. There were significant changes.

Let me know if this is looks better or should we still re-run on the release day when the tags are available? If the generated files are correct and the changes to go.mod are required, then I'll update the release docs role handbook with this required change.

I can squash after reviewing changes from commit a2eed93

I made a mistake with commit a2eed93 and I reverted

@reylejano
Copy link
Member Author

reylejano commented Mar 31, 2021

@kbhawkey @tengqm I had a mistake on my last commit. I'm going to revert a2eed93

@reylejano
Copy link
Member Author

I updated all the tag and versions in go.mod in commit 75ed7cc and not much change.
@kbhawkey @tengqm , I was thinking of re-running this on the release day (April 8) with the go.mod tag changes when the tags are available. What do you think?

@tengqm
Copy link
Contributor

tengqm commented Mar 31, 2021

@reylejano Please ping me when there is any issue generating the reference.

@kbhawkey
Copy link
Contributor

Hi. I asked about the .mod file because I did not expect to see the file as part of this PR.
The script builds the references in a temporary directory. Perhaps this file gets copied over after building the reference?
At this point, it looks like you will have to wait to build the other reference pages. You could push in these changes now and
recheck the build after the release is finalized?
@reylejano Did you update the reference section page (https://deploy-preview-27248--kubernetes-io-vnext-staging.netlify.app/docs/reference/)

@reylejano
Copy link
Member Author

@kbhawkey I reverted back to my initial commit and rebased my branch with dev-1.21 which had the updated config.toml file.

https://deploy-preview-27248--kubernetes-io-vnext-staging.netlify.app/docs/reference/

@kbhawkey
Copy link
Contributor

kbhawkey commented Apr 2, 2021

Hi @reylejano .
Catching up here. Do you want to merge these changes and then rebuild the references (including component tool pages)
once the release is tagged?

@reylejano
Copy link
Member Author

Hi @reylejano .
Catching up here. Do you want to merge these changes and then rebuild the references (including component tool pages)
once the release is tagged?

@kbhawkey, yes we can do that

empty commit to rebuild netlify preview
@sftim
Copy link
Contributor

sftim commented Apr 6, 2021

@reylejano it doesn't look as if CronJob has graduated to beta stable in this API reference. I was expecting to see it as a v1 API.
Do you know why that is?

@k8s-ci-robot k8s-ci-robot merged commit 965aa51 into kubernetes:dev-1.21 Apr 6, 2021
@reylejano
Copy link
Member Author

reylejano commented Apr 6, 2021

@reylejano it doesn't look as if CronJob has graduated to beta stable in this API reference. I was expecting to see it as a v1 API.
Do you know why that is?

@sftim, I'm looking into this as the CronJob feature is a little more complex in that the CronJob feature is stable in 1.21 but the CronJob Controller v2 is beta in 1.21. The API is stable for 1.21 but the controller is targeted to be stable in 1.22.

The k/k code has merged in k/k PR 99423 so CronJob should be v1 API

@reylejano reylejano deleted the dev-1.21-ref-doc branch April 8, 2021 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language sig/docs Categorizes an issue or PR as relevant to SIG Docs. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants