Commit Graph

722 Commits

Author SHA1 Message Date
chrislovecnm 7057aaf1bb Enabling the file assets
File assets and the SHA files are uploaded to the new location. Files
when are users uses s3 are upload public read only. The copyfile task
uses only the existing SHA value.

This PR include major refactoring of the use of URLs.  Strings are no
longer categnated, but converted into a URL struct and path.Join is
utlilized.

A new values.go file is included so that we can start refactoring more
code out of the "fi" package.

A
2017-12-17 15:26:57 -07:00
Henry Muru Paenga 0491530b6e Lookup vpc if not given to create cluster 2017-12-18 11:12:57 +13:00
Manuel de Brito Fontes 2e05dd17aa Add support for Amazon VPC CNI plugin 2017-12-17 18:08:24 -03:00
Kubernetes Submit Queue fb7c42cb4d
Merge pull request #3987 from justinsb/default_subnets_on_create_ig
Automatic merge from submit-queue.

Use default subnet when creating IG
2017-12-15 09:23:14 -08:00
Henry Muru Paenga 6fcd970191 create cluster only use --subnets in AWS 2017-12-15 18:59:12 +13:00
Henry Muru Paenga afc1b58722 Tests for create cluster in shared vpc 2017-12-15 18:29:20 +13:00
Justin Santa Barbara 3e236283f3 Tag 1.8.0 2017-12-13 22:13:27 -05:00
Justin Santa Barbara 65bcbe7729 Use default subnet when creating IG
We had this logic before, but I accidentally bypassed it in #2124.
2017-12-13 22:01:44 -05:00
Justin Santa Barbara 509b83ac7a Refactor: separate out SSHCredentials from Keyset stores
We've done this in the API already, but we had a single CAStore
interface that did Keysets and SSHCredentials.  Separate out
SSHCredentials into SSHCredentialStore, and start using API objects as
our primary representation.
2017-12-13 20:16:59 -05:00
Henry Muru Paenga 48d4a7cb1a Add --subnets and --utility-subnets to kops create cluster 2017-12-14 13:57:54 +13:00
Rohith 6b2f4a4c74 Bastion Username
- cleaning up the bastion username line
2017-12-13 13:09:22 +00:00
Kubernetes Submit Queue bfd747a873
Merge pull request #3933 from justinsb/lazy_ssh_keystore
Automatic merge from submit-queue.

SSH keys - be lazier about keystore creation
2017-12-03 20:40:42 -08:00
Justin Santa Barbara 33b7432d6a Fix segfault when updating non-existent object
Fix #3935
2017-12-01 11:00:46 -05:00
Justin Santa Barbara 2ada501c65 Fix typo in kops get cluster --full hint 2017-11-29 21:04:28 -05:00
Justin Santa Barbara b8b7287e4a Bump versions to 1.8.0-beta.2 2017-11-28 13:27:58 -05:00
Justin Santa Barbara ad60069d71 SSH keys - be lazier about keystore creation 2017-11-26 23:35:58 -05:00
Kashif Saadat 79eef3cc6c Support replacing kops secrets via force flag 2017-11-21 11:47:03 +00:00
Kubernetes Submit Queue d8e2ce211a
Merge pull request #3709 from chrislovecnm/placehold-dns-ux-updates
Automatic merge from submit-queue.

Improving UX for placeholder IP Address

Before the `kops validate cluster` attempts to connect to the K8s API
endpoint, the code now checks to see if the API DNS Entry is the kops
placeholder IP Address 203.0.113.123.  It prints a message to the user
and err's.  There is a new init func in validate cluster that disables
CGO based DNS for Darwin OS.  Darwin does two things with kops
validates; it caches the IP address, and it does not return the
placeholder IP address.  We cannot use CGO base DNS with kops validate with OSX.
2017-11-17 02:24:23 -08:00
Kubernetes Submit Queue 1dcc4a0ef1
Merge pull request #3864 from jonstacks/master
Automatic merge from submit-queue.

Fix spelling

Fix spelling of credential in the `kops create` command.
2017-11-16 22:49:59 -08:00
chrislovecnm c7ef856f92 Improving UX for kops validate cluster
Before the `kops validate cluster` attempts to connect to the K8s API
endpoint, the code now checks to see if the API DNS Entry is the kops
placeholder IP Address 203.0.113.123.  It prints a message to the user
and err's.  There is a new init func in validate cluster that disables
CGO based DNS for Darwin OS.  Darwin does two things with kops
validates; it caches the IP address, and it does not return the
placeholder IP address.  We cannot use CGO base DNS with kops validate.
2017-11-16 15:12:51 -07:00
Jonathan Stacks fb3f8f9424
Fix spelling 2017-11-15 13:22:47 -06:00
Rohith 316903fee1 Kops Template Config Value
- the use of %v is somewhat cleaner than trying to convert to a string
2017-11-15 16:57:59 +00:00
Justin Santa Barbara 3ab71d19ab Tweak kops create ig flag to edit, not editor
As EDITOR is the env var used to configure the editor, which will be
confusing.
2017-11-14 03:17:19 -05:00
Kubernetes Submit Queue ad50149769
Merge pull request #3787 from jchanam/master
Automatic merge from submit-queue.

Add edit flag so create instancegroup command is usable on scripts

Until now, the opening of an interactive editor when creating a new instance group was mandatory.

This this commit, a new flag is added, so this is now optional.

This commit is backwards compatible.
2017-11-13 21:47:37 -08:00
Julio Chana 9ca5f9ac98
Change no-edit flag to edit 2017-11-13 11:32:24 +01:00
Justin Santa Barbara 1d402ec962 Fix error message when not specify --cloud or --zones 2017-11-12 22:36:41 -05:00
Kubernetes Submit Queue e5ea6ba6a7
Merge pull request #3783 from georgebuckerfield/instancegroup-labels
Automatic merge from submit-queue.

Add a default NodeLabel with the InstanceGroup name

As requested in https://github.com/kubernetes/kops/issues/2999, this change just auto-populates new InstanceGroup specs with a default node label containing the name of the instance group. It would be really useful for those of us managing environments with multiple instance groups.

It allows an admin to easily view the instance groups using kubectl:
```
kubectl get nodes --label-columns kops.k8s.io/instancegroup
NAME                                           STATUS         AGE       VERSION   INSTANCEGROUP
ip-172-20-108-120.eu-west-1.compute.internal   Ready,node     3m        v1.7.4    xtra-large
ip-172-20-117-133.eu-west-1.compute.internal   Ready,master   14m       v1.7.4    master-eu-west-1c
ip-172-20-32-139.eu-west-1.compute.internal    Ready,master   14m       v1.7.4    master-eu-west-1a
ip-172-20-32-92.eu-west-1.compute.internal     Ready,node     12m       v1.7.4    nodes
ip-172-20-67-184.eu-west-1.compute.internal    Ready,master   13m       v1.7.4    master-eu-west-1b
```
2017-11-09 23:29:47 -08:00
Kubernetes Submit Queue ebef6beda1
Merge pull request #3814 from chrislovecnm/fixing-bazel-kops-version
Automatic merge from submit-queue.

updating bazel build version
2017-11-09 21:37:15 -08:00
Rodrigo Menezes ef24cec62b Fixing naming convention and adding running API machinery. 2017-11-09 14:30:48 -08:00
chrislovecnm a3a633457f updating bazel build version 2017-11-09 14:29:48 -07:00
Rodrigo Menezes 3cfa67c3e6 Merge remote-tracking branch 'upstream/master' into extra_user-data 2017-11-08 22:20:54 -08:00
Julio Chana e4afcd8869
Add no edit flag so create instancegroup command is usable on scripts 2017-11-07 12:43:56 +01:00
georgebuckerfield 8f60078d11 Move instance group node label functionality out of PopulateInstanceGroupSpec so that it's not mandatory 2017-11-07 11:25:37 +00:00
Rodrigo Menezes 1fe56a1603 Move user-data to IG spec 2017-11-06 23:25:37 -08:00
Justin Santa Barbara 07c221bf6b
Merge branch 'master' into feature/kops-add-master-public-name 2017-11-06 22:58:57 -05:00
Justin Santa Barbara a6e2e05c57 Remove nodeup static=on
Doesn't seem to build with that attribute
2017-11-06 17:22:15 -05:00
Justin Santa Barbara 132b428d64
Merge pull request #3776 from chrislovecnm/bazel-work
gazelle updates with new bazel version
2017-11-06 14:08:57 -05:00
chrislovecnm 609e268a1d gazelle updates with new bazel version 2017-11-05 17:41:53 -07:00
chrislovecnm a25b5d7364 adding -y to various commands that use --yes. kops create,
rolling-update and update now include -y.
2017-11-05 17:33:24 -07:00
Kubernetes Submit Queue df69d047f8
Merge pull request #3769 from chrislovecnm/bazel-work
Automatic merge from submit-queue.

updating to bazel 0.0.7 and adding verify scripts

/assign @geojaz
2017-11-05 14:15:06 -08:00
Kubernetes Submit Queue 9c30c30ec0
Merge pull request #3658 from justinsb/rationalize_rollingupdate_timeouts
Automatic merge from submit-queue.

Rationalize timeouts for rolling-update
2017-11-05 13:11:21 -08:00
chrislovecnm 30acda868a updating to bazel 0.0.7 and adding verify scripts 2017-11-04 20:59:01 -06:00
Rodrigo Menezes 565afae2c6 Merge remote-tracking branch 'upstream/master' into extra_user-data 2017-11-04 17:06:43 -07:00
chrislovecnm 4c82a6d5d4 Fixing YAML and JSON output across multiple cli functions. Also
Added --dry-run for create_ig and create_cluster
2017-11-04 17:04:44 -06:00
chrislovecnm 1e418c3e13 more goimport updates 2017-11-04 10:03:02 -06:00
Kashif Saadat b30606ffda Enable IAM Container Registry permissions by default when creating a cluster (#3760). 2017-11-03 17:26:51 +00:00
Kubernetes Submit Queue aadc2e1427
Merge pull request #3731 from gambol99/template_fix
Automatic merge from submit-queue.

Template Fixes

- fixing an issue in the way it handled inline yaml documents
- cleaning it up somewhat, the prior version was a little cryptic to read; it's easier to just split into docs, format if required and rejoin at the end.

Apologizes @justinsb ... the prior PR didn't handle YAML separators correctly; I've find it somewhat simpler by a split and join rather than using indexes and such
2017-11-03 08:10:23 -07:00
Rohith fad62c284f Template Fixes
- fixing an issue in the way it handled inline yaml documents
- cleaning it up somewhat, the prior version was a little cryptic to read; it's easier to just split into docs, format and rejoin at the end
2017-11-02 14:26:39 +00:00
Justin Santa Barbara 53de6ff255 Generate gazelle 2017-10-30 23:47:00 -04:00
Rodrigo Menezes 58faa71d89 Merge remote-tracking branch 'origin/master' into extra_user-data 2017-10-30 20:44:00 -07:00
Kubernetes Submit Queue 3a29d7c3e1
Merge pull request #3722 from justinsb/toolbox_refactor_4_add_gce_ips
Automatic merge from submit-queue.

GCE Dump: Include instance IPs

The challenge here is that we normally only get the instance url.  So we
have to do another call to GCE, but we also don't want to do one call per
instance.

Instead, we create a dump operation context object which we pass into the
dump.
2017-10-30 13:59:11 -07:00
Rohith 0e2e20bc15 Kops Templating
Adding an extra option to the toolbox templating to format the YAML before writing out; which is usefull to cleanup formating issues and as detecting errors in the template

- added a formating options --format-yaml to the toolbox template which cleans up the yaml before writing out
- updated the cli documentation
- added the --config-value used to grab the configuration
2017-10-30 12:05:11 +00:00
Justin Santa Barbara b3e00c0dd1 GCE Dump: Include instance IPs
The challenge here is that we normally only get the instance url.  So we
have to do another call to GCE, but we also don't want to do one call
per instance.

Instead, we create a dump operation context object which we pass into the dump.
2017-10-29 23:22:40 -04:00
Kubernetes Submit Queue b02c3a269c
Merge pull request #3726 from justinsb/storage_acls
Automatic merge from submit-queue.

GCS: Use ACLs for GCE permissions

This needs less permissions, but also allows for more granular control over
access to files than whole-bucket permissions that IAM gives us.
2017-10-29 20:18:51 -07:00
Justin Santa Barbara b2bcba4a6d GCE: Use object-level permissions for files in GCS
This lets us configure cross-project permissions while ourselves needing
minimal permissions, but also gives us a nice hook for future lockdown
of object-level permissions.
2017-10-29 19:17:00 -04:00
Justin Santa Barbara 66e74fac6a Rename pkg/resources/utils -> pkg/resources/ops
That seems to be what utils really is.
2017-10-29 16:32:48 -04:00
Justin Santa Barbara 1eb17ae6b9 Move DeleteResources into pkg/resources/utils 2017-10-29 12:26:07 -04:00
Justin Santa Barbara a18363f059 Refactor toolbox dump & dump structured instances
This will enable log collection even if nodes don't register.

AWS: Dumps ids & addresses
GCE: Dumps names - addresses to follow
Others: Not yet!
2017-10-28 14:46:28 -04:00
Kubernetes Submit Queue a4d6895472 Merge pull request #3707 from andrewsykim/droplet
Automatic merge from submit-queue.

Implement DigitalOcean Droplet FI Task

Implements cloudup fi tasks for DigitalOcean droplets. It makes a few assumptions to reduce the size of this PR, those will be addressed in future PRs. 

Also does some cleanup in the DigitalOcean `dns` package.
2017-10-27 08:30:57 -07:00
andrewsykim 45bf2cb3a7 Implement DigitalOcean Droplet FI Task 2017-10-27 09:48:42 -04:00
chrislovecnm 0dc7a6e671 network and security tests are working 2017-10-26 13:17:34 -06:00
chrislovecnm 384c74d66c Refactoring IAM phase to Security Phase 2017-10-26 12:28:50 -06:00
Rodrigo Menezes d803480485 Merge remote-tracking branch 'upstream/master' into extra_user-data 2017-10-24 12:52:19 -07:00
Rohith 9958d333ae Kops Toolbox Template
The current implementation fails on template which reference unset variables, it is however useful at times to permit overriding this behavior and using sprig default() for example methods to handle it

- added a new command line option --fail-on-missing (defaults to true, so keeps the current behaviour)
- updated the unit test to reflect the changes
- updated the cli docs
2017-10-22 14:29:23 +00:00
Rodrigo Menezes 469b73560f Merge remote-tracking branch 'upstream/master' into extra_user-data 2017-10-17 14:10:25 -07:00
Justin Santa Barbara eec1141a41 Rationalize timeouts for rolling-update
The intervals remain the minimum time between instances; drain &
validate time is additional.
2017-10-17 11:44:46 -04:00
chrislovecnm 91d4e7e3e8 fixing bazel missed BUILD stuff 2017-10-16 10:38:53 -06:00
Rodrigo Menezes 75aa120f43 Merge remote-tracking branch 'upstream/master' into extra_user-data 2017-10-15 17:17:12 -07:00
Rodrigo Menezes e77cda1af1 Allow passing in extra user-data to cloud-init 2017-10-15 17:10:03 -07:00
chrislovecnm eeafe6467c Integration tests for phases - iam works - others are WIP 2017-10-12 14:13:17 -06:00
Erick Tryzelaar 5a89dd113c `kops get ...` should exit with non-zero if the resource don't exist
Without this change, `kops get --name non-existing-cluster` will
exit with a status of `0`, which makes it difficult to check if
a cluster (and other resources) exist in a shell script.
2017-10-11 16:11:16 -07:00
Justin Santa Barbara 19677523c0 Mock kops version in tests
This avoids having to update the tests every time our version changes.
2017-10-10 11:11:57 -04:00
Kubernetes Submit Queue 1c9df0b269 Merge pull request #3524 from justinsb/gce_format_ig_zones
Automatic merge from submit-queue.

GCE: Fix subnets vs zones formatting of instance groups
2017-10-08 13:16:52 -07:00
chrislovecnm 2e6f8bf461 setting variable in func instead inside of func call 2017-10-05 20:38:34 -06:00
Thomas Schaaf 6330c6c6ee Minor spelling 2017-10-05 09:06:09 +02:00
Justin Santa Barbara 3ab5264ee4 Fix update cluster integration test for bazel
Bazel doesn't like overlapping file paths; this is much cleaner anyway.
2017-10-03 20:51:00 -04:00
Kubernetes Submit Queue 98bf9d35a9 Merge pull request #3477 from chrislovecnm/update-test-yaml-k8s-version
Automatic merge from submit-queue.

bumping k8s versions in test files

updating k8s versions in test YAML files so that we do not get warnings during testing
2017-10-03 14:03:23 -07:00
chrislovecnm 0abcaa8026 renaming cf integration test folder 2017-10-03 13:38:13 -06:00
chrislovecnm 48c6dfdad4 giving cf its own files, because it has hardcoded versions 2017-10-03 12:16:04 -06:00
Justin Santa Barbara 38ea16a4ae GCE: Fix subnets vs zones formatting of instance groups 2017-10-03 13:42:14 -04:00
Justin Santa Barbara 39d4f21954 bazel: stamp version into build 2017-10-03 11:36:40 -04:00
Justin Santa Barbara 57ceb5dbab bazel: Add targets for cross-package testdata 2017-10-03 10:54:46 -04:00
Justin Santa Barbara 0143be7c4f autogen: BUILD and BUILD.bazel 2017-10-02 14:27:21 -04:00
Justin Santa Barbara 544990842a More fixes for 1.8 API changes 2017-10-01 23:02:32 -04:00
Justin Santa Barbara 95d4f3eb59 More code updates for 1.8 2017-10-01 21:13:00 -04:00
Justin Santa Barbara 3478031533 API types changed package 2017-10-01 14:03:56 -04:00
Justin Santa Barbara 0c89c9851e Simple code updates for 1.8 breakages 2017-10-01 13:17:40 -04:00
Kubernetes Submit Queue 0905e71741 Merge pull request #3411 from justinsb/mirror_stores
Automatic merge from submit-queue.

Mirror keystore & secretstore
2017-09-30 23:08:33 -07:00
Justin Santa Barbara a4a58d277d Mirroring - Fixes from code review 2017-09-30 22:05:14 -04:00
Kubernetes Submit Queue 852455afed Merge pull request #3439 from justinsb/gce_zones_in_instancegroup
Automatic merge from submit-queue.

Add Zones field to InstanceGroup

The Zones field can specify zones where they are not specified on a
Subnet, for example on GCE where we have regional subnets.
2017-09-30 18:17:32 -07:00
Justin Santa Barbara 7fd1196708 Add Zones field to InstanceGroup
The Zones field can specify zones where they are not specified on a
Subnet, for example on GCE where we have regional subnets.
2017-09-30 19:44:35 -04:00
Justin Santa Barbara da99a7270d Subnets on GCE are regional, create one per region
We also make the subnet zone and CIDR optional on GCE
2017-09-30 19:22:14 -04:00
Justin Santa Barbara 8280c4f9d3 Remove MarkIsReady function, calculate on demand
Avoids setting the trap of failing to call MarkIsReady
2017-09-30 17:39:53 -04:00
chrislovecnm a431eb3e43 refactoring to use cloud based GetGroups 2017-09-29 12:29:07 -06:00
John Laswell a6dbc73502
docs updates to clarify and fix typos
Helps with https://github.com/kubernetes/kops/issues/3441.
2017-09-26 19:50:38 -04:00
Justin Santa Barbara 559d885480 Mirror keystore & secretstore
This allows us to have our API objects in kops-server, but our
configuration on S3 or GCS.
2017-09-24 00:09:02 -04:00
Kubernetes Submit Queue ba42020e09 Merge pull request #3329 from chrislovecnm/promote-drain-validate
Automatic merge from submit-queue. .

promoting drain and validate by setting feature flag to true

I am unable to recreate https://github.com/kubernetes/kops/issues/2407, and frankly, it may be an edge case.  We could warn a user if their wait times are low, but that would be another PR.

This PR moves Drain and Validate functionality for rolling-updates into the default user experience, setting the Feature Flag to true.

Per feedback, I am using the node and master interval times for the validation.
2017-09-23 21:07:26 -07:00
Kubernetes Submit Queue 9ffa37ac6b Merge pull request #3435 from justinsb/gce_network_mode_custom
Automatic merge from submit-queue. .

Create GCE networks in auto mode, not legacy mode

auto mode allows for conversion to custom mode at the API level, and
legacy mode is deprecated.
2017-09-23 18:03:41 -07:00
chrislovecnm ec2f0dfdf3 reusing the node and master duration for validation periods 2017-09-23 18:11:48 -06:00
Justin Santa Barbara 73dd870118 GCE integration test: verify TF output 2017-09-23 16:27:15 -04:00