Skip to content

Commit 2c9f185

Browse files
committedNov 13, 2019
[bug] - add version and skiprange to operatorbundle table
1 parent 5d342b2 commit 2c9f185

8 files changed

+111
-49
lines changed
 

‎configmap.example.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -6184,6 +6184,7 @@ data:
61846184
namespace: placeholder
61856185
annotations:
61866186
tectonic-visibility: ocs
6187+
olm.skipRange: "< 0.6.0"
61876188
alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"<full-s3-path>","awsSecret":"<aws-secret>"}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":["<etcd-cluster-endpoints>"],"storageType":"S3","s3":{"path":"<full-s3-path>","awsSecret":"<aws-secret>"}}}]'
61886189
spec:
61896190
displayName: etcd

‎manifests/etcd/0.9.2/etcdoperator.v0.9.2.clusterserviceversion.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ metadata:
66
namespace: placeholder
77
annotations:
88
tectonic-visibility: ocs
9+
olm.skipRange: "< 0.6.0"
910
alm-examples: '[{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdCluster","metadata":{"name":"example","namespace":"default"},"spec":{"size":3,"version":"3.2.13"}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdRestore","metadata":{"name":"example-etcd-cluster"},"spec":{"etcdCluster":{"name":"example-etcd-cluster"},"backupStorageType":"S3","s3":{"path":"<full-s3-path>","awsSecret":"<aws-secret>"}}},{"apiVersion":"etcd.database.coreos.com/v1beta2","kind":"EtcdBackup","metadata":{"name":"example-etcd-cluster-backup"},"spec":{"etcdEndpoints":["<etcd-cluster-endpoints>"],"storageType":"S3","s3":{"path":"<full-s3-path>","awsSecret":"<aws-secret>"}}}]'
1011
spec:
1112
relatedImages:

‎pkg/registry/bundle.go

+14
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,20 @@ func (b *Bundle) ClusterServiceVersion() (*ClusterServiceVersion, error) {
7575
return b.csv, nil
7676
}
7777

78+
func (b *Bundle) Version() (string, error) {
79+
if err := b.cache(); err != nil {
80+
return "", err
81+
}
82+
return b.csv.GetVersion()
83+
}
84+
85+
func (b *Bundle) SkipRange() (string, error) {
86+
if err := b.cache(); err != nil {
87+
return "", err
88+
}
89+
return b.csv.GetSkipRange(), nil
90+
}
91+
7892
func (b *Bundle) CustomResourceDefinitions() ([]*v1beta1.CustomResourceDefinition, error) {
7993
if err := b.cache(); err != nil {
8094
return nil, err

‎pkg/registry/csv.go

+14
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ const (
3232

3333
// The yaml attribute that specifies the related images of the ClusterServiceVersion
3434
relatedImages = "relatedImages"
35+
36+
// The yaml attribute that specifies the skipRange of the ClusterServiceVersion
37+
skipRangeAnnotationKey = "olm.skipRange"
3538
)
3639

3740
// ClusterServiceVersion is a structured representation of cluster service
@@ -95,6 +98,17 @@ func (csv *ClusterServiceVersion) GetVersion() (string, error) {
9598
return v, nil
9699
}
97100

101+
// GetSkipRange returns the skiprange of the CSV
102+
//
103+
// If not defined, the function returns an empty string.
104+
func (csv *ClusterServiceVersion) GetSkipRange() string {
105+
skipRange, ok := csv.Annotations[skipRangeAnnotationKey]
106+
if !ok {
107+
return ""
108+
}
109+
return skipRange
110+
}
111+
98112
// GetSkips returns the name of the older ClusterServiceVersion objects that
99113
// are skipped by this ClusterServiceVersion object.
100114
//

‎pkg/server/server_test.go

+40-30
Large diffs are not rendered by default.

‎pkg/sqlite/configmap_test.go

+11-9
Large diffs are not rendered by default.

‎pkg/sqlite/directory_test.go

+8-6
Large diffs are not rendered by default.

‎pkg/sqlite/load.go

+22-4
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func (s *SQLLoader) AddOperatorBundle(bundle *registry.Bundle) error {
5656
tx.Rollback()
5757
}()
5858

59-
stmt, err := tx.Prepare("insert into operatorbundle(name, csv, bundle, bundlepath) values(?, ?, ?, ?)")
59+
stmt, err := tx.Prepare("insert into operatorbundle(name, csv, bundle, bundlepath, version, skiprange) values(?, ?, ?, ?, ?, ?)")
6060
if err != nil {
6161
return err
6262
}
@@ -77,7 +77,16 @@ func (s *SQLLoader) AddOperatorBundle(bundle *registry.Bundle) error {
7777
return fmt.Errorf("csv name not found")
7878
}
7979

80-
if _, err := stmt.Exec(csvName, csvBytes, bundleBytes, bundleImage); err != nil {
80+
version, err := bundle.Version()
81+
if err != nil {
82+
return err
83+
}
84+
skiprange, err := bundle.SkipRange()
85+
if err != nil {
86+
return err
87+
}
88+
89+
if _, err := stmt.Exec(csvName, csvBytes, bundleBytes, bundleImage, version, skiprange); err != nil {
8190
return err
8291
}
8392

@@ -618,7 +627,7 @@ func (s *SQLLoader) AddBundlePackageChannels(manifest registry.PackageManifest,
618627
tx.Rollback()
619628
}()
620629

621-
stmt, err := tx.Prepare("insert into operatorbundle(name, csv, bundle, bundlepath) values(?, ?, ?, ?)")
630+
stmt, err := tx.Prepare("insert into operatorbundle(name, csv, bundle, bundlepath, version, skiprange) values(?, ?, ?, ?, ?, ?)")
622631
if err != nil {
623632
return err
624633
}
@@ -639,7 +648,16 @@ func (s *SQLLoader) AddBundlePackageChannels(manifest registry.PackageManifest,
639648
return fmt.Errorf("csv name not found")
640649
}
641650

642-
if _, err := stmt.Exec(csvName, csvBytes, bundleBytes, bundleImage); err != nil {
651+
version, err := bundle.Version()
652+
if err != nil {
653+
return err
654+
}
655+
skiprange, err := bundle.SkipRange()
656+
if err != nil {
657+
return err
658+
}
659+
660+
if _, err := stmt.Exec(csvName, csvBytes, bundleBytes, bundleImage, version, skiprange); err != nil {
643661
return err
644662
}
645663

0 commit comments

Comments
 (0)
Please sign in to comment.