k8s-merge-robot
12383dfa0c
Merge pull request #21341 from smarterclayton/liveness_describer
...
Auto commit by PR queue bot
2016-02-20 23:31:22 -08:00
Eric Tune
b4d454e9d5
Autogenerate.
2016-02-19 09:48:03 -08:00
Eric Tune
bcdbd1c709
Fix Job Reaping
...
Ensure batch.Kind("Job") has a reaper, so that pods are not orphaned.
Check for orphaned pods in test-cmd.sh.
Also provide describer and scaler for batch.Kind("Job").
The scaler, reaper, and describer for extensions can
be reused for batch.
2016-02-19 09:22:05 -08:00
Clayton Coleman
c198367958
Add a liveness and readiness describer to pods
...
Also shorten the Last Termination State label so the page is denser.
2016-02-17 20:07:05 -05:00
laushinka
7ef585be22
Spelling fixes inspired by github.com/client9/misspell
2016-02-18 06:58:05 +07:00
Clayton Coleman
778fb1798b
Don't print reason or message if they are empty on pods
...
For running pods they are typically empty and convey no value. Don't
print images twice.
2016-02-16 23:26:59 -05:00
k8s-merge-robot
66e872227a
Merge pull request #20886 from mqliang/ReplicaSet-kubectl
...
Auto commit by PR queue bot
2016-02-10 06:16:03 -08:00
k8s-merge-robot
cd1b9cc91b
Merge pull request #20880 from janetkuo/fix-describe-deployment
...
Auto commit by PR queue bot
2016-02-10 05:46:23 -08:00
Madhusudan.C.S
e7a9f30936
Address review comments.
2016-02-09 15:50:01 -08:00
mqliang
b5e99be81c
implement kubectl get/describe for ReplicaSet
2016-02-09 13:56:21 +08:00
Madhusudan.C.S
518f08aa7c
Move Deployments to ReplicaSets and switch the Deployment selector to the new LabelSelector.
...
Update the Deployments' API types, defaulting code, conversions, helpers
and validation to use ReplicaSets instead of ReplicationControllers and
LabelSelector instead of map[string]string for selectors.
Also update the Deployment controller, registry, kubectl subcommands,
client listers package and e2e tests to use ReplicaSets and
LabelSelector for Deployments.
2016-02-08 21:27:38 -08:00
Janet Kuo
1b30516094
Fix the incorrect format when describing deployment
2016-02-08 19:13:34 -08:00
Daniel Smith
f973af25fa
Merge pull request #20747 from caesarxuchao/internalclientset
...
rename release_1_2 to internalclientset
2016-02-05 15:49:08 -08:00
Chao Xu
184440f8ef
rename release_1_2 to internalclientset
2016-02-05 14:02:28 -08:00
Prashanth Balasubramanian
c56bebf594
Basic TLS support.
2016-02-05 11:00:04 -08:00
Daniel Smith
d84ac764a9
Merge pull request #20492 from erictune/labselunver
...
Move extensions.LabelSelector to unversioned
2016-02-04 23:17:40 -08:00
Chao Xu
1b047f8e67
rename legacy to core
2016-02-04 14:26:56 -08:00
Eric Tune
6133cb1f21
Move extensions.LabelSelector to unversioned.
...
Move type LabelSelector and type LabelSelectorRequirement from pkg/apis/extensions
This avoids an import loop when Job (and later DaemonSet, Deployment, ReplicaSet)
are moved out of extensions to new api groups.
Also Move LabelSelectorAsSelector utility from pkg/apis/extensions/ to pkg/api/unversioned/
Also its test.
Also LabelSelectorOp* constants.
Also the pkg/apis/extensions/validation functions ValidateLabelSelectorRequirement and
ValidateLabelSelector move to pkg/api/unversioned
The related type in pkg/apis/extensions/v1beta1/ is staying there. I might move
it in another PR if neccessary.
2016-02-04 13:46:34 -08:00
Saad Ali
0952dcd349
Merge pull request #20389 from mqliang/deployment-MinReadySeconds
...
Move MinReadySeconds out of RollingUpdateDeployment
2016-02-03 22:44:14 -08:00
Chao Xu
f9f5736b01
grep sed
2016-02-03 13:06:07 -08:00
mqliang
c4a1ab42e3
Move MinReadySeconds out of RollingUpdateDeployment
2016-02-03 11:38:11 +08:00
Janet Kuo
8fb86a3d3b
Add kubectl rollout history
2016-02-01 15:32:43 -08:00
Chao Xu
c72d234bbf
replacing handwritten client in several controllers
2016-01-31 15:42:02 -08:00
Janet Kuo
c84a0371a2
Deployment adds version info to its new rc
2016-01-30 12:04:35 -08:00
Madhusudan.C.S
73fb6dca62
DaemonSetSpec.Template should not be a pointer.
...
Pod template for DaemonSets isn't optional, like Deployments and Jobs,
so the DaemonSetSpec.Template field should not be a pointer.
2016-01-28 22:51:58 -08:00
Paul Morie
9030f16071
Move ConfigMap to main API
2016-01-28 17:07:05 -05:00
Janet Kuo
591269c99c
Surface available/unavailable pods in deployment describer
2016-01-25 14:30:15 -08:00
Eric Tune
53ee76fe1a
Support Work Queue jobs with variable parallelism
...
When job.spec.completions is nil, only
one task needs to succeed for the job to succeed,
and parallelism can be scaled freely during runtime.
Added tests.
Release Note:
This causes two minor changes to the API.
First, unset parallelism previously was defaulted to be
equal to completions. Now it always defaults to 1 if unset.
Second, having parallelism=N and completions unset would previously
be defaulted to 1 completion and N parallelism.
(this is not something we expect people to do, though)
Now, no defaulting occurs in that case, and the job's
behavior is different (any completion causes success).
2016-01-22 14:57:51 -08:00
k8s-merge-robot
4cd20f54fc
Merge pull request #19460 from bprashanth/kubectl_desc_ing
...
Auto commit by PR queue bot
2016-01-16 12:55:54 -08:00
Prashanth Balasubramanian
99af2da6c0
Fix kubectl describe ingress
2016-01-10 19:05:49 -08:00
Paul Morie
9c18067e60
Add kubectl support for ConfigMap
2016-01-06 09:03:39 -05:00
Eric Tune
f15b2e32a7
Merge pull request #16422 from hurf/created_by
...
Display controllers along with type when describing a pod
2015-12-18 13:44:07 -08:00
Eric Tune
1752cf22d4
Merge pull request #17940 from soltysh/job_deadline
...
Added ActiveDeadlineSeconds to jobs
2015-12-17 13:11:13 -08:00
k8s-merge-robot
674e24a16e
Merge pull request #18617 from mqliang/OSImage
...
Auto commit by PR queue bot
2015-12-17 08:50:48 -08:00
Maciej Szulik
327c104460
Added ActiveDeadlineSeconds to jobs, allowing failing a job after
...
exceeding allowed time.
2015-12-17 15:26:42 +01:00
k8s-merge-robot
b5387da0d7
Merge pull request #17669 from WeixuZhuang/describ
...
Auto commit by PR queue bot
2015-12-15 01:45:38 -08:00
Wojciech Tyczynski
960808bf08
Switch to versioned ListOptions in client.
2015-12-14 14:26:09 +01:00
mqliang
a21dd8a32b
replace OsImage to OSImage
2015-12-12 15:53:34 +08:00
derekwaynecarr
9cdeb4cb20
describe nodes improvements
2015-12-11 13:09:49 -05:00
Weixu Zhuang
a5a2b94c5f
In pkg/kubectl/describe.go function Matches support unordered types matches.
...
The argument of function need to be matched. It did not support unorder matches.
This is a TODO and I fix it.(line 1763 in pkg/kubectl/describe.go)
I use a map to solve it which could compare two types array's difference.
2015-12-10 09:24:30 -08:00
feisky
0d611416c2
kubectl describe more fields for ingress
2015-12-10 15:12:35 +08:00
Anish Bhatt
6e46fa1fd4
Add support for open-iscsi transports.
...
This enables use of software or hardware transports viz. be2iscsi,
bnx2i, cxgb3i, cxgb4i, qla4xx, iser and ocs. The default transport
(tcp) happens to be called "default".
Use of non-default transports changes the disk path to the following format:
/dev/disk/by-path/pci-<pci_id>-ip-<portal>-iscsi-<iqn>-lun-<lun_id>
2015-12-08 17:28:06 -08:00
Salvatore Dario Minonne
80575c3093
renaming PodSelector to LabelSelector
2015-12-04 09:49:08 +01:00
Wojciech Tyczynski
6dcb689d4e
Simplify List() signature in clients.
2015-12-03 09:54:07 +01:00
Marek Grabowski
5d92cb229f
Merge pull request #18031 from soltysh/issue17364
...
Changing ─ (U+2500) to ASCII hyphen in describe command
2015-12-03 09:24:58 +01:00
Maciej Szulik
db0df10b9c
Changing ─ (U+2500) to ASCII hyphen in describe command
2015-12-01 20:40:51 +01:00
Wojciech Tyczynski
8343c8ce6c
Pass ListOptions to List() methods.
2015-12-01 15:00:36 +01:00
k8s-merge-robot
7644d34759
Merge pull request #15775 from mesosphere/sur-k8sm-482-resource-roles
...
Auto commit by PR queue bot
2015-12-01 05:36:52 -08:00
deads2k
1ac6d8afd3
update reaper, scaler, describer for GroupKind
2015-11-30 09:22:39 -05:00
Avesh Agarwal
3d5207fd73
This commit adds type information to events.
...
This addresses issue #15624 .
2015-11-24 09:59:54 -05:00
Sergiusz Urbaniak
1a43dcf720
api, kubectl: move getSinglePodTotalRequestsAndLimits to api.PodRequestsAndLimits
2015-11-23 17:27:14 +01:00
k8s-merge-robot
68d691858a
Merge pull request #17255 from derekwaynecarr/add_default_to_header
...
Auto commit by PR queue bot
2015-11-21 17:05:13 -08:00
derekwaynecarr
138315266d
Improve describe for LimitRange resource based on user feedback
2015-11-13 17:02:54 -05:00
Mike Danese
7a7f31ead1
move daemonset to generalized label selector
2015-11-13 10:31:50 -08:00
feisky
3adb929eb9
Add kubectl describe for endpoints
2015-11-07 14:58:12 +08:00
deads2k
fd1c8e096a
eliminate cross-namespace HPA escalation attack
2015-11-03 08:05:26 -05:00
hurf
29a0fe9032
Display controllers along with type when describing a pod
...
There're more controllers than replication controller, the patch
displays annotation item with key "kuberntetes.io/created-by" in
the form of "Controllers: type/name".
2015-10-30 11:16:46 +08:00
Prashanth Balasubramanian
122dccbffa
Kubectl describe
2015-10-29 12:09:31 -07:00
Piotr Szczesniak
c400cbbd13
Fixed incorrect Min replicas value in kubectl describe
2015-10-22 09:59:37 +02:00
k8s-merge-robot
a5a917603c
Merge pull request #15837 from feihujiang/removeUselessCodesAboutMinion
...
Auto commit by PR queue bot
2015-10-21 09:05:46 -07:00
Steve Milner
8da2d4002f
Fixes remaining imports per #15319
2015-10-20 07:13:13 -04:00
feihujiang
a456b4c424
Remove useless codes about Minion kind
2015-10-19 19:29:45 +08:00
k8s-merge-robot
80838ff86a
Merge pull request #15454 from feihujiang/describePodsShowCommandAndArgs
...
Auto commit by PR queue bot
2015-10-18 02:03:39 -07:00
Jerzy Szczepkowski
df732f061a
HorizontalPodAutoscaler API: removal of ResourceConsumption target, introduction of CPU request utilization & other cleanups.
2015-10-16 07:15:50 +02:00
Mike Danese
a7a54cac74
move job to generalized label selector
2015-10-15 07:42:58 -07:00
k8s-merge-robot
081f05c207
Merge pull request #14575 from soltysh/jobs_podtemplate_not_pointer
...
Auto commit by PR queue bot
2015-10-15 03:28:19 -07:00
Maciej Szulik
98fa29adfd
Make PodTemplateSpec for Job not a pointer, since it's a required field
2015-10-14 11:37:11 +02:00
Wojciech Tyczynski
647aa1bc8c
Unify per-resource List for unversioned client
2015-10-14 08:37:57 +02:00
Chao Xu
493d2b6920
grep sed Experimental()
2015-10-13 13:22:54 -07:00
feihujiang
42c38030be
Fix describe pods doesn't show command and args
2015-10-12 05:29:52 +08:00
Chao Xu
7c9f4cc42f
experimental. -> extensions.
2015-10-09 15:49:10 -07:00
Chao Xu
80f213c376
"experimental" -> "extensions"
2015-10-09 15:14:03 -07:00
Chao Xu
67f316dd19
apis/experimental->apis/extensions
2015-10-09 15:04:41 -07:00
Mike Danese
73f7242027
rename JobStatus.Unsuccessful => JobStatus.Failed, JobStatus.Successful => JobStatus.Succeeded
2015-10-08 10:41:22 -07:00
k8s-merge-robot
7007481f00
Merge pull request #14917 from nikhiljindal/deploymentController
...
Auto commit by PR queue bot
2015-10-02 13:18:49 -07:00
k8s-merge-robot
e4164638c4
Merge pull request #14732 from jszczepkowski/hpa-api-fix
...
Auto commit by PR queue bot
2015-10-01 18:52:59 -07:00
nikhiljindal
c6deb442f9
Adding events to deployment
2015-10-01 16:38:08 -07:00
Nikhil Jindal
7adb463dd0
Merge pull request #14199 from nikhiljindal/deploymentDescribe
...
Adding a DeploymentDescriber to kubectl
2015-09-30 21:34:24 -07:00
Jerzy Szczepkowski
a5194c5ff4
HorizontalPodAutoscaler.Status kept by value, not by pointer.
...
HorizontalPodAutoscaler.Status kept by value, not by pointer. Fixes #14567 .
2015-09-29 14:25:46 +02:00
nikhiljindal
153c57ffc8
Adding a DeploymentDescriber to kubectl
2015-09-28 14:21:24 -07:00
Marcin Wielgus
62da43eef2
Fix terminated pod printing in kubectl describe
2015-09-28 16:54:12 +02:00
Chao Xu
ae1293418b
move experimental/v1 to experimental/v1alpha1;
...
use "group/version" in many places where used to expect "version" only.
2015-09-24 15:32:11 -07:00
Mike Danese
2313c9ada0
move daemonset describe to experimental
2015-09-22 09:13:42 -07:00
Mike Danese
2e8c87e309
dereference pointer before printing in the describer
2015-09-21 13:55:19 -07:00
Jerzy Szczepkowski
7fcf7f1177
Cleanups in HorizontalPodAutoscaler API.
...
Cleanups in HorizontalPodAutoscaler API: renamed Min/MaxCount to Min/MaxReplicas as Replicas is the proper name used in other objects.
2015-09-17 14:16:43 +02:00
Mike Danese
54b0faf39a
rebase onto head
2015-09-15 18:13:28 -07:00
Ananya Kumar
30f5b93d2f
Add Kubectl support for Daemon
2015-09-15 18:11:12 -07:00
Maciej Szulik
1b46bc010a
Job clients, printer and describer
2015-09-15 13:54:51 +02:00
Janet Kuo
2e5aeaff52
Add percentage of total limits and a help doc to explain why it may be over 100%
2015-09-10 18:21:50 -07:00
Janet Kuo
5ffe46d376
Use resource.Quantity string representation to print requests and limits
2015-09-10 18:21:50 -07:00
Janet Kuo
22a794cc22
List resource QoS tier of each container when describing pods; Re-order resource table
2015-09-10 18:21:50 -07:00
Janet Kuo
6e76f1aef7
Show more information in describe node/pod
2015-09-10 18:21:50 -07:00
tummychow
78ce5da988
Move util.StringSet into its own package
...
A lot of packages use StringSet, but they don't use anything else from
the util package. Moving StringSet into another package will shrink
their dependency trees significantly.
2015-09-10 12:04:15 -07:00
Quinton Hoole
e5e2bc9580
Merge pull request #10833 from markturansky/loosen_binding
...
Allow PV/Claim matching on inexact access modes
2015-09-04 09:06:31 -07:00
Timothy St. Clair
2b7e758c3c
Fixes the experimental api, which appeared to be completely broken.
...
Fix for rebase with nikhiljindal/deploymentController
2015-09-03 21:56:45 -05:00
feihujiang
e7592b1c99
Change variables to environment variables when describe containers
2015-09-02 10:02:07 +08:00
Prashanth B
52f7833cd3
Revert "Revert "LimitRange updates for Resource Requirements Requests""
2015-08-28 09:26:36 -07:00
markturansky
0b6030f50c
added better matching for PV access modes
2015-08-27 15:34:07 -04:00
Piotr Szczesniak
6e05b9e3a3
Revert "LimitRange updates for Resource Requirements Requests"
2015-08-27 10:50:50 +02:00
Yu-Ju Hong
1bae2b677d
Merge pull request #12492 from derekwaynecarr/limit_range_api
...
LimitRange updates for Resource Requirements Requests
2015-08-26 13:02:57 -07:00
Marcin Wielgus
55cd0d565e
Kubectl describe for experimental HorizontalPodAutoscaler
2015-08-26 16:28:50 +02:00
markturansky
c0aa62eb38
Added PersistentVolumeSource to describer output
2015-08-25 14:18:28 -04:00
derekwaynecarr
3ee66f358f
Update kubectl describer for LimitRange
2015-08-24 15:19:29 -04:00
hurf
36987e9dce
Move formatLabels function to labels package
...
As the TODO above the function instructed, move formatLables
function to labels package.
2015-08-23 18:27:48 +08:00
Clayton Coleman
2aaf8bddc2
Update controllers and client to handle terminating pods
2015-08-20 11:04:39 -04:00
Wojciech Tyczynski
bf306d6598
Merge pull request #12622 from JanetKuo/kubectl-describe-rc-pod-volume
...
Describe volumes in rc and pod
2015-08-20 16:47:30 +02:00
Robert Bailey
08e6a43c1d
Revert "Merge pull request #9165 from smarterclayton/graceful"
...
This reverts commit 4f856b595d
, reversing
changes made to d78525a83b
.
Conflicts:
pkg/kubelet/status_manager.go
2015-08-18 17:34:49 -07:00
Kris Rousey
ae6c64d9bb
Moving everyone to unversioned client
2015-08-18 10:23:03 -07:00
Clayton Coleman
89f1f3b1b8
Alter graceful deletion to not use TTL
...
Avoid TTL by deleting pods immediately when they aren't
scheduled, and letting the Kubelet delete them otherwise.
Ensure the Kubelet uses pod.Spec.TerminationGracePeriodSeconds
when no pod.DeletionGracePeriodSeconds is available.
2015-08-18 09:08:43 -04:00
Clayton Coleman
b842a7dd15
Revert "Revert "Gracefully delete pods from the Kubelet""
...
This reverts commit 98115facfd
.
2015-08-18 08:57:02 -04:00
Janet Kuo
bff0cab7ce
Describe volumes in rc and pod
2015-08-17 13:42:50 -07:00
CJ Cullen
59da05efdf
Merge pull request #12405 from uluyol/kubectlexp
...
Add experimental api support to kubectl
2015-08-12 14:24:56 -07:00
markturansky
f37113aa25
Improved CLI for PVClaims
2015-08-12 11:31:54 -04:00
Muhammed Uluyol
fab367230f
Add experimental API support to kubectl
2015-08-11 16:49:55 -07:00
Kris Rousey
565189f5b8
Correcting all go vet errors
2015-08-11 13:55:37 -07:00
Janet Kuo
0ac6dba3f4
Make kubectl describe node include allocated resource
2015-08-10 13:25:59 -07:00
Alex Robinson
4593478c65
Merge pull request #12461 from hurf/humanize_time2
...
Print human readable time for event
2015-08-10 11:52:33 -07:00
Marek Grabowski
a0371b3985
Merge pull request #11919 from samsabed/descLaststatus
...
kubectl describe pod should print lastState
2015-08-10 14:56:44 +02:00
hurf
dd647db5ac
Print human readable time for event
...
Reduce the length of event time as AGE column does.
2015-08-10 15:00:24 +08:00
dinghaiyang
dab7280ae4
Improve clarity around PodFitsResource by showing pods limits in `kubectl describe node`
2015-08-07 16:58:11 +08:00
Sam Abed
e7dcec075a
show LastTerminationState in kubectl describe pod
...
Signed-off-by: Sam Abed <samsabed@gmail.com>
2015-08-07 11:45:20 +10:00
Mike Danese
17defc7383
run gofmt on everything we touched
2015-08-05 17:52:56 -07:00
Mike Danese
8e33cbfa28
rewrite go imports
2015-08-05 17:30:03 -07:00
Mike Danese
2c8f055ed8
Merge pull request #10631 from liggitt/service_account_describer
...
Fix service account describer
2015-07-24 15:24:24 -07:00
Sam Abed
2fe650dcee
print env vars in kubectl describe pod
...
Signed-off-by: Sam Abed <samabed@gmail.com>
2015-07-24 14:31:17 +10:00
Jordan Liggitt
b4802b7cee
Fix service account describer
2015-07-01 14:15:30 -04:00
hurf
b13d29fbe8
Display namespace while describing resources.
...
Display namespace while describing pod, rc, secret, service,
serviceAccount, limitRange, resourceQuota and pvc.
For containers and events are always displayed with other
resources, it's not necessary to show namespace for them.
2015-06-29 09:17:12 +08:00
Dawn Chen
0a369fead6
Include PodStatus.Message and PodStatus.Reason when kubectl describe pods
2015-06-24 23:07:20 -07:00
Maxwell Forbes
e44f61993b
Merge pull request #9304 from jsdir/master
...
Show resource limits with describe
2015-06-24 16:44:53 -07:00
Clayton Coleman
f3aa8f4196
Pod IP should be described with Pods
2015-06-17 16:45:11 -04:00
Brendan Burns
c6a910c0b8
Merge pull request #9650 from hurf/podns_describe_node
...
display pod namespace while describe node
2015-06-12 15:59:46 -07:00
Victor HU
eb473676ce
display pod namespace while describe node
2015-06-12 15:30:11 +08:00
derekwaynecarr
5b005fa30b
Add namespace describer
2015-06-09 15:52:44 -04:00
Jason Sommer
cea5aaa9d1
Show resource limits with describe
...
Signed-off-by: Jason Sommer <jsdirv@gmail.com>
2015-06-04 23:49:28 -05:00
markturansky
2829fadfad
PV Recycling API
2015-06-04 15:39:34 -04:00
Filip Grzadkowski
98115facfd
Revert "Gracefully delete pods from the Kubelet"
2015-06-02 23:40:05 +02:00
Clayton Coleman
ce3a6a666d
Show terminating pods in get/describe
2015-06-01 19:24:01 -04:00
Chao Xu
2f6e5e2e08
Update ContainerState.Termination to ContainerState.Terminated in pkg/api/types.go and pkg/api/v1/types.go
2015-05-28 17:18:24 -07:00
Tim Hockin
4318ca5a8b
Rename 'portal IP' to 'cluster IP' most everywhere
...
This covers obvious transforms, but not --portal_net, $PORTAL_NET and
similar.
2015-05-28 16:10:44 -07:00
Tim Hockin
081ab3abac
Merge pull request #8853 from caesarxuchao/HostToNodeName
...
update PodSpec.Host to PodSpec.NodeName
2015-05-28 15:50:12 -07:00
Tim Hockin
32859c3954
Merge pull request #8778 from kargakis/show-pod-number
...
Show pods number when describing services
2015-05-28 14:59:02 -07:00
Chao Xu
9c1153322e
update PodSpec.Host to PodSpec.NodeName in /pkg/api/types.go and /pkg/api/v1beta3/types.go
2015-05-28 14:10:06 -07:00
BC Broussard
581f4613c8
Fix NodePort in kubectl describe service
2015-05-28 12:09:31 -07:00
kargakis
93669a6bb5
Show pods number when describing services
2015-05-28 11:24:47 +02:00
Justin Santa Barbara
9255770068
Fix a few occurences of old language (e.g. visibility -> ServiceType)
2015-05-22 19:14:28 -04:00
Justin Santa Barbara
973c2e4819
Add Type to ServiceSpec: ClusterIP or LoadBalancer
2015-05-22 19:14:21 -04:00
Justin Santa Barbara
3884d5fc59
Add LoadBalancer status to ServiceStatus
...
This will replace publicIPs
2015-05-22 18:27:05 -04:00
markturansky
bcd3c5a80f
fixed PV describe
2015-05-22 08:40:43 -04:00
markturansky
0191574f7e
Bi-directional bind between pv.Spec.ClaimRef and pvc.Spec.VolumeName
2015-05-13 14:05:21 -04:00
Jordan Liggitt
53d55f4192
Add ServiceAccount API type, client
2015-05-11 17:18:05 -04:00