Commit Graph

819 Commits

Author SHA1 Message Date
Mike Splain ccb688c468 Add Replace and delete for SSH Secret YAML 2018-04-19 21:39:39 -04:00
xh4n3 2bdb9ede97 add user-agent for statistic purpose, add dep 2018-04-19 20:57:56 +08:00
LilyFaFa ad9cf7d3e2 init ALICloud and add network Model 2018-04-19 20:48:40 +08:00
mahuihuang 42a7606cf8 fix typo 2018-04-09 11:26:18 +08:00
Gijs Kunze 50f411f51a Removes unneccessary if block 2018-04-03 11:04:26 +02:00
sunlintong dc388698a0 Ouput --> Output 2018-04-03 16:07:52 +08:00
k8s-ci-robot fc1bed4353
Merge pull request #4224 from nebril/cilium-support
Add Cilium as CNI plugin
2018-03-26 07:49:02 -07:00
Gijs Kunze adf12b516a Added new file to bazel and ran gofmt 2018-03-26 10:13:34 +02:00
Gijs Kunze 821cdf32ab Updated copyright header and added link to original source 2018-03-26 10:13:34 +02:00
Gijs Kunze 0ae059227a Perform deep merge for template values 2018-03-26 10:13:34 +02:00
Justin Santa Barbara a34792d3a5 Add lifecycle tests for legacy tags 2018-03-25 16:21:29 -04:00
Justin Santa Barbara afa0577749 Check tags in lifecycle tests
We want to make sure that everything owned is tagged as such, and that
some shared resources (in particular subnets) are tagged as such.
2018-03-25 15:55:44 -04:00
Justin Santa Barbara 1edd7d49fa Add deletion to lifecycle test 2018-03-24 16:30:40 -04:00
k8s-ci-robot bc56319d35
Merge pull request #4739 from szemek/fix/typos
Fixed typos
2018-03-21 08:59:03 -07:00
Przemysław Dąbek a94eee33c8 cluser => cluster 2018-03-21 07:35:12 +01:00
Justin Santa Barbara 63e51337c0 Validation: treat as error if insufficient nodes
We switch to use the rolling update logic, which gives us nodes by
InstanceGroup.
2018-03-20 23:28:27 -04:00
Justin Santa Barbara 3f8edb34a9 Validation: simplify output rendering 2018-03-20 22:01:47 -04:00
Justin Santa Barbara 02d9819785 Move DNS validation into validation 2018-03-20 19:56:36 -04:00
k8s-ci-robot 717eb4f6c5
Merge pull request #4734 from justinsb/int_validation_fix_3
Validation: Take a cluster object, not just the name
2018-03-20 13:25:02 -07:00
k8s-ci-robot 963eb0d512
Merge pull request #4733 from justinsb/int_validation_fix_2
Validation: clean up unused node status functions
2018-03-20 11:01:02 -07:00
Maciej Kwiek bca52dede9 Add Cilium as CNI plugin
Signed-off-by: Maciej Kwiek <maciej@covalent.io>
2018-03-20 13:07:26 +01:00
Justin Santa Barbara 1b0f5a4101 Validation: clean up unused node status functions 2018-03-20 01:16:48 -04:00
Justin Santa Barbara 55e3a5f212 Validation: Take a cluster object, not just the name 2018-03-20 01:12:07 -04:00
Justin Santa Barbara 07309d4824 Validation: start to differentiate between validation failure and errors during validation 2018-03-20 00:55:59 -04:00
Stephen Roylance 70815ebaf9 hacks for tests on windows 2018-03-19 16:34:36 -04:00
Justin Santa Barbara 6ff56e2f05 Fix shared network objects
RouteTables should be created (and owned) only for non-shared subnets.
2018-03-18 17:09:30 -04:00
Justin Santa Barbara 8a476a6981 Fix cluster name for phases test 2018-03-15 20:11:54 -04:00
Justin Santa Barbara 342bb766c9 Enable some shared tests scenarios 2018-03-15 20:11:54 -04:00
Justin Santa Barbara 7af6f42e8b Tests: create vpc-12345678 & nat-12345678 2018-03-15 20:11:54 -04:00
k8s-ci-robot 4ad014647b
Merge pull request #4654 from justinsb/private_topology_roundtrip_test
More mocks - sufficient for privatecalico to roundtrip
2018-03-12 22:59:11 -07:00
Justin Santa Barbara 5d36f9e37d Update kops version in tests
We need to satisfy the new minimum supported version.
2018-03-12 02:17:49 -04:00
Justin Santa Barbara ab7439b360 More mocks - sufficient for privatecalico to roundtrip 2018-03-11 23:12:22 -04:00
Justin Santa Barbara 85b972bc28 Fill out cloudmock to do a basic lifecycle test 2018-03-11 17:04:30 -04:00
Justin Santa Barbara c121e7f14e Create lifecycle test against AWS mocks
We create a cluster, run kops update, then run kops update again.  We
expect no changes on the second update.
2018-03-11 17:04:30 -04:00
Kyle Rockman b80cab6d87 change based on PR feedback 2018-03-09 10:17:18 -06:00
Kyle Rockman 3b9384a23c Add cluster name environment variable
- Add an environment variable to configure cluster name
- Expose envionrment variable in CLI documentation
2018-03-09 10:14:00 -06:00
chrislovecnm 1927d2be7e Updates for Bazel tests and cleaning up go sdk
Enabling sharded tests for our slower tests, and removing the go
commands to download a specific sdk.
2018-03-01 17:14:10 -07:00
k8s-ci-robot 1c75f47510
Merge pull request #4526 from mad01/custom-ca
custom ca new implementation of #2924
2018-03-01 12:52:28 -08:00
Alexander Brandstedt 62ab65e8e3 implementation custom ca cert and key #2924
- implementing as new subcommand keypair to secret
- rename of LoadPEMCertificate to ParsePEMCertificate to have
  the same naming of parsing of certificate/private key bytes in
  the same package result is
    pki.ParsePEMPrivateKey(privateKeyBytes)
    pki.ParsePEMCertificate(certBytes)
2018-03-01 09:50:04 +01:00
k8s-ci-robot 0ff7d4de99
Merge pull request #4452 from duboisf/support-bastion-user-data
Add support for bastion aws user-data
2018-02-28 03:54:45 -08:00
k8s-ci-robot 0ab8b57c2a
Merge pull request #4493 from justinsb/vfs_streaming
VFS: WriteFile takes an io.ReadSeeker
2018-02-26 15:50:45 -08:00
chrislovecnm 222dec0b9a Refactoring to camel case variable names
Follow-up PR to remove variables with snake case, and replace them with
camel case.
2018-02-26 13:40:43 -07:00
k8s-ci-robot e317a5ab00
Merge pull request #4381 from justinsb/kops_set_cluster_1
Experimental kops set cluster command
2018-02-26 10:58:45 -08:00
Mike Splain 45a57915e2 Fix bazel deprecation notice 2018-02-26 09:36:13 -05:00
Justin Santa Barbara 6f52996c2a Experimental kops set cluster command
Introduce an experimental kops set cluster command, for setting
individual fields in the same style as the kops create cluster
--override flags.

For now, feature flag gated by the same SpecOverrideFlag feature flag.

Also split out pkg/commands package to facilitate testing.
2018-02-26 09:33:16 -05:00
Justin Santa Barbara 412cf377c2 VFS: WriteFile takes an io.ReadSeeker
Means we don't have to buffer big files in memory, in combination with
WriteTo for reading.
2018-02-26 09:09:17 -05:00
Justin Santa Barbara b68f58d746 Change NewAssetBuilder to take a kops.Cluseter 2018-02-22 21:42:40 -08:00
chrislovecnm 71c8fa4b3a Updating variables to use Camel Case
I am fixing the work where I used snake case variables instead of camel
case.  Go likes camel case much better.  This commit is only a refactor
of names.
2018-02-19 20:57:58 -07:00
chrislovecnm 64439b4846 updating cli documentation for override-lifecycles 2018-02-19 13:27:08 -07:00
chrislovecnm 13ff0875e5 adding flag options to update_cluster for the user to pass in overrides 2018-02-19 13:27:07 -07:00
Fred Dubois 6b38b2c3a6
Add support for bastion aws user-data
Fixes #4444
2018-02-19 08:52:10 -05:00
k8s-ci-robot 2bf86134a3
Merge pull request #4240 from gambol99/calico_tls
Kubernetes Calico TLS
2018-02-15 09:25:38 -08:00
Rohith c8e4a1caf8 Kubernetes Calico TLS
The current implementation when Etcd TLS was added does not support using calico as the configuration and client certificates are not present. This PR updates the calico manifests and adds the distribution of the client certificate
2018-02-14 23:41:45 +00:00
klaus993 4ea6623933 Add clarification in instance group deletion
It can happen that, if one is accustomed to target the configuration to
terraform (for example), one does not expect it to be applied automatically,
but perform a `kops update cluster --target=terraform` followed by a `terraform
apply`. It's a disruption of common flow and it should be clarified.
2018-02-14 16:31:01 -03:00
klaus993 43251fbb60 Change example in create ig --help
Add another subnet to the first example to show how to pass multiple subnets.

And run `make gen-cli-docs`.
2018-02-13 19:12:31 -03:00
k8s-ci-robot ee18003b96
Merge pull request #4426 from yank1/fix-a-typo-in-tool_template.go
fix a typo in tool_template.go
2018-02-12 14:25:53 -08:00
yank1 4652619e52 fix a typo in tool_template.go 2018-02-12 18:55:25 +08:00
Kashif Saadat ac25853cd5 - Add etcdClusterSpec Image & Version in bootstrap data for Master nodes
- Reuse execWithTee fn for ETCD Command (tee & mkfifo in different path for newer image versions)
2018-02-10 12:14:36 +00:00
k8s-ci-robot ff22c13392
Merge pull request #4378 from justinsb/update_bazel_2
Update gazelle
2018-02-03 15:57:04 -08:00
Justin Santa Barbara 7dfca05c09 Remove federation support
As it has been removed from upstream kubernetes, in favor of the
multicluster revamp.
2018-02-03 16:53:39 -05:00
Justin Santa Barbara 8ef705353e Update gazelle 2018-02-03 13:27:23 -05:00
k8s-ci-robot dbc81d2be1
Merge pull request #4199 from dictvm/patch-1
Extend examples of subnet parameter
2018-02-02 02:27:24 -08:00
Daniel Heitmann ae16b8ce13 Fix formatting 2018-01-29 15:39:05 +01:00
Daniel Heitmann 3a34895e71 Improve Instance Group subnet creation CLI parameter description
Make it more obvious which input is expected.
2018-01-29 14:20:56 +01:00
k8s-ci-robot 923118eee0
Merge pull request #4166 from mrballcb/interactive_cli_opt
Interactive cli opt
2018-01-26 12:25:33 -08:00
k8s-ci-robot b02a73fa2c
Merge pull request #4184 from chrislovecnm/rbac-default
Switching the default for kops to create a cluster with RBAC enabled.
2018-01-26 10:52:33 -08:00
k8s-ci-robot 9ddc915e8e
Merge pull request #4332 from justinsb/default_gcp_project
GCE: Get default project from gcloud CLI
2018-01-25 10:53:16 -08:00
Justin Santa Barbara d3082167c6 Add UX hint when project not set 2018-01-25 13:14:40 -05:00
k8s-ci-robot 3c2d9409b7
Merge pull request #4334 from justinsb/gce_no_need_for_ssh_public_key
GCE: Don't require SSH public key
2018-01-25 08:48:16 -08:00
k8s-ci-robot 069c36d7bb
Merge pull request #4305 from georgebuckerfield/master
Handle NotFound error when creating instance group
2018-01-25 07:47:18 -08:00
Justin Santa Barbara e2109c42f4 GCE: Don't require SSH public key
We also pull a bit of logic out of the mega-function.

Fix #4210
2018-01-24 10:48:31 -05:00
Justin Santa Barbara c633ab62c5 bazel: expose version as in Makefile
This means that bazel build should stamp kops with the same version as
the Makefile does, given the same env vars.
2018-01-24 09:43:30 -05:00
Justin Santa Barbara 5e49b6f831 GCE: Get default project from gcloud CLI
This means we don't have to specify a project for the common use case,
when gcloud is already configured with a project.
2018-01-24 09:43:05 -05:00
georgebuckerfield 95c4b6b728 Handle NotFound error when checking if the instance group exists 2018-01-20 16:11:39 +00:00
Maciej Kwiek 47590720ce Move net mode log after it is known in create
Signed-off-by: Maciej Kwiek <maciej@covalent.io>
2018-01-18 14:29:56 +01:00
Rohith 4cb8318ac5 Kops Replace Force
This PR fixes the `kops replace --force` flag which was introduce in [#PR3099](https://github.com/kubernetes/kops/pull/3089). The `--force` stopped working when 65aea59418 was merged and the api started returning an actual error for NotFound
2018-01-15 14:18:33 +00:00
Peter Rifel 9b3f0c17ea Fix typo in --target description 2018-01-08 12:10:03 -08:00
k8s-ci-robot b8a701b2da
Merge pull request #4107 from chrislovecnm/validate-ouput
kops validate cluster can output YAML or JSON
2018-01-08 02:47:11 -08:00
k8s-ci-robot 5a85abdeee
Merge pull request #4193 from justinsb/bundle
Initial implementation of bundle command
2018-01-04 17:23:12 -08:00
Justin Santa Barbara ec8db8b78c Initial implementation of bundle command
The bundle command will support enrollment of a machine via SSH.
2018-01-04 18:55:28 -05:00
k8s-ci-robot b45dd32259
Merge pull request #4179 from chrislovecnm/etdversion-override
Adding override for setting etcd version
2018-01-04 15:22:12 -08:00
chrislovecnm b5bb3f983f Adding overide for setting etcd version
Added new overide capability to set all etcd version dynamically.  This
is needed for HA testing. For example following flag can now be used with
create cluster.

--override "cluster.spec.etcdClusters*.version=3.0.17"
2018-01-04 08:59:04 -07:00
chrislovecnm 120cd93c26 Switching the default for kops to create a cluster with RBAC enabled.
When kops creates a cluster RBAC is enabled by default.
2018-01-03 00:31:05 -07:00
chrislovecnm 4dd3bb1dea Updating bazel BUILD files with new go_rules version 2017-12-29 15:03:14 -07:00
Todd Lyons 40eed60dd8 Interactive cli arg framework
Just builds, haven't tested yet.
2017-12-28 10:54:17 -08:00
chrislovecnm c8670155ca backing out unit test because fixing lifecycle creates a failure
Will put unit test back in when we have lifecycle overrides in place
2017-12-27 13:55:23 -07:00
Justin Santa Barbara 5cc5a936f9 Force nodeup to use the bundle
We disable fallback entirely for nodeup, so we can still share code, but
won't accidentally be using the wrong code path.
2017-12-21 16:06:11 -05:00
Justin Santa Barbara e981e708e4 Use bundles when loading keysets
This avoids the need to list directories, which is problematic on GCE.

It also makes for a more consistent experience; we can move nodeup to
use the bundle always, and we can move writing to the Mirror task, so
that VFS & kops-server are more similar.
2017-12-21 12:58:26 -05:00
chrislovecnm 18ea92f696 updating bazel files 2017-12-20 00:26:28 -07:00
chrislovecnm 7cb9384d70 kops validate clsuter can output YAML or JSON
Adding the capbility for kops validate cluster command to output YAML or JSON.
The validate.ValidationCluster struct is used as body of the JSON or
YAML document.
2017-12-19 23:07:55 -07:00
Justin Santa Barbara 7f3d3544c4 Refactor: clean up SecretStore to not use KeystoreItem
More moving to use API objects, except in this case we eventually want
to deprecate SecretStore entirely.
2017-12-19 11:43:43 -05:00
Kubernetes Submit Queue e88496a248
Merge pull request #4061 from meringu/create-subnets
Automatic merge from submit-queue.

Add --subnets and --utility-subnets to kops create cluster

This change adds two new options to `kops create cluster`

When specifying `--vpc`, `--subnets` can be specified as an unordered array of subnet ids. Kops will then look up the zones of the subnets to find which zone to add the subnet id to.

If `--topology private` is also specified, `--utility-subnets` can similarly be specified.

~If a zone was specified but a subnet wasn't given that matches the zone, then the subnet will be allocated a CIDR with the current behaviour.~ This case fails validation here 7bd0a6a703/pkg/apis/kops/validation/validation.go (L151)

I can add unit tests and docs changes if required, but I am keen to get feedback before I proceed much further.

I have only added support for AWS.

I have tested this by running a command similar to this:

```bash
kops create cluster \
  --zones=us-east-1a,us-east-1b,us-east-1c \
  --topology private \
  --master-zones=us-east-1a,us-east-1b,us-east-1c  \
  --vpc $vpc_id \
  --subnets subnet-111111,subnet-222222,subnet-333333 \
  --utility-subnets subnet-444444,subnet-555555,subnet-666666 \
  $cluster_hosted_zone_name
```

And the cluster spec was as expected.
2017-12-18 21:12:59 -08:00
Kubernetes Submit Queue ca0a720a7e
Merge pull request #3833 from justinsb/cleanup_ssh_2
Automatic merge from submit-queue.

Refactor CAStore to use API types

We now return KeySet objects


Builds on #3832
2017-12-18 20:08:41 -08:00
Kubernetes Submit Queue 15c7d61dfb
Merge pull request #3997 from aledbf/amazon-vpc-cni
Automatic merge from submit-queue.

Add support for Amazon VPC CNI plugin

TODO:
- [x] IAM perms so that the CNI provider only has perms for the nodes in the cluster
- [x] Cleanup of security groups
- [ ] Replace image aledbf/k8s-ec2-srcdst:v0.1.0-5 with the official after https://github.com/ottoyiu/k8s-ec2-srcdst/pull/5 and https://github.com/ottoyiu/k8s-ec2-srcdst/pull/6
2017-12-17 21:41:13 -08:00
Justin Santa Barbara bf74133fd4 Refactor CAStore to use API types
We now return KeySet objects
2017-12-17 20:09:00 -05:00
Kubernetes Submit Queue dd49d69399
Merge pull request #3254 from chrislovecnm/file-assets
Automatic merge from submit-queue.

work on using files assets

Basic MVP for file assests.

- using file assest builder
- able to upload files
- using URL structs instead of strings everywhere
2017-12-17 16:10:23 -08:00
Kubernetes Submit Queue 7768729cf2
Merge pull request #3832 from justinsb/cleanup_ssh
Automatic merge from submit-queue.

Refactor: separate out SSHCredentials from Keyset stores
2017-12-17 15:05:09 -08:00
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