File tree 2 files changed +31
-1
lines changed
2 files changed +31
-1
lines changed Original file line number Diff line number Diff line change 6
6
"io"
7
7
"io/ioutil"
8
8
"os"
9
+ "strings"
9
10
10
11
kerrors "k8s.io/apimachinery/pkg/api/errors"
11
12
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -98,11 +99,26 @@ func (o SecretOptions) GetServiceAccount() (*kapi.ServiceAccount, error) {
98
99
func (o SecretOptions ) GetSecretNames (secrets []* kapi.Secret ) sets.String {
99
100
names := sets.String {}
100
101
for _ , secret := range secrets {
101
- names .Insert (secret .Name )
102
+ names .Insert (parseSecretName ( secret .Name ) )
102
103
}
103
104
return names
104
105
}
105
106
107
+ // parseSecretName receives a resource name as either
108
+ // <resource type> / <name> or <name> and returns only the resource <name>.
109
+ func parseSecretName (name string ) string {
110
+ segs := strings .Split (name , "/" )
111
+ if len (segs ) < 2 {
112
+ return name
113
+ }
114
+
115
+ if segs [0 ] == "secret" || segs [0 ] == "secrets" {
116
+ return segs [1 ]
117
+ }
118
+
119
+ return name
120
+ }
121
+
106
122
// GetMountSecretNames Get a list of the names of the mount secrets associated
107
123
// with a service account
108
124
func (o SecretOptions ) GetMountSecretNames (serviceaccount * kapi.ServiceAccount ) sets.String {
Original file line number Diff line number Diff line change @@ -84,6 +84,20 @@ os::cmd::expect_success 'oc secrets add deployer basicauth sshauth --for=pull'
84
84
# make sure we can add as as pull secret and mount secret at once
85
85
os::cmd::expect_success ' oc secrets add deployer basicauth sshauth --for=pull,mount'
86
86
87
+ # attach secrets to service account
88
+ # test that those secrets can be unlinked
89
+ # after they have been deleted.
90
+ os::cmd::expect_success ' oc create secret generic deleted-secret'
91
+ os::cmd::expect_success ' oc secrets link deployer deleted-secret'
92
+ # confirm our soon-to-be-deleted secret has been linked
93
+ os::cmd::expect_success_and_text " oc get serviceaccount deployer -o jsonpath='{.secrets[?(@.name==\" deleted-secret\" )]}'" ' deleted\-secret'
94
+ os::cmd::expect_success ' oc get serviceaccounts/deployer -o yaml |grep -q deleted-secret'
95
+ # delete "deleted-secret" and attempt to unlink from service account
96
+ os::cmd::expect_success ' oc delete secret deleted-secret'
97
+ os::cmd::expect_failure_and_text ' oc secrets unlink deployer secrets/deleted-secret' ' Unlinked deleted secrets'
98
+ # ensure already-deleted secret has been unlinked
99
+ os::cmd::expect_success_and_not_text " oc get serviceaccount deployer -o jsonpath='{.secrets[?(@.name==\" deleted-secret\" )]}'" ' deleted\-secret'
100
+
87
101
# attach secrets to service account
88
102
# single secret with prefix
89
103
os::cmd::expect_success ' oc secrets link deployer basicauth'
You can’t perform that action at this time.
0 commit comments