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

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
  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: []