Skip to content

Commit

Permalink
Merge pull request #317 from linkernetworks/johnlin/volume-namespace
Browse files Browse the repository at this point in the history
[Bug] johnlin/volume namespace
  • Loading branch information
John-Lin authored Sep 18, 2018
2 parents edbd47b + d24b8d1 commit 446e133
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 13 deletions.
1 change: 1 addition & 0 deletions src/entity/volume.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ type Volume struct {
ID bson.ObjectId `bson:"_id,omitempty" json:"id" validate:"-"`
OwnerID bson.ObjectId `bson:"ownerID,omitempty" json:"ownerID" validate:"-"`
Name string `bson:"name" json:"name" validate:"required"`
Namespace string `bson:"namespace" json:"namespace" validate:"required"`
StorageName string `bson:"storageName" json:"storageName" validate:"required"`
AccessMode corev1.PersistentVolumeAccessMode `bson:"accessMode" json:"accessMode" validate:"required"`
Capacity string `bson:"capacity" json:"capacity" validate:"required"`
Expand Down
4 changes: 4 additions & 0 deletions src/server/handler_volume_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ func (suite *VolumeTestSuite) TestCreateVolume() {
volume := entity.Volume{
OwnerID: bson.NewObjectId(),
Name: tName,
Namespace: "default",
StorageName: suite.storage.Name,
Capacity: tCapacity,
AccessMode: tAccessMode,
Expand Down Expand Up @@ -130,6 +131,7 @@ func (suite *VolumeTestSuite) TestCreateVolumeWithInvalidParameter() {
volume := entity.Volume{
OwnerID: bson.NewObjectId(),
Name: tName,
Namespace: "default",
StorageName: namesgenerator.GetRandomName(0),
Capacity: tCapacity,
AccessMode: tAccessMode,
Expand Down Expand Up @@ -158,6 +160,7 @@ func (suite *VolumeTestSuite) TestDeleteVolume() {
ID: bson.NewObjectId(),
OwnerID: bson.NewObjectId(),
Name: tName,
Namespace: "default",
StorageName: namesgenerator.GetRandomName(0),
Capacity: tCapacity,
AccessMode: tAccessMode,
Expand Down Expand Up @@ -212,6 +215,7 @@ func (suite *VolumeTestSuite) TestListVolume() {
ID: bson.NewObjectId(),
OwnerID: bson.NewObjectId(),
Name: namesgenerator.GetRandomName(0),
Namespace: "default",
StorageName: namesgenerator.GetRandomName(0),
AccessMode: corev1.PersistentVolumeAccessMode("ReadOnlyMany"),
Capacity: "250",
Expand Down
6 changes: 2 additions & 4 deletions src/volume/volume.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ func getStorageClassName(session *mongo.Session, storageName string) (string, er

// CreateVolume is a function to create volume
func CreateVolume(sp *serviceprovider.Container, volume *entity.Volume) error {
namespace := "default"
session := sp.Mongo.NewSession()
defer session.Close()
//fetch the db to get the storageName
Expand All @@ -55,13 +54,12 @@ func CreateVolume(sp *serviceprovider.Container, volume *entity.Volume) error {

name := volume.GetPVCName()
pvc := getPVCInstance(volume, name, storageName)
_, err = sp.KubeCtl.CreatePVC(pvc, namespace)
_, err = sp.KubeCtl.CreatePVC(pvc, volume.Namespace)
return err
}

// DeleteVolume is a function to delete volume
func DeleteVolume(sp *serviceprovider.Container, volume *entity.Volume) error {
namespace := "default"
//Check the pod
session := sp.Mongo.NewSession()
defer session.Close()
Expand All @@ -80,5 +78,5 @@ func DeleteVolume(sp *serviceprovider.Container, volume *entity.Volume) error {
return fmt.Errorf("delete the volume [%s] fail, since the followings pods still ust it: %s", volume.Name, podNames)
}

return sp.KubeCtl.DeletePVC(volume.GetPVCName(), namespace)
return sp.KubeCtl.DeletePVC(volume.GetPVCName(), volume.Namespace)
}
20 changes: 11 additions & 9 deletions src/volume/volume_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ func (suite *VolumeTestSuite) TestGetPVCInstance() {
volume := &entity.Volume{
ID: bson.NewObjectId(),
Name: namesgenerator.GetRandomName(0),
Namespace: "default",
StorageName: namesgenerator.GetRandomName(0),
}

Expand All @@ -67,7 +68,6 @@ func (suite *VolumeTestSuite) TestGetStorageClassName() {
}

func (suite *VolumeTestSuite) TestCreateVolume() {
namespace := "default"
session := suite.sp.Mongo.NewSession()
defer session.Close()
storage := entity.Storage{
Expand All @@ -82,21 +82,22 @@ func (suite *VolumeTestSuite) TestCreateVolume() {
volume := &entity.Volume{
ID: bson.NewObjectId(),
Name: namesgenerator.GetRandomName(0),
Namespace: "default",
StorageName: storage.Name,
}

err := CreateVolume(suite.sp, volume)
suite.NoError(err)

name := volume.GetPVCName()
v, err := suite.sp.KubeCtl.GetPVC(name, namespace)
v, err := suite.sp.KubeCtl.GetPVC(name, volume.Namespace)
suite.NoError(err)
suite.NotNil(v)

err = DeleteVolume(suite.sp, volume)
suite.NoError(err)

v, err = suite.sp.KubeCtl.GetPVC(name, namespace)
v, err = suite.sp.KubeCtl.GetPVC(name, volume.Namespace)
suite.Error(err)
suite.Nil(v)
}
Expand All @@ -105,6 +106,7 @@ func (suite *VolumeTestSuite) TestCreateVolumeFail() {
volume := &entity.Volume{
ID: bson.NewObjectId(),
Name: namesgenerator.GetRandomName(0),
Namespace: "default",
StorageName: namesgenerator.GetRandomName(0),
}

Expand All @@ -113,10 +115,10 @@ func (suite *VolumeTestSuite) TestCreateVolumeFail() {
}

func (suite *VolumeTestSuite) TestDeleteVolumeFail() {
namespace := "default"
volume := &entity.Volume{
ID: bson.NewObjectId(),
Name: namesgenerator.GetRandomName(0),
ID: bson.NewObjectId(),
Name: namesgenerator.GetRandomName(0),
Namespace: "default",
}

session := suite.sp.Mongo.NewSession()
Expand Down Expand Up @@ -156,23 +158,23 @@ func (suite *VolumeTestSuite) TestDeleteVolumeFail() {
Status: corev1.PodStatus{
Phase: corev1.PodRunning,
},
}, namespace)
}, volume.Namespace)
suite.sp.KubeCtl.CreatePod(&corev1.Pod{
ObjectMeta: metav1.ObjectMeta{
Name: pods[1].Name,
},
Status: corev1.PodStatus{
Phase: corev1.PodRunning,
},
}, namespace)
}, volume.Namespace)
suite.sp.KubeCtl.CreatePod(&corev1.Pod{
ObjectMeta: metav1.ObjectMeta{
Name: namesgenerator.GetRandomName(0),
},
Status: corev1.PodStatus{
Phase: corev1.PodRunning,
},
}, namespace)
}, volume.Namespace)

err := DeleteVolume(suite.sp, volume)
suite.Error(err)
Expand Down
1 change: 1 addition & 0 deletions tests/04-storage-pod/volume.info
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"storageName": "@STORAGENAME@",
"name": "@VOLUMENAME@",
"namespace": "default",
"accessMode":"ReadWriteMany",
"capacity":"300Gi"
}

0 comments on commit 446e133

Please sign in to comment.