Matt Rickard
f4c1a3568c
Merge pull request #2403 from afbjorklund/preflight
...
Remove --skip-preflight-checks, ignore unwanted checks
2018-02-26 22:38:11 -08:00
Matt Rickard
6e49d6a711
Merge pull request #2566 from dvdmuckle/master
...
Add metrics-server as an addon
2018-02-22 13:53:38 -08:00
Fabian Deutsch
ee58133538
kvm2: Switch to CPU passthrough mode by default
...
With passthrough mode we can enable KVM nesting for guests.
Fixes #2553
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
2018-02-22 10:42:20 -08:00
Fabian Deutsch
b08b8ab8ae
Revert "kvm: Passthrough host CPU in order to allow nesting"
...
This reverts commit 7a4babe1d6
.
For now we just hard-code passthrough.
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
2018-02-22 10:42:20 -08:00
Fabian Deutsch
3ddf9d65f6
kvm: Passthrough host CPU in order to allow nesting
...
Before this patch the virtual CPU was the stock qemu CPU, in the sense that
the virtual CPU features were set according to the default qemu CPU.
With this change the CPU features of the host will be copied at start to the
domain definition. This includes features like svm and vmx, which in turn allow
to run nested virtualization if the host is configured accordingly i.e.
`kvm_intel nested=y` in `/etc/modprobe.d/kvm.conf`.
To turn on nesting, a user has to specify `--kvm-cpu-model host-model` when
creating the VM.
Resolves #2553
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
2018-02-22 10:42:20 -08:00
David Muckle
adb30393d1
Add metrics-server as an addon
2018-02-21 15:33:27 -05:00
Matt Rickard
f0f098af45
Merge pull request #2384 from r2d4/kubeadm-default
...
Switch default bootstrapper to kubeadm
2018-02-20 14:57:34 -08:00
dlorenc
9fe9154614
Make a crio restart failure a warning instead of an error.
...
This is a mismatch issue between new minikube versions and old ISO versions. It's
also unlikely to cause a real issue because it requires users to opt-into crio and
modify crio-specific settings to cause trouble.
2018-02-15 11:52:24 -08:00
dlorenc
ce6a727fc0
Make the admission controllers shared between localkube and kubeadm.
2018-02-15 11:51:57 -08:00
dlorenc
6492095398
Add the MutatingAdmissionWebhook admission controller.
2018-02-15 11:51:57 -08:00
dlorenc
23d9fde284
Fix none driver stop commands.
2018-02-15 11:51:37 -08:00
Hank Jacobs
b6f3cd0163
Use host's name when running VBox manage command to determine VM host IP
2018-02-14 08:18:19 -08:00
Matt Rickard
a2665d0dd8
Merge pull request #2545 from jeis2497052/master
...
Propose fix a typo
2018-02-13 13:49:44 -08:00
John Eismeier
7f3a46bfb3
Propose fix a typo
2018-02-13 14:48:11 -05:00
Matt Rickard
7cea97d92a
Merge pull request #2541 from budhrg/refactor-get-downloadurl
...
Refactor get download url for minikube
2018-02-12 10:25:11 -08:00
Budh Ram Gurung
68285d1779
Refactor get download url for minikube
2018-02-12 13:15:06 +05:30
Matt Rickard
38f4a767bc
Merge pull request #2534 from anfernee/permission
...
Fix more permissions
2018-02-09 16:01:38 -08:00
Matt Rickard
b5ba9093f5
Merge pull request #2535 from anfernee/local-rm
...
Use stdlib to remove a local file
2018-02-09 16:01:24 -08:00
Yongkun Anfernee Gui
9a0d2e9c12
Use stdlib to remove a local file
...
Make it portable across platforms
2018-02-09 14:49:02 -08:00
Yongkun Anfernee Gui
c07258b45a
Fix more permissions
2018-02-09 14:32:53 -08:00
Matt Rickard
ce310f4070
Merge pull request #2533 from anfernee/permission
...
Chmod -x kubernetes.go
2018-02-09 13:58:01 -08:00
Yongkun Anfernee Gui
49757dccfa
Chmod -x kubernetes.go
2018-02-09 12:12:13 -08:00
Yongkun Anfernee Gui
ac123c48a9
Close file after reading
2018-02-09 10:51:38 -08:00
Chen Li
82ea016de7
Redirect command Stdout & Stderr for command_runner
...
CombinedOutput function return after command complete.
When we run a long run command, such as continuously get
new log entries, it failed to get run results.
Fixes: https://github.com/kubernetes/minikube/issues/2447
2018-02-05 09:18:49 -08:00
Anders F Björklund
0e674ef3fa
Make sure to enable docker, to please kubeadm
...
The kubeadm preflight looks if the docker service is enabled,
rather than checking the docker socket... So make it happy.
2018-02-05 09:17:19 -08:00
adolphlwq
14ef5f6b9a
use better package name according to https://blog.golang.org/package-names
2018-02-05 08:11:23 -08:00
Anders F Björklund
95067859d2
Fix gendocs, function DefaultMountDir was missing
2018-01-28 08:07:30 -08:00
Matt Rickard
ec1b443722
Merge pull request #2423 from kairen/add-freshpod-addon
...
Add freshpod as a new addon
2018-01-23 13:15:01 -08:00
Bin Liu
3fb4cadef1
Fix typo
2018-01-19 19:17:09 +08:00
Chen Li
aa32282e3f
Use IPSliceVar for apiServerIPs
2018-01-17 08:22:25 -08:00
Chen Li
a3f3286f50
Allow add new server names and IPs to apiserver x509 certificate
2018-01-17 08:22:25 -08:00
Chen Li
7709a2b39e
Fix the usage of --apiserver-name
...
Fixes #2361
2018-01-17 08:22:25 -08:00
kairen
53d6e9d7a2
Change freshpod from Deployment to RC
2018-01-13 02:14:26 +08:00
kairen
250d602085
Add freshpod as a new addon
2018-01-12 22:57:32 +08:00
basp
cebd704bd7
Issue #2416 : Added UUID to hyperkit driver section in minikube configuration to be able to regenerate the same mac address for the machine after restarts to give DHCP a change of assigning the previously used IP address.
2018-01-11 09:41:35 -08:00
kairen
08f4677511
Change kubernetes-dashboard from RC to Deployment
2018-01-10 02:15:07 +08:00
kairen
b1091853cc
Bump kube-addon-manager to v6.5
2018-01-08 14:06:29 -08:00
Anders F Björklund
fc9fe5fa21
Make sure to keep other files in kube-proxy ConfigMap
...
The data was being overwritten with the new file map,
which caused the "config.conf" file to be deleted (!).
Compared to the original "kubeconfig.conf" generated,
the template also inserted an extra newline character.
2018-01-08 08:39:03 -08:00
Anders F Björklund
747e4551fe
Remove --skip-preflight-checks, ignore unwanted checks
...
Better to ignore the checks that we don't want, rather than
disabling all of them in case something important appears...
Currently known failing checks:
[WARNING SystemVerification]: docker version is greater than
the most recently validated version. Docker version: 17.06.0-ce. Max validated version: 17.03
[WARNING FileExisting-crictl]: crictl not found in system path
[WARNING Service-Docker]: docker service is not enabled, please run 'systemctl enable docker.service'
[ERROR DirAvailable--etc-kubernetes-manifests]: /etc/kubernetes/manifests is not empty
[ERROR Swap]: running with swap on is not supported. Please disable swap
2018-01-07 17:07:42 +01:00
Suraj Deshmukh
5d7d751db8
Change the cri-o socket location to upstream default
...
Right now the cri-o socket is placed in `/var/run/crio.sock`, this
commit changes it to `/var/run/crio/crio.sock` which is similar to
upstream.
Signed-off-by: Suraj Deshmukh <surajd.service@gmail.com>
2018-01-04 10:35:08 -08:00
Hugues Alary
bc55b8b8be
Cleanup NFS Exports after stop and delete
2018-01-03 10:21:04 -08:00
Matt Rickard
8ac130046d
Switch default bootstrapper to kubeadm
2018-01-03 09:54:49 -08:00
Anders F Björklund
87f48f1731
Add config to avoid warning about the none driver
...
Even when starting up minikube in a dedicated virtual machine,
there will be a warning against running it on your workstation.
2018-01-03 09:47:24 -08:00
dlorenc
59274b22da
Code review feedback.
2018-01-02 16:18:54 -08:00
dlorenc
e3f3727b4d
Move GetNetAddr.
...
The build constraints in vmnet.go cause issues.
2018-01-02 16:18:54 -08:00
Mohit Gupta
7d9413ccd1
remove the hyperkit prefix so we can move this to other drivers as well with time and fix vendoring issue
2018-01-02 16:18:54 -08:00
Mohit Gupta
e1903b7423
support NFS sharing with the hyperkit driver
2018-01-02 16:18:54 -08:00
dlorenc
5df299c7e9
Make other lifecycle commands work.
2018-01-02 12:01:37 -08:00
dlorenc
fcdd1404e8
Use the real GetIP function.
2018-01-02 12:01:37 -08:00
dlorenc
3d13450846
Make rbac creation idempotent.
...
Also cleanup the etcd data dir in jenkins.
2018-01-02 12:01:37 -08:00
Matt Rickard
4077763003
Make none driver work with kubeadm
2018-01-02 12:01:37 -08:00
Tim Hockin
51ee9a1423
Convert registry to k8s.gcr.io
2017-12-22 09:55:16 -08:00
dlorenc
5661ba0b5e
More manual changes.
2017-12-21 14:15:48 -08:00
dlorenc
030a4c747f
Manual changes for 1.9 update.
2017-12-21 14:15:48 -08:00
kairen
50dcda4ba9
Fix the image cache delete
2017-12-14 08:54:17 -08:00
dlorenc
8f91c37bba
Properly support the "minikube-net" network.
2017-12-13 21:18:00 -08:00
Boberg
c8a5d1f3fd
Add mount support for kvm2 driver
2017-12-13 20:25:15 -08:00
kairen
289e8f688b
Revert system image cache
2017-12-12 21:43:39 -08:00
kairen
797925f183
Update ingress controller, and fix integration test
2017-12-12 21:43:39 -08:00
Zak B. Elep
56608e418d
kvm2: Set group executable bit on machine-specific directory and up
...
Ensure that the directories leading to the KVM image have enough
permission for libvirt/QEMU to traverse, especially in the case where
libvirt/QEMU group is set to to `kvm`/`users`.
2017-12-10 17:49:54 -08:00
dlorenc
e150cec3e8
Fix hyperkit mounting.
2017-12-08 13:46:56 -06:00
kairen
777b44695f
Improve cache list command
2017-12-08 13:37:55 -06:00
Matt Rickard
d9e5283218
Verify checksum for localkube
2017-11-30 11:04:48 -08:00
dlorenc
9491ce6dbe
Add deprecation notices for kvm and xhyve.
2017-11-29 13:55:29 -08:00
Matt Rickard
fc916f7af1
Merge pull request #2110 from r2d4/files-rootfs
...
~/.minikube/files as rootfs "layer"
2017-11-29 13:54:16 -08:00
Matt Rickard
43e4b0c655
Merge pull request #2203 from priyawadhwa/cache-images
...
Add cache command to cache non-minikube images
2017-11-29 13:51:53 -08:00
Priya Wadhwa
6344d0bef9
set config map
2017-11-28 15:59:08 -08:00
ijl
bbb53c99c2
VirtualBox driver uses virtio network driver
...
Kernel has CONFIG_VIRTIO_NET=y.
Read more at https://www.virtualbox.org/manual/ch06.html
2017-11-27 08:32:44 -08:00
dlorenc
fdf906cf3b
Add an error message when running hyperkit without permissions.
2017-11-26 17:31:01 -08:00
Matt Rickard
236d742460
Merge pull request #2205 from ulyssessouza/issue_2129
...
#2129 Set proper profile when getting client info
2017-11-23 09:37:53 -08:00
Priya Wadhwa
6652e7a903
Delete paths to cached images
2017-11-20 16:31:34 -08:00
dlorenc
bc20281f1e
Update hyperkit go driver.
2017-11-20 11:52:20 -05:00
ulyssessouza
2b02aa30a7
Issue #2129 Set proper profile (instead of default 'minikube') when getting client info
2017-11-20 09:15:31 +01:00
Patrik Erdes
9b3322a759
Make it known that get-k8s-versions is only relevant for localkube
...
Added a reference to localkube in the help text and in the output from
the command.
2017-11-17 08:55:14 +01:00
Priya Wadhwa
9f8ca7481c
Merge branch 'cache-images' of github.com:priyawadhwa/minikube into cache-images
2017-11-16 17:05:25 -08:00
Priya Wadhwa
3477e4bd8f
Add cache flag to minikube
2017-11-16 14:07:55 -08:00
kairen
7066946a59
[addon] Update heapster to v1.5.0
2017-11-10 17:02:49 +08:00
dlorenc
1ee84442f8
Add 10.0.0.10 back to the cert.
2017-11-08 13:04:59 -08:00
Matt Rickard
e73844c303
Merge pull request #2147 from kairen/add-efk
...
[addons] Add addon support for EFK logging
2017-11-02 10:33:05 -07:00
Matt Rickard
f368ac4999
Merge pull request #2137 from priyawadhwa/storage-provisioner-as-pod
...
Run storage provisioner as pod
2017-11-01 14:00:57 -07:00
Priya Wadhwa
c342ed4d57
Added storage prov deps to Makefile and rewrote main file
2017-11-01 10:54:17 -07:00
kairen
c549bc61bf
Add addon support for EFK logging
2017-11-02 01:00:38 +08:00
Matt Rickard
9fc8eed51d
Merge pull request #2076 from r2d4/kvm-mac
...
Use mac instead of hostname to find IP
2017-11-01 08:40:55 -07:00
Matt Rickard
afc991ad3f
fix tests
2017-10-31 10:11:50 -07:00
Matt Rickard
30667cb406
Calculate ServiceClusterIP and DNS IP from CIDR
2017-10-31 10:06:51 -07:00
Matt Rickard
e2dd95ed39
update kubeadm
2017-10-31 10:06:51 -07:00
Matt Rickard
3fceab3b51
Download localkube in e2e test
2017-10-31 09:40:26 -07:00
Priya Wadhwa
7098431c6a
Small changes
2017-10-30 13:52:45 -07:00
Priya Wadhwa
71b38d1e4e
Tests passing with storage-provisioner in addons
2017-10-30 13:45:31 -07:00
Priya Wadhwa
a8fedc86e1
Create main file for storage provisioner
2017-10-30 13:07:48 -07:00
Matt Rickard
c20ebde431
Bypass version check for localkube file URI
2017-10-30 09:22:33 -07:00
Mahdi Mohammadi
ab6e73ab8d
Use minikube context instead of relying on current kubcetl context
2017-10-27 13:29:13 +00:00
Matt Rickard
633fc4ac93
Handle leading 0
2017-10-23 15:37:41 -07:00
Matt Rickard
9728679371
Transfer ~/.minikube/files last
...
To allow users to overwrite some of the files that we download
(kubelet, kubeadm, etc.)
2017-10-23 15:21:52 -07:00
Matt Rickard
998b01b3ba
More verbose output for ssh scp command
2017-10-23 15:05:07 -07:00
Matt Rickard
fc84bfde0b
Apply MINIKUBE_HOME/files as "rootfs" layer
...
Instead of scping these files to just /files, we mimic the directory
structure relative to the ~/.minikube/files directory and place the
binaries there. This can be useful for development.
2017-10-23 15:03:28 -07:00
Matt Rickard
2c2c45d7a6
DOM_SHUTDOWN should return state.Running
...
Technically, DOMAIN_SHUTDOWN just means that the VM is in the process
of shutting down. We should still return state.Running so that we
don't return from `minikube stop` before the domain is actually
stopped. This should fix a few flakes.
2017-10-23 11:23:58 -07:00
Yisui Hu
ea31492976
use consistent path for localkube.service
...
/usr/lib/systemd/system is not consistent across different distribution
/etc/systemd/system should be used.
See issue: #2098
2017-10-20 14:09:03 -07:00
Matt Rickard
d9089c3d77
Merge pull request #2089 from r2d4/no-localkube
...
Remove localkube from bindata
2017-10-20 12:29:48 -04:00
Matt Rickard
a19f90fd91
import erorr
2017-10-19 16:23:47 -04:00
Matt Rickard
02f0d41c1d
Split out hyperkit into CGO needed stub
...
This allows us to use the hyperkit Driver struct in minikube, without
needing CGO_ENABLED=1. For the hyperkit driver binary, the
CGO_ENABLED=1 function will work.
2017-10-19 16:07:38 -04:00
Matt Rickard
7e90add4a9
Merge pull request #2087 from r2d4/hyperkit-home
...
Hyperkit install to GOBIN
2017-10-19 13:42:45 -04:00
Matt Rickard
a7d568441c
Remove localkube from bindata
...
This makes the minikube build simpler and the the binary smaller.
Localkube will always be remotely fetched and locally cached on the
host.
2017-10-19 12:56:29 -04:00
Matt Rickard
b7012aefcc
Use mac instead of hostname to find IP
2017-10-19 09:16:24 -07:00
Matt Rickard
f582814c9d
Add hyperkit to supported driver list
2017-10-19 10:39:27 -04:00
Matt Rickard
c7f03444b5
Merge branch 'master' into docker-17.05
2017-10-19 07:23:11 -07:00
Matt Rickard
33584026c1
Merge pull request #2078 from r2d4/verbose-logging
...
Add verbose logging
2017-10-17 16:45:23 -07:00
Matt Rickard
8894ed78b9
Add verbose logging
2017-10-17 15:16:02 -07:00
Matt Rickard
5ccaae8998
Merge pull request #2068 from vbatts/crio-insecure-registry
...
buildroot: output flags for crio
2017-10-17 15:12:28 -07:00
Matt Rickard
0df72cadd5
Merge pull request #2052 from r2d4/cri-o
...
Add convenience container-runtime flag for kubeadm
2017-10-17 14:36:24 -07:00
Vincent Batts
50570f6133
buildroot: output flags for crio
...
This adds an environment variable file for crio.service to source.
And a step for the buildroot provisioner to write flags, initially just
insecure-registry.
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-10-17 13:39:06 -04:00
dlorenc
9dd3d9bc64
Fix non-systemd none driver.
2017-10-17 10:31:06 -07:00
Matt Rickard
37456d22e0
Review feedback
2017-10-17 10:08:07 -07:00
dlorenc
c0d838fc71
Force the none driver to use netgo.
2017-10-16 19:41:55 -07:00
Matt Rickard
6bb07b32c4
Merge pull request #2037 from r2d4/kubeadm-feature-gates
...
[kubeadm] Pass features gates to components
2017-10-16 13:22:13 -07:00
Matt Rickard
6a53c0c06c
Merge pull request #2060 from r2d4/k8s18
...
K8s 1.8
2017-10-16 13:11:39 -07:00
Matt Rickard
901c844a00
localkube changes
2017-10-13 10:21:16 -07:00
Matt Rickard
e5002afa8c
add vendor
2017-10-13 10:21:09 -07:00
Matt Rickard
1a38ef74b2
Use path instead of filepath for cross platform
2017-10-12 10:39:41 -07:00
Matt Rickard
800be7edc7
Add convenience container-runtime flag for kubeadm
...
To enable the cri-o runtime you may now just use
`minikube start --container-runtime=cri-o --bootstrapper=kubeadm`
or
`minikube start --container-runtiume=crio --bootstrapper=kubeadm`
or
`minikube start --extra-config=kubelet.container-runtime=remote
--extra-config=kubelet.container-runtime-endpoint=/var/run/crio.sock
--extra-config=image-service-endpoint=/var/run/crio.sock`
2017-10-11 13:57:18 -07:00
Matt Rickard
967913b9a6
Extra arguments need to be quoted
2017-10-11 10:18:10 -07:00
Matt Rickard
dd50d76e3d
[kubeadm] Pass features gates to components
2017-10-10 11:13:09 -07:00
Matt Rickard
23d7dde268
Bump cached DNS addon version
2017-10-10 11:06:28 -07:00
Matt Rickard
b4de04fac8
Merge pull request #1995 from rajansandeep/coredns
...
Adding CoreDNS as an addon
2017-10-09 14:59:34 -07:00
Aaron Prindle
8dbe63d697
Merge pull request #1985 from r2d4/kubelet-config-kubeadm
...
Implement extra-config for kubeadm components
2017-10-04 16:16:50 -07:00
Aaron Prindle
c6d2e491a3
Merge pull request #1774 from aaron-prindle/none-docker-rm-kill
...
Added command to remove and kill all kubernetes containers from docke…
2017-10-04 11:30:57 -07:00
Matt Rickard
a139ccd0ab
Implement extra-config for kubeadm kubelet
2017-10-04 11:26:15 -07:00
Matt Rickard
e1fd9de778
Merge pull request #1984 from r2d4/cleanup-drivers
...
Clean up unused files, add tar rules
2017-10-04 10:41:19 -07:00
Matt Rickard
8e319bd08e
Merge pull request #2000 from hirsim/enable-cache-image-for-windows
...
Enable cache image for Windows
2017-10-03 08:27:22 -07:00
adolphlwq
b71446b2cd
correct url of reference code
...
Signed-off-by: adolphlwq <kenan3015@gmail.com>
2017-10-03 01:57:50 -07:00
Aaron Prindle
10e6e6ade1
added cleanup for docker containers in none driver
2017-10-02 11:48:35 -07:00
Hiroshi Nomura
7f8f3bb5d4
Add unit tests
2017-09-30 20:43:51 +09:00
Aaron Prindle
ec17df3e59
Added sshd, kubeconfig and insecure-serving flags to localkube for dind image
2017-09-28 16:05:51 -07:00
Matt Rickard
a90b6a446a
Merge pull request #1998 from vbatts/crio-bin
...
minikube-iso: add cri-o runtime
2017-09-27 10:05:34 -07:00
Vincent Batts
2788714cc5
minikube-iso: add cri-o runtime
...
https://github.com/kubernetes-incubator/cri-o
Updated the runc version to its latest master commit.
Got crio into the automounter to get off the tmpfs
This feature bubbles up to the minikube command by reusing the
`--container-runtime=` flag, by enabling the value of "`crio`"
(`minikube start --container-runtime=crio`), while the flags/config
passed to localkube are more like k8s (`--container-runtime=remote
--remote-runtime-endpoint=/var/run/crio.sock`)
This is mostly ready for review. It is still lacking having
--insecure-registry plumbed through, but for now the policy.json is
open.
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-09-27 09:12:15 -04:00
yuvipanda
d7bb7c343b
provisioner: Use chmod instead of umask
...
umask affects the entire process, while this is clearer
2017-09-27 01:40:19 -07:00
yuvipanda
f64234b1b8
Set umask to 0 before creating hostpath volumes
2017-09-27 01:40:19 -07:00
Hiroshi Nomura
6ee6a82d0a
Enable cache image for Windows
2017-09-23 19:08:35 +09:00
Sandeep Rajan
06b3e74fb8
rectified incorrect path
2017-09-21 10:47:38 -04:00
Sandeep Rajan
eba63d86cd
adding coredns as an addon
2017-09-21 10:28:45 -04:00
Matt Rickard
547d22f638
Clean up unused files, add tar rules
2017-09-19 15:45:18 -07:00
Hiroshi Nomura
442f746f6a
Fixed make a image cache directory for Windows
2017-09-20 00:43:33 +09:00
Hiroshi Nomura
068a076b98
Fixed join of cert file path in kubeconfig
2017-09-19 22:24:09 +09:00
Matt Rickard
17ecbcd76e
Merge pull request #1969 from r2d4/kubeadm-use-right-kubelet
...
Don't check kubernetes-version for kubeadm
2017-09-15 11:46:30 -07:00
Matt Rickard
ac7d49c124
Don't check kubernetes-version for kubeadm
2017-09-15 10:06:43 -07:00
Aaron Prindle
e654879413
Merge pull request #1903 from r2d4/kubeadm-v2
...
Kubeadm bootstrapper
2017-09-14 16:04:43 -07:00
Matt Rickard
2b7fd32bdd
Merge pull request #1959 from aaron-prindle/path-fix-windows
...
use path.join instead of filepath.join for ssh copy
2017-09-14 14:29:41 -07:00
Matt Rickard
b291b0f85c
Add restart for kube-proxy
2017-09-14 13:51:41 -07:00
Matt Rickard
72f7628d35
Add caching for kubeadm
2017-09-14 13:51:41 -07:00
Matt Rickard
49d471f4ba
Add experimental kubeadm bootstrapper
2017-09-14 13:51:37 -07:00