Commit Graph

4513 Commits

Author SHA1 Message Date
Tim Hockin
28af54138d Use file tags to generate deep-copies
This drives most of the logic of deep-copy generation from tags like:
  // +deepcopy-gen=package
..rather than hardcoded lists of packages.  This will make it possible to
subsequently generate code ONLY for packages that need it *right now*, rather
than all of them always.

Also remove pkgs that really do not need deep-copies (no symbols used
anywhere).
2016-07-07 16:49:46 -07:00
Tim St. Clair
febebf4718 Add development doc with go tips & tools 2016-07-07 16:30:35 -07:00
Tim St. Clair
868fa6a61a Regenerate TOCs with duplicate header fix 2016-07-07 13:31:17 -07:00
k8s-merge-robot
8601530bdd Merge pull request #28460 from wojtek-t/remove_cmd_integration
Automatic merge from submit-queue

Remove cmd/integration test

Fix #24440

After few cleanup PRs:
https://github.com/kubernetes/kubernetes/pull/27182
https://github.com/kubernetes/kubernetes/pull/27535
https://github.com/kubernetes/kubernetes/pull/26016

The only things that are being tested here is:
- starting master components without any verification (so if it didn't start, it will still work :P)
- checking if kubelet is starting containers from http manifest.

The latter is already tested in:
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/config/http_test.go#L54

So the test is now useless, at the same time, significantly increasing time spent on integration tests.

@lavalamp @mikedanese @spxtr @fejta
2016-07-07 11:36:19 -07:00
Casey Davenport
ea4be05cab Update API reference docs 2016-07-07 10:06:12 -07:00
k8s-merge-robot
05cbaa9900 Merge pull request #28151 from mbohlool/master
Automatic merge from submit-queue

Represent unversioned.Time correctly in swagger spec

unversioned.Time previously represented as "string" type with no format while the correct representation should also have "date-time" as format. fixes #2968
2016-07-07 09:53:25 -07:00
Mike Danese
81e67c0403
update docs
Signed-off-by: Mike Danese <mikedanese@google.com>
2016-07-07 00:54:23 -07:00
k8s-merge-robot
2da247ffbc Merge pull request #26977 from joe2far/fix-help-strings
Automatic merge from submit-queue

Make kubectl help strings consistent
2016-07-07 00:12:22 -07:00
k8s-merge-robot
bfa5d3027c Merge pull request #28479 from lixiaobing10051267/masterbuild
Automatic merge from submit-queue

delete the redundant word "a"

In file docs/reporting-security-issues.md, line #37, "If you believe you have discovered a vulnerability or a have a security incident to report", here the second "a" is redundant, should be deleted.
2016-07-06 23:36:58 -07:00
Quinton Hoole
791dd215d2 Deprecate the term "Ubernetes" in favor of "Cluster Federation" and "Multi-AZ Clusters" 2016-07-06 15:42:56 -07:00
k8s-merge-robot
f78da7c273 Merge pull request #28400 from dubstack/fix-typo
Automatic merge from submit-queue

Fix minor typo

Fix for a really minor typo in development.md

@thockin PTAL.
2016-07-06 08:04:05 -07:00
dubstack
e8cc77487c Fix minor typo 2016-07-05 20:00:41 -07:00
k8s-merge-robot
b60de6c497 Merge pull request #28495 from lixiaobing10051267/mastermover
Automatic merge from submit-queue

"Mover" should be "Moreover"

In file docs/proposals/apiserver-watch.md, line #108, "Mover, this will not require any changes in other parts of the code.", here "Mover" should be "Moreover".
2016-07-05 06:07:51 -07:00
lixiaobing10051267
4608539c39 "Mover" should be "Moreover" 2016-07-05 19:39:48 +08:00
Angus Salkeld
e0ce987f4e Add command "kubectl config get-contexts"
Note: Context is not a runtime object (doesn't have Kind and Version) so
      we can't use the resource_printer
2016-07-05 11:24:00 +02:00
lixiaobing10051267
cbeba12fef delete the redundant word "a" 2016-07-05 10:48:26 +08:00
Wojciech Tyczynski
3686e55d37 Remove cmd/integration test 2016-07-04 13:07:12 +02:00
mbohlool
0254679067 Represent unversioned.Time correctly in swagger spec 2016-07-01 23:23:19 -07:00
xiangpengzhao
6604bd20e8 Add issue links to taint-toleration-dedicated.md 2016-07-01 21:45:30 -04:00
xiangpengzhao
7074169a63 Add link to issues referenced in nodeaffinity.md and podaffinity.md 2016-07-01 21:31:47 -04:00
k8s-merge-robot
d499d65bef Merge pull request #28055 from ronnielai/doc
Automatic merge from submit-queue

Adding inode availability in eviction policy

Updates the proposal to include inodes as an eviction parameter.
2016-07-01 18:04:12 -07:00
k8s-merge-robot
fb19362e01 Merge pull request #25899 from yujuhong/ncri
Automatic merge from submit-queue

Add a new container runtime interface

This PR includes a proposal and a Go file to re-define the container runtime interface.
This is based on the original doc: https://docs.google.com/document/d/1ietD5eavK0aTuMQTw6-21r67UU73_vqYSUIPFdA0J5Q/

The umbrella issues is #22964

/cc @kubernetes/sig-node
2016-07-01 16:55:44 -07:00
Yu-Ju Hong
08dc661133 Container runtime interface
This commit includes a proposal and a Go file to re-define the container
runtime interface.

Note that this is an experimental interface and is expected to go through
multiple revisions once developers start implementing against it. As stated in
the proposal, there are also individual issues to carry discussions of
specific features.
2016-07-01 15:42:11 -07:00
k8s-merge-robot
ac989f60a1 Merge pull request #26706 from borismattijssen/patch-1
Automatic merge from submit-queue

Update scheduler_extender.md

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

The filter call should actually return a schedulerapi.ExtenderFilterResult with an api.NodeList in it, instead of a raw api.NodeList.
2016-07-01 15:30:06 -07:00
Ron Lai
87f5251d0d Adding inode availability in eviction policy 2016-06-30 17:44:25 -07:00
Jordan Liggitt
993ab1d886 Allow specifying secret data using strings 2016-06-30 16:03:47 -04:00
k8s-merge-robot
f2ddd60eb9 Merge pull request #26755 from david-mcmahon/fix-headers
Automatic merge from submit-queue

Remove "All rights reserved" from all the headers.

cc @thockin @zmerlynn @brendanburns
2016-06-29 18:46:07 -07:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Zach Loafman
2d6c632de2 Revert "Revert "Merge pull request #28193 from zmerlynn/pull-ci-elsewhere""
Bring back #28193. We caught a break in
https://github.com/kubernetes/test-infra/issues/240 and discovered the
previous issue, fixed in
https://github.com/kubernetes/test-infra/pull/241 and
https://github.com/kubernetes/test-infra/pull/244, so I have a pretty
good handle on what was causing the previous bringup issues (and it
wasn't #28193). By the time this merges, we'll have good signal on GKE
in the `kubernetes-e2e-gke-updown` job.

This reverts commit ee1d480333.
2016-06-29 15:10:24 -07:00
Zach Loafman
ee1d480333 Revert "Merge pull request #28193 from zmerlynn/pull-ci-elsewhere"
This reverts commit d965b4719c, reversing
changes made to 08a28e5123.
2016-06-29 07:55:53 -07:00
joe2far
25b4341dc7 Make kubectl help strings consistent 2016-06-29 12:50:24 +01:00
k8s-merge-robot
641e359b1c Merge pull request #26193 from girishkalele/servicespec
Automatic merge from submit-queue

Remove comment about empty selectors in the service spec

As discussed, removing the comment about empty selectors in Service specs.
2016-06-28 20:35:06 -07:00
k8s-merge-robot
d965b4719c Merge pull request #28193 from zmerlynn/pull-ci-elsewhere
Automatic merge from submit-queue

Change references to gs://kubernetes-release/ci

Change over to gs://kubernetes-release-dev/ci. This should be all the
places we reference gs://kubernetes-release/ci or
https://storage.googleapis.com/kubernetes-release/ci. I'm happy to be
wrong.

Follow-on to #28172

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-28 18:16:52 -07:00
k8s-merge-robot
08a28e5123 Merge pull request #28088 from philips/patch-6
Automatic merge from submit-queue

docs: proposals: self-hosted-kubelet fix link
2016-06-28 17:43:07 -07:00
Girish Kalele
3778ca196e Remove comment about empty selectors 2016-06-28 17:04:24 -07:00
Zach Loafman
92485326b1 Change references to gs://kubernetes-release/ci
Change over to gs://kubernetes-release-dev/ci. This should be all the
places we reference gs://kubernetes-release/ci or
https://storage.googleapis.com/kubernetes-release/ci. I'm happy to be
wrong.

Follow-on to #28172
2016-06-28 16:45:12 -07:00
k8s-merge-robot
32eccd413f Merge pull request #25562 from gtank/certificates-api-v9
Automatic merge from submit-queue

TLS bootstrap API group (alpha)

This PR only covers the new types and related client/storage code- the vast majority of the line count is codegen. The implementation differs slightly from the current proposal document based on discussions in design thread (#20439). The controller logic and kubelet support mentioned in the proposal are forthcoming in separate requests.

I submit that #18762 ("Creating a new API group is really hard") is, if anything, understating it. I've tried to structure the commits to illustrate the process.

@mikedanese @erictune @smarterclayton @deads2k

```release-note-experimental
An alpha implementation of the the TLS bootstrap API described in docs/proposals/kubelet-tls-bootstrap.md.
```

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-28 13:25:22 -07:00
k8s-merge-robot
13bb931b60 Merge pull request #26761 from matchstick/dedent
Automatic merge from submit-queue

Dedent

Adding the dedent package and then applying it to the kubectl help commands. Also updating the documentation to reflect the use of dedent.
2016-06-28 12:50:59 -07:00
George Tankersley
c9c6fff269 codegen: GENERATE ALL THE THINGS 2016-06-28 12:05:41 -07:00
k8s-merge-robot
c2de10e4a2 Merge pull request #26738 from aveshagarwal/master-resources-bytes-terminology
Automatic merge from submit-queue

Fix byte terminology
2016-06-28 11:40:23 -07:00
k8s-merge-robot
337805d1a7 Merge pull request #27816 from spxtr/no-travis
Automatic merge from submit-queue

Remove all traces of travis.
2016-06-28 03:53:34 -07:00
Michael Rubin
37f9647dfe Document usage of dedent for kubectl commands 2016-06-26 22:51:16 -07:00
Brandon Philips
ebcde94799 docs: proposals: self-hosted-kubelet fix link
Broken link caused by inversed markdown formatting.
2016-06-26 14:44:09 -07:00
David McMahon
037b25b6d0 relnotes ready for use. 2016-06-24 17:09:22 -07:00
k8s-merge-robot
f04177e5f4 Merge pull request #27530 from sdminonne/bug_fix
Automatic merge from submit-queue

to remove workflow proposal

@erictune @brendanburns 
I think workflow proposal should be removed now. If you have a specific plan to remove it disregard this.
2016-06-24 13:57:09 -07:00
k8s-merge-robot
9612e10337 Merge pull request #26729 from quinton-hoole/2016-06-02-tell-mac-wussies-to-be-more-linux
Automatic merge from submit-queue

Add note to development guide regarding GNU tools versions


…especially on Mac OS X.
2016-06-24 13:56:43 -07:00
Joe Finney
ab4a65c10a Remove all traces of travis. 2016-06-21 15:58:34 -07:00
k8s-merge-robot
0e562d29c7 Merge pull request #26932 from aaronlevy/conformance-fix
Automatic merge from submit-queue

Allow conformance tests to run on non-GCE providers

fixes https://github.com/kubernetes/kubernetes/issues/26869

Creates a skeleton provider which has all the required function stubs -- but will allow a previously set "skeleton" KUBERNETES_PROVIDER to not be overriden with "gce".
2016-06-21 14:30:58 -07:00
Mike Danese
e26fb8164b fix mungegithub and the verification build 2016-06-21 13:24:30 -07:00
k8s-merge-robot
ec518005a8 Merge pull request #27567 from saad-ali/blockKubeletOnAttachController
Automatic merge from submit-queue

Kubelet Volume Manager Wait For Attach Detach Controller and Backoff on Error

* Closes https://github.com/kubernetes/kubernetes/issues/27483
  * Modified Attach/Detach controller to report `Node.Status.AttachedVolumes` on successful attach (unique volume name along with device path).
  * Modified Kubelet Volume Manager wait for Attach/Detach controller to report success before proceeding with attach.
* Closes https://github.com/kubernetes/kubernetes/issues/27492
  * Implemented an exponential backoff mechanism for for volume manager and attach/detach controller to prevent operations (attach/detach/mount/unmount/wait for controller attach/etc) from executing back to back unchecked.
* Closes https://github.com/kubernetes/kubernetes/issues/26679
  * Modified volume `Attacher.WaitForAttach()` methods to uses the device path reported by the Attach/Detach controller in `Node.Status.AttachedVolumes` instead of calling out to cloud providers.
2016-06-20 20:36:08 -07:00
Dr. Stefan Schimanski
6d75c01b1d Fix hack/update-api-reference-docs.sh
- update toplevel api object pattern in swagger doc script
- make hack/update-api-reference-docs.sh indepenent from master
2016-06-20 22:02:04 +02:00
saadali
e3e919ca20 Add VolumesAttached field to Node Status API 2016-06-19 23:54:02 -07:00
Clayton Coleman
bdde25cf43
Proposal for implementing init containers 2016-06-17 17:39:07 -04:00
Salvatore Dario Minonne
5ca0e01690 to remove workflow proposal 2016-06-16 10:43:47 +02:00
Daniel Smith
4a040d11ca Merge pull request #26032 from pmorie/improve-tests
Testing improvements
2016-06-15 15:44:33 -07:00
Daniel Smith
5617360d39 Merge pull request #27221 from david-mcmahon/updatedocs
Update the latestReleaseBranch to release-1.3 in the munger.
2016-06-15 14:43:06 -07:00
saadali
542f2dc708 Introduce new kubelet volume manager
This commit adds a new volume manager in kubelet that synchronizes
volume mount/unmount (and attach/detach, if attach/detach controller
is not enabled).

This eliminates the race conditions between the pod creation loop
and the orphaned volumes loops. It also removes the unmount/detach
from the `syncPod()` path so volume clean up never blocks the
`syncPod` loop.
2016-06-15 09:34:08 -07:00
saadali
9b6a505f8a Rename UniqueDeviceName to UniqueVolumeName
Rename UniqueDeviceName to UniqueVolumeName and move helper functions
from attacherdetacher to volumehelper package.
Introduce UniquePodName alias
2016-06-15 09:32:12 -07:00
Paul Morie
25f25cbafd Improve debugging experience for single integration test case 2016-06-14 12:51:02 -04:00
k8s-merge-robot
5fbde0a9c3 Merge pull request #27270 from piosz/hpa-docs
Automatic merge from submit-queue

Added warning to hpa design doc

fix #22797

cc @davidopp

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-14 02:13:49 -07:00
David McMahon
2bff72b769 Updated docs and examples for release-1.3. 2016-06-13 12:24:34 -07:00
Paul Morie
15213d0a1c Improve developer docs on unit and integration testing 2016-06-13 15:10:46 -04:00
k8s-merge-robot
10255f8aec Merge pull request #26951 from madhusudancs/fed-detect-project-registry-base
Automatic merge from submit-queue

Detect the project in which the federation of clusters are being created and point the federation docker registry to that project.

Only the last commit here needs review.

Depends on #26950.

cc @colhom @kubernetes/sig-cluster-federation

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-13 06:00:04 -07:00
Piotr Szczesniak
dc8c631afd Added warning to hpa design doc 2016-06-13 14:26:37 +02:00
Madhusudan.C.S
c7a4401359 Default to GCR as the image registry if the provider is GCE or GKE. 2016-06-13 02:08:59 -07:00
k8s-merge-robot
911e84ed1e Merge pull request #26710 from sttts/sttts-fix-seccomp-annotations
Automatic merge from submit-queue

Move /seccomp/ into domain prefix in seccomp annotations

Fixes #26610.

/cc @mdshuai @ncdc @jfrazelle
2016-06-11 07:03:50 -07:00
Dawn Chen
88de86fcb9 Revert "Versioning docs and examples for v1.4.0-alpha.0."
This reverts commit cce9db3aa9.
2016-06-10 16:46:46 -07:00
Dawn Chen
9ee6809586 Revert "Update the latestReleaseBranch to release-1.3 in the munger."
This reverts commit 3beed6e1aa.
2016-06-10 16:46:11 -07:00
David McMahon
3beed6e1aa Update the latestReleaseBranch to release-1.3 in the munger. 2016-06-10 14:55:46 -07:00
David McMahon
cce9db3aa9 Versioning docs and examples for v1.4.0-alpha.0. 2016-06-10 14:55:35 -07:00
k8s-merge-robot
6a388d4a0d Merge pull request #27072 from colhom/federation-e2e-docs
Automatic merge from submit-queue

Updating e2e docs with instructions on running federation tests

Last two commits are for review. Depends on #26951

\cc @madhusudancs @quinton-hoole @nikhiljindal 
 
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-09 19:14:11 -07:00
Colin Hom
5f7c7ad195 document federation e2e cli flow 2016-06-09 15:11:52 -07:00
Daniel Smith
1d25410c3b Run new update-generated-docs.sh script 2016-06-08 17:25:21 -07:00
Daniel Smith
adcd48ccea update documentation & hooks 2016-06-08 17:22:12 -07:00
Matt Liggett
d09af4a1d6 Stop 'drain' deleting pods with local storage.
Unless forced with --delete-local-data.  Also a refactoring of the
kubectl drain logic that selects/rejects pods and produces error/warning
messages.
2016-06-08 14:59:03 -07:00
k8s-merge-robot
525a56eff8 Merge pull request #26832 from pwittrock/node-e2e-makefile
Automatic merge from submit-queue

Node e2e Makefile support for running remote tests against kubernetes…

Fixes #26665

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

…-node-e2e-images.
2016-06-08 14:25:28 -07:00
Avesh Agarwal
e5c0daf4ed Fix byte terminology 2016-06-08 12:33:11 -04:00
Phillip Wittrock
e94e1c6e3d Node e2e Makefile support for running remote tests against kubernetes-node-e2e-images.
Also includes other improvements:
- Makefile rule to run tests against remote instance using existing host or image
- Makefile will reuse an instance created from an image if it was not torn down
- Runner starts gce instances in parallel with building source
- Runner uses instance ip instead of hostname so that it doesn't need to resolve
- Runner supports cleaning up files and processes on an instance without stopping / deleting it
- Runner runs tests using `ginkgo` binary to support running tests in parallel
2016-06-08 07:31:54 -07:00
Aaron Levy
e8d1dae1a9 Use a skeleton provider for unimplemented functionality 2016-06-07 16:08:09 -07:00
Eric Paris
2fba6d2d63 update automation.md 2016-06-07 17:30:50 -04:00
k8s-merge-robot
7476d97781 Merge pull request #26389 from brendandburns/credo
Automatic merge from submit-queue

Add the criteria for including new APIs

@bgrant0607 @smarterclayton @davidopp @thockin @jbeda 

As discussed in community meeting today.
2016-06-06 23:08:48 -07:00
Huamin Chen
4b4048a084 correction on rbd volume object and defaults
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-06-06 17:27:47 +00:00
Dr. Stefan Schimanski
ad6bd78007 Move /seccomp/ into domain prefix in seccomp annotations
Double slashes are not allowed in annotation keys. Moreover, using the 63
characters of the name component in an annotation key will shorted the space
for the container name.
2016-06-06 14:08:17 +02:00
David Oppenheimer
68097515d8 Merge pull request #26638 from mikedanese/death_to_podmaster
remove podmaster from high availability example configs
2016-06-05 14:04:59 -07:00
pwittrock
c74997508e Node e2e use vendored testing packages. 2016-06-03 17:01:50 -07:00
k8s-merge-robot
525140a278 Merge pull request #26693 from AdoHe/init_containers
Automatic merge from submit-queue

exec support init containers

Partially fixes #25818 
@smarterclayton ptal.
2016-06-03 10:13:49 -07:00
AdoHe
1cfcb24f37 exec support init container 2016-06-03 02:05:15 -04:00
Saad Ali
9dbe943491 Attach/Detach Controller Kubelet Changes
This PR contains Kubelet changes to enable attach/detach controller control.
* It introduces a new "enable-controller-attach-detach" kubelet flag to
  enable control by controller. Default enabled.
* It removes all references "SafeToDetach" annoation from controller.
* It adds the new VolumesInUse field to the Node Status API object.
* It modifies the controller to use VolumesInUse instead of SafeToDetach
  annotation to gate detachment.
* There is a bug in node-problem-detector that causes VolumesInUse to
  get reset every 30 seconds. Issue https://github.com/kubernetes/node-problem-detector/issues/9
  opened to fix that.
2016-06-02 16:47:11 -07:00
Quinton Hoole
ad3705ab81 Add note to development guide regarding GNU tools versions, especially on Mac OS X. 2016-06-02 11:30:31 -07:00
Brendan Burns
736fba2b86 Add the criteria for including new APIs 2016-06-02 09:43:11 -07:00
k8s-merge-robot
8c66ffbddc Merge pull request #26581 from caesarxuchao/continue-25746
Automatic merge from submit-queue

fix kubectl patch example

Based on https://github.com/kubernetes/kubernetes/pull/25746, fix the kubectl example.

cc @tobstarr
2016-06-02 07:48:07 -07:00
Boris Mattijssen
99264f4456 Update scheduler_extender.md
The filter call should actually return a schedulerapi.ExtenderFilterResult with an api.NodeList in it, instead of a raw api.NodeList.
2016-06-02 15:08:50 +02:00
k8s-merge-robot
1288106608 Merge pull request #26676 from nikhiljindal/admissionControl
Automatic merge from submit-queue

federation: Update the list of supported admission controls

Ref https://github.com/kubernetes/kubernetes/pull/26298#issuecomment-221697124

In 1.3, we are going to support only AlwaysAdmit and AlwaysDeny admission controls.
Updating the documentation accordingly.

@kubernetes/sig-cluster-federation
2016-06-02 06:05:15 -07:00
nikhiljindal
fe3cba94bf Update the list of supported admission controls 2016-06-01 18:51:09 -07:00
k8s-merge-robot
401da26068 Merge pull request #26635 from derekwaynecarr/fix_formating
Automatic merge from submit-queue

Fix table formatting in eviction proposal

/cc @vishh - table was not formatted properly.
2016-06-01 18:51:00 -07:00
Mike Danese
6c70ea3398 remove podmaster from high availability example configs 2016-06-01 09:58:31 -07:00
derekwaynecarr
1cf90a8f70 Fix table formatting in eviction proposal 2016-06-01 10:44:44 -04:00
Dr. Stefan Schimanski
026804c2be Fix kubectl --attach decription with deprecated --interactive 2016-06-01 13:21:39 +02:00
k8s-merge-robot
ee412efcef Merge pull request #26335 from girishkalele/kubedns-transition
Automatic merge from submit-queue

Switch DNS addons from skydns to kubedns

Change GCI and trusty cluster-helper scripts to use kubedns instead of skydns.
2016-05-31 16:14:48 -07:00
k8s-merge-robot
5288a255f4 Merge pull request #25567 from gmarek/validate
Automatic merge from submit-queue

Add Controller field to OwnerReference

cc @davidopp
2016-05-31 14:21:38 -07:00