broadside 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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