broadside 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3693defb94dc9f5396cf5d5ad907eecd49032c77
4
- data.tar.gz: 2dc28e92eb875b2bae69cc4a3a25896eacfe79c7
3
+ metadata.gz: c36eb4b660d1e16d9b835c331ebaff2742abb1ae
4
+ data.tar.gz: ff6d0878087c50a1101ee5d92cf0dd3c03beb4a2
5
5
  SHA512:
6
- metadata.gz: 81e4d4e8e4d1afb13f49e0e822119b102a8489c69626e22930e7a160590c328c4f110f910790cca1513a7d18a73748ee0abe8797d60fea12d81ee6e991e4c960
7
- data.tar.gz: db75a3e185c21492bb78641e288079e59aa4a602666f513ea0aaabfd7d6245c5e8704ae4f21c3f1f44f628605597a0990d23a329722f97f9c47aba8d60cdedec
6
+ metadata.gz: 59b5f90fe3bcc45c5d2a3e1a0338e478941d7b0504d6cea1ef4890f8bec07ce9054a2e5ac5378737acc68cd67d8ff84ee8d6d3cd5313c9cd2337265d87fb5bdc
7
+ data.tar.gz: 5716b529de4a00bc88ed8331e1a5735da1f8d1e3e6ee3742027d14ad6a30be9332365a2f12fc57d682e3b9340ea088cdfbdcae5fc96bbe7e84729ed8006303f9
data/.travis.yml CHANGED
@@ -5,9 +5,7 @@ rvm:
5
5
  cache: bundler
6
6
  script:
7
7
  - bundle exec rspec
8
- branches:
9
- except:
10
- - /^production_release_\d+$/
11
- - /^staging_release_\d+$/
12
8
  notifications:
13
9
  email: false
10
+ git:
11
+ submodules: false
data/CHANGELOG.md CHANGED
@@ -1,2 +1,5 @@
1
+ # 1.0.1
2
+ - [#3](https://github.com/lumoslabs/broadside/issues/3): Fix task definition pagination
3
+
1
4
  # 1.0.0
2
5
  - Initial release.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Broadside
1
+ # Broadside [![Build Status](https://travis-ci.org/lumoslabs/broadside.svg?branch=master)](https://travis-ci.org/lumoslabs/broadside)
2
2
  A command-line tool for deploying applications on AWS EC2 Container Service (ECS)
3
3
 
4
4
  This tool is primarily intended for use with ruby applications.
@@ -137,8 +137,7 @@ module Broadside
137
137
 
138
138
  # removes latest n task definitions
139
139
  def deregister_tasks(count)
140
- task_definition_ids = ecs_client.list_task_definitions({family_prefix: family}).task_definition_arns
141
- task_definition_ids.last(count).each do |td_id|
140
+ get_task_def_ids.last(count).each do |td_id|
142
141
  ecs_client.deregister_task_definition({task_definition: td_id})
143
142
  debug "Deregistered #{td_id}"
144
143
  end
@@ -258,7 +257,7 @@ module Broadside
258
257
  def get_running_instance_ips(task_ids = nil)
259
258
  task_arns = nil
260
259
  if task_ids.nil?
261
- task_arns = ecs_client.list_tasks({cluster: config.ecs.cluster, family: family}).task_arns
260
+ task_arns = get_tasks
262
261
  if task_arns.empty?
263
262
  exception "No running tasks found for '#{family}' on cluster '#{config.ecs.cluster}' !"
264
263
  end
@@ -284,9 +283,36 @@ module Broadside
284
283
  ecs_client.describe_task_definition({task_definition: get_latest_task_def_id}).task_definition.to_h
285
284
  end
286
285
 
286
+ def get_tasks
287
+ # used for pagination if > 100 tasks
288
+ next_token = nil
289
+ tasks = []
290
+ loop do
291
+ resp = ecs_client.list_tasks({cluster: config.ecs.cluster, family: family, next_token: next_token})
292
+ next_token = resp.next_token
293
+ tasks += resp.task_arns
294
+ break if next_token.nil?
295
+ end
296
+
297
+ tasks
298
+ end
299
+
300
+ def get_task_def_ids
301
+ # used for pagination if > 100 task_definition ids
302
+ next_token = nil
303
+ task_def_ids = []
304
+ loop do
305
+ resp = ecs_client.list_task_definitions({family_prefix: family, next_token: next_token})
306
+ next_token = resp.next_token
307
+ task_def_ids += resp.task_definition_arns
308
+ break if next_token.nil?
309
+ end
310
+
311
+ task_def_ids
312
+ end
313
+
287
314
  def get_latest_task_def_id
288
- task_defs = ecs_client.list_task_definitions({family_prefix: family})
289
- task_defs.task_definition_arns.last
315
+ get_task_def_ids.last
290
316
  end
291
317
 
292
318
  def create_new_task_revision
@@ -1,3 +1,3 @@
1
1
  module Broadside
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: broadside
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Leung
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-21 00:00:00.000000000 Z
11
+ date: 2016-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk