deb-s3-lock-fix 0.11.8.fix0.1 → 0.11.8.fix0.2

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
  SHA256:
3
- metadata.gz: 5b7c555d0e33412b90fb17d46b473f97d414e504e96ced3726e5cdbaa0c80c58
4
- data.tar.gz: ed1697addac22433d6830beef8a84cf7a03c85a160004729fc75fb66a210f162
3
+ metadata.gz: cc8f9ac162ff914d4234a5d38a4b6c47107e0b16958a7b934dcb88befc329b75
4
+ data.tar.gz: 2f7dd2fb39fd541dab59452696023dae3c6e4e8274663f8a80ff70cfa99bef07
5
5
  SHA512:
6
- metadata.gz: 2ad9c7570206b4f39b777667e24e3f004f816b946a55048bcf8b8f84ad24f4cccb7e81a034d25dd5996f47e9ccc351f966338df37f45a838e073688bde56434c
7
- data.tar.gz: 1fce1fe773fb1397f81bc513b32d3e9f7b39398bf1a0e2e7dd8183a6f9876131ef919cb9353361be9e791fdbb7d3edb9dc336bd04e05a680c1799ec968b3a5f6
6
+ metadata.gz: 3b0f3a542f97416f5011a376d517f22d1def612640d25b17259cded08eabfa397a4a9d07a7f0f3ef8a6e674adf7da46f6697d61f82a494a851b757b756fa8b72
7
+ data.tar.gz: 0db5466f75e6d8acbcc5d4a6c1f4aa0a135dd5cc71773a09679e02682e6ffea368ce61e94e4dc510e2f04abe55092206c2c5f9d098b11bb6eb558c0f0cf50f19
data/lib/deb/s3/cli.rb CHANGED
@@ -165,7 +165,7 @@ class Deb::S3::CLI < Thor
165
165
  if options[:lock]
166
166
  log("Checking for existing lock file")
167
167
  log("Locking repository for updates")
168
- Deb::S3::Lock.lock(options[:codename])
168
+ Deb::S3::Lock.lock(options[:bucket], options[:codename])
169
169
  @lock_acquired = true
170
170
  end
171
171
 
@@ -257,7 +257,7 @@ class Deb::S3::CLI < Thor
257
257
  log("Update complete.")
258
258
  ensure
259
259
  if options[:lock] && @lock_acquired
260
- Deb::S3::Lock.unlock(options[:codename])
260
+ Deb::S3::Lock.unlock(options[:bucket], options[:codename])
261
261
  log("Lock released.")
262
262
  end
263
263
  end
@@ -406,7 +406,7 @@ class Deb::S3::CLI < Thor
406
406
  if options[:lock]
407
407
  log("Checking for existing lock file")
408
408
  log("Locking repository for updates")
409
- Deb::S3::Lock.lock(options[:codename])
409
+ Deb::S3::Lock.lock(options[:bucket], options[:codename])
410
410
  @lock_acquired = true
411
411
  end
412
412
 
@@ -448,7 +448,7 @@ class Deb::S3::CLI < Thor
448
448
  log "Copy complete."
449
449
  ensure
450
450
  if options[:lock] && @lock_acquired
451
- Deb::S3::Lock.unlock(options[:codename])
451
+ Deb::S3::Lock.unlock(options[:bucket], options[:codename])
452
452
  log("Lock released.")
453
453
  end
454
454
  end
@@ -501,7 +501,7 @@ class Deb::S3::CLI < Thor
501
501
  if options[:lock]
502
502
  log("Checking for existing lock file")
503
503
  log("Locking repository for updates")
504
- Deb::S3::Lock.lock(options[:codename])
504
+ Deb::S3::Lock.lock(options[:bucket], options[:codename])
505
505
  @lock_acquired = true
506
506
  end
507
507
 
@@ -549,7 +549,7 @@ class Deb::S3::CLI < Thor
549
549
  end
550
550
  ensure
551
551
  if options[:lock] && @lock_acquired
552
- Deb::S3::Lock.unlock(options[:codename])
552
+ Deb::S3::Lock.unlock(options[:bucket], options[:codename])
553
553
  log("Lock released.")
554
554
  end
555
555
  end
@@ -615,7 +615,7 @@ class Deb::S3::CLI < Thor
615
615
  if options[:lock]
616
616
  log("Checking for existing lock file")
617
617
  log("Locking repository for updates")
618
- Deb::S3::Lock.lock(options[:codename])
618
+ Deb::S3::Lock.lock(options[:bucket], options[:codename])
619
619
  @lock_acquired = true
620
620
  end
621
621
 
@@ -679,7 +679,7 @@ class Deb::S3::CLI < Thor
679
679
  end
680
680
  ensure
681
681
  if options[:lock] && @lock_acquired
682
- Deb::S3::Lock.unlock(options[:codename])
682
+ Deb::S3::Lock.unlock(options[:bucket], options[:codename])
683
683
  log("Lock released.")
684
684
  end
685
685
  end
data/lib/deb/s3/lock.rb CHANGED
@@ -25,16 +25,16 @@ class Deb::S3::Lock
25
25
  end
26
26
 
27
27
  def self.validate_environment_variables!
28
- %w[DEB_S3_LOCK_ACCESS_KEY_ID DEB_S3_LOCK_SECRET_ACCESS_KEY AWS_BUILDERS_REGION].each do |var|
28
+ %w[DEB_S3_ACCESS_KEY_ID DEB_S3_SECRET_ACCESS_KEY AWS_BUILDERS_REGION].each do |var|
29
29
  raise "Environment variable #{var} not set." unless ENV[var]
30
30
  end
31
31
  end
32
32
 
33
33
  class << self
34
- def lock(codename, max_attempts = 60, max_wait_interval = 10)
34
+ def lock(bucket, codename, max_attempts = 60, max_wait_interval = 10)
35
35
  uuid = SecureRandom.uuid
36
36
  lock_body = "#{Etc.getlogin}@#{Socket.gethostname}-#{uuid}"
37
- lock_key = codename
37
+ lock_key = "#{bucket}/#{codename}"
38
38
 
39
39
  $stderr.puts("Current job's hostname with UUID: #{lock_body}")
40
40
 
@@ -54,7 +54,7 @@ class Deb::S3::Lock
54
54
  })
55
55
  return
56
56
  rescue Aws::DynamoDB::Errors::ConditionalCheckFailedException
57
- lock_holder = current_lock_holder(codename)
57
+ lock_holder = current_lock_holder(bucket, codename)
58
58
  current_time = Time.now.strftime("%Y-%m-%d %H:%M:%S")
59
59
  $stderr.puts("[#{current_time}] Repository is locked by another user: #{lock_holder.user} at host #{lock_holder.host_with_uuid}")
60
60
  $stderr.puts("Attempting to obtain a lock after #{wait_interval} second(s).")
@@ -65,20 +65,20 @@ class Deb::S3::Lock
65
65
  raise "Unable to obtain a lock after #{max_attempts} attemtps, giving up."
66
66
  end
67
67
 
68
- def unlock(codename)
68
+ def unlock(bucket, codename)
69
69
  # dynamodb.delete_item({
70
70
  # table_name: DYNAMODB_TABLE_NAME,
71
71
  # key: {
72
- # 'lock_key' => codename
72
+ # 'lock_key' => "#{bucket}/#{codename}"
73
73
  # }
74
74
  # })
75
75
  end
76
76
 
77
- def current_lock_holder(codename)
77
+ def current_lock_holder(bucket, codename)
78
78
  response = dynamodb.get_item({
79
79
  table_name: DYNAMODB_TABLE_NAME,
80
80
  key: {
81
- 'lock_key' => codename
81
+ 'lock_key' => "#{bucket}/#{codename}"
82
82
  }
83
83
  })
84
84
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deb-s3-lock-fix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.8.fix0.1
4
+ version: 0.11.8.fix0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Braeden Wolf & Ken Robertson
@@ -80,9 +80,8 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '11'
83
- description: Fork of deb-s3 with a specific fix for locking. Original work by Ken
84
- Robertson.
85
- email: braedenwolf@outlook.com & ken@invalidlogic.com
83
+ description: Fork of deb-s3 with fix for locking. Original work by Ken Robertson.
84
+ email: braeden.wolf@sanctuary.ai & ken@invalidlogic.com
86
85
  executables:
87
86
  - deb-s3
88
87
  extensions: []
@@ -99,7 +98,7 @@ files:
99
98
  - lib/deb/s3/templates/package.erb
100
99
  - lib/deb/s3/templates/release.erb
101
100
  - lib/deb/s3/utils.rb
102
- homepage: https://github.com/braedenwolf/deb-s3-lock-fix
101
+ homepage: https://gitlab.com/sanctuaryai/precog2/infrastructure/deb-s3-lock-fix
103
102
  licenses:
104
103
  - MIT
105
104
  metadata: {}
@@ -121,5 +120,5 @@ requirements: []
121
120
  rubygems_version: 3.1.2
122
121
  signing_key:
123
122
  specification_version: 4
124
- summary: Easily create and manage an APT repository on S3 (with specific lock fix).
123
+ summary: Easily create and manage an APT repository on S3 with lock fix.
125
124
  test_files: []