Merge pull request #2676 from colonwq/pr2660

Deleting CephObjectStoreUser does not delete secret
This commit is contained in:
Travis Nielsen authored and GitHub committed 2019-04-05 11:44:00 -06:00
commit 69936c170c
3 files changed
+27 -8

No files matched your search

+2 -2
View File
@@ -191,9 +191,9 @@ func deleteUser(context *clusterd.Context, u *cephv1.CephObjectStoreUser) error
}
}
err = context.Clientset.CoreV1().Secrets(u.Namespace).Delete("rook-ceph-object-user-"+u.Name, &metav1.DeleteOptions{})
err = context.Clientset.CoreV1().Secrets(u.Namespace).Delete(fmt.Sprintf("rook-ceph-object-user-%s-%s", u.Spec.Store, u.Name), &metav1.DeleteOptions{})
if err != nil {
logger.Warningf("failed to delete user %s secret. %+v", u.Name, err)
logger.Warningf("failed to delete user %s secret. %+v", fmt.Sprintf("rook-ceph-object-user-%s-%s", u.Spec.Store, u.Name), err)
}
logger.Infof("user %s deleted successfully", u.Name)
+8 -3
View File
@@ -22,6 +22,7 @@ import (
rgw "github.com/rook/rook/pkg/operator/ceph/object"
"github.com/rook/rook/tests/framework/installer"
"github.com/rook/rook/tests/framework/utils"
"strings"
)
// ObjectUserOperation is wrapper for k8s rook object user operations
@@ -48,8 +49,12 @@ func (o *ObjectUserOperation) GetUser(namespace string, store string, userid str
// UserSecretExists Function to check that user secret was created
func (o *ObjectUserOperation) UserSecretExists(namespace string, store string, userid string) bool {
_, err := o.k8sh.GetResource("-n", namespace, "secrets", "-l", "rook_object_store="+store, "-l", "user="+userid)
if err == nil {
message, err := o.k8sh.GetResource("-n", namespace, "secrets", "-l", "rook_object_store="+store, "-l", "user="+userid)
//GetResource(blah) returns success if blah is or is not found.
//err = success and found_sec not "No resources found." means it was found
//err = success and found_sec contains "No resources found." means it was not found
//err != success is an other error
if err == nil && !strings.Contains(message, "No resources found.") {
logger.Infof("Object User Secret Exists")
return true
}
@@ -70,7 +75,7 @@ func (o *ObjectUserOperation) Create(namespace string, userid string, displayNam
func (o *ObjectUserOperation) Delete(namespace string, userid string) error {
logger.Infof("Deleting the object store user via CRD")
if err := o.k8sh.DeleteResource("-n", namespace, "ObjectStoreUser", userid); err != nil {
if err := o.k8sh.DeleteResource("-n", namespace, "CephObjectStoreUser", userid); err != nil {
return err
}
return nil
+17 -3
View File
@@ -56,13 +56,20 @@ func runObjectE2ETest(helper *clients.TestClient, k8sh *utils.K8sHelper, s suite
logger.Infof("Step 1 : Create Object Store User")
cosuErr := helper.ObjectUserClient.Create(namespace, userid, userdisplayname, storeName)
require.Nil(s.T(), cosuErr)
logger.Infof("Waiting 5 seconds to ensure user was created")
time.Sleep(5 * time.Second)
require.True(s.T(), helper.ObjectUserClient.UserSecretExists(namespace, userid, storeName), "make sure user secret was created")
logger.Infof("Waiting 10 seconds to ensure user was created")
time.Sleep(10 * time.Second)
userInfo, gosuErr := helper.ObjectUserClient.GetUser(namespace, storeName, userid)
require.Nil(s.T(), gosuErr)
require.Equal(s.T(), userid, userInfo.UserID)
require.Equal(s.T(), userdisplayname, *userInfo.DisplayName)
logger.Infof("Checking to see if the user secret has been created")
i := 0
for i = 0; i < 4 && helper.ObjectUserClient.UserSecretExists(namespace, storeName, userid) == false; i++ {
logger.Infof("(%d) secret check sleeping for 5 seconds ...", i)
time.Sleep(5 * time.Second)
}
assert.True(s.T(), helper.ObjectUserClient.UserSecretExists(namespace, storeName, userid))
logger.Infof("Object store user created successfully")
/* TODO: We need bucket management tests.
@@ -123,6 +130,13 @@ func runObjectE2ETest(helper *clients.TestClient, k8sh *utils.K8sHelper, s suite
dosuErr := helper.ObjectUserClient.Delete(namespace, userid)
require.Nil(s.T(), dosuErr)
logger.Infof("Object store user deleted successfully")
logger.Infof("Checking to see if the user secret has been deleted")
i = 0
for i = 0; i < 4 && helper.ObjectUserClient.UserSecretExists(namespace, storeName, userid) == true; i++ {
logger.Infof("(%d) secret check sleeping for 5 seconds ...", i)
time.Sleep(5 * time.Second)
}
assert.False(s.T(), helper.ObjectUserClient.UserSecretExists(namespace, storeName, userid))
logger.Infof("Check that MGRs are not in a crashloop")
assert.True(s.T(), k8sh.CheckPodCountAndState("rook-ceph-mgr", namespace, 1, "Running"))