Commit Graph

262 Commits (f4fc84f337e1af73bf919278e0db339827aa043b)

Author SHA1 Message Date
Joe Beda c5634e90ba Verify cluster size before e2e 2015-01-20 09:11:29 -08:00
derekwaynecarr 123c96164e Disable defaults plugin 2015-01-15 19:42:20 -05:00
derekwaynecarr 7f724867c2 Admission control plugin for resource defaults 2015-01-14 15:28:59 -05:00
Satnam Singh 295bd3768d Launch Elasticsearch and Kibana automatically 2015-01-09 13:41:46 -08:00
derekwaynecarr 2d9977cf1a Reduce number of minions to improve user experience 2015-01-09 13:00:48 -05:00
derekwaynecarr f6eb020198 Missing config vars in vagrant provision 2015-01-08 16:53:45 -05:00
derekwaynecarr 520ae3ef27 Implement basic admission control framework 2015-01-07 14:42:31 -05:00
derekwaynecarr 9203e4143b Put skydns in portalip range 2015-01-05 13:09:31 -05:00
Tim Hockin 59164ca844 Make DNS an option for cluster turnup 2014-12-29 09:18:12 -08:00
Richard Larocque 9ac9c69534 Replace kubecfg with kubectl in setup scripts
Replaces two instances of kubecfg with kubectl in cluster startup and
validation scripts.
2014-12-19 16:10:21 -08:00
Joe Beda 428aeacf6d Rework vagrant cluster set up.
* Have a single config file that mirrors other cluster providers
* Warn users not to use 'vagrant up' directly
* Allow 'extra' parameters to the docker daemon.  Fixes #2685
* Renumbers things so that they are more sane.  Master/minions are 10.245.1.x, container subnets are 10.246.x.1/24, portal is 10.247.0.0/16
2014-12-17 13:23:39 -08:00
Joe Beda 2fc02cb06a Quote strings in bash populated YAML files.
Quoting is hard.  When writing strings into YAML files, wrap them in single quotes.  Also escape any embedded single quotes in those strings via a double signle quote ('').
2014-12-16 16:13:46 -08:00
Eric Tune edeb96dca9 Merge pull request #2772 from rlarocque2/apiserver_auth
Implement apiserver communication for Vagrant
2014-12-10 07:13:40 -08:00
Brendan Burns 3a7dd589d5 Merge pull request #2735 from erictune/proxy_no_etcd
Use apiserver instead of etcd for kube-proxy.
2014-12-09 15:27:20 -08:00
derekwaynecarr aacf2c2780 Add python-cherrypy as explicit install for salt-api 2014-12-08 11:36:26 -05:00
Richard Larocque 7d37b24cc7 Implement apiserver communication for Vagrant
This implementation is based on the GCE impementation from
618a367dbb48dbaa9c3b50e877858d854322fd0b.
2014-12-05 12:49:51 -08:00
Eric Tune 65b38e7af7 Use apiserver instead of etcd for kube-proxy.
For cloud-providers that use salt, have kube-proxy use
apiserver instead of etcd as a config source.
2014-12-02 22:21:01 -08:00
Tim Hockin 47141f05c7 standard config opt names: logging 2014-11-25 17:41:53 -08:00
Tim Hockin 52ad94d766 standard config opt names: node monitoring 2014-11-25 17:39:28 -08:00
derekwaynecarr 1a894741b2 Fix vagrant regression 2014-11-20 10:39:09 -05:00
Richard Larocque 914c5eb1f1 Chmod the right file in cluster/vagrant/util.sh
Most of platforms use ~/.kubernetes_auth, but Vagrant is different.
This commit fixes one instance where a setup script did not take this
difference into account.
2014-11-17 17:14:35 -08:00
Joe Beda 66d287f7e4 Merge branch 'rename-to-kube' of https://github.com/eparis/kubernetes into eparis-rename-to-kube
* 'rename-to-kube' of https://github.com/eparis/kubernetes:
  rename kube server binaries to kube-

Conflicts:
	docs/salt.md
2014-11-17 09:52:10 -08:00
Joe Beda 5a0159ea00 Get Vagrant to start using TLS client certs.
Also fix up cert generation. It was failing during the first salt highstate when trying to chown the certs as the apiserver user didn't exist yet.  Fix this by creating a 'kube-cert' group and chgrping the files to that.  Then make the apiserver a member of that group.

Fixes #2365
Fixes #2368
2014-11-13 22:16:45 -08:00
Eric Paris a99c3c7963 rename kube server binaries to kube-
apiserver becomes kube-apiserver
controller-manager -> kube-controller-manager
scheduler and proxy similarly.

Only thing I promise is that right now hack/build-go.sh and
build/release.sh exit with 0.  That's it.  Who knows if any of this
actually works....
2014-11-13 20:08:26 -05:00
Vishnu Kannan 46a22b3c44 Fix monitoring setup script.
Remove the firewall rule created for monitoring as part of kube-down.
Reuse master auth for Grafana.
2014-11-13 16:43:05 -05:00
Haney Maxwell fae27e2f17 Clean up e2e test 2014-11-11 11:03:07 -08:00
Daniel Smith d5c6499d93 Update scripts to expect versioned output in templates. 2014-11-07 16:47:22 -08:00
Vishnu Kannan 37af9210ba Improve the monitoring setup script and fix bugs in the monitoring config. 2014-11-07 19:27:52 +00:00
Joe Beda 5d33ce46cc Rework hack/ and build/ directories.
* Rewrite a bunch of the hack/ directory with modular reusable bash libraries.
* Have 'build/*' build on 'hack/*'.  The stuff in build now just runs hack/* in a docker container.
* Use a docker data container to enable faster incremental builds.
* Standardize output to _output/{local,dockerized}/bin/OS/ARCH/*.  This regularized placement makes cross compilation work.
* Move travis specific scripts under hack/travis

With new dockerized incremental builds, I can do a no-op `make quick-release` in ~30s.  This is a significant improvement.
2014-11-01 17:56:41 -07:00
Pieter Noordhuis 1152471db7 Split reactor files
There now are reactor files to run highstate on:

* New nodes only
* Master nodes
* Minion nodes
2014-10-29 11:30:09 -07:00
Clayton Coleman bd1b3fb245 Vagrant util has minion query for ID, not Name
Related to the ID->Name refactor, noticed while running e2e
2014-10-23 23:12:04 -04:00
derekwaynecarr b836e31cf4 Fixup docker configuration for sdn 2014-10-22 11:32:38 -04:00
Joe Beda 893e897d9b Merge pull request #1913 from derekwaynecarr/move_network_closure
Do not require a writeable /vagrant
2014-10-20 15:04:43 -07:00
Joe Beda ea95cefb91 Make vagrant scripts work with bash 3
Fixes #1890
2014-10-20 14:50:09 -07:00
derekwaynecarr 0d86be680b Do not require a writeable /vagrant 2014-10-20 16:59:15 -04:00
Mrunal Patel f8845147f6 Need not add --ip-masq flag till fedora ships docker 1.3 2014-10-16 12:40:01 -07:00
Dawn Chen a8a036a9e6 Disable --ip-masq for vagrand. 2014-10-16 12:17:18 -07:00
Tim Hockin 5c4bd55273 Add vagrant support 2014-10-16 08:36:47 -07:00
Joe Beda 9bb20b41ee Break out dynamic salt files to enable clean kube-push.
This lets us blow away salt files and replace them with a new version while keeping a tree of "overlay" files that are cluster specific and generated at cluster up time.

Fixes #1783
2014-10-14 15:01:43 -07:00
derekwaynecarr b8d2f08192 Fix race condition in start-up of salt-minion and salt-master 2014-10-14 12:41:45 -04:00
Joe Beda d43a6ec5a3 Standardize how we refer to the kubernetes root.
Now use $KUBE_ROOT as the variable pretty much everywhere.
2014-10-10 12:33:36 -07:00
Joe Beda 881cf80182 Vagrant now using pre-built binaries. 2014-10-10 12:30:12 -07:00
Joe Beda c323179d9b Don't print Kubernetes username/password to console.
It is too easy to copy/paste this on-line.

Fixes #1483
2014-09-29 13:18:29 -07:00
derekwaynecarr 63bd987561 Add vagrant user to docker group 2014-09-11 16:48:17 -04:00
derekwaynecarr 0c20fffa06 No DNS in vagrant cross minions, need explicit IP as host 2014-09-11 13:38:50 -04:00
derekwaynecarr f42fcef620 Add explicit flag to use openvswitch 2014-09-08 15:31:22 -04:00
derekwaynecarr 7f75aae8ab Improve vagrant hostname support across cluster 2014-09-05 16:39:39 -04:00
derekwaynecarr 4b4be926f5 Improve kube-up to validate salt provisioned 2014-09-03 16:36:21 -05:00
Filipe Brandenburger 54b2ed0078 Suppress non-error output of `systemctl enable`
The `systemctl enable` command ordinarily prints the `ln` command used
to enable the unit to stderr, but that's not ideal in the vagrant setup
because it gets printed in red, which should be reserved for errors, but
it's not a real error.

Set an environment variable to raise the log level to prevent `info`
messages from being printed to stderr (as they are not actually errors.)

I looked into the `systemctl` calls happening from the Salt setup script
to understand why they were not going to stderr, and it turns out the
Salt script will redirect all messages to stdout so they will all be
green regardless...

Tested:
- Started a fresh Vagrant cluster, confirmed no red messages in output
  when creating the cluster successfully. Successfully started nginx
  through Kubernetes using cluster/kubecfg.sh.
- Confirmed that the salt-api service was up after `vagrant up`:
  $ vagrant ssh master -c 'systemctl status salt-api.service'
  salt-api.service - The Salt API
     Loaded: loaded (/usr/lib/systemd/system/salt-api.service; enabled)
     Active: active (running) since Fri 2014-08-29 23:19:47 UTC; 11min ago
   Main PID: 2090 (salt-api)
     CGroup: /system.slice/salt-api.service
             +-2090 /usr/bin/python /usr/bin/salt-api
             +-2110 /usr/bin/python /usr/bin/salt-api

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-29 16:44:05 -07:00
Joe Beda 843ae1fbe2 Rename `output/` directory to `_output/`
go build ./... will ignore any directory starting with an underscore.
2014-08-29 14:44:55 -07:00
Filipe Brandenburger c5520dd39d Remove workaround for salt-minion startup in vagrant/provision-minion.sh
The workaround was not needed, as salt-minion was always correctly
started in the Vagrant minion setup.

The issue reported in #270 was clearly specific do System V style init
scripts and will not affect systemd.

Also remove the inaccurate comment from provision-master.sh, since -X
was not even really in use there.

Tested:
- Performed 3 full `vagrant up` and `vagrant destroy -f` cycles with at
  least 3 minions and up to 6 minions in one case. Checked that
  salt-minion was up in each of the minions using a `systemctl status
  salt-minion` command.
- Started nginx on the cluster using cluster/kubecfg.sh, confirmed it
  was up with `list /pods` and confirmed it was reachable using wget on
  port 8080 of the minions.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-29 08:50:10 -07:00
Filipe Brandenburger 86c1ddc121 Fix `which salt-master` warning in Vagrant startup
The `which` command in Fedora 20 (differently from the one in Debian)
prints to stderr when the binary is not found. Redirect both stdout and
stderr to /dev/null to prevent messages from being printed by `which`.

Check whether the binary exists or not by the exit status of `which`
(non-zero means the binary does not exist) instead of checking for empty
output.

Tested:
- Started a Vagrant cluster with `vagrant up` and confirmed these
  messages were gone. Checked master and minions for Kubernetes
  components using the systemd status commands.
- Confirmed that the same error message for salt-minion is also
  suppressed from the output with this patch.

Fixes: Issue #1079

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-27 23:15:08 -07:00
Rajat Chopra a0b88e2f2d add test to check minion to master reachability; logfiling and some cosmetification. 2014-08-26 12:52:02 -07:00
Rajat Chopra 2dd57898d4 add ip per pod across vagrant minions 2014-08-26 11:29:35 -07:00
derekwaynecarr a6e87e786d Fix logic errors in validate cluster and make it work for vagrant again 2014-08-21 10:58:09 -04:00
derekwaynecarr 8df21b84a1 Add vagrant cloudprovider 2014-08-18 14:30:31 -04:00
derekwaynecarr 967c2552e7 Revert to latest salt bootstrap and force SSL 2014-08-18 11:39:23 -04:00
derekwaynecarr 10be80295c apiserver listen on 0.0.0.0 in vagrant 2014-08-14 10:02:04 -04:00
derekwaynecarr b9dc38e617 Log only states that change or error to improve readability 2014-08-06 14:47:41 -04:00
Michal Fojtik 264eebb997 Disable curl progress bar when running vagrant up 2014-08-01 15:08:17 +02:00
csrwng d9ae72d1f0 Temporarily point to older bootstrap script
The most recent saltstack bootstrap file expects a salt-api service to
exist. The most recent Fedora salt-master rpm doesn't include this
service yet. Pointing to the previous version of the bootstrap script.
2014-07-28 12:51:01 -04:00
derekwaynecarr 69ae2fe4bb Initial vagrant setup and e2e testing support 2014-07-24 16:32:36 -04:00