kubernetes.client.AuthenticationV1TokenRequest() fails
What happened (please include outputs or screenshots): In documentation, the example given for api create_namespaced_service_account is not working due to: body = kubernetes.client.V1ServiceAccount()
Traceback (most recent call last):
File "t.py", line 87, in spec, must not be None") # noqa: E501
ValueError: Invalid value for spec, must not be None
(Nota: code indentation id wrong, but the issue is still there even while fixing it)
What you expected to happen: The call to create_namespaced_service_account should work but the example is stuck before this call
How to reproduce it (as minimally and precisely as possible): Copy paste example given : https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/CoreV1Api.md#create_namespaced_service_account_token (adapt code to be connect to your cluster)
Anything else we need to know?: I made a test with api list_namespace and list_namespaced_service_account they don't require call to AuthenticationV1TokenRequest and they are working well.
I presume that spec parameter should be set but I don't know what to set without a good example.
Environment:
- Kubernetes version (
kubectl version): 1.29 - OS (e.g., MacOS 10.13.6): Linux (amazon linux EC2)
- Python version (
python --version) 3.7 - Python client version (
pip list | grep kubernetes) 26.1.0
I found the solution. We need to add body with audience and expiration_seconds:
spec = kube.client.V1TokenRequestSpec(audiences=['https://kubernetes.default.svc'], bound_object_ref=None, expiration_seconds=<expiration in seconds>) body = kube.client.AuthenticationV1TokenRequest(spec=spec) response = api_instance.create_namespaced_service_account_token(name=name, namespace=ns, body=body)
It also would be nice to explain that name is the service account name.
The Kubernetes project currently lacks enough contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
- After 90d of inactivity,
lifecycle/staleis applied - After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied - After 30d of inactivity since
lifecycle/rottenwas applied, the issue is closed
You can:
- Mark this issue as fresh with
/remove-lifecycle stale - Close this issue with
/close - Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
- After 90d of inactivity,
lifecycle/staleis applied - After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied - After 30d of inactivity since
lifecycle/rottenwas applied, the issue is closed
You can:
- Mark this issue as fresh with
/remove-lifecycle rotten - Close this issue with
/close - Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues according to the following rules:
- After 90d of inactivity,
lifecycle/staleis applied - After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied - After 30d of inactivity since
lifecycle/rottenwas applied, the issue is closed
You can:
- Reopen this issue with
/reopen - Mark this issue as fresh with
/remove-lifecycle rotten - Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/close not-planned
@k8s-triage-robot: Closing this issue, marking it as "Not Planned".
In response to this:
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues according to the following rules:
- After 90d of inactivity,
lifecycle/staleis applied- After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied- After 30d of inactivity since
lifecycle/rottenwas applied, the issue is closedYou can:
- Reopen this issue with
/reopen- Mark this issue as fresh with
/remove-lifecycle rotten- Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/close not-planned
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.