Skip to content

Commit dd110eb

Browse files
authoredApr 1, 2020
Merge pull request #236 from ecordell/fix-add-err
fix(loader): Image Loader doesn't create the same channel entries as the other loaders.
2 parents d5f8836 + 57e25b3 commit dd110eb

35 files changed

+1255
-707
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
annotations:
22
operators.operatorframework.io.bundle.package.v1: "prometheus"
3-
operators.operatorframework.io.bundle.channels.v1: "preview"
4-
operators.operatorframework.io.bundle.channel.default.v1: "preview"
3+
operators.operatorframework.io.bundle.channels.v1: "preview,stable"
4+
operators.operatorframework.io.bundle.channel.default.v1: "preview"

‎cmd/opm/index/delete.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@ func runIndexDeleteCmdFunc(cmd *cobra.Command, args []string) error {
9595
indexDeleter := indexer.NewIndexDeleter(containerTool, logger)
9696

9797
request := indexer.DeleteFromIndexRequest{
98-
Generate: generate,
99-
FromIndex: fromIndex,
98+
Generate: generate,
99+
FromIndex: fromIndex,
100100
BinarySourceImage: binaryImage,
101-
OutDockerfile: outDockerfile,
102-
Operators: operators,
103-
Tag: tag,
104-
Permissive: permissive,
101+
OutDockerfile: outDockerfile,
102+
Operators: operators,
103+
Tag: tag,
104+
Permissive: permissive,
105105
}
106106

107107
err = indexDeleter.DeleteFromIndex(request)

‎cmd/opm/registry/add.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ func addFunc(cmd *cobra.Command, args []string) error {
5353
}
5454

5555
request := registry.AddToRegistryRequest{
56-
Bundles: bundleImages,
56+
Bundles: bundleImages,
5757
InputDatabase: fromFilename,
58-
Permissive: permissive,
58+
Permissive: permissive,
5959
ContainerTool: containerTool,
6060
}
6161

‎cmd/opm/registry/mirror.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func MirrorCmd() *cobra.Command {
4040
flags := cmd.Flags()
4141

4242
cmd.Flags().Bool("debug", false, "Enable debug logging.")
43-
flags.StringVar(&o.ManifestDir, "--to-manifests", "manifests", "Local path to store manifests.")
43+
flags.StringVar(&o.ManifestDir, "--to-manifests", "manifests", "Local path to store manifests.")
4444

4545
return cmd
4646
}

‎cmd/opm/registry/rm.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ func rmFunc(cmd *cobra.Command, args []string) error {
4646
}
4747

4848
request := registry.DeleteFromRegistryRequest{
49-
Packages: packages,
49+
Packages: packages,
5050
InputDatabase: fromFilename,
51-
Permissive: permissive,
51+
Permissive: permissive,
5252
}
5353

5454
logger := logrus.WithFields(logrus.Fields{"packages": packages})

‎pkg/containertools/getimagedata_options.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ type GetImageDataOptions struct {
66

77
type GetImageDataOption func(*GetImageDataOptions)
88

9-
109
func WithWorkingDir(workingDir string) GetImageDataOption {
1110
return func(o *GetImageDataOptions) {
12-
o.WorkingDir = workingDir
13-
}
11+
o.WorkingDir = workingDir
12+
}
1413
}

‎pkg/containertools/labelreader_test.go

+70-71
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package containertools_test
22

33
import (
4-
"fmt"
4+
"fmt"
55
"testing"
66

7-
"github.com/operator-framework/operator-registry/pkg/containertools"
8-
"github.com/operator-framework/operator-registry/pkg/containertools/containertoolsfakes"
9-
107
"github.com/sirupsen/logrus"
118
"github.com/stretchr/testify/require"
9+
10+
"github.com/operator-framework/operator-registry/pkg/containertools"
11+
"github.com/operator-framework/operator-registry/pkg/containertools/containertoolsfakes"
1212
)
1313

1414
func TestReadDockerLabels(t *testing.T) {
@@ -18,41 +18,40 @@ func TestReadDockerLabels(t *testing.T) {
1818
expectedLabelVal := "./index.db"
1919
containerTool := "docker"
2020

21-
logger := logrus.NewEntry(logrus.New())
22-
mockCmd := containertoolsfakes.FakeCommandRunner{}
23-
24-
mockCmd.PullReturns(nil)
25-
mockCmd.InspectReturns([]byte(imageData), nil)
26-
mockCmd.GetToolNameReturns(containerTool)
21+
logger := logrus.NewEntry(logrus.New())
22+
mockCmd := containertoolsfakes.FakeCommandRunner{}
23+
24+
mockCmd.PullReturns(nil)
25+
mockCmd.InspectReturns([]byte(imageData), nil)
26+
mockCmd.GetToolNameReturns(containerTool)
2727

2828
labelReader := containertools.ImageLabelReader{
29-
Cmd: &mockCmd,
30-
Logger: logger,
31-
}
29+
Cmd: &mockCmd,
30+
Logger: logger,
31+
}
3232

3333
labels, err := labelReader.GetLabelsFromImage(image)
3434
require.NoError(t, err)
3535
require.Equal(t, labels[expectedLabelKey], expectedLabelVal)
3636
}
3737

38-
3938
func TestReadDockerLabelsNoLabels(t *testing.T) {
4039
image := "quay.io/operator-framework/example"
4140
imageData := exampleInspectResultDockerNoLabels
4241
containerTool := "docker"
4342

44-
mockCmd := containertoolsfakes.FakeCommandRunner{}
45-
46-
logger := logrus.NewEntry(logrus.New())
43+
mockCmd := containertoolsfakes.FakeCommandRunner{}
44+
45+
logger := logrus.NewEntry(logrus.New())
4746

4847
labelReader := containertools.ImageLabelReader{
49-
Cmd: &mockCmd,
50-
Logger: logger,
51-
}
48+
Cmd: &mockCmd,
49+
Logger: logger,
50+
}
5251

5352
mockCmd.PullReturns(nil)
54-
mockCmd.InspectReturns([]byte(imageData), nil)
55-
mockCmd.GetToolNameReturns(containerTool)
53+
mockCmd.InspectReturns([]byte(imageData), nil)
54+
mockCmd.GetToolNameReturns(containerTool)
5655

5756
labels, err := labelReader.GetLabelsFromImage(image)
5857
require.NoError(t, err)
@@ -66,18 +65,18 @@ func TestReadPodmanLabels(t *testing.T) {
6665
expectedLabelVal := "./index.db"
6766
containerTool := "podman"
6867

69-
mockCmd := containertoolsfakes.FakeCommandRunner{}
70-
71-
logger := logrus.NewEntry(logrus.New())
68+
mockCmd := containertoolsfakes.FakeCommandRunner{}
69+
70+
logger := logrus.NewEntry(logrus.New())
7271

7372
labelReader := containertools.ImageLabelReader{
74-
Cmd: &mockCmd,
75-
Logger: logger,
76-
}
73+
Cmd: &mockCmd,
74+
Logger: logger,
75+
}
7776

7877
mockCmd.PullReturns(nil)
79-
mockCmd.InspectReturns([]byte(imageData), nil)
80-
mockCmd.GetToolNameReturns(containerTool)
78+
mockCmd.InspectReturns([]byte(imageData), nil)
79+
mockCmd.GetToolNameReturns(containerTool)
8180

8281
labels, err := labelReader.GetLabelsFromImage(image)
8382
require.NoError(t, err)
@@ -89,18 +88,18 @@ func TestReadPodmanLabelsNoLabels(t *testing.T) {
8988
imageData := exampleInspectResultPodmanNoLabels
9089
containerTool := "podman"
9190

92-
mockCmd := containertoolsfakes.FakeCommandRunner{}
91+
mockCmd := containertoolsfakes.FakeCommandRunner{}
9392

94-
logger := logrus.NewEntry(logrus.New())
93+
logger := logrus.NewEntry(logrus.New())
9594

9695
labelReader := containertools.ImageLabelReader{
97-
Cmd: &mockCmd,
98-
Logger: logger,
99-
}
96+
Cmd: &mockCmd,
97+
Logger: logger,
98+
}
10099

101100
mockCmd.PullReturns(nil)
102-
mockCmd.InspectReturns([]byte(imageData), nil)
103-
mockCmd.GetToolNameReturns(containerTool)
101+
mockCmd.InspectReturns([]byte(imageData), nil)
102+
mockCmd.GetToolNameReturns(containerTool)
104103

105104
labels, err := labelReader.GetLabelsFromImage(image)
106105
require.NoError(t, err)
@@ -109,64 +108,64 @@ func TestReadPodmanLabelsNoLabels(t *testing.T) {
109108

110109
func TestReadDockerLabels_PullError(t *testing.T) {
111110
image := "quay.io/operator-framework/example"
112-
pullErr := fmt.Errorf("Error pulling image")
111+
pullErr := fmt.Errorf("Error pulling image")
112+
113+
logger := logrus.NewEntry(logrus.New())
114+
mockCmd := containertoolsfakes.FakeCommandRunner{}
113115

114-
logger := logrus.NewEntry(logrus.New())
115-
mockCmd := containertoolsfakes.FakeCommandRunner{}
116-
117-
mockCmd.PullReturns(pullErr)
116+
mockCmd.PullReturns(pullErr)
118117

119118
labelReader := containertools.ImageLabelReader{
120-
Cmd: &mockCmd,
121-
Logger: logger,
122-
}
119+
Cmd: &mockCmd,
120+
Logger: logger,
121+
}
123122

124123
_, err := labelReader.GetLabelsFromImage(image)
125-
require.Error(t, err)
126-
require.EqualError(t, err, pullErr.Error())
124+
require.Error(t, err)
125+
require.EqualError(t, err, pullErr.Error())
127126
}
128127

129128
func TestReadDockerLabels_InspectError(t *testing.T) {
130129
image := "quay.io/operator-framework/example"
131-
containerTool := "docker"
132-
inspectErr := fmt.Errorf("Error inspecting image")
130+
containerTool := "docker"
131+
inspectErr := fmt.Errorf("Error inspecting image")
133132

134-
logger := logrus.NewEntry(logrus.New())
135-
mockCmd := containertoolsfakes.FakeCommandRunner{}
136-
137-
mockCmd.PullReturns(nil)
138-
mockCmd.InspectReturns(nil, inspectErr)
139-
mockCmd.GetToolNameReturns(containerTool)
133+
logger := logrus.NewEntry(logrus.New())
134+
mockCmd := containertoolsfakes.FakeCommandRunner{}
135+
136+
mockCmd.PullReturns(nil)
137+
mockCmd.InspectReturns(nil, inspectErr)
138+
mockCmd.GetToolNameReturns(containerTool)
140139

141140
labelReader := containertools.ImageLabelReader{
142-
Cmd: &mockCmd,
143-
Logger: logger,
144-
}
141+
Cmd: &mockCmd,
142+
Logger: logger,
143+
}
145144

146145
_, err := labelReader.GetLabelsFromImage(image)
147146
require.Error(t, err)
148-
require.EqualError(t, err, inspectErr.Error())
147+
require.EqualError(t, err, inspectErr.Error())
149148
}
150149

151150
func TestReadDockerLabels_InvalidData_Error(t *testing.T) {
152151
image := "quay.io/operator-framework/example"
153152
imageData := "invalidJson"
154-
containerTool := "docker"
153+
containerTool := "docker"
154+
155+
logger := logrus.NewEntry(logrus.New())
156+
mockCmd := containertoolsfakes.FakeCommandRunner{}
155157

156-
logger := logrus.NewEntry(logrus.New())
157-
mockCmd := containertoolsfakes.FakeCommandRunner{}
158-
159-
mockCmd.PullReturns(nil)
160-
mockCmd.InspectReturns([]byte(imageData), nil)
161-
mockCmd.GetToolNameReturns(containerTool)
158+
mockCmd.PullReturns(nil)
159+
mockCmd.InspectReturns([]byte(imageData), nil)
160+
mockCmd.GetToolNameReturns(containerTool)
162161

163162
labelReader := containertools.ImageLabelReader{
164-
Cmd: &mockCmd,
165-
Logger: logger,
166-
}
163+
Cmd: &mockCmd,
164+
Logger: logger,
165+
}
167166

168167
_, err := labelReader.GetLabelsFromImage(image)
169-
require.Error(t, err)
168+
require.Error(t, err)
170169
}
171170

172171
const exampleInspectResultDocker = `
@@ -563,4 +562,4 @@ const exampleInspectResultPodmanNoLabels = `
563562
]
564563
}
565564
]
566-
`
565+
`

‎pkg/mirror/mirror.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ func (f ImageMirrorerFunc) Mirror(mapping map[string]string) error {
3939
}
4040

4141
type IndexImageMirrorer struct {
42-
ImageMirrorer ImageMirrorer
43-
DatabaseExtractor DatabaseExtractor
42+
ImageMirrorer ImageMirrorer
43+
DatabaseExtractor DatabaseExtractor
4444

4545
// options
46-
Source, Dest string
46+
Source, Dest string
4747
}
4848

4949
var _ Mirrorer = &IndexImageMirrorer{}
@@ -58,10 +58,10 @@ func NewIndexImageMirror(options ...ImageIndexMirrorOption) (*IndexImageMirrorer
5858
return nil, err
5959
}
6060
return &IndexImageMirrorer{
61-
ImageMirrorer: config.ImageMirrorer,
62-
DatabaseExtractor: config.DatabaseExtractor,
63-
Source: config.Source,
64-
Dest: config.Dest,
61+
ImageMirrorer: config.ImageMirrorer,
62+
DatabaseExtractor: config.DatabaseExtractor,
63+
Source: config.Source,
64+
Dest: config.Dest,
6565
}, nil
6666
}
6767

‎pkg/mirror/mirror_test.go

+13-14
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ func CreateTestDb(t *testing.T) (*sql.DB, string, func()) {
3838
}
3939
}
4040

41-
4241
func TestIndexImageMirrorer_Mirror(t *testing.T) {
4342
_, path, cleanup := CreateTestDb(t)
4443
defer cleanup()
@@ -60,24 +59,24 @@ func TestIndexImageMirrorer_Mirror(t *testing.T) {
6059
}{
6160
{
6261
name: "mirror images",
63-
fields:fields{
62+
fields: fields{
6463
DatabaseExtractor: testExtractor,
6564
Source: "example",
6665
Dest: "localhost",
6766
},
6867
want: map[string]string{
69-
"quay.io/coreos/etcd-operator@sha256:bd944a211eaf8f31da5e6d69e8541e7cada8f16a9f7a5a570b22478997819943":"localhost/coreos/etcd-operator@sha256:bd944a211eaf8f31da5e6d69e8541e7cada8f16a9f7a5a570b22478997819943",
70-
"quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2":"localhost/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2",
71-
"quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8":"localhost/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8",
72-
"quay.io/coreos/etcd@sha256:3816b6daf9b66d6ced6f0f966314e2d4f894982c6b1493061502f8c2bf86ac84":"localhost/coreos/etcd@sha256:3816b6daf9b66d6ced6f0f966314e2d4f894982c6b1493061502f8c2bf86ac84",
73-
"quay.io/coreos/etcd@sha256:49d3d4a81e0d030d3f689e7167f23e120abf955f7d08dbedf3ea246485acee9f":"localhost/coreos/etcd@sha256:49d3d4a81e0d030d3f689e7167f23e120abf955f7d08dbedf3ea246485acee9f",
74-
"quay.io/coreos/prometheus-operator@sha256:0e92dd9b5789c4b13d53e1319d0a6375bcca4caaf0d698af61198061222a576d":"localhost/coreos/prometheus-operator@sha256:0e92dd9b5789c4b13d53e1319d0a6375bcca4caaf0d698af61198061222a576d",
75-
"quay.io/coreos/prometheus-operator@sha256:3daa69a8c6c2f1d35dcf1fe48a7cd8b230e55f5229a1ded438f687debade5bcf":"localhost/coreos/prometheus-operator@sha256:3daa69a8c6c2f1d35dcf1fe48a7cd8b230e55f5229a1ded438f687debade5bcf",
76-
"quay.io/coreos/prometheus-operator@sha256:5037b4e90dbb03ebdefaa547ddf6a1f748c8eeebeedf6b9d9f0913ad662b5731":"localhost/coreos/prometheus-operator@sha256:5037b4e90dbb03ebdefaa547ddf6a1f748c8eeebeedf6b9d9f0913ad662b5731",
77-
"docker.io/strimzi/cluster-operator:0.11.0": "localhost/strimzi/cluster-operator:0.11.0",
78-
"docker.io/strimzi/cluster-operator:0.11.1": "localhost/strimzi/cluster-operator:0.11.1",
79-
"docker.io/strimzi/operator:0.12.1": "localhost/strimzi/operator:0.12.1",
80-
"docker.io/strimzi/operator:0.12.2": "localhost/strimzi/operator:0.12.2",
68+
"quay.io/coreos/etcd-operator@sha256:bd944a211eaf8f31da5e6d69e8541e7cada8f16a9f7a5a570b22478997819943": "localhost/coreos/etcd-operator@sha256:bd944a211eaf8f31da5e6d69e8541e7cada8f16a9f7a5a570b22478997819943",
69+
"quay.io/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2": "localhost/coreos/etcd-operator@sha256:c0301e4686c3ed4206e370b42de5a3bd2229b9fb4906cf85f3f30650424abec2",
70+
"quay.io/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8": "localhost/coreos/etcd-operator@sha256:db563baa8194fcfe39d1df744ed70024b0f1f9e9b55b5923c2f3a413c44dc6b8",
71+
"quay.io/coreos/etcd@sha256:3816b6daf9b66d6ced6f0f966314e2d4f894982c6b1493061502f8c2bf86ac84": "localhost/coreos/etcd@sha256:3816b6daf9b66d6ced6f0f966314e2d4f894982c6b1493061502f8c2bf86ac84",
72+
"quay.io/coreos/etcd@sha256:49d3d4a81e0d030d3f689e7167f23e120abf955f7d08dbedf3ea246485acee9f": "localhost/coreos/etcd@sha256:49d3d4a81e0d030d3f689e7167f23e120abf955f7d08dbedf3ea246485acee9f",
73+
"quay.io/coreos/prometheus-operator@sha256:0e92dd9b5789c4b13d53e1319d0a6375bcca4caaf0d698af61198061222a576d": "localhost/coreos/prometheus-operator@sha256:0e92dd9b5789c4b13d53e1319d0a6375bcca4caaf0d698af61198061222a576d",
74+
"quay.io/coreos/prometheus-operator@sha256:3daa69a8c6c2f1d35dcf1fe48a7cd8b230e55f5229a1ded438f687debade5bcf": "localhost/coreos/prometheus-operator@sha256:3daa69a8c6c2f1d35dcf1fe48a7cd8b230e55f5229a1ded438f687debade5bcf",
75+
"quay.io/coreos/prometheus-operator@sha256:5037b4e90dbb03ebdefaa547ddf6a1f748c8eeebeedf6b9d9f0913ad662b5731": "localhost/coreos/prometheus-operator@sha256:5037b4e90dbb03ebdefaa547ddf6a1f748c8eeebeedf6b9d9f0913ad662b5731",
76+
"docker.io/strimzi/cluster-operator:0.11.0": "localhost/strimzi/cluster-operator:0.11.0",
77+
"docker.io/strimzi/cluster-operator:0.11.1": "localhost/strimzi/cluster-operator:0.11.1",
78+
"docker.io/strimzi/operator:0.12.1": "localhost/strimzi/operator:0.12.1",
79+
"docker.io/strimzi/operator:0.12.2": "localhost/strimzi/operator:0.12.2",
8180
},
8281
},
8382
}

0 commit comments

Comments
 (0)
Please sign in to comment.