Commit Graph

679 Commits (82e991456ee1c4e64ab12e6ac0b8415229a29a61)

Author SHA1 Message Date
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
Matt Rickard 1e4d8de881 Only warn when can't get all localkube versions 2017-09-14 11:53:38 -07:00
Aaron Prindle e575585c2c fixed path errors on windows, replaced filepath w/ path 2017-09-14 11:21:27 -07:00
Matt Rickard ebbc34d2ba Move drivers to pkg/drivers, share utils
Share most of the disk image setup between hyperkit and kvm drivers.
Move and remove a lot of shared configuration between all the in-tree
drivers: kvm, hyperkit, none.
2017-09-12 14:29:22 -07:00
Matt Rickard 3180e2e897 Merge pull request #1938 from r2d4/integration-test-cleanup-
Integration test cleanup
2017-09-12 14:28:28 -07:00
Matt Rickard cc64fb0544 Merge pull request #1940 from r2d4/vet
golint, go vet, etc. changes
2017-09-11 15:30:52 -07:00
Matt Rickard 53341aa30d golint, go vet, etc. changes 2017-09-11 14:17:58 -07:00
Matt Rickard ad8ea13de0 Merge pull request #1933 from r2d4/windows-fix
Use os.Chmod instead of File.Chmod
2017-09-11 13:40:18 -07:00
Matt Rickard 9747484e9e Move k8s utils to pkg/util 2017-09-08 20:14:28 -07:00
Kent Rancourt c571912b2d generate distinct cert for use by client 2017-09-08 17:54:58 -04:00
Matt Rickard f8c1651ed9 Use os.Chmod instead of File.Chmod
os.Chmod is cross platform, while File.Chmod seems not to be.
2017-09-08 10:39:04 -07:00
Matt Rickard f022a68e37 Merge pull request #1918 from krancour/request-header-certs
manage proxy-client / aggregator certs
2017-09-08 10:34:36 -07:00
Matt Rickard 0e6e930a7d Merge pull request #1881 from r2d4/cache-images-4-minikube
Cache images in minikube
2017-09-06 15:43:04 -07:00
Kent Rancourt ce2ac65d7f manage proxy-client / aggregator certs 2017-09-06 18:11:59 -04:00
Aaron Prindle 020acf57c6 added .minikube/files dir which gets ssh'd into VM on start 2017-09-06 14:33:59 -07:00
Matt Rickard 3fb711c8ea Add feature flag for cache-images 2017-09-06 13:36:25 -07:00
Matt Rickard ac65b58363 Review feedback 2017-09-06 10:22:09 -07:00
Aaron Prindle 8c6e412548 Added retriable error the service.go 2017-09-05 19:19:28 -07:00
Matt Rickard 55b41415ed Cache images for localkube
This PR introduces caching of localkube images.  It makes a best effort
to cache the essential images localkube needs as minikube starts up.
Currently, the list of cached images is hardcoded, but future work might
entail

1. Cached images as a property of the cluster bootstrapper - to allow
localkube and kubeadm to cache their respective images.
2. Addons contain image information.  Then, we can selectively cache and
preload only the addon images that are enabled.
2017-08-30 22:36:16 -07:00
Matt Rickard b0db008b87 Merge pull request #1886 from r2d4/localkube-bootstrapper
Add localkube as a bootstrapper
2017-08-30 10:51:24 -07:00
Matt Rickard 48fd6ecb65 Add localkube as a bootstrapper
Introduce the --bootstraper or -b flag that toggles the cluster
bootstrapper.  The default bootstrapper (and only bootstrapper at this
time) is localkube.

The bootstrapper interface contains all the functions needed to
bootstrap a kubernetes cluster.  It ingests a KubernetesConfig, which
contains all the configuration for the cluster, as well as a
CommandRunner, which is the interface upon which it will run commands
and transfer files to possibly remotely set up the cluster.

This moves the localkube functions out of cluster.go into their own
package at k8s.io/minikube/pkg/minikube/bootstrapper/localkube.
2017-08-28 13:23:41 -07:00
Matt Rickard 531e81103f Rename kvm driver to kvm2 2017-08-28 11:52:39 -07:00
Matt Rickard 48b165808c Bring KVM driver in-tree
Add boilerplate

Review feedback
2017-08-28 11:52:35 -07:00
Matt Rickard 1052dda37a Move CalculateDiskSizeInMB to utils to use in kvm 2017-08-28 11:27:34 -07:00
Matt Rickard 3a0d03f93b Merge pull request #1844 from r2d4/command-runner
Add CommandRunner interface
2017-08-24 15:07:51 -07:00
dlorenc a05a4fe35a Code review feedback. 2017-08-24 11:54:59 -07:00
dlorenc 1ac4166b10 Add darwin build tag. 2017-08-24 11:54:59 -07:00
dlorenc b4202d6d02 Unit tests. 2017-08-24 11:54:59 -07:00
dlorenc e3d239929b Jenkins/Makefile targets. 2017-08-24 11:54:59 -07:00
dlorenc 28f9d5dc1a Initial hyperkit driver implementation. 2017-08-24 11:54:59 -07:00
Matt Rickard cac45c3ed8 Use syncmap instead of sync.Atomic 2017-08-23 15:08:32 -07:00
Matt Rickard fd37e6daec Move setupCerts to use CommandRunners 2017-08-23 14:33:34 -07:00
Matt Rickard 8d4e1d48be Add comments for exported CommandRunner functions 2017-08-23 14:33:34 -07:00
Matt Rickard 7f558f1a11 Move tests over to use FakeCommandRunner 2017-08-23 14:33:34 -07:00
Matt Rickard 5a9ecbe672 Add CommandRunner interface
Two implementations, SSHRunner and ExecRunner allow commands to be run
either through SSH or os.Exec respectively.  This allows the cluster
bootstrappers to be unaware of how they are actually executing the
commands they need.  Copy and Remove functions provide a nice
convenience function for running commands that copy and remove files
respectively.
2017-08-23 14:33:34 -07:00
Aaron Prindle 99d8237f8b Fix status issue with none driver where CombinedOutput was causing errors 2017-08-22 11:34:54 -07:00
dlorenc 9b2dd165b3 Restart docker after configuration. 2017-08-21 18:00:13 -07:00
Matt Rickard 0db44af93c Rewrite configureAuth
The current implementation assumes that we already have docker running.
 This switches it to not remove any previous docker configuration
(since there isn't any), and uses our native file transfer utils
instead of the printf commands.
2017-08-20 22:44:19 -07:00
Matt Rickard f19fab24b4 Rename localkube status to cluster status 2017-08-18 11:55:28 -07:00
Sunny e07eb01366 fix(cmd/start): prevent k8s version downgrades
- Create Config struct to store MachineConfig and KubernetesConfig as cluster
configuration.
- Write cluster configuration under $MINIKUBE_HOME/profiles/ directory
when a cluster is launched.
- Load the cluster configuration at `start` and compare the loaded k8s
version with the requested version. Prevent any version downgrade requests.
2017-08-11 18:29:34 +05:30
Matt Rickard 5531a63b8d go lint/vet fixes 2017-08-04 13:42:10 -07:00
Bryan Larsen 4022957d78 docker daemon must be started as 'dockerd' in newer versions of docker 2017-08-01 11:33:19 -04:00
dlorenc 8837045970 Stop using insecure serving. 2017-07-26 14:38:57 -07:00
dlorenc e9795ca1a7 Fix ssh_mock to handle shells. 2017-07-26 14:26:45 -07:00
dlorenc eafb4fcdbe Ensure we use the native SSH driver with docker machine.
This gives me a huge speedup with the xhyve driver.
2017-07-26 14:26:45 -07:00
Matt Rickard 45eabf66eb Merge pull request #1720 from r2d4/etcd3
Use etcd embed package, switch apiserver to use etcdv3
2017-07-26 13:42:21 -07:00
Aaron Prindle 4798185b47 Fix storage provisioner to use insecure address variable 2017-07-25 13:46:29 -07:00
Matt Rickard a682bbbfe0 Use embeded etcd package, switch to etcdv3 2017-07-20 11:39:04 -07:00
Aaron Prindle c98ac207ab Merge pull request #1717 from q3aiml/restore-mount-cmd
Restore mount command and unswap port and mountVersion
2017-07-20 10:21:09 -07:00
Andy Clayton 1f1076d7ed Unswap port and mountVersion on mount cmd
Seeing since 6f42d58:

sudo mount -t 9p -o trans=tcp,port=9p2000.u,dfltuid=1001,dfltgid=1001,version=32777,msize=262144 192.168.42.1 /opt/host-persist;
sudo chmod 775 /opt/host-persist;
SSH cmd err, output: <nil>: mount: wrong fs type, bad option, bad superblock on 192.168.42.1,
2017-07-19 19:51:28 -05:00
Matt Rickard d56d41b956 Add duration as a configurable type for localkube 2017-07-19 14:16:33 -07:00
Aaron Prindle 6f42d583d2 Added msize and 9p-version flags to mount. Also changed their defaults to be more usable 2017-07-17 11:02:56 -07:00
Matt Rickard afb7c63d92 Restore some kube-proxy defaults
Set some kube-proxy defaults that got unset through the new way of
configuring kube-proxy.  Add more delay to the ip tables syncing reduces
idle CPU load a lot.

See
https://github.com/kubernetes/minikube/issues/1158#issuecomment-315308205
2017-07-14 10:58:21 -07:00
Matt Rickard 9b249158ae Fix broken service test
Also switch out-of-order format strings in test output.
2017-07-13 09:19:46 -07:00
Matt Rickard 0b595b7a43 minikube: Url parse changes for go 1.8 2017-07-13 09:19:44 -07:00
Matt Rickard 81fa73d2df Structural changes to kube-proxy and apiserver 2017-07-13 09:19:44 -07:00
dlorenc c5b57b0479 Manual changes for 1.7 update. 2017-07-13 09:16:43 -07:00
Matt Rickard 5271dd1f40 Don't fetch localkube when version specified is default
Instead, use the binary that is already bundled with go-bindata.
2017-07-12 15:21:20 -07:00
dlorenc 11ce2369d2 Move kubecfg utils from minikube to util.
We'll need to also write a kubecfg inside the VM going forward as we
remove the InsecureServing path.
2017-07-05 17:25:36 -07:00
Aaron Prindle a021ab679f Merge pull request #1653 from aaron-prindle/check-err-none
Updated CopyFileLocal to catch all errrors and have better error mess…
2017-06-30 14:28:17 -07:00
Aaron Prindle d421074c69 Updated CopyFileLocal to catch all errrors and have better error messaging 2017-06-30 13:27:22 -07:00
Matt Rickard 2bf1a3e323 Add start flag --disable-driver-mounts
Allows users to disable the filesystem mounts created by the xhyve and
virtualbox drivers.
2017-06-28 14:23:07 -07:00
Aaron Prindle fc40d7d8b7 Merge pull request #1654 from aaron-prindle/precreate-none
Added checking for docker on the path in the precreate check for none…
2017-06-27 15:10:15 -07:00
Aaron Prindle b5fd8436a9 Merge pull request #1651 from aaron-prindle/configurable-service-wait
Added wait and interval time flags to minikube service command
2017-06-27 09:47:32 -07:00
Aaron Prindle cb8d3c027c Added checking for docker on the path in the precreate check for none driver 2017-06-26 10:35:46 -07:00
Aaron Prindle 32316acd49 Merge pull request #1643 from aaron-prindle/fix-mount-uid-gid
Fixed flags to use 9p syntax for uid and gid
2017-06-26 10:16:40 -07:00
Aaron Prindle 79b9e10054 Added wait and interval time flags to minikube service command 2017-06-25 13:07:01 -07:00
Aaron Prindle 40b0533147 Merge pull request #1482 from aaron-prindle/remove-old-mounts
Removing old mounting methods
2017-06-23 11:23:59 -07:00
Aaron Prindle 62c56d7d9a Fixed flags to use 9p syntax for uid and gid 2017-06-23 11:07:49 -07:00
Travis Cline c5becb3607 Allow control of user and group ids for mount 2017-06-22 11:29:56 -07:00
Aaron Prindle 6639b2d91b Removed systemd dependency from minikube, updated none driver to reflect this 2017-06-20 09:55:14 -07:00
Matthew Fisher 135a920d80 fixup default --insecure-registry CIDR address
The default CIDR should be 10.0.0.0/24 rather than 10.0.0.1.
Accidental off-by-one error. :)
2017-06-19 11:39:18 -07:00
Aaron Prindle 745e4945c7 Merge pull request #1575 from tdemaret/master
Force create /usr/lib/systemd/system
2017-06-19 07:45:59 -07:00
Thibaut Démaret 577eb8d565 After gofmt 2017-06-19 08:37:40 +02:00
XrXr 5d39878baa Don't treat stopping stopped hosts as error
Running `minikube stop` while nothing is running results in a crash.
This patch makes `cluster.StopHost()` swallow the stop-while-stopped
error libmachine returns.
2017-06-18 22:47:31 -04:00
Matthew Fisher 5e1db75db5 add registry addon
This addon installs a docker registry into the cluster.
2017-06-16 10:36:10 -07:00
Thibaut Démaret 8921282a34 Add error check 2017-06-15 18:31:43 +02:00
Shane Ramey 084eeaff66 fix gofmt errors 2017-06-15 07:48:37 -07:00
Shane Ramey 2b88806330 use --dns-domain for k8s API server cert 2017-06-15 07:48:37 -07:00
Thibaut Demaret a1e55b0e15 Merge branch 'master' of https://github.com/kubernetes/minikube 2017-06-14 21:22:26 +02:00
Thibaut Demaret 1405711619 Move mkdir just for none driver use case 2017-06-14 20:36:25 +02:00
Aaron Prindle e524e8a9aa Merge pull request #1578 from abbytiz/update-context
Added update-context and kubeconfig to status
2017-06-14 10:45:15 -07:00
dlorenc 09f683bb1d More cleanup. 2017-06-14 09:45:09 -07:00
dlorenc 2486a8b612 Fix tests. 2017-06-14 09:45:09 -07:00
dlorenc 5b5442be11 Move more code into the local host implementation. 2017-06-14 09:45:09 -07:00
Abby Tisdale 577816311e Added update-context and kubeconfig to status. 2017-06-13 16:22:56 -07:00
dlorenc ae51e5fec8 Pass legacy systemd boot parameter in xhyve driver. 2017-06-13 13:04:49 -07:00
Thibaut Démaret ec12b62d8f Fix syntax to use package os 2017-06-12 17:03:12 +02:00
Thibaut Démaret 9bccf55fd7 import os package 2017-06-12 16:54:19 +02:00
Thibaut Démaret 8707a2c2f9 Force create /usr/lib/systemd/system 2017-06-12 16:40:40 +02:00
Gerard Braad 03d3e1f031 Fix interactive shell when using native-client 2017-06-09 17:38:42 +08:00
Aaron Prindle 5a59bb596f moved none driver into subdirectory 2017-05-30 10:06:59 -07:00
Aaron Prindle a7c2ff3e84 Merge pull request #1173 from aaron-prindle/minikube-no-vm
None driver
2017-05-26 15:22:01 -07:00
Aaron Prindle f4a8ece0ae Additional none driver changes 2017-05-26 13:33:26 -07:00
Nick Kubala 344f6d94dd fix broken service url unit test (#1529) 2017-05-26 10:20:06 -07:00
Aaron Prindle 88613090a9 Added none driver 2017-05-19 14:51:19 -07:00
Aaron Prindle 847b52d50f Fixed mount daemon to be off by default and to use different directories than the current mounts until they are turned off. 2017-05-19 14:00:18 -07:00
Aaron Prindle c9767886f6 Added mount daemon process that is starts/stops w/ minikube start/stop 2017-05-17 11:50:24 -07:00
Matt Rickard 4a81362d52 Merge pull request #1490 from r2d4/k8s-version-check
Validate k8s version before starting VM
2017-05-16 15:58:53 -07:00
Matt Rickard 7f294b2a54 Review feedback 2017-05-16 15:31:15 -07:00
Aaron Prindle d66bcb8af8 added way to find interface for vbox and ip flag to mount 2017-05-16 13:27:22 -07:00
Matt Rickard 652c4c668d Validate k8s version before starting VM
Also, cache in memory localkube versions in multiple calls to the GCS
bucket.  These versions will not change during the life of the minikube
process once fetched and are used multiple times.
2017-05-12 15:07:15 -07:00
Aaron Prindle 327f7ee4b1 Removing old mounting methods 2017-05-11 14:30:40 -07:00
Aaron Prindle e91641c70c Changed --name to --profile and added minikube profile command 2017-05-08 10:09:11 -07:00
dlorenc 4c22593d35 Move more of the libmachine code up into minikube. 2017-05-01 10:18:58 -07:00
Dale Hamel 94ef3d88b9 Add support for using raw disks with xhyve (#1360)
* Add support for using raw disks with xhyve, default it to true

* Fix formatting issue

* Prefix disk-driver with xhyve to make it clear it is only for xhyve

* Add missing config
2017-04-25 10:51:43 -07:00
Aaron Prindle b1a69c653f Merge pull request #1388 from aaron-prindle/mount-interface
Fixed mount command to bind on specific VM ip address instead of all …
2017-04-24 15:34:22 -07:00
Aaron Prindle b4936d023f Fixed mount command to bind on specific VM ip address instead of all interfaces 2017-04-24 09:59:12 -07:00
dlorenc ca4f2914d1 Add order to localkube startup. (#1371)
* Add order to localkube startup.

This adds a "ready" concept to localkube servers.

* Add unit tests.
2017-04-24 09:22:05 -07:00
Aaron Prindle 0f0dfb65ab Merge pull request #1320 from aaron-prindle/multiple-vms
Added --name flag and MINIKUBE_NAME env var for vm machine name
2017-04-19 12:05:55 -07:00
Aaron Prindle 41c5ba7663 Merge pull request #1350 from aaron-prindle/mount-vm-path
Changed mount syntax to be host-path:vm-path
2017-04-19 12:03:22 -07:00
Aaron Prindle 1b79cfd566 Added --name flag and MINIKUBE_NAME env var for vm machine name 2017-04-19 11:37:40 -07:00
Aaron Prindle b3ad7539b1 Changed mount syntax to be host-path:vm-path 2017-04-19 10:15:04 -07:00
Matt Rickard 2455da4b88 Merge pull request #1357 from r2d4/dns-1.14
Upgrade kube-dns to 1.14.1
2017-04-14 13:02:41 -07:00
Matt Rickard a765d57d53 Upgrade kube-dns to 1.14.1 2017-04-12 10:01:04 -07:00
Aaron Prindle a11b47160f Removed dependency on localkube to wait for the network to be up 2017-04-12 08:38:14 -07:00
Mike Grass 7cc510e180 Document the `ExecStart=` behavior for the dockerd config 2017-04-10 04:38:14 -07:00
Mike Grass 6cd08d4756 Update systemd docker config to clear ExecStart
docker/machine made a change (https://github.com/docker/machine/pull/3966) to use a systemd drop-in unit (https://coreos.com/os/docs/latest/using-systemd-drop-in-units.html) instead of overwriting the dockerd configuration. This necessitates clearing the ExecStart list inherited from the base config prior to the ExecStart directive in GenerateDockerOptions -- otherwise, docker.service fails to start with log output like "docker.service: Service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing."
2017-04-07 12:39:21 -07:00
Matt Rickard 09e8cce24d Merge pull request #1314 from r2d4/k8s-v1.6-rebase-1
Upgrade to k8s v1.6 as default version
2017-04-06 14:37:51 -07:00
Aaron Prindle 4b94b14459 Merge pull request #1293 from aaron-prindle/switch-mount
Update mount implementation, add mount integration tests, and check t…
2017-04-06 14:33:22 -07:00
Aaron Prindle 8e801e3975 Update mount implementation, add mount integration tests, and check that path exists. 2017-04-06 13:39:25 -07:00
Aaron Prindle f475961cde Added --dns-domain flag to localkube 2017-04-03 10:25:25 -07:00
Matt Rickard a5ee627d05 Manual fix for storage class client 1.6 2017-03-31 13:33:14 -07:00
Matt Rickard b279d733ad Minikube changes for v1.6.0-beta.2 2017-03-31 13:24:03 -07:00
Matt Rickard 3b46c27b16 Minikube changes for v1.6.0-alpha.1 2017-03-31 13:23:59 -07:00
Aaron Prindle c7bd5eb4fd Merge pull request #1300 from aaron-prindle/remove-b2d-commands
Removed B2D start commands and also a reference of B2D in docker_test
2017-03-31 10:39:09 -07:00
Eric Chiang cdffcdf258 pkg/minikube: print error messages to stderr 2017-03-30 19:11:09 -07:00
Aaron Prindle 6ca6a8993b Removed B2D start commands and also a reference of B2D in docker_test 2017-03-29 13:57:46 -07:00
Matt Rickard 4b3459ed5b Merge pull request #1289 from r2d4/disable-default-provisioner
Disable the default provisioner addon
2017-03-29 10:11:03 -07:00
Matt Rickard bf32cee2cd Merge pull request #1287 from r2d4/no-parallel
Don't run TestGetLogs in parallel
2017-03-27 11:24:54 -07:00
Srini Brahmaroutu 41f41646a5 Fixed the certification generation to use the correct IP.
When invoking localkube a certificate is not correctly generated for the
target ip. For example, when network 10.0.0.1/24 is parsed it generates
a certificate for 10.0.0.0 instead of 10.0.0.1.

Fixed #1215. (with @mhbauer)
2017-03-24 17:02:28 -07:00
Matt Rickard f996c79330 Disable the default provisioner addon
We have to do this through client-go directly, since the addon manager
and kubectl ignore the storageclass resource.
2017-03-24 10:01:57 -07:00
Matt Rickard 046d76796d Don't run TestGetLogs in parallel
Concurrent map writes
2017-03-23 11:29:24 -07:00
Matt Rickard 918b36ad6e Check APIServerName against default
If the apiserver is something other than the default, pass in the flag.
 This won't be compatible with the old versions of localkube.  Old
versions of localkube will work as long as apiserver-name is not
specified in minikube, always using the default.
2017-03-23 10:28:42 -07:00
Matt Rickard 12e41aeaba Merge pull request #1273 from r2d4/logs
Add -f --folow option to minikube logs
2017-03-21 11:44:10 -07:00
Matt Rickard c9a5152e21 Add -f --folow option to minikube logs
Allows tailing of the logs
2017-03-21 11:04:35 -07:00
Max Lavrenov ae153c6348 add --docker-opt parameter which passes flags to docker daemon 2017-03-20 23:39:55 +01:00
Matt Rickard bc10d55097 Only pass in APIServerName flag is specified
Otherwise, compatibility with old versions of localkube is broken in
all cases.  APIServerName flag can still only be specified in v1.5.3 or
newer.
2017-03-15 15:37:22 -07:00
dlorenc 964ff65f39 Fix gofmt. 2017-03-14 10:07:34 -07:00
dlorenc 63ac7e8a76 Fix tests. 2017-03-13 10:21:14 -07:00
dlorenc c220ada63b Fix tests. 2017-03-07 15:00:19 -05:00
Dale Hamel 107e3324a6 Add support for parsing CIDRs to config 2017-03-07 14:59:36 -05:00
Eden Li c632321122 support componentconfigs with native type aliases
Some componentconfig options are aliased to native convertible types
(e.g. ProxyMode) but FindAndSet() was unable to detect that and so it
wasn't possible to set these values via `--extra-config`.

This change addresses that by using the reflected value's Kind instead
of a type assertion on its interface.

It's also worth noting that any value with the type Duration (e.g.
proxy.IPTablesSyncPeriod) is also unable to be set for the same reason,
but this commit does not address that.

See https://github.com/kubernetes/minikube/issues/1217
2017-03-03 01:29:46 -08:00
Matt Rickard 3b6d4672ac Remove vendored in kvm driver
The vendored in KVM driver make minikube dynamically linked to libvirt
libraries, even for virtualbox users.
2017-03-02 17:09:33 -08:00
dlorenc e969ebe87b Add an external hostpath provisioner to localkube. 2017-03-01 11:05:14 -08:00
Davanum Srinivas 8584cf8761 Fix test break 2017-02-27 21:47:30 -05:00
Aaron Prindle 56d4824456 Merge pull request #1149 from aaron-prindle/api-name-configurable
Added API Name as configuration option
2017-02-27 15:18:56 -08:00
Aaron Prindle 9b539db1ff Merge pull request #1143 from upmc-enterprises/registryCredsPrompt
Allow for addons to prompt for data input
2017-02-27 11:19:02 -08:00
Steve Sloka 706d02b926 Fix go-client / Refactor k8s util code 2017-02-27 12:52:33 -05:00
Steve Sloka c3d962b58c Allow for addons to prompt for data input 2017-02-27 11:09:09 -05:00
Dongsu Park ac513ebb1e pkg: fix host IP address for KVM driver for 9pfs mount
In case of KVM driver, "minikube mount" does not work, when mounting any
host directory via 9pfs. That's because in case of the KVM driver, a
different IP address is assigned to the host, 192.168.42.1, while other
drivers assign 10.0.2.2. That's why the following command hangs forever
inside the VM.

```
$ sudo mount -t 9p -o trans=tcp -o port=5640 10.0.2.2 /mount-9p
```

Fix it by changing the host IP address for the KVM driver.
2017-02-27 14:15:33 +01:00
Dan Lorenc b7a5ebed1b Add a default storage class/provisioner. 2017-02-25 14:48:04 -08:00
Aaron Prindle 60a5910f88 Added 9p server as well as minikube mount command 2017-02-25 10:08:45 -08:00
Matt Rickard b26f0aa66b Merge pull request #1154 from r2d4/svc-tests
Refactor service package and add test coverage
2017-02-24 13:19:07 -08:00
Dongsu Park 4eb9e92dff pkg: fix data race around KubeConfigFile
TestSetupKubeConfig fails when running "go test --race", because of
concurrent accesses from multiple goroutines.

```
WARNING: DATA RACE
Write at 0x00c4201cc4b8 by goroutine 16:
k8s.io/minikube/pkg/minikube/kubeconfig.TestSetupKubeConfig.func1()
    k8s.io/minikube/pkg/minikube/kubeconfig/config_test.go:103 +0x23a
testing.tRunner()
    /usr/local/golang/src/testing/testing.go:657 +0x107
```

To fix that, convert KubeConfigFile to an atomic value that stores
string. Callers should run helper functions, SetKubeConfigFile() and
GetKubeConfigFile() instead of direct access to the value.
2017-02-24 17:58:59 +01:00
Dongsu Park 6cf5ba7a28 pkg: fix data race around CommandToOutput
TestGetLocalkubeStatus fails when running "go test --race", because of
concurrent accesses from multiple goroutines.

```
WARNING: DATA RACE
Read at 0x00c420435378 by goroutine 43:
k8s.io/minikube/pkg/minikube/tests.(*SSHServer).Start.func1.1()
    k8s.io/minikube/pkg/minikube/tests/ssh_mock.go:122 +0x389

Previous write at 0x00c420435378 by goroutine 40:
k8s.io/minikube/pkg/minikube/cluster.TestGetLocalkubeStatus()
    k8s.io/minikube/pkg/minikube/cluster/cluster_test.go:359 +0x540
testing.tRunner()
    /usr/local/golang/src/testing/testing.go:657 +0x107
```

To fix that, convert CommandToOutput to an atomic value that stores
the map. Callers should run helper functions, SetCommandToOutput() and
GetCommandToOutput() instead of direct access to the value.
2017-02-24 17:58:59 +01:00
Dongsu Park e22b268f7f pkg: fix data race around HasASessionRequested
TestCreateSSHShell fails when running "go test --race", because of
concurrent accesses from multiple goroutines.

```
WARNING: DATA RACE
Read at 0x00c42025b730 by goroutine 42:
k8s.io/minikube/pkg/minikube/cluster.TestCreateSSHShell()
    k8s.io/minikube/pkg/minikube/cluster/cluster_test.go:523 +0x543
testing.tRunner()
    /usr/local/golang/src/testing/testing.go:657 +0x107

Previous write at 0x00c42025b730 by goroutine 49:
k8s.io/minikube/pkg/minikube/tests.(*SSHServer).Start.func1.1()
    k8s.io/minikube/pkg/minikube/tests/ssh_mock.go:95 +0x743
```

To fix that, convert HadASessionRequested to an atomic variable.
Callers should run helper functions, SetSessionRequested() and
IsSessionRequested() instead of direct access to the variable.
2017-02-24 17:58:10 +01:00
Aaron Prindle f247803779 Merge pull request #1146 from aaron-prindle/transfer-refactor
Refactored file transfer code to better abstract ssh
2017-02-23 14:07:01 -08:00
Andreas Kohn bba2ef86ee
Add the 'minikube' user to the 'system:masters' group 2017-02-23 14:20:15 +01:00
Matt Rickard b78fb926bc Merge pull request #1160 from r2d4/kubeconfig-tests
Add test coverage for SetupKubeConfig
2017-02-22 13:25:54 -08:00
Matt Rickard c4196b65be Add test coverage for SetupKubeConfig 2017-02-22 11:39:55 -08:00
Aaron Prindle 574c543f4a Refactored file transfer code to better abstract ssh 2017-02-22 09:46:51 -08:00
Aaron Prindle 68973786d6 Added test coverage for ParseSHAFromURL 2017-02-21 21:33:40 -08:00
Matt Rickard 213857032a Merge pull request #1156 from r2d4/client-tests
Add test coverage for pkg/minikube/machine
2017-02-21 10:26:38 -08:00
Matt Rickard 45e61ab75a Add test coverage for pkg/minikube/machine 2017-02-21 10:26:10 -08:00
Aaron Prindle 3d91f91ede Merge pull request #1159 from aaron-prindle/downloader-tests
Added unit tests to downloader.go
2017-02-21 10:17:57 -08:00
Matt Rickard e0a5dbc4f8 Add test coverage for GenerateSignedCert 2017-02-21 10:16:59 -08:00
Matt Rickard 69f0a9f99a Refactor service package and add test coverage 2017-02-20 11:24:36 -08:00
Aaron Prindle 6959aa0ce2 Added unit tests to downloader.go 2017-02-19 21:01:01 -08:00
Aaron Prindle 3433a3028c Added API Name as configuration option 2017-02-18 15:49:49 -08:00
Aaron Prindle ffcccbd646 Merge pull request #1145 from aaron-prindle/etcd-access
Change etcd to be accessible within pods
2017-02-17 15:41:44 -08:00
Aaron Prindle d3531c9eec Change etcd to be accessible within pods 2017-02-17 15:40:48 -08:00
Matt Rickard 88f8782d97 Merge pull request #1140 from r2d4/service-refactor
Refactor services into its own package
2017-02-17 15:39:36 -08:00
Matt Rickard 86b1fd1916 Refactor services into its own package
pkg/minikube/cluster has become too crowded with service related
functions.  I've moved these to their own package, which will make
updating client-go easier because everything will be in one place.

There is still a little bit of work to be done with making
pkg/minikube/cluster free of references to kubernetes packages
2017-02-17 09:58:22 -08:00
Davanum Srinivas 39df4cb543 Force libmachine to use Native Go SSH client
Some platforms looking up and finding the ssh executable can be
problematic, so let's just use the same Go based SSH everywhere.

Fixes #1086
2017-02-17 12:04:29 -05:00
Matt Rickard a125157f44 Detect and test against ISO changes
When changes are made to the ISO folder, rebuild and upload the newly
modified image.  Use this uploaded image as the default in the e2e test
binaries, so that the e2e test suite runs against the PR's changes.

TODO: Subsequent PRs (no changes to ISO) will still run against the
default version in the makefile.  We should figure out if we want to
always run tests against the "latest" image.
2017-02-14 13:42:20 -08:00
Matt Rickard 2410b268f7 Slim down driverGetter type
Remove unused driverName from this type
2017-02-13 10:58:09 -08:00
Aaron Prindle c418095c38 Added MINIKUBE_HOME env variable which sets .minikube directory 2017-02-09 11:07:44 -08:00
Matt Rickard d9355d89e7 Merge pull request #1074 from r2d4/release-iso
Add release-iso Makefile rule
2017-02-08 18:40:59 -08:00
Matt Rickard b9a115b3ae Add LocalClient to bypass RPC for drivers
This adds a new libmachine API implementation that skips RPC and instead
uses a vendored in driver directly.  This removes the need to download a
separate driver binary.  Currently, only the "core" drivers, and kvm are
supported as vendored in.  This means that xhyve is the only driver that
requires a separate binary for now.
2017-02-06 21:17:22 -08:00
Matt Rickard a080737eff Add release-iso Makefile rule
This also tracks the ISO version in the makefile and passes it with
ldflags to automatically bump the default version in the minikube
binary.
2017-02-03 12:01:32 -08:00
Matt Rickard 7ea9da0372 Merge pull request #1076 from dlorenc/iso
Bump the iso to 1.0.6
2017-02-02 14:25:25 -08:00
dlorenc e75daa5a8b Bump the iso to 1.0.6 2017-02-02 13:15:15 -08:00
Matt Rickard b638b101a2 Embed mock service interface from client-go
We use the default implementation by embedding fake.FakeServices which
implements ServiceInterface.
2017-02-02 10:56:51 -08:00
Matt Rickard 1fbd936b39 Move iso download funcs to interface for testing
Also reorg types found in cluster.go into types.go
2017-01-31 13:45:56 -08:00
Matt Rickard ceb25dfd43 Merge pull request #1054 from r2d4/meta-linter
Fixes from gometalinter
2017-01-31 11:58:34 -08:00
Matt Rickard dfdbc6a768 Fixes from gometalinter 2017-01-30 15:39:35 -08:00
Dan Lorenc d5febb60e5 Switch the default iso to v1.0.5, which I just built in Jenkins. 2017-01-30 13:34:09 -08:00
dlorenc d1accc36e2 Merge pull request #1048 from dlorenc/conncheck
Get rid of the default connchecker.
2017-01-27 10:20:09 -08:00
dlorenc 6b2d966bc6 Get rid of the default connchecker. 2017-01-26 13:42:14 -08:00
Matt Rickard a638cce9ba Check minimum disksize before creating minikube VM
We use docker/go-units for human readable disk sizes on the --disk-size
flag.  However, sometime a user use wrong syntax and specify a disk
size that they didn't mean.  Fixes #976
2017-01-19 11:55:03 -08:00
Matt Rickard e4df3abc6f Merge pull request #1015 from r2d4/addons-open
Fixes nil dereference on error and addons open
2017-01-19 11:40:27 -08:00
Matt Rickard 69c3b5b818 Fixes nil dereference on error and addons open
Some addons don't have a 'minikube addons open' endpoint defined, so
don't retry and wait for them.
2017-01-17 11:50:25 -08:00
Aaron Prindle 628835964f Updated minikube-iso to v1.0.3 to include a fix for Windows 2017-01-17 11:47:14 -08:00
Steve Sloka ae2ae8f23c Rename awsecr-creds to registry-creds & update version which now supports Google Registry 2017-01-13 10:54:30 -05:00
Jimmi Dyson 23a1e4ada4
Allow setting string slices in extra config 2017-01-12 12:10:53 +00:00
Matt Rickard 7e313451c1 Merge pull request #977 from r2d4/feature-gates
Support enabling alpha features with feature gates
2017-01-10 10:55:09 -08:00
Matt Rickard 89cdd44197 Support enabling alpha features with feature gates
This sets the feature gates on every kube-system component (apiserver,
kubelet, etc.)

Fixes #896
2017-01-09 13:55:39 -08:00
Matt Rickard 1c962e7e8f Update default ISO to v1.0.2 2017-01-09 11:28:24 -08:00
dlorenc d5c01e7ab3 Add a PodCIDR for kubenet. 2017-01-05 14:50:28 -08:00
dlorenc 903de1de51 Merge pull request #961 from dlorenc/enable
Add 'enable' to the systemd commands for localkube.
2017-01-05 14:16:04 -08:00
dlorenc df3395cef9 Also declare that localkube depends on the network being active. 2017-01-05 13:32:54 -08:00
Dan Lorenc 391b927712 Add 'enable' to the systemd commands for localkube. 2017-01-05 09:46:17 -08:00
Brandon L. Gauthier d28cea779d Added --keep-context flag for 'minikube start' 2017-01-03 17:56:06 -05:00
Xinbo Weng f91f428634 fix duplicated 'the' and some 'a/an' errors
Signed-off-by: Xinbo Weng <xihuanbo_0521@zju.edu.cn>
2016-12-23 19:46:04 +08:00
Matt Rickard 427bde79ca Change default ISO to minikube-iso v1.0.1 (buildroot) 2016-12-20 15:34:07 -08:00
dlorenc f8d4a1c429 Merge pull request #935 from dlorenc/cfgtest
Add some unit tests for config.
2016-12-19 10:47:20 -08:00
dlorenc 18bca6f04c Merge pull request #934 from dlorenc/tests
Add some tests to our cert generation.
2016-12-19 10:47:04 -08:00
Dan Lorenc eef12a1403 Add some unit tests for config. 2016-12-17 11:08:44 -08:00
Dan Lorenc 17b7e8ae72 Add some tests to our cert generation. 2016-12-17 09:27:08 -08:00
Chris Broadfoot 922db9a8c6 pkg/minikube: fix uses of errors.Wrapf 2016-12-15 22:28:39 -08:00
dlorenc 01a029dc26 Add a cert generator with a larger timeout. 2016-12-15 13:36:45 -08:00
Aaron Prindle ab8e852e74 Merge pull request #838 from aaron-prindle/localkube-in-systemd
WIP Working on adding localkube to minikube-iso.  Need to add ability to …
2016-12-13 13:07:35 -08:00
Matt Rickard 12c5973fbf Manual changes for k8s v1.5.0-beta.1
The internal k8s client has now been taken out of the kubernetes repo
and is fully at k8s.io/client-go.  Minikube should only reference the
client-go library, while Localkube can continue to reference both
internal k8s components as well as client-go.

make gendocs
2016-12-13 11:21:44 -08:00
Aaron Prindle 8ebdafa3ce Working on adding localkube to minikube-iso. Have added check for which iso is running to support both isos. Added localkube restarting. 2016-12-13 11:15:57 -08:00
Steve Sloka 7e989d1ce2 Enable awsecr-creds addon which will setup credentials to AWS ECR for downloading docker images 2016-12-09 08:46:05 -05:00
Matt Rickard f1fb26adc6 Add ingress controller to addons
This uses a custom version of the ingress controller.  We should move
it over to the official one when it is released.
2016-12-08 12:01:31 -08:00
Matt Rickard f6e3e12655 Group addon yamls into folders 2016-12-07 11:28:22 -08:00
Dan Lorenc bd0acdf480 Fix the type referenced for PortRange. 2016-11-23 09:04:38 -08:00
David Lyle 3a3b3f6a32 Update logs pkg reference 2016-11-22 16:15:35 -07:00
dlorenc 1868bafeb0 Merge pull request #837 from dlorenc/pr
Add PortRange to the extra-config parser.
2016-11-22 10:39:12 -08:00
dlorenc f72dadbe03 Add PortRange to the extra-config parser. 2016-11-22 09:56:55 -08:00
Matt Rickard 452a1e52c2 Merge pull request #833 from r2d4/retry
Retry for configureAuth on minikube start
2016-11-21 14:09:45 -08:00
Matt Rickard b72efef48d Retry for configureAuth on minikube start
Sometimes the docker daemon isn't ready and on a restart and libmachine
times out while trying to reach it.  This retries when it isn't ready.

This fixes timeout problems in our virtualbox integration tests.
2016-11-21 13:32:34 -08:00
Aaron Prindle 3fe4ef3e83 Added heapster to set of addons. Need to add test and repackage things to remove duplicated code. 2016-11-18 17:36:54 -08:00
Aaron Prindle 0e33746e1d Merge pull request #783 from aaron-prindle/kubectl-hint
Added check for kubectl to each command (in root.go)  This prompts user
2016-11-09 15:17:25 -08:00
Aaron Prindle 5789a04c4f Updated notification text to include minikube config command 2016-11-07 13:52:50 -08:00
Aaron Prindle 1960618ae1 Added check for kubectl to each command (in root.go) This prompts user
with kubectl install one-liner for latest kubectl version.  Also added
config for enable/disable.  Still need to add tests.
2016-11-03 13:26:06 -07:00
Dan Lorenc e8d8cc0ba3 Add support for net.IP to the configurator. 2016-10-28 14:33:36 -07:00