Commit Graph

5437 Commits

Author SHA1 Message Date
Mike Danese d5928df6a4 Merge pull request #24 from justinsb/upup_aws_iamrole_policies
upup: Perform JSON comparison on IAMRole PolicyDocuments
2016-05-17 09:34:03 -07:00
Mike Danese cf98b75d39 Merge pull request #23 from justinsb/upup_aws_instance_tags
upup: Discover tags on AWS instances
2016-05-17 09:33:50 -07:00
Mike Danese 03ae922b01 Merge pull request #22 from justinsb/upup_aws_keypairs
upup: Fix fingerprint calculation in AWS keypair
2016-05-17 09:33:38 -07:00
Mike Danese a4344e1564 Merge pull request #19 from justinsb/upup_keypair
upup: better keypair support
2016-05-17 09:33:24 -07:00
Mike Danese d6026a431e Merge pull request #18 from justinsb/upup_reflection_redux
upup: Make reflective walk more logical, use for dryrun change printing
2016-05-17 09:33:16 -07:00
Mike Danese b48b503a7c Merge pull request #17 from justinsb/upup_gce_metadata
upup: Discover metadata on GCE instance
2016-05-17 09:33:11 -07:00
Mike Danese 5aa64c72a6 Merge pull request #16 from justinsb/upup_image_url
upup: Map GCE image-url to string consistently
2016-05-17 09:33:02 -07:00
Mike Danese 3703ecedc8 Merge pull request #15 from justinsb/master_pd
upup: Support for persistent disks, users & symlinks
2016-05-17 09:32:56 -07:00
Justin Santa Barbara c68aeec94d upup: tolerate aws eventual-consistency errors on tags
AWS will sometimes return an error like "resource not found" when a
DescribeTags or CreateTags call immediately follows creation of the
resource.  Introduce a retry-loop when we get an error that is of the
appropriate type.
2016-05-16 12:08:28 -04:00
Justin Santa Barbara 14ac983241 upup: Map matching image ids to source name
This avoids spurious changes, and also is more intuitive for the user -
whatever name the user gave it, if it resolves to the same image, that
is the name we will use.
2016-05-16 11:20:24 -04:00
Justin Santa Barbara a00e974a95 upup: Fetch instance userdata on AWS
We simply weren't doing this until now
2016-05-16 11:12:13 -04:00
Justin Santa Barbara e90f5c78e1 upup: fix dryrun spurious printing of interface values
We missed the case where the interface changed (this only shows up if
other fields change also)
2016-05-16 10:58:44 -04:00
Justin Santa Barbara ba77aea0ea upup: Perform JSON comparison on IAMRole PolicyDocuments
AWS reformats them (inserting lots of whitespace), making a string
comparison incorrect.  Instead we parse to JSON and do a
reflect.DeepEqual check; if they are the same then we pretend the actual
value was the expected value.
2016-05-15 23:49:01 -04:00
Justin Santa Barbara e6ce439fcd upup: Discover tags on AWS instances
We simply weren't mapping them previously.
2016-05-15 23:32:49 -04:00
Justin Santa Barbara 8752db39aa upup: Fix fingerprint calculation in AWS keypair
Both fix the calculation itself to match AWS's weird fingerprint
algorithm, and also fix the comparison logic by which we infer that if
the fingerprint matches, that the public key matches also.
2016-05-15 23:28:19 -04:00
Justin Santa Barbara 1c97a94d87 Rework keypair to fit our change model
We also remove another special-case context (pki), so that it is just
another object type.
2016-05-15 21:46:53 -04:00
Justin Santa Barbara c4742045ab Support changing GCE instance metadata
This works, but is only a part-way there because:

1. We need to trigger cloudup
2. Our manifests don't pick up the change (e.g. kube-apiserver)
2016-05-15 17:46:34 -04:00
Justin Santa Barbara ac220d2ba1 Allow Render methods to take fi.Context
We call the Render methods on Tasks by reflection, and some of them
don't care about the Target, but do care about the Context (e.g. the PKI
tasks, which only care about the CAStore)
2016-05-15 17:43:04 -04:00
Justin Santa Barbara cb7e20be3b Create HasAddress interface
AWS ElasticIPs and GCE Addresses implement HasAddress.  This will be
used by dependent tasks to extract the IP address at runtime.
2016-05-15 17:42:59 -04:00
Justin Santa Barbara 02d980c681 Make reflective walk more logical, use for dryrun change printing
Remove a bunch of inconsistencies so that the reflective walk is not
suprising, and also rename it to ReflectRecursive.

Then use this for dry-run change printing.
2016-05-15 17:41:19 -04:00
Justin Santa Barbara 0976ee1a73 Discover metadata on GCE instance
We simply weren't mapping it before, which was causing spurious changes.
2016-05-15 17:40:32 -04:00
Justin Santa Barbara 5a61c35052 Map GCE image-url to string consistently
We need to reverse our image shortening consistently with how we resolve
the image, so that --dryrun does not report spurious changes.
2016-05-15 17:39:26 -04:00
Justin Santa Barbara 370727aa44 Support for persistent disks, users & symlinks
These are required to mount the master PD.  We use the kubernetes
safe-format-and-mount implementation.
2016-05-13 13:29:56 -04:00
Mike Danese b083e4f6bf Merge pull request #14 from justinsb/fintegration_aws
UpUp: AWS support
2016-05-11 14:10:04 -07:00
Justin Santa Barbara caccb8953f UpUp: AWS support
Adds AWS support for both cloudup & nodeup.
Also cleaning up things found along the way!
2016-05-09 13:08:27 -04:00
Mike Danese 72a79d7998 Merge pull request #8 from justinsb/fintegration
cloudup & nodeup: direct, terraform, cloud-init
2016-05-06 16:55:50 -07:00
Justin Santa Barbara d4c2cfaae7 Initial version of upup: cloudup & nodeup
* GCE support only
* Key and secret generation
* "Direct mode" makes API calls
* "Dry run mode" previews the changes
* Terraform output (though key generation not working for master ip)
* cloud-init output (though debian image does not ship with cloud-init)
2016-05-06 16:01:33 -04:00
Mike Danese be661c34ef Merge pull request #11 from mikedanese/readme
add to the readme a description of what this project's goal is
2016-05-03 12:51:51 -07:00
Mike Danese 4825589c36 add to the readme a description of what this project's goal is 2016-05-03 11:16:07 -07:00
Mike Danese 7af89bb646 Merge pull request #2 from mikedanese/addons
move kube_addon_manager to new home
2016-03-29 11:16:56 -07:00
Mike Danese 24dc804bab move addon manatger into subdirectory 2016-03-29 11:02:43 -07:00
Quintin Lee 5eec0fb93f Removing versions from deployment names. 2016-03-29 11:01:37 -07:00
Quintin Lee 90f046e907 Support addon Deployments, make heapster a deployment with a nanny. 2016-03-29 11:01:37 -07:00
bryk 0ca684752a Set kubernetes-dashboard as the default UI addon
Dashboard release info:
https://github.com/kubernetes/dashboard/releases/tag/v0.1.0

This replaces kube-ui addon
2016-03-29 11:01:37 -07:00
Andy Zheng 2c7fa3c243 Support master on Ubuntu Trusty
This change support running kubernetes master on Ubuntu Trusty.
It uses pure cloud-config and shell scripts, and completely gets
rid of saltstack or the release salt tarball.
2016-03-29 11:01:37 -07:00
Peter McDonnell e9f32808dc exit if unable to query status from apiserver 2016-03-29 11:01:37 -07:00
Dhawal Yogesh Bhanushali 8df36f9eba vsphere support 2016-03-29 11:01:37 -07:00
Arsen Mamikonyan 4a11aa3056 Change repository references to https://github.com/kubernetes/kubernetes 2016-03-29 11:01:37 -07:00
Justin Santa Barbara 09cb75f3dc Salt: force service provider to systemd if systemd
The version of Salt we're running doesn't do a good job of detecting
systemd.  Inspired by https://github.com/saltstack/salt/issues/13926,
I added a provider-force to the services.

With this change, salt-call -l debug state.highstate succeeds, even for
repeated invocations.

The issue was (probably) benign, but definitely caused noised (e.g. #11297)
2016-03-29 11:01:37 -07:00
Josh Ellithorpe f5df2c160d Fix issues with Python3 and bring up a dev cluster 2016-03-29 11:01:37 -07:00
Yifan Gu 4c0c99033d kube-addons: Use python container if python is not found on the machine.
To build the python image, BUILD_PYTHON_IMAGE should be set during make.
When the addon script is running, it will check if python is installed
on the machine, if not, it will use the python image that built previously.
2016-03-29 11:01:37 -07:00
Prashanth Balasubramanian 65c48a79fc Cluster-loadbalancing addon 2016-03-29 11:01:37 -07:00
Brendan Burns 66d200a751 Make heapster config creation dynamic 2016-03-29 11:01:37 -07:00
Dai Zuozhuo d0f0177ae4 change -o template to -o go-template=... 2016-03-29 11:01:37 -07:00
Muhammed Uluyol a2f3dd10d8 Use quotes more consistently 2016-03-29 11:01:37 -07:00
Muhammed Uluyol c934df29a8 Use a persistent volume for the docker registry. 2016-03-29 11:01:37 -07:00
Muhammed Uluyol f66ca094f7 Launch a cluster-local registry.
This registry can be accessed through proxies that run on each node
listening on port 5000. We send the proxy images to the nodes directly
to avoid requests that hit the network during cluster launch. For now,
we continue to pull the registry itself over the network, especially
given its large size (we should be able to dramatically shrink the
image). On GCE we create a PD and use that for storage, otherwise we
use an emptyDir. The registry is not enabled outside of GCE. All
communication is currently plain HTTP. In order to use SSL, we will
need to be able to request a certificate/key from the apiserver signed
by the apiserver's CA cert.
2016-03-29 11:01:37 -07:00
Veres Lajos 3e0affde9b typofix - https://github.com/vlajos/misspell_fixer 2016-03-29 11:01:37 -07:00
Eric Paris ed33e20824 Respect KUBECTL_BIN in kube-addon-update.sh not just kube-addons.sh 2016-03-29 11:01:37 -07:00
Eric Paris 609eec02fe generate-cert: allow for alternative paths
Instead of hard coding kube-cert and /srv/kubernetes allow these to be
overwritten by environment variables.  / is immutable on some systems
and so /srv is not a possible location to store data.
2016-03-29 11:01:37 -07:00