Skip to content

Commit 613f2d2

Browse files
committed
Migrate (Cluster)ImagePolicy to v1
Signed-off-by: Qi Wang <qiwan@redhat.com>
1 parent f30fb1b commit 613f2d2

File tree

5 files changed

+151
-153
lines changed

5 files changed

+151
-153
lines changed

pkg/controller/bootstrap/bootstrap.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ func (b *Bootstrap) Run(destDir string) error {
8787
icspRules []*apioperatorsv1alpha1.ImageContentSourcePolicy
8888
idmsRules []*apicfgv1.ImageDigestMirrorSet
8989
itmsRules []*apicfgv1.ImageTagMirrorSet
90-
clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy
91-
imagePolicies []*apicfgv1alpha1.ImagePolicy
90+
clusterImagePolicies []*apicfgv1.ClusterImagePolicy
91+
imagePolicies []*apicfgv1.ImagePolicy
9292
imgCfg *apicfgv1.Image
9393
apiServer *apicfgv1.APIServer
9494
)
@@ -138,9 +138,9 @@ func (b *Bootstrap) Run(destDir string) error {
138138
itmsRules = append(itmsRules, obj)
139139
case *apicfgv1.Image:
140140
imgCfg = obj
141-
case *apicfgv1alpha1.ClusterImagePolicy:
141+
case *apicfgv1.ClusterImagePolicy:
142142
clusterImagePolicies = append(clusterImagePolicies, obj)
143-
case *apicfgv1alpha1.ImagePolicy:
143+
case *apicfgv1.ImagePolicy:
144144
imagePolicies = append(imagePolicies, obj)
145145
case *apicfgv1.FeatureGate:
146146
if obj.GetName() == ctrlcommon.ClusterFeatureInstanceName {

pkg/controller/container-runtime-config/container_runtime_config_controller.go

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,12 @@ import (
1212
signature "github.com/containers/image/v5/signature"
1313
ign3types "github.com/coreos/ignition/v2/config/v3_5/types"
1414
apicfgv1 "github.com/openshift/api/config/v1"
15-
apicfgv1alpha1 "github.com/openshift/api/config/v1alpha1"
1615
features "github.com/openshift/api/features"
1716
apioperatorsv1alpha1 "github.com/openshift/api/operator/v1alpha1"
1817
configclientset "github.com/openshift/client-go/config/clientset/versioned"
1918
configinformers "github.com/openshift/client-go/config/informers/externalversions"
2019
cligoinformersv1 "github.com/openshift/client-go/config/informers/externalversions/config/v1"
2120
cligolistersv1 "github.com/openshift/client-go/config/listers/config/v1"
22-
cligolistersv1alpha1 "github.com/openshift/client-go/config/listers/config/v1alpha1"
2321
runtimeutils "github.com/openshift/runtime-utils/pkg/registries"
2422

2523
operatorinformersv1alpha1 "github.com/openshift/client-go/operator/informers/externalversions/operator/v1alpha1"
@@ -107,10 +105,10 @@ type Controller struct {
107105
itmsListerSynced cache.InformerSynced
108106

109107
configInformerFactory configinformers.SharedInformerFactory
110-
clusterImagePolicyLister cligolistersv1alpha1.ClusterImagePolicyLister
108+
clusterImagePolicyLister cligolistersv1.ClusterImagePolicyLister
111109
clusterImagePolicyListerSynced cache.InformerSynced
112110

113-
imagePolicyLister cligolistersv1alpha1.ImagePolicyLister
111+
imagePolicyLister cligolistersv1.ImagePolicyLister
114112
imagePolicyListerSynced cache.InformerSynced
115113
addedPolicyObservers bool
116114

@@ -320,15 +318,15 @@ func (ctrl *Controller) addImagePolicyObservers() {
320318
UpdateFunc: ctrl.clusterImagePolicyUpdated,
321319
DeleteFunc: ctrl.clusterImagePolicyDeleted,
322320
})
323-
ctrl.clusterImagePolicyLister = ctrl.configInformerFactory.Config().V1alpha1().ClusterImagePolicies().Lister()
321+
ctrl.clusterImagePolicyLister = ctrl.configInformerFactory.Config().V1().ClusterImagePolicies().Lister()
324322
ctrl.clusterImagePolicyListerSynced = ctrl.configInformerFactory.Config().V1alpha1().ClusterImagePolicies().Informer().HasSynced
325323

326324
ctrl.configInformerFactory.Config().V1alpha1().ImagePolicies().Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
327325
AddFunc: ctrl.imagePolicyAdded,
328326
UpdateFunc: ctrl.imagePolicyUpdated,
329327
DeleteFunc: ctrl.imagePolicyDeleted,
330328
})
331-
ctrl.imagePolicyLister = ctrl.configInformerFactory.Config().V1alpha1().ImagePolicies().Lister()
329+
ctrl.imagePolicyLister = ctrl.configInformerFactory.Config().V1().ImagePolicies().Lister()
332330
ctrl.imagePolicyListerSynced = ctrl.configInformerFactory.Config().V1alpha1().ImagePolicies().Informer().HasSynced
333331
}
334332

@@ -866,24 +864,24 @@ func (ctrl *Controller) syncImageConfig(key string) error {
866864
var (
867865
registriesBlocked, policyBlocked, allowedRegs []string
868866
releaseImage string
869-
clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy
867+
clusterImagePolicies []*apicfgv1.ClusterImagePolicy
870868
clusterScopePolicies map[string]signature.PolicyRequirements
871-
imagePolicies []*apicfgv1alpha1.ImagePolicy
869+
imagePolicies []*apicfgv1.ImagePolicy
872870
scopeNamespacePolicies map[string]map[string]signature.PolicyRequirements
873871
)
874872

875873
if ctrl.sigstoreAPIEnabled() && ctrl.addedPolicyObservers {
876874
// Find all ClusterImagePolicy objects
877875
clusterImagePolicies, err = ctrl.clusterImagePolicyLister.List(labels.Everything())
878876
if err != nil && errors.IsNotFound(err) {
879-
clusterImagePolicies = []*apicfgv1alpha1.ClusterImagePolicy{}
877+
clusterImagePolicies = []*apicfgv1.ClusterImagePolicy{}
880878
} else if err != nil {
881879
return nil
882880
}
883881
// Find all ImagePolicy objects
884882
imagePolicies, err = ctrl.imagePolicyLister.List(labels.Everything())
885883
if err != nil && errors.IsNotFound(err) {
886-
imagePolicies = []*apicfgv1alpha1.ImagePolicy{}
884+
imagePolicies = []*apicfgv1.ImagePolicy{}
887885
} else if err != nil {
888886
return nil
889887
}
@@ -1068,7 +1066,7 @@ func registriesConfigIgnition(templateDir string, controllerConfig *mcfgv1.Contr
10681066

10691067
// getValidScopePolicies returns a map[scope]policyRequirement from ClusterImagePolicy, a map[scope][namespace]policyRequirement from ImagePolicy CRs.
10701068
// It skips ImagePolicy scopes that conflict with ClusterImagePolicy scopes and logs the conflicting scopes in the ImagePolicy Status.
1071-
func getValidScopePolicies(clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy, imagePolicies []*apicfgv1alpha1.ImagePolicy, ctrl *Controller) (map[string]signature.PolicyRequirements, map[string]map[string]signature.PolicyRequirements, error) {
1069+
func getValidScopePolicies(clusterImagePolicies []*apicfgv1.ClusterImagePolicy, imagePolicies []*apicfgv1.ImagePolicy, ctrl *Controller) (map[string]signature.PolicyRequirements, map[string]map[string]signature.PolicyRequirements, error) {
10721070
clusterScopePolicies := make(map[string]signature.PolicyRequirements)
10731071
namespacePolicies := make(map[string]map[string]signature.PolicyRequirements)
10741072

@@ -1110,7 +1108,7 @@ func getValidScopePolicies(clusterImagePolicies []*apicfgv1alpha1.ClusterImagePo
11101108
if len(conflictScopes) > 0 {
11111109
msg := fmt.Sprintf("has conflicting scope(s) %q that equal to or nest inside existing clusterimagepolicy, only policy from clusterimagepolicy scope(s) will be applied", conflictScopes)
11121110
klog.V(2).Info(msg)
1113-
ctrl.syncImagePolicyStatusOnly(namespace, imagePolicy.ObjectMeta.Name, apicfgv1alpha1.ImagePolicyPending, reasonConflictScopes, msg, metav1.ConditionFalse)
1111+
ctrl.syncImagePolicyStatusOnly(namespace, imagePolicy.ObjectMeta.Name, apicfgv1.ImagePolicyPending, reasonConflictScopes, msg, metav1.ConditionFalse)
11141112
}
11151113
}
11161114
}
@@ -1141,7 +1139,7 @@ func (ctrl *Controller) syncImagePolicyStatusOnly(namespace, imagepolicy, condit
11411139
// RunImageBootstrap generates MachineConfig objects for mcpPools that would have been generated by syncImageConfig,
11421140
// except that mcfgv1.Image is not available.
11431141
func RunImageBootstrap(templateDir string, controllerConfig *mcfgv1.ControllerConfig, mcpPools []*mcfgv1.MachineConfigPool, icspRules []*apioperatorsv1alpha1.ImageContentSourcePolicy,
1144-
idmsRules []*apicfgv1.ImageDigestMirrorSet, itmsRules []*apicfgv1.ImageTagMirrorSet, imgCfg *apicfgv1.Image, clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy, imagePolicies []*apicfgv1alpha1.ImagePolicy,
1142+
idmsRules []*apicfgv1.ImageDigestMirrorSet, itmsRules []*apicfgv1.ImageTagMirrorSet, imgCfg *apicfgv1.Image, clusterImagePolicies []*apicfgv1.ClusterImagePolicy, imagePolicies []*apicfgv1.ImagePolicy,
11451143
fgHandler ctrlcommon.FeatureGatesHandler) ([]*mcfgv1.MachineConfig, error) {
11461144

11471145
var (

pkg/controller/container-runtime-config/container_runtime_config_controller_test.go

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import (
3030

3131
ign3types "github.com/coreos/ignition/v2/config/v3_5/types"
3232
apicfgv1 "github.com/openshift/api/config/v1"
33-
apicfgv1alpha1 "github.com/openshift/api/config/v1alpha1"
3433
features "github.com/openshift/api/features"
3534
mcfgv1 "github.com/openshift/api/machineconfiguration/v1"
3635
apioperatorsv1alpha1 "github.com/openshift/api/operator/v1alpha1"
@@ -74,8 +73,8 @@ type fixture struct {
7473
icspLister []*apioperatorsv1alpha1.ImageContentSourcePolicy
7574
idmsLister []*apicfgv1.ImageDigestMirrorSet
7675
itmsLister []*apicfgv1.ImageTagMirrorSet
77-
clusterImagePolicyLister []*apicfgv1alpha1.ClusterImagePolicy
78-
imagePolicyLister []*apicfgv1alpha1.ImagePolicy
76+
clusterImagePolicyLister []*apicfgv1.ClusterImagePolicy
77+
imagePolicyLister []*apicfgv1.ImagePolicy
7978

8079
actions []core.Action
8180
skipActionsValidation bool
@@ -211,20 +210,20 @@ func newClusterVersionConfig(name, desiredImage string) *apicfgv1.ClusterVersion
211210
}
212211
}
213212

214-
func newClusterImagePolicyWithPublicKey(name string, scopes []string, keyData []byte) *apicfgv1alpha1.ClusterImagePolicy {
215-
imgScopes := []apicfgv1alpha1.ImageScope{}
213+
func newClusterImagePolicyWithPublicKey(name string, scopes []string, keyData []byte) *apicfgv1.ClusterImagePolicy {
214+
imgScopes := []apicfgv1.ImageScope{}
216215
for _, scope := range scopes {
217-
imgScopes = append(imgScopes, apicfgv1alpha1.ImageScope(scope))
216+
imgScopes = append(imgScopes, apicfgv1.ImageScope(scope))
218217
}
219-
return &apicfgv1alpha1.ClusterImagePolicy{
220-
TypeMeta: metav1.TypeMeta{APIVersion: apicfgv1alpha1.SchemeGroupVersion.String()},
218+
return &apicfgv1.ClusterImagePolicy{
219+
TypeMeta: metav1.TypeMeta{APIVersion: apicfgv1.SchemeGroupVersion.String()},
221220
ObjectMeta: metav1.ObjectMeta{Name: name, UID: types.UID(utilrand.String(5)), Generation: 1},
222-
Spec: apicfgv1alpha1.ClusterImagePolicySpec{
221+
Spec: apicfgv1.ClusterImagePolicySpec{
223222
Scopes: imgScopes,
224-
Policy: apicfgv1alpha1.Policy{
225-
RootOfTrust: apicfgv1alpha1.PolicyRootOfTrust{
226-
PolicyType: apicfgv1alpha1.PublicKeyRootOfTrust,
227-
PublicKey: &apicfgv1alpha1.PublicKey{
223+
Policy: apicfgv1.Policy{
224+
RootOfTrust: apicfgv1.PolicyRootOfTrust{
225+
PolicyType: apicfgv1.PublicKeyRootOfTrust,
226+
PublicKey: &apicfgv1.PublicKey{
228227
KeyData: keyData,
229228
},
230229
},
@@ -233,20 +232,20 @@ func newClusterImagePolicyWithPublicKey(name string, scopes []string, keyData []
233232
}
234233
}
235234

236-
func newImagePolicyWithPublicKey(name, namespace string, scopes []string, keyData []byte) *apicfgv1alpha1.ImagePolicy {
237-
imgScopes := []apicfgv1alpha1.ImageScope{}
235+
func newImagePolicyWithPublicKey(name, namespace string, scopes []string, keyData []byte) *apicfgv1.ImagePolicy {
236+
imgScopes := []apicfgv1.ImageScope{}
238237
for _, scope := range scopes {
239-
imgScopes = append(imgScopes, apicfgv1alpha1.ImageScope(scope))
238+
imgScopes = append(imgScopes, apicfgv1.ImageScope(scope))
240239
}
241-
return &apicfgv1alpha1.ImagePolicy{
242-
TypeMeta: metav1.TypeMeta{APIVersion: apicfgv1alpha1.SchemeGroupVersion.String()},
240+
return &apicfgv1.ImagePolicy{
241+
TypeMeta: metav1.TypeMeta{APIVersion: apicfgv1.SchemeGroupVersion.String()},
243242
ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: namespace, UID: types.UID(utilrand.String(5)), Generation: 1},
244-
Spec: apicfgv1alpha1.ImagePolicySpec{
243+
Spec: apicfgv1.ImagePolicySpec{
245244
Scopes: imgScopes,
246-
Policy: apicfgv1alpha1.Policy{
247-
RootOfTrust: apicfgv1alpha1.PolicyRootOfTrust{
248-
PolicyType: apicfgv1alpha1.PublicKeyRootOfTrust,
249-
PublicKey: &apicfgv1alpha1.PublicKey{
245+
Policy: apicfgv1.Policy{
246+
RootOfTrust: apicfgv1.PolicyRootOfTrust{
247+
PolicyType: apicfgv1.PublicKeyRootOfTrust,
248+
PublicKey: &apicfgv1.PublicKey{
250249
KeyData: keyData,
251250
},
252251
},
@@ -323,10 +322,10 @@ func (f *fixture) newController() *Controller {
323322
ci.Config().V1().ImageTagMirrorSets().Informer().GetIndexer().Add(c)
324323
}
325324
for _, c := range f.clusterImagePolicyLister {
326-
ci.Config().V1alpha1().ClusterImagePolicies().Informer().GetIndexer().Add(c)
325+
ci.Config().V1().ClusterImagePolicies().Informer().GetIndexer().Add(c)
327326
}
328327
for _, c := range f.imagePolicyLister {
329-
ci.Config().V1alpha1().ImagePolicies().Informer().GetIndexer().Add(c)
328+
ci.Config().V1().ImagePolicies().Informer().GetIndexer().Add(c)
330329
}
331330

332331
return c
@@ -473,7 +472,7 @@ type registriesConfigAndPolicyVerifyOptions struct {
473472
numberOfImagePolicyNamespaces int
474473
}
475474

476-
func (f *fixture) verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mcName string, imgcfg *apicfgv1.Image, icsp *apioperatorsv1alpha1.ImageContentSourcePolicy, idms *apicfgv1.ImageDigestMirrorSet, itms *apicfgv1.ImageTagMirrorSet, clusterImagePolicy *apicfgv1alpha1.ClusterImagePolicy, imagePolicy *apicfgv1alpha1.ImagePolicy, releaseImageReg string, opts registriesConfigAndPolicyVerifyOptions) {
475+
func (f *fixture) verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mcName string, imgcfg *apicfgv1.Image, icsp *apioperatorsv1alpha1.ImageContentSourcePolicy, idms *apicfgv1.ImageDigestMirrorSet, itms *apicfgv1.ImageTagMirrorSet, clusterImagePolicy *apicfgv1.ClusterImagePolicy, imagePolicy *apicfgv1.ImagePolicy, releaseImageReg string, opts registriesConfigAndPolicyVerifyOptions) {
477476
icsps := []*apioperatorsv1alpha1.ImageContentSourcePolicy{}
478477
if icsp != nil {
479478
icsps = append(icsps, icsp)
@@ -486,11 +485,11 @@ func (f *fixture) verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mcNa
486485
if itms != nil {
487486
itmss = append(itmss, itms)
488487
}
489-
clusterImagePolicies := []*apicfgv1alpha1.ClusterImagePolicy{}
488+
clusterImagePolicies := []*apicfgv1.ClusterImagePolicy{}
490489
if clusterImagePolicy != nil {
491490
clusterImagePolicies = append(clusterImagePolicies, clusterImagePolicy)
492491
}
493-
imagePolicies := []*apicfgv1alpha1.ImagePolicy{}
492+
imagePolicies := []*apicfgv1.ImagePolicy{}
494493
if imagePolicy != nil {
495494
imagePolicies = append(imagePolicies, imagePolicy)
496495
}
@@ -499,7 +498,7 @@ func (f *fixture) verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mcNa
499498
verifyRegistriesConfigAndPolicyJSONContents(t, updatedMC, mcName, imgcfg, icsps, idmss, itmss, clusterImagePolicies, imagePolicies, releaseImageReg, opts)
500499
}
501500

502-
func verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mc *mcfgv1.MachineConfig, mcName string, imgcfg *apicfgv1.Image, icsps []*apioperatorsv1alpha1.ImageContentSourcePolicy, idmss []*apicfgv1.ImageDigestMirrorSet, itmss []*apicfgv1.ImageTagMirrorSet, clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy, imagePolicies []*apicfgv1alpha1.ImagePolicy, releaseImageReg string, opts registriesConfigAndPolicyVerifyOptions) {
501+
func verifyRegistriesConfigAndPolicyJSONContents(t *testing.T, mc *mcfgv1.MachineConfig, mcName string, imgcfg *apicfgv1.Image, icsps []*apioperatorsv1alpha1.ImageContentSourcePolicy, idmss []*apicfgv1.ImageDigestMirrorSet, itmss []*apicfgv1.ImageTagMirrorSet, clusterImagePolicies []*apicfgv1.ClusterImagePolicy, imagePolicies []*apicfgv1.ImagePolicy, releaseImageReg string, opts registriesConfigAndPolicyVerifyOptions) {
503502
// This is not testing updateRegistriesConfig, which has its own tests; this verifies the created object contains the expected
504503
// configuration file.
505504
// First get the valid blocked registries to ensure we don't block the registry where the release image is from
@@ -1237,8 +1236,8 @@ func TestRunImageBootstrap(t *testing.T) {
12371236
icspRules []*apioperatorsv1alpha1.ImageContentSourcePolicy
12381237
idmsRules []*apicfgv1.ImageDigestMirrorSet
12391238
itmsRules []*apicfgv1.ImageTagMirrorSet
1240-
clusterImagePolicies []*apicfgv1alpha1.ClusterImagePolicy
1241-
imagePolicies []*apicfgv1alpha1.ImagePolicy
1239+
clusterImagePolicies []*apicfgv1.ClusterImagePolicy
1240+
imagePolicies []*apicfgv1.ImagePolicy
12421241
imagePolicyNamespaces int
12431242
}{
12441243
{
@@ -1267,10 +1266,10 @@ func TestRunImageBootstrap(t *testing.T) {
12671266
},
12681267
},
12691268
{
1270-
clusterImagePolicies: []*apicfgv1alpha1.ClusterImagePolicy{
1269+
clusterImagePolicies: []*apicfgv1.ClusterImagePolicy{
12711270
&testClusterImagePolicy,
12721271
},
1273-
imagePolicies: []*apicfgv1alpha1.ImagePolicy{
1272+
imagePolicies: []*apicfgv1.ImagePolicy{
12741273
&testImagePolicy,
12751274
},
12761275
imagePolicyNamespaces: 1,

0 commit comments

Comments
 (0)