Commit Graph

252 Commits

Author SHA1 Message Date
Jason Riddle
312d54c014 Add KUBE_RELEASE_RUN_TESTS=n to suggestion
Without KUBE_RELEASE_RUN_TESTS=n, it can take quite a while to build all of the necessary binaries since the tests have to run.
2015-07-11 19:33:11 -04:00
derekwaynecarr
4898b014ec Some users of vagrant were getting different ip addresses in cert 2015-07-10 12:01:47 -04:00
derekwaynecarr
e2ddd2dd7b Missing ca crt in vagrant controllers 2015-07-08 10:59:10 -04:00
James Kyle
4c96fa7565 Resolves #9773, vmware_fusion can't find component
The error message thrown when the KUBERNETES_PROVIDER is vagrant and the
vagrant plugin cannot be found is ambiguous. This does not change
functionality, just provides more feedback as to the source of the
error.
2015-07-07 15:31:49 -07:00
Maru Newby
40632d3bf6 Vagrant: Allow env override of IP addresses
MASTER_IP and MINION_IP_BASE are hard-coded in vagrant's
config-default.sh, and the values correspond to virtualbox's default
subnet.  On hosts that have both virtualbox and another provider
installed, attempting to deploy kubernetes with the non-virtualbox
provider is likely to result in broken networking.  This change allows
the addresses to be overridden via the environment so that more
appropriate values can be used.
2015-07-01 10:20:12 -07:00
nikhiljindal
2e9e46dd08 Updating scripts to use v1 instead of v1beta3 2015-07-01 00:23:16 -07:00
Eric Paris
58df58f3d7 Remove unused enable_node_monitoring option
Back in 1a7f7245e7 we dropped the one
place this was used, but left all of the variable and definitions and
garbage around cluster/
2015-06-25 20:57:56 -04:00
derekwaynecarr
db202d4904 Remove nginx from vagrant 2015-06-23 13:07:50 -04:00
Rajat Chopra
d0816be55d fix vagrant networking 2015-06-18 17:48:32 -07:00
Saad Ali
b529557205 Merge pull request #9527 from Rob4001/master
Added vagrant-libvirt plugin to vagrant provider check in install script
2015-06-17 14:24:35 -07:00
BenTheElder
4437312993 Fix vagrant client authorization. 2015-06-11 23:46:01 -04:00
Robert Wilson
c3579f76d9 Added vagrant-libvirt plugin to vagrant provider check in install script 2015-06-10 00:00:11 +01:00
derekwaynecarr
2168cee414 Upgrade to Fedora 21, Docker 1.6, clean-up SDN 2015-06-04 10:59:23 -04:00
Rohit Jnagal
3659aef63a Fix cluster monitoring setup config.
Older options used to be true/false. Newer ones are none|influxdb|google.
2015-05-30 05:31:53 +00:00
Rohit Jnagal
ff51f0b2e1 Merge pull request #8696 from derekwaynecarr/force_namespace_creation
Force explicit namespace provision, update e2e for failures
2015-05-29 09:28:47 -07:00
Tim Hockin
ac3cc3c518 Rename PORTAL_NET all over 2015-05-28 16:10:44 -07:00
derekwaynecarr
3e8b1d5e01 Update all salt providers to force explicit namespace creation; update e2e 2015-05-28 13:45:49 -04:00
derekwaynecarr
2f1dd9228f Fix Vagrant node registration and kube-push 2015-05-27 10:50:57 -04:00
invenfantasy
9ff8f7ec7d remove duplicate configuration 2015-05-24 23:20:03 +08:00
Clayton Coleman
7d620c20b9 Merge pull request #8105 from thockin/dns-domain
Rename default DNS domain to cluster.local
2015-05-12 17:18:45 -04:00
Tim Hockin
e83e49b076 rename default DNS domain to cluster.local 2015-05-11 23:00:43 -07:00
Jordan Liggitt
7e14a80f63 ServiceAccount admission plugin 2015-05-11 17:18:06 -04:00
BenTheElder
0b32bb1e4c Call kube-down in test-teardown
See https://github.com/GoogleCloudPlatform/kubernetes/issues/7978
2015-05-08 14:50:35 -04:00
Zach Loafman
875e83a741 Revert "Revert "Security context - types, kubelet, admission"" 2015-05-05 16:02:13 -07:00
Zach Loafman
f48904fd5e Revert "Security context - types, kubelet, admission" 2015-05-05 15:20:39 -07:00
Paul Weil
982bf19c20 security context initial implementation - squash 2015-05-05 13:46:13 -04:00
BenTheElder
7ea1ccd7a3 Set vagrant test cluster default NUM_MINIONS=2 2015-05-04 04:19:20 -04:00
Eric Paris
6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Jan Safranek
6e810492fb Fixed name of kube-proxy path in deployment scripts. 2015-04-28 10:10:37 +02:00
Eric Tune
9044177bb6 Generate a token for kube-proxy.
Tested on GCE.
Includes untested modifications for AWS and Vagrant.
No changes for any other distros.
Probably will work on other up-to-date providers
but beware.  Symptom would be that service proxying
stops working.

 1. Generates a token kube-proxy in AWS, GCE, and Vagrant setup scripts.
 1. Distributes the token via salt-overlay, and salt to /var/lib/kube-proxy/kubeconfig
 1. Changes kube-proxy args:
   - use the --kubeconfig argument
   - changes --master argument from http://MASTER:7080 to https://MASTER
     - http -> https
     - explicit port 7080 -> implied 443

Possible ways this might break other distros:

Mitigation: there is an default empty kubeconfig file.
If the distro does not populate the salt-overlay, then
it should get the empty, which parses to an empty
object, which, combined with the --master argument,
should still work.

Mitigation:
  - azure: Special case to use 7080 in
  - rackspace: way out of date, so don't care.
  - vsphere: way out of date, so don't care.
  - other distros: not using salt.
2015-04-27 08:59:57 -07:00
Jan Safranek
1c8f888477 Fix vagrant setup broken by commit 7475efbcfb.
- 'local' can be used only inside bash functions
- s/KNOWN_TOKENS_FILE/known_tokens_file
2015-04-23 11:00:10 +02:00
Zach Loafman
86468cd29d Revert "Added kube-proxy token." 2015-04-22 10:55:08 -07:00
Zach Loafman
b98f93bb4b Merge pull request #7112 from erictune/kubeconfig-secrets
Extend PR#5470 for AWS and Vagrant
2015-04-22 09:25:53 -07:00
Zach Loafman
854c20c5e2 Merge pull request #7113 from erictune/kube-proxy-token
Added kube-proxy token.
2015-04-22 09:16:04 -07:00
Eric Tune
b944049fe9 Merge pull request #6916 from ArtfulCoder/controller-in-a-pod
kube-controller-manager in a pod.
2015-04-21 09:58:29 -07:00
Eric Tune
2ca8a9d15d Added kube-proxy token.
Generates the new token on AWS, GCE, Vagrant.
Renames instance metadata from "kube-token" to "kubelet-token".
(Is this okay for GKE?)

Having separate tokens for kubelet and kube-proxy permits
using principle of least privilege, makes it easy to
rate limit the clients separately, allows annotation
of apiserver logs with the client identity at a finer grain
than just source-ip.
2015-04-21 09:21:31 -07:00
Eric Tune
7475efbcfb Extend PR#5470 for AWS and Vagrant 2015-04-21 08:22:31 -07:00
Justin Santa Barbara
29592356f7 Rename salt minion_ip to hostname_override
Prep work for making AWS node identifier -> instance id
2015-04-21 06:24:49 -07:00
derekwaynecarr
3fc627e416 Fix vagrant regression from 6691 2015-04-21 00:44:44 -04:00
Abhishek Shah
f513aad380 kube-controller-manager in a pod. 2015-04-20 16:06:37 -07:00
Jeff Lowdermilk
3787fc5eca set KUBECONFIG in common.sh, default to new location
and preserve value in ginkgo e2e test driver
2015-04-20 11:07:35 -07:00
Jeff Lowdermilk
4f6dc99075 Generate kubeconfig for all providers in cluster/ that use auth 2015-04-20 11:07:35 -07:00
Matt Bogosian
e8672e2242 Fix #2741. Add support for alternate Vagrant providers: VMWare Fusion, VMWare Workstation, and Parallels. 2015-04-17 11:26:29 -07:00
derekwaynecarr
d1668b1dfa Vagrant should not block on daemons that moved to pods 2015-04-15 23:15:34 -04:00
yaoguo
e597b41d93 Remove duplicate localhost setting 2015-04-10 00:10:47 +08:00
nikhiljindal
fe60be3179 Moving v1beta1 kubectl examples to v1beta3 2015-04-08 13:08:13 -07:00
Brian Grant
b0b6418ca3 Merge pull request #6377 from nikhiljindal/kubevtl
Updating components to use v1beta3
2015-04-03 15:58:09 -07:00
nikhiljindal
f2b72931fc Updating components to use v1beta3 2015-04-03 15:19:14 -07:00
Abhishek Shah
fb665ede4c Run etcd on localhost for all providers. 2015-04-03 14:00:44 -07:00
derekwaynecarr
c6bf46acd7 Fix vagrant with etcd in pod 2015-04-02 16:55:29 -04:00
Derek Carr
2af9b54147 Merge pull request #6259 from zmerlynn/fix_cloud_provider
Eliminate grains.cloud_provider (in preference to grains.cloud) from SaltStack
2015-04-01 17:04:05 -04:00
Zach Loafman
b581320bf7 Eliminate grains.cloud_provider (in preference to grains.cloud) from SaltStack
This variable can be entirely derived from grains.cloud, and it
simplifies the configuration somewhat. (Or someone convince me I'm
wrong. I'm happy to be wrong here.)
2015-04-01 08:32:32 -07:00
Derek Carr
762c449043 Merge pull request #6262 from zmerlynn/rm_master_ip
rm Salt grains.master_ip
2015-04-01 11:10:48 -04:00
António Meireles
7680c2f771 fix typo in spelling.
Signed-off-by: António Meireles <antonio.meireles@reformi.st>
2015-04-01 10:43:52 +01:00
Zach Loafman
0806e3bde0 rm Salt grains.master_ip
This appears in the Salt documentation, is set by Vagrant, but has no
consumers. Remove vestigial references.
2015-03-31 17:31:47 -07:00
Zach Loafman
6c219885e0 s/apiservers/api_servers/ in Salt
It looks like api_servers finally won this battle. Kill off the
last remaining places passing it, but allow the kubelet Salt to
accept apiservers for a period of time.

(This was bothering my OCD.)
2015-03-31 12:29:46 -07:00
Derek Carr
dabd4984b7 Merge pull request #5856 from marshauf/master
Use VBoxManage instead of virtualbox in cluster/vagrant/util.sh
2015-03-24 16:16:12 -04:00
Marcel Hauf
cf36fdc7f9 Use VBoxManage instead of virtualbox in cluster/vagrant/util.sh verify-prereqs function. The executable virtualbox does not exist. 2015-03-24 17:42:22 +01:00
derekwaynecarr
ee53dfc741 Turn on namespace lifecycle plug-in 2015-03-24 10:36:06 -04:00
Zach Loafman
407d1fec45 Both @satnam6502 and E2E tests confirm: This code is no longer needed
Deletion is wonderful. The only weird thing was where to put the
message about the proxy URLs. Satnam suggested kubectl clusterinfo,
which seemed like a good option to put at the end of cluster turn-up.
2015-03-19 22:23:11 -07:00
jayunit100
9b67949085 Fix vagrant so that ssh commands work OOTB, (squashed) move verify to vagrant/util.sh, remove run_provider_test, cleanup. 2015-03-18 15:02:12 -04:00
Vishnu Kannan
e7aca5c337 Enable heapster based cluster monitoring by default on other cluster providers, expect for GKE. 2015-03-11 23:34:04 +00:00
Vishnu Kannan
663bdb91c9 Remove monitoring firewall setup methods. Heapster anf Grafana are now accessible via the API server proxy. 2015-03-11 23:20:45 +00:00
derekwaynecarr
f71a91a131 Fix regression introduced when moving to standalone salt 2015-03-11 11:06:00 -04:00
derekwaynecarr
468bf1da75 Enable common set of admission controllers across salt providers 2015-03-11 11:06:00 -04:00
derekwaynecarr
2ed8eed004 Make admission control plug-ins work from indexes 2015-03-06 09:36:57 -05:00
derekwaynecarr
35ab4ccc6d Further vagrant reliability improvements. 2015-03-03 06:55:34 -08:00
derekwaynecarr
5fdf6b131c Fix error provisioning kube-apiserver on vagrant 2015-02-27 10:17:46 -08:00
Brendan Burns
16b97a4a45 Merge pull request #4591 from derekwaynecarr/origin_example
WIP: Example running OpenShift Origin as pod on Kubernetes
2015-02-26 14:38:21 -08:00
Satnam Singh
19b927ea57 Name a cluster and use it to make forwarding rules for GCE 2015-02-23 17:04:33 -08:00
derekwaynecarr
87a41b0934 Improve vagrant reliablility, fix race condition with openvswitch and docker 2015-02-21 13:31:50 -05:00
derekwaynecarr
b8172f9fba Example running OpenShift Origin as pod on Kubernetes 2015-02-20 15:35:35 -05:00
derekwaynecarr
be0e327088 Do not pass --kubeconfig during kube-up since shell script picks it up already 2015-02-20 12:11:05 -05:00
derekwaynecarr
a0cb252d40 Fix vagrant cluster/kube-up 2015-02-16 18:34:50 -05:00
Rajat Chopra
56462c020a democratize restart-apiserver method across clouds 2015-02-11 13:44:43 -08:00
Ryan Fowler
289e11ae6f In Vagrant, copy $DNS_REPLICAS to /master-start.sh
DNS doesn't start without `DNS_REPLICAS`
2015-02-11 09:11:37 -06:00
Zach Loafman
6b3bb763f0 Merge pull request #4287 from derekwaynecarr/docker_group_gone
Docker 1.4.1 on Fedora no longer provisions a docker group
2015-02-10 14:28:02 -08:00
Clayton Coleman
dce4cd8b1d Merge pull request #3613 from derekwaynecarr/namespace_as_kind
Namespace as kind
2015-02-10 14:49:58 -05:00
derekwaynecarr
46eb657722 docker does not provision a docker group anymore, so do not add vagrant user to it 2015-02-10 11:15:22 -05:00
derekwaynecarr
0bd0e12bbc Add support for Namespace as Kind
Add example for using namespaces
2015-02-10 09:50:50 -05:00
Rajat Chopra
1d12cad456 Fix vagrant networking. Include the master as part of overlay. And remove STP for efficiency.
fix e2e services for vagrant
Kubelet should wait on SDN to finish
Do not require docker on master for default clouds
2015-02-09 14:37:27 -08:00
Zach Loafman
6b8c332cd3 Revert "Fix vagrant networking" 2015-02-09 13:40:11 -08:00
Rajat Chopra
db493dc6ce stick to num_minions=1 for the default 2015-02-09 09:59:31 -08:00
Rajat Chopra
a9d8713db4 fix e2e services for vagrant 2015-02-06 18:34:27 -08:00
Rajat Chopra
b61ea1bbf1 Fix vagrant networking. Include the master as part of overlay. And remove STP for efficiency. 2015-02-05 17:41:27 -08:00
derekwaynecarr
4dd50a18c3 Fix vagrant regression, add flag to easily enable v1beta3 2015-01-30 12:16:24 -05:00
Zach Loafman
a305269e18 Deferred creation of SkyDNS, monitoring and logging objects
This implements phase 1 of the proposal in #3579, moving the creation
of the pods, RCs, and services to the master after the apiserver is
available.

This is such a wide commit because our existing initial config story
is special:

* Add kube-addons service and associated salt configuration:
** We configure /etc/kubernetes/addons to be a directory of objects
that are appropriately configured for the current cluster.
** "/etc/init.d/kube-addons start" slurps up everything in that dir.
(Most of the difficult is the business logic in salt around getting
that directory built at all.)
** We cheat and overlay cluster/addons into saltbase/salt/kube-addons
as config files for the kube-addons meta-service.
* Change .yaml.in files to salt templates
* Rename {setup,teardown}-{monitoring,logging} to
{setup,teardown}-{monitoring,logging}-firewall to properly reflect
their real purpose now (the purpose of these functions is now ONLY to
bring up the firewall rules, and possibly to relay the IP to the user).
* Rework GCE {setup,teardown}-{monitoring,logging}-firewall: Both
functions were improperly configuring global rules, yet used
lifecycles tied to the cluster. Use $NODE_INSTANCE_PREFIX with the
rule. The logging rule needed a $NETWORK specifier. The monitoring
rule tried gcloud describe first, but given the instancing, this feels
like a waste of time now.
* Plumb ENABLE_CLUSTER_MONITORING, ENABLE_CLUSTER_LOGGING,
ELASTICSEARCH_LOGGING_REPLICAS and DNS_REPLICAS down to the master,
since these are needed there now.

(Desperately want just a yaml or json file we can share between
providers that has all this crap. Maybe #3525 is an answer?)

Huge caveats: I've gone pretty firm testing on GCE, including
twiddling the env variables and making sure the objects I expect to
come up, come up. I've tested that it doesn't break GKE bringup
somehow. But I haven't had a chance to test the other providers.
2015-01-21 12:25:50 -08:00
Joe Beda
4357e9b154 Fix SSH for vagrant.
This is used as part of the services.sh test.
2015-01-20 16:47:51 -08:00
Joe Beda
ae06ebc8ee Fix iptables rule from when vagrant was reorganized. 2015-01-20 16:47:09 -08:00
Joe Beda
611be41aa5 Set VAGRANT_CWD so commands work from anywhere 2015-01-20 09:11:29 -08:00
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