Skip to content

Commit 7ddcbe3

Browse files
Merge pull request #387 from RadekManak/ash-leases-rbac
OCPBUGS-54427: Add rbac leases rbac for cloud-provider on Azure stack hub
2 parents 09f143b + be05797 commit 7ddcbe3

File tree

5 files changed

+52
-3
lines changed

5 files changed

+52
-3
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
apiVersion: rbac.authorization.k8s.io/v1
3+
kind: Role
4+
metadata:
5+
name: azure-cloud-provider
6+
namespace: kube-system
7+
annotations:
8+
capability.openshift.io/name: CloudControllerManager
9+
include.release.openshift.io/self-managed-high-availability: "true"
10+
include.release.openshift.io/single-node-developer: "true"
11+
rules:
12+
- apiGroups:
13+
- coordination.k8s.io
14+
resources:
15+
- leases
16+
resourceNames:
17+
- aks-managed-resource-locker
18+
verbs:
19+
- get
20+
- list
21+
- update
22+
# Create cannot be restricted by resource name
23+
- apiGroups:
24+
- coordination.k8s.io
25+
resources:
26+
- leases
27+
verbs:
28+
- create
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
apiVersion: rbac.authorization.k8s.io/v1
3+
kind: RoleBinding
4+
metadata:
5+
name: azure-cloud-provider:azure-cloud-provider
6+
namespace: kube-system
7+
roleRef:
8+
kind: Role
9+
name: azure-cloud-provider
10+
apiGroup: rbac.authorization.k8s.io
11+
subjects:
12+
- kind: ServiceAccount
13+
namespace: kube-system
14+
name: azure-cloud-provider

pkg/cloud/azurestack/azurestack.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/asaskevich/govalidator"
99
configv1 "github.com/openshift/api/config/v1"
1010
appsv1 "k8s.io/api/apps/v1"
11+
rbacv1 "k8s.io/api/rbac/v1"
1112
azureconsts "sigs.k8s.io/cloud-provider-azure/pkg/consts"
1213
azureconfig "sigs.k8s.io/cloud-provider-azure/pkg/provider/config"
1314
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -24,6 +25,8 @@ var (
2425
templates = []common.TemplateSource{
2526
{ReferenceObject: &appsv1.Deployment{}, EmbedFsPath: "assets/cloud-controller-manager-deployment.yaml"},
2627
{ReferenceObject: &appsv1.DaemonSet{}, EmbedFsPath: "assets/cloud-node-manager-daemonset.yaml"},
28+
{ReferenceObject: &rbacv1.Role{}, EmbedFsPath: "assets/azure-cloud-provider-role.yaml"},
29+
{ReferenceObject: &rbacv1.RoleBinding{}, EmbedFsPath: "assets/azure-cloud-provider-rolebinding.yaml"},
2730
}
2831
)
2932

pkg/cloud/azurestack/azurestack_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func TestResourcesRenderingSmoke(t *testing.T) {
6868
}
6969

7070
resources := assets.GetRenderedResources()
71-
assert.Len(t, resources, 2)
71+
assert.Len(t, resources, 4)
7272
})
7373
}
7474
}

pkg/cloud/cloud_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,20 +187,24 @@ func TestGetResources(t *testing.T) {
187187
}, {
188188
name: "Azure Stack resources returned as expected",
189189
testPlatform: platformsMap["AzureStackHub"],
190-
expectedResourceCount: 3,
190+
expectedResourceCount: 5,
191191
expectedResourcesKindName: []string{
192192
"Deployment/azure-cloud-controller-manager",
193193
"DaemonSet/azure-cloud-node-manager",
194+
"Role/azure-cloud-provider",
195+
"RoleBinding/azure-cloud-provider:azure-cloud-provider",
194196
"PodDisruptionBudget/azure-cloud-controller-manager",
195197
},
196198
}, {
197199
name: "Azure Stack resources returned as expected with single node",
198200
testPlatform: platformsMap["AzureStackHub"],
199-
expectedResourceCount: 2,
201+
expectedResourceCount: 4,
200202
singleReplica: true,
201203
expectedResourcesKindName: []string{
202204
"Deployment/azure-cloud-controller-manager",
203205
"DaemonSet/azure-cloud-node-manager",
206+
"Role/azure-cloud-provider",
207+
"RoleBinding/azure-cloud-provider:azure-cloud-provider",
204208
},
205209
}, {
206210
name: "VSphere resources returned as expected",

0 commit comments

Comments
 (0)