Skip to content

Commit

Permalink
volume ownerid
Browse files Browse the repository at this point in the history
  • Loading branch information
John-Lin committed Aug 23, 2018
1 parent 92bc734 commit 58a4825
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 14 deletions.
26 changes: 12 additions & 14 deletions src/server/handler_volume.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,27 +48,16 @@ func createVolume(ctx *web.Context) {
// Check whether this name has been used
v.ID = bson.NewObjectId()
v.CreatedAt = timeutils.Now()
//Generate the metaName for PVC meta name and we will use it future
v.OwnerID = bson.ObjectIdHex(mgoID)
// Generate the metaName for PVC meta name and we will use it future
if err := volume.CreateVolume(sp, &v); err != nil {
if errors.IsAlreadyExists(err) {
response.Conflict(req.Request, resp.ResponseWriter, fmt.Errorf("PVC Name: %s already existed", v.Name))
} else {
response.InternalServerError(req.Request, resp.ResponseWriter, err)
}
}
// create by who
user, err := backend.FindUserByID(session, bson.ObjectIdHex(mgoID))
if err != nil {
switch err {
case mgo.ErrNotFound:
response.Unauthorized(req.Request, resp.ResponseWriter, fmt.Errorf("Unauthorized"))
return
default:
response.InternalServerError(req.Request, resp.ResponseWriter, err)
return
}
}
v.CreatedBy = user

if err := session.Insert(entity.VolumeCollectionName, &v); err != nil {
if mgo.IsDup(err) {
response.Conflict(req.Request, resp.ResponseWriter, fmt.Errorf("Storage Provider Name: %s already existed", v.Name))
Expand All @@ -77,6 +66,9 @@ func createVolume(ctx *web.Context) {
}
return
}

// find owner in user entity
v.CreatedBy, _ = backend.FindUserByID(session, v.OwnerID)
resp.WriteHeaderAndEntity(http.StatusCreated, v)
}

Expand Down Expand Up @@ -158,6 +150,12 @@ func listVolume(ctx *web.Context) {
}
}

// insert users entity
for _, volume := range volumes {
// find owner in user entity
volume.CreatedBy, _ = backend.FindUserByID(session, volume.OwnerID)
}

count, err := session.Count(entity.VolumeCollectionName, bson.M{})
if err != nil {
response.InternalServerError(req.Request, resp.ResponseWriter, err)
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 @@ -72,6 +72,7 @@ func (suite *VolumeTestSuite) TestCreateVolume() {
tAccessMode := corev1.PersistentVolumeAccessMode("ReadOnlyMany")
tCapacity := "500G"
volume := entity.Volume{
OwnerID: bson.NewObjectId(),
Name: tName,
StorageName: suite.storage.Name,
Capacity: tCapacity,
Expand Down Expand Up @@ -123,6 +124,7 @@ func (suite *VolumeTestSuite) TestCreateVolumeWithInvalidParameter() {
tAccessMode := corev1.PersistentVolumeAccessMode("ReadOnlyMany")
tCapacity := "500G"
volume := entity.Volume{
OwnerID: bson.NewObjectId(),
Name: tName,
StorageName: namesgenerator.GetRandomName(0),
Capacity: tCapacity,
Expand Down Expand Up @@ -150,6 +152,7 @@ func (suite *VolumeTestSuite) TestDeleteVolume() {
tCapacity := "250"
volume := entity.Volume{
ID: bson.NewObjectId(),
OwnerID: bson.NewObjectId(),
Name: tName,
StorageName: namesgenerator.GetRandomName(0),
Capacity: tCapacity,
Expand Down Expand Up @@ -203,6 +206,7 @@ func (suite *VolumeTestSuite) TestListVolume() {
for i := 0; i < count; i++ {
volumes = append(volumes, entity.Volume{
ID: bson.NewObjectId(),
OwnerID: bson.NewObjectId(),
Name: namesgenerator.GetRandomName(0),
StorageName: namesgenerator.GetRandomName(0),
AccessMode: corev1.PersistentVolumeAccessMode("ReadOnlyMany"),
Expand Down

0 comments on commit 58a4825

Please sign in to comment.