linecook-gem 0.7.16 → 0.7.17
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 +4 -4
- data/lib/linecook-gem/baker/docker.rb +2 -47
- data/lib/linecook-gem/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1fc909f3951c5ae4fc57416d814aa35af64dd4ca
|
4
|
+
data.tar.gz: 5475b236c792a6081006491ac34e272e87920054
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 589950d3ed66b497d9e89de3c990ba9f5ac04b0d3d28f33d657c8d66ac643d55636b651345031dd5803cdd0434cceb0ba51c699645cffef8f83bbec428c29165
|
7
|
+
data.tar.gz: 4d4667fb844e1e3d8c3d45839e6252f45a50d9addcc50832b4032f2b9ad9487d016e9853c23de73ddd00d435e77eb8dd68891850a965e4aa0d4c090252fa0491
|
@@ -6,9 +6,6 @@ require 'docker'
|
|
6
6
|
require 'linecook-gem/image'
|
7
7
|
require 'linecook-gem/util/locking'
|
8
8
|
|
9
|
-
# Until https://github.com/swipely/docker-api/pull/413 gets merged
|
10
|
-
class Excon::Errors::InternalServerError < Excon::Errors::InternalServerErrorError; end
|
11
|
-
|
12
9
|
module Linecook
|
13
10
|
module Baker
|
14
11
|
# FIXME - refactor into a base class with an interface
|
@@ -55,7 +52,6 @@ module Linecook
|
|
55
52
|
def inherit(image)
|
56
53
|
puts "Inheriting from #{image.id}..."
|
57
54
|
import(image) unless image_exists?(image)
|
58
|
-
#clean_older_images(image)
|
59
55
|
end
|
60
56
|
|
61
57
|
private
|
@@ -64,49 +60,8 @@ module Linecook
|
|
64
60
|
end
|
65
61
|
|
66
62
|
def image_exists?(image)
|
67
|
-
|
68
|
-
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def clean_older_images(image)
|
73
|
-
puts "Cleaning up older images for #{image.group}..."
|
74
|
-
older_images(image).each do |old|
|
75
|
-
children(old).each do |child|
|
76
|
-
remove_docker_image(child)
|
77
|
-
end
|
78
|
-
remove_docker_image(old)
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def remove_docker_image(docker_image)
|
83
|
-
puts "Removing #{docker_image.id}"
|
84
|
-
docker_image.remove(force: false)
|
85
|
-
rescue ::Docker::Error::ConflictError, ::Docker::Error::NotFoundError => e
|
86
|
-
puts "Failed to remove #{docker_image.id}"
|
87
|
-
puts e.message
|
88
|
-
puts e.backtrace
|
89
|
-
rescue ::Excon::Error::InternalServerError => e
|
90
|
-
puts "Failed to remove #{docker_image.id} (docker internal error)"
|
91
|
-
puts e.message
|
92
|
-
puts e.backtrace
|
93
|
-
rescue => e
|
94
|
-
puts "Something went wrong"
|
95
|
-
puts e.message
|
96
|
-
puts e.backtrace
|
97
|
-
end
|
98
|
-
|
99
|
-
def children(parent_image)
|
100
|
-
::Docker::Image.all.select do |docker_image|
|
101
|
-
docker_image.info['ParentId'] == parent_image.id
|
102
|
-
end.compact
|
103
|
-
end
|
104
|
-
|
105
|
-
def older_images(image)
|
106
|
-
::Docker::Image.all.select do |docker_image|
|
107
|
-
group, tag = docker_image.info['RepoTags'].first.split(':')
|
108
|
-
group == image.group && tag.to_i + RETAIN_IMAGES < image.tag.to_i
|
109
|
-
end
|
63
|
+
images=`docker images --format "{{.Repository}}:{{.Tag}}"`.lines.map(&:strip)
|
64
|
+
images.include?("#{image.group}:#{image.tag}")
|
110
65
|
end
|
111
66
|
|
112
67
|
def import(image)
|
data/lib/linecook-gem/version.rb
CHANGED