Commit Graph

433 Commits

Author SHA1 Message Date
Justin Santa Barbara 79f276d02d Log active tags in nodeup 2016-09-08 11:41:53 -04:00
Justin Santa Barbara 9c3105b323 Make automatic upgrades optional
We add a `UpdatePolicy` field to the cluster spec

Also document how this feature was added.
2016-09-08 11:18:14 -04:00
Justin Santa Barbara 0b4a558864 Merge pull request #414 from justinsb/ubuntu_initial_support
Initial (experimental) Ubuntu 16.04 support
2016-09-08 10:21:24 -04:00
Justin Santa Barbara 62d5451b25 Initial (experimental) Ubuntu 16.04 support 2016-09-08 10:20:42 -04:00
Justin Santa Barbara dff14fe283 Change default networking model to kubenet
Fix #400
2016-09-08 00:54:26 -04:00
Justin Santa Barbara ef1f64f308 Start cleaning up API: optional fields should be pointers 2016-09-08 00:49:40 -04:00
Justin Santa Barbara 1f67271650 Merge pull request #398 from yissachar/encrypt-etcd-volumes
Add option to encrypt Etcd volumes
2016-09-08 00:19:20 -04:00
Justin Santa Barbara a51effbbdd Merge pull request #401 from justinsb/move_cloudprovider_not_set_message
Misc error handling tidying
2016-09-08 00:14:48 -04:00
Justin Santa Barbara d3ab070b0d Use go-bindata to embed our models
This allows us to have single-file deployment
2016-09-07 11:56:03 -04:00
Yissachar Radcliffe 0c3277476c Show the details of what resources will be created 2016-09-06 11:45:46 -04:00
Justin Santa Barbara e1a4d6e609 Move CloudProvider not set error message 2016-09-06 10:21:35 -04:00
Justin Santa Barbara 7af55ef6a5 Merge pull request #350 from vreon/fix_346
Better error message when zone is typoed
2016-09-06 10:10:07 -04:00
Yissachar Radcliffe 8c3b2274d9 Add option to encrypt Etcd volumes 2016-09-01 13:02:17 -04:00
Mykhailo Oleksiuk ea532e3566 Rename --no-associate-public-ip to --associate-public-ip 2016-09-01 18:54:25 +03:00
Mykhailo Oleksiuk aa6693a6ed megre from upstream 2016-09-01 13:23:50 +03:00
Justin Santa Barbara 1b91f417e5 Build IAM policy in code
Easier to get right than relying on string manipulation, but we're still
doing the same policies, with the improvements as done by @weargoogles.
2016-08-27 21:18:23 -04:00
Justin Santa Barbara a3eda654db Revert "Revert "include change to node policy to cover #363""
This reverts commit ca1a52ff3e.
2016-08-27 17:38:01 -04:00
Justin Santa Barbara 4df50773c1 Revert "Revert "Restrict master access to state store bucket""
This reverts commit c11a370c9a.
2016-08-27 17:37:55 -04:00
Justin Santa Barbara c11a370c9a Revert "Restrict master access to state store bucket"
This reverts commit 369a6ea1db.
2016-08-27 16:31:53 -04:00
Justin Santa Barbara ca1a52ff3e Revert "include change to node policy to cover #363"
This reverts commit 969af97b60.
2016-08-27 16:31:38 -04:00
Justin Santa Barbara 65f73ec0d3 Merge pull request #365 from weargoggles/patch-1
Restrict access to state store bucket
2016-08-27 16:15:28 -04:00
Justin Santa Barbara 99a5d2b5a8 Merge pull request #288 from chrislovecnm/s3-serverside-encryption
Enabled server side encryption
2016-08-27 15:32:59 -04:00
Justin Santa Barbara 9d7a7fc6e8 Merge pull request #349 from justinsb/govet_fixes
govet fixes
2016-08-26 02:16:12 -04:00
Pete Wildsmith 969af97b60 include change to node policy to cover #363 2016-08-24 17:19:54 +01:00
Pete Wildsmith 369a6ea1db Restrict master access to state store bucket
This change increases the specificity of the master's state store bucket contents permission to only the top-level folder named after the cluster.

Fixes #365
2016-08-24 17:03:10 +01:00
Justin Santa Barbara dc63e307df Allow pluggable networking: classic, kubenet, external 2016-08-22 12:32:15 -04:00
Jesse Dubay f393d9f579 Better error message when zone is typoed
Fix #346
2016-08-19 23:24:28 -07:00
Justin Santa Barbara 637a10be12 govet fixes 2016-08-20 01:09:19 -04:00
Justin Santa Barbara a7ece228fb Fix issue with deleting DNS records when multiple matching zones found
We were accidentally reusing the variable we were closing over, I
believe
2016-08-19 23:55:38 -04:00
Justin Santa Barbara c56b7a5423 Merge pull request #340 from justinsb/docker_args
Don't pass empty options to Docker
2016-08-19 00:35:50 -04:00
Justin Santa Barbara 9829eb8579 Make it easy to run a custom build
We introduce two env vars:

* NODEUP_URL url to nodeup that we want to run
* PROTOKUBE_IMAGE specifies the protokube Docker image to run
2016-08-19 00:13:56 -04:00
Justin Santa Barbara d0f6ff86a7 Don't pass empty options to Docker 2016-08-18 01:28:55 -04:00
Justin Santa Barbara 4545352c00 Don't rolling-update all masters at once
Also add force command to rolling-update, for testing sanity.

Fix #284
2016-08-16 12:53:37 -04:00
Justin Santa Barbara 9b7291ab24 A few nodeup cleanups
* Correctly identify user tasks as a dependency for services
* Cleaned up flag-walking
2016-08-16 10:10:44 -04:00
Justin Santa Barbara 5d8c170360 Rename old upgrade command; make new upgrade intuitive
The old upgrade command (which was only called as part of a kube-up ->
kops upgrade) is now `kops toolbox convert-imported`.  The docs are
updated, but this is only normally called once per import so this should
not be high impact.

The upgrade command now looks for things that need upgrading.  Currently
only `upgrade cluster` is implemented; it currently only checks the
KubernetesVersion.  If KubernetesVersion is out of date, it will be
printed, and if --yes is specified the cluster spec will be set to the
next value.
2016-08-16 09:28:36 -04:00
Justin Santa Barbara 6f52c099ef Merge pull request #316 from justinsb/lock_k8s_version
Set KubernetesVersion on cluster creation
2016-08-15 23:12:05 -04:00
Justin Santa Barbara 201e6c05a9 Set KubernetesVersion on cluster creation
This is the only remaining "magic" setting, which changes externally
- when new versions of k8s are released.  (The AMIs are locked in the
instance groups)

We now record the current version of KubernetesVersion in the cluster
spec.  It can still easily be changed if needed, but this also means we
don't need to make "fake" changes.
2016-08-15 22:02:44 -04:00
Justin Santa Barbara 6aee9528e1 Validate that the cluster name is a valid DNS name
This should help users avoid the common mistake of just specifying the
name, not a fully-qualified domain name.

Fix #46
2016-08-15 01:21:12 -04:00
Justin Santa Barbara d9fb3812cb Merge pull request #307 from justinsb/fix_208
If no changes are needed in an update, don't print a confusing message
2016-08-14 23:43:06 -04:00
Justin Santa Barbara daed90728f Merge pull request #305 from justinsb/dns_replicas
DNS is a SPOF; make sure there are replicas
2016-08-14 23:43:01 -04:00
Justin Santa Barbara 5fb39913cc If no changes are needed in an update, don't print a confusing message
Fix #208
2016-08-14 23:40:18 -04:00
Justin Santa Barbara 37199e4849 Sanitize tf SSH keypair name
Fix #299
2016-08-14 23:23:44 -04:00
Justin Santa Barbara 10fe716125 DNS is a SPOF; make sure there are replicas
Change the default to a more sensible starting point.
2016-08-14 22:47:40 -04:00
Justin Santa Barbara 62fc3cfd69 Merge pull request #302 from justinsb/hints_on_update
Provide hints after update cluster
2016-08-14 22:21:51 -04:00
Justin Santa Barbara e778c792fe Provide hints after update cluster
This should make kops more discoverable

Issue #166

Issue #263
2016-08-14 22:19:52 -04:00
Justin Santa Barbara 7cde6890a4 Export admin password in kubecfg
This is where users expects to find it, because it is how kube-up does
it.

Issue #166
2016-08-14 22:18:58 -04:00
Justin Santa Barbara 7699dc8fd2 Merge pull request #294 from justinsb/use_ssh_key
SSH key improvements
2016-08-11 22:28:41 -04:00
Justin Santa Barbara 1f68107ded Merge pull request #292 from justinsb/run_ci_versions
Run CI versions of k8s
2016-08-11 22:28:33 -04:00
Justin Santa Barbara 5f98402e2a Merge pull request #275 from justinsb/hi1_instance_types
Add support for hi1 instance type
2016-08-11 22:26:29 -04:00
Justin Santa Barbara a3cfec6c24 Support changing the SSH public key
This requires that we include the OpenSSH fingerprint in the AWS key
name.
2016-08-11 12:00:52 -04:00
Justin Santa Barbara 219c6e4308 Use the SSH key from the secret store
It is an error if there is not exactly one, but we have commands to
manage it now.
2016-08-11 12:00:46 -04:00
Justin Santa Barbara 93a3c344ed Add another eventual consistency error code 2016-08-11 02:45:02 -04:00
Justin Santa Barbara 8fb4215e17 Run CI versions of k8s
CI versions are not pushed to gcr.io, so we need to preload the images
by downloading them and doing a docker load.
2016-08-11 01:32:42 -04:00
chrislovecnm f65f1200a4 starting working on SSE for s3 2016-08-09 13:52:21 -06:00
Justin Santa Barbara 6f1341dd04 Add docker flags: insecure-registry and mtu
Also add tests

Issue #42
2016-08-08 13:55:34 -04:00
Mykhailo Oleksiuk fad3d3a4f4 move --no-associate-public-ip to instance group 2016-08-06 14:46:46 +03:00
Justin Santa Barbara 5c6a22538b Add instance types: cc2, cg1, cr1, d2 2016-08-06 02:04:33 -04:00
Justin Santa Barbara 7f6ea78730 Add support for hi1 instance type 2016-08-06 00:00:48 -04:00
Mykhailo Oleksiuk ecde587df2 add parameter --disable-associate-public-ip 2016-08-05 15:40:07 +03:00
Mykhailo Oleksiuk d3228dfec0 add parameter --disable-associate-public-ip 2016-08-05 12:57:33 +03:00
Mykhailo Oleksiuk d0e29e70a7 add parameter --disable-associate-public-ip 2016-08-05 12:53:08 +03:00
Mykhailo Oleksiuk a09da80c1b add parameter --disable-associate-public-ip 2016-08-05 12:51:11 +03:00
Mykhailo Oleksiuk 722bbb1e4a add parameter --disable-associate-public-ip 2016-08-05 12:30:00 +03:00
Mykhailo Oleksiuk bc26eecf49 Merge remote-tracking branch 'upstream/master' 2016-08-05 12:08:56 +03:00
Justin Santa Barbara de0482a411 More consistency in publickey CLI
Also docs skeleton
2016-08-05 01:23:13 -04:00
Justin Santa Barbara 05c724f780 Support for deleting secrets 2016-08-05 00:58:11 -04:00
Justin Santa Barbara af841d50c0 Create more consistent secret CLI 2016-08-04 22:18:29 -04:00
Justin Santa Barbara 4e2a4cda1e Fix flag name in error message: zone-name -> dns-zone 2016-08-04 21:39:37 -04:00
Mykhailo Oleksiuk a860fdbdfd add parameter --no-associate-public-ip 2016-08-04 17:19:20 +03:00
Justin Santa Barbara 928fd6161d Remove addons command
Encourage users to use kubectl instead
2016-08-03 00:42:42 -04:00
Justin Santa Barbara 3c85fd1cba Document standalone-monitoring addon 2016-08-03 00:34:44 -04:00
Justin Santa Barbara 6dbe900887 First docs on creating addons: dashboard 2016-08-03 00:14:59 -04:00
Justin Santa Barbara 5bbe399558 Merge pull request #248 from justinsb/fix_238
Better output when kubectl not in PATH
2016-08-02 23:55:56 -04:00
Justin Santa Barbara a9922d0a07 Fix concurrent map write bug in TF creation
Thanks for reporting @azell

Fix #235
2016-08-02 23:12:53 -04:00
Justin Santa Barbara 45dd1da4a1 Better output when kubectl not in PATH
Also add to README

Fix #238
2016-08-02 23:06:51 -04:00
Justin Santa Barbara dc5fecabac Temporarily ignore changes on the ASG
This is to permit users to add tags to the ASG.

The long-term fix is to allow specification of additional tags at the
cluster level; the canonical use-case is for the AWS billing tags.

Issue #241
2016-08-02 10:01:22 -04:00
Justin Santa Barbara 39a3d71def Revert "Import SSH public key into the keystore"
This reverts commit bd3ab166b7.
2016-07-29 13:06:37 -04:00
Justin Santa Barbara cf1529e9df Revert "Add `kops get secrets` command"
This reverts commit 19e19a0f09.
2016-07-29 13:06:26 -04:00
Justin Santa Barbara 049fbf808f Merge pull request #227 from justinsb/get_secrets
Add `kops get secrets` command
2016-07-29 01:39:25 -04:00
Justin Santa Barbara 310ba12edf Fix log message of shell commands
We were double-printing argv[0]
2016-07-29 01:30:34 -04:00
Justin Santa Barbara 19e19a0f09 Add `kops get secrets` command
Matches our naming pattern, and now using our text grid output
2016-07-29 01:12:03 -04:00
Justin Santa Barbara 3e3ca5a2b8 Merge pull request #222 from justinsb/fix_204
Run the master on the pod network, unless IsolateMaster=true
2016-07-29 00:51:50 -04:00
Justin Santa Barbara bd3ab166b7 Import SSH public key into the keystore
This means it only needs to be specified during `kops create`.  We
remove the option from `kops update` for consistency.

This will shortly be manageable using the secrets functionality.

Fix #221
2016-07-29 00:45:37 -04:00
Justin Santa Barbara 2b3f55563e Run the master on the pod network, unless IsolateMaster=true
The master is now registered as a Node.  It is marked as Unschedulable,
so normal pods will not run on it.  But Daemonsets will, and it is
surprising that they don't work unless hostNetwork=true.

The default is now what seems to be expected:
* we allocate the master a real CIDR on the pod network
* kube-proxy runs on the master, so it can talk to pods
* we run kubelet on the master with enable-debugging-handlers, so
  kubectl logs etc works

To get the old behaviour, edit the cluster spec and set
`isolateMasters: true`
2016-07-28 12:12:16 -04:00
Justin Santa Barbara e3e58f605e support multiple zones in `kops import`
Seems to be less special-cased also.

Fix #216
2016-07-27 11:03:22 -04:00
Fotios Lindiakos be2fcca933 Remove trimming in AWS templates 2016-07-26 11:14:55 -04:00
Justin Santa Barbara 5c87261622 Make sure master uses 127.0.0.1:8080 to reach apiserver
This should be a little faster
2016-07-25 10:11:42 -04:00
Justin Santa Barbara 97cb6a7296 Add test for bigint format 2016-07-24 21:49:35 -04:00
Justin Santa Barbara 9a741043bc Fix build with golang 1.5
Replace big.Int Text(10) with String()

Also create a makefile target to test building with golang 1.5:
check-builds-in-go15

Fixes #163
2016-07-22 22:49:54 -04:00
Justin Santa Barbara 1240e1d924 Fix bug where edit cluster was computing with the old spec
Also add some tests, and fix some variable naming to hopefully stop it
happening again.

Fix #194
2016-07-22 18:19:40 -04:00
Justin Santa Barbara bbf1755f57 Discover an existing InternetGateway when running with Terraform Output
We currently don't do discovery of existing resources when running with
Terraform output, but when using a shared VPC this is wrong - we need to
reuse the existing gateway.

Directly discover the existing gateway.  We might need to do full
discovery later, but for now this is sufficient.

Fix #181
2016-07-22 12:48:11 -04:00
Justin Santa Barbara 9e9855d1a4 Simpler upgrade procedure: reuse subnet
By reusing the subnet & security groups, we are able to skip the ELB
steps of the upgrade procedure.  The new cluster also has the same
identity as the old cluster for security groups, so we don't need to
reconfigure ELB etc.

Fixes #175
Fixes #174
2016-07-22 11:47:12 -04:00
Justin Santa Barbara 31892fb08d Refactor tests for cleaner separation 2016-07-22 10:19:01 -04:00
Justin Santa Barbara 11d51b04a9 Adapt IAM policies when running in cn-north-1
Fix #27
2016-07-21 22:19:43 -04:00
Justin Santa Barbara 2fa3bcc952 UX: Split create command into `create` and `update`
We separate out the `create cluster` operation from the `update cluster`
operation.  Now create cluster only creates the spec (unless you pass
--yes), and is only for new clusters.

`update cluster` works on new or existing clusters, and should be called
to apply changes.

`update` is not the best name, because it means something different in
kubectl, but I think it's a good start.
2016-07-21 11:54:09 -04:00
Justin Santa Barbara c0477381c1 Fixes for terraform block device mapping output 2016-07-21 10:09:16 -04:00
Justin Santa Barbara 8fdda787b9 Merge pull request #154 from justinsb/fix_153
Populate kube-apiserver apiserver-count flag for HA
2016-07-21 09:30:45 -04:00
Justin Santa Barbara 50159fe47d Cleaner dryrun output 2016-07-21 03:25:57 -04:00
Justin Santa Barbara f67aea54d9 Guard against zero values when comparing values
This seems to happen when comparing map values
2016-07-20 19:55:59 -04:00
Justin Santa Barbara ba4b0e303b Fix nil dereference correctly
(I hope)

Also cover more of the cases

Fix #167
2016-07-18 15:43:06 -04:00
Justin Santa Barbara 63806c315e Avoid segfault on nil ResourceHolder 2016-07-18 15:35:19 -04:00
Justin Santa Barbara fed46864c7 Populate kube-apiserver apiserver-count flag for HA
Fix #153
2016-07-14 23:35:41 -04:00
Justin Santa Barbara 18af54de6e Fix missing string cast 2016-07-14 11:06:39 -04:00
Justin Santa Barbara 47ef67a71d Merge pull request #147 from justinsb/fix_69
Clearer error message when importing a cluster with a custom subnet
2016-07-14 11:05:33 -04:00
Justin Santa Barbara 3db3096c1b Merge pull request #149 from justinsb/fix_148
Import the node instance type when importing a cluster
2016-07-14 11:04:29 -04:00
Justin Santa Barbara 57d6e0d8d9 Import the node instance type when importing a cluster
We now query for the launchconfiguration and import the first machine
type we find.

Fix #148
2016-07-14 10:51:39 -04:00
Justin Santa Barbara 7c1177cc82 Clearer error message when importing a cluster with a custom subnet
We can at least give the user better instructions on how to proceed.
Because this is not in general safe though, I'm not sure we want to
gloss over this.

Issue #69
2016-07-14 10:38:32 -04:00
Justin Santa Barbara 302f23463e Configuration of admin access to ports 22 and master-443
Fix #143
2016-07-14 10:33:26 -04:00
Justin Santa Barbara 1102e7818d Perform as much validation as possible before writing a cluster config
This prevents us getting into a situation where an invalid cluster is
saved, and then cannot be deleted.
2016-07-14 09:54:21 -04:00
Justin Santa Barbara 1a5a917c9d Hash the k8s assets
This serves both as a security check, but also validates early that the
assets actually exist.

Fix #98
2016-07-14 09:46:48 -04:00
Justin Santa Barbara df56204479 Export kubecfg after as create cluster by default
It is scoped to a particular context, so seems harmless, and users will
(almost?) always do it after creation.

Fix #129
2016-07-12 23:02:43 -04:00
Justin Santa Barbara fb1fa97bec Fix DNS zone creation
Though we don't actually expect to use it, we now pass the nonce that
was missing.

Fix #29
2016-07-12 22:16:48 -04:00
Justin Santa Barbara cae256340b Find matching existing DNS hosted zone
We choose the longest matching existing hosted zone as the default,
rather than the previous heuristic which was overly simplistic.

We also require the hosted zone to exist now; it doesn't seem to really
cost us anything given that the user has to set up DNS delegation
anyway.

Fix #125
2016-07-12 22:15:20 -04:00
Justin Santa Barbara b69ee2a0ee Accept a hosted zone ID for dns-zone
There isn't any real ambiguity.

Fix #75
2016-07-12 22:14:26 -04:00
Justin Santa Barbara d1b399a97d Fix reissue of CA key 2016-07-11 00:09:47 -04:00
Justin Santa Barbara 0f4999aade Fix cluster validation so it is less strict
We now validate the user-provided spec, so we can't enforce that all
fields are populated.  Instead we enforce that if they are populated
they are not invalid.
2016-07-11 00:09:12 -04:00
Justin Santa Barbara 0aed68c260 Add support for deleting an InstanceGroup 2016-07-11 00:08:55 -04:00
Justin Santa Barbara c4f2fbfcaf Tweaks to rolling-update CLI 2016-07-11 00:08:21 -04:00
Justin Santa Barbara 1d59f2aa80 Replace StateStore with a registry
StateStore was highly orientated towards a VFS system; replace it with a
Registry abstraction that is more object based.

We also rationalize much of the CLI (cmd) command logic also.
2016-07-11 00:07:59 -04:00
Justin Santa Barbara eb589fd025 Import cluster should create the same style name 2016-07-11 00:03:22 -04:00
Justin Santa Barbara f771c2af4c Add support for spot instances
Fixes #58
2016-07-10 23:56:16 -04:00
Justin Santa Barbara 4ac0395a9f Merge pull request #103 from justinsb/delete_shutting_down_state
Tolerate shutting-down state on instance during delete
2016-07-09 22:32:21 -04:00
Justin Santa Barbara 0c867a8971 Merge pull request #108 from justinsb/fix_96
Detect & delete new ASG launch configs
2016-07-09 22:29:56 -04:00
Justin Santa Barbara 524fb645d0 Delete cluster deletes keypairs
Again we delete by name, which is why we name them by the very unlikely
to conflict name "kubernetes.<clustername>"

Issue #107
2016-07-09 22:26:12 -04:00
Justin Santa Barbara 5b8b4d4da3 Detect & delete new ASG launch configs
We now output a ClusterName property into the launchconfig, even though
we don't technically need it.  But it allows us to more easily detect
the cluster, and it generally seems like a good idea.

Also rename to 'autoscaling-config' and clean up the cluster name
detection logic.

Fix #96
2016-07-09 22:07:24 -04:00
Justin Santa Barbara b98422fb3a Merge pull request #101 from justinsb/eventual_consistency_igw_tag
Tolerate eventual consistency error tagging gateways
2016-07-09 22:03:40 -04:00
Justin Santa Barbara d705a1001c Clean up IAM roles
We match by name; this seems acceptable given that we make the cluster
name a FQDN.

Issue #97
2016-07-09 15:33:57 -04:00
Justin Santa Barbara fdfe710c92 Merge pull request #104 from justinsb/fix_35
More tweaks to the IAM async creation tolerance
2016-07-09 13:49:15 -04:00
Justin Santa Barbara 0a8b94e748 More tweaks to the IAM async creation tolerance
Issue #35
2016-07-09 02:45:30 -04:00
Justin Santa Barbara c058a0c2a8 Tolerate shutting-down state on instance during delete 2016-07-09 02:41:56 -04:00
Justin Santa Barbara 5c65600229 Delete Route53 host records on cluster-down
Initial implementation: we match by name, for example; when we have a
hosted zone id we should plumb it through.

Does implement bulk deletion, because on Route53 we have to delete
multiple resources at once.

Issue #74
2016-07-09 02:41:25 -04:00
Justin Santa Barbara 935b08fba2 Tolerate eventual consistency error tagging gateways 2016-07-09 01:46:32 -04:00
Justin Santa Barbara 126c508426 Fix model: numbers must be quoted 2016-07-09 01:41:04 -04:00
Justin Santa Barbara 6c6410dc81 Merge pull request #87 from justinsb/fix_35_part2
Report less-scary message when IAM instance profile is not ready yet
2016-07-09 01:25:28 -04:00
Justin Santa Barbara 13e514aeac Merge pull request #93 from justinsb/fix_24
Allow configurable RootDeviceSize & RootDeviceType
2016-07-09 01:25:20 -04:00
Justin Santa Barbara b42765816e Change node role tag to match master pattern
It's not currently used, and we hadn't updated it to match the better
pattern.

k8s.io/role=master can only be in one role
k8s.io/role/master=1 allows for multiple roles
2016-07-08 22:02:32 -04:00
Justin Santa Barbara 13b8e81bd6 Allow configurable RootDeviceSize & RootDeviceType
This allows for a larger EBS root volume (and we now default to 20GB,
just like kube-up did).

We remove the BlockDeviceMappings support because it wasn't used and
made things a lot more complicated.  We always map the ephemeral
devices.

Issue #24
2016-07-08 01:11:14 -04:00
Justin Santa Barbara d1ef7580a9 Report less-scary message when IAM instance profile is not ready yet
IAM instance profile creation is very async, and this causes dependent
resources to fail.  That's fine - we have good retry logic - but we
should output a less frightening error message.

Issue #35
2016-07-07 10:22:44 -04:00
Justin Santa Barbara 4bf51a825b More info on "clusters cannot span multiple regions" 2016-07-07 09:49:23 -04:00
Justin Santa Barbara a6ba62abe9 More instance type support: g2, i2, x1 families 2016-07-06 23:27:08 -04:00
Justin Santa Barbara f89c80c52c Merge pull request #78 from justinsb/fix_restart_1
Make sure that we enable systemd services
2016-07-06 23:25:07 -04:00
Justin Santa Barbara 09dd3002ff Make sure that we enable systemd services
We were previously just starting them, which works fine for the new
machine and machine termination case, but doesn't work when doing a
machine restart (e.g. init 6)

Issue #70
2016-07-06 23:04:51 -04:00
Justin Santa Barbara 40cbdc4d00 Add support for r3 family
Fix #76
2016-07-06 22:02:56 -04:00
Justin Santa Barbara fcd644441e Merge pull request #61 from justinsb/typo_1
Fix typo in error message
2016-07-06 16:42:47 -04:00
Justin Santa Barbara 957d30a157 Merge pull request #68 from justinsb/fix_elb_pagesize
Fetch ELB tags in chunks of 20
2016-07-06 13:47:30 -04:00
Justin Santa Barbara 274a8eff3c Fetch ELB tags in chunks of 20
ELB DescribeTags has a limit of 20 ELBs / call.  So we paginate the
DescribeLoadBalancers call with page size = 20 also.
2016-07-06 13:46:16 -04:00
Justin Santa Barbara 7347f1815a Parse SSH public keys with 'odd' whitespace
e.g. a key with \r instead of spaces

Fix #63
2016-07-06 11:18:09 -04:00
Justin Santa Barbara a91cc6e9a4 Add tests for SSH key fingerprint
Issue #63
2016-07-06 10:47:20 -04:00
Justin Santa Barbara 4dc869756f Quote public key in error message
Just in case it contains invalid characters

Issue #63
2016-07-06 10:22:09 -04:00
Justin Santa Barbara b6035bffaf Fix typo in error message
Fingerpring -> Fingerprint
2016-07-06 10:04:13 -04:00