Skip to content

Commit

Permalink
get host attach from scbe instead of database
Browse files Browse the repository at this point in the history
  • Loading branch information
temp authored and Lior Tamari committed Nov 14, 2017
1 parent 23d1a1c commit 721f304
Show file tree
Hide file tree
Showing 8 changed files with 80 additions and 369 deletions.
80 changes: 7 additions & 73 deletions fakes/fake_ScbeDataModel.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

80 changes: 7 additions & 73 deletions fakes/fake_scbe_data_model_wrapper.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 2 additions & 13 deletions local/scbe/datamodel.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,9 @@ import (
//go:generate counterfeiter -o ../../fakes/fake_ScbeDataModel.go . ScbeDataModel
type ScbeDataModel interface {
DeleteVolume(name string) error
InsertVolume(volumeName string, wwn string, attachTo string, fstype string) error
InsertVolume(volumeName string, wwn string, fstype string) error
GetVolume(name string) (ScbeVolume, bool, error)
ListVolumes() ([]ScbeVolume, error)
UpdateVolumeAttachTo(volumeName string, scbeVolume ScbeVolume, host2attach string) error
}

type scbeDataModel struct {
Expand Down Expand Up @@ -77,14 +76,13 @@ func (d *scbeDataModel) DeleteVolume(name string) error {
}

// InsertVolume volume name and its details given in opts
func (d *scbeDataModel) InsertVolume(volumeName string, wwn string, attachTo string, fstype string) error {
func (d *scbeDataModel) InsertVolume(volumeName string, wwn string, fstype string) error {
defer d.logger.Trace(logs.DEBUG)()

volume := ScbeVolume{
Volume: resources.Volume{Name: volumeName,
Backend: fmt.Sprintf("%s", d.backend)},
WWN: wwn,
AttachTo: attachTo,
FSType: fstype,
}

Expand Down Expand Up @@ -134,12 +132,3 @@ func (d *scbeDataModel) ListVolumes() ([]ScbeVolume, error) {

return volumes, nil
}
func (d *scbeDataModel) UpdateVolumeAttachTo(volumeName string, scbeVolume ScbeVolume, host2attach string) error {
defer d.logger.Trace(logs.DEBUG)()

err := d.database.Table("scbe_volumes").Where("volume_id = ?", scbeVolume.ID).Update("attach_to", host2attach).Error
if err != nil {
return d.logger.ErrorRet(err, "failed", logs.Args{{"volumeName", volumeName}})
}
return nil
}
42 changes: 4 additions & 38 deletions local/scbe/datamodel_wrapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@ import (
type ScbeDataModelWrapper interface {
GetVolume(name string, mustExist bool) (ScbeVolume, error)
DeleteVolume(name string) error
InsertVolume(volumeName string, wwn string, attachTo string, fstype string) error
InsertVolume(volumeName string, wwn string, fstype string) error
ListVolumes() ([]ScbeVolume, error)
UpdateVolumeAttachTo(volumeName string, scbeVolume ScbeVolume, host2attach string) error
UpdateDatabaseVolume(newVolume *ScbeVolume)
}

Expand Down Expand Up @@ -125,7 +124,7 @@ func (d *scbeDataModelWrapper) DeleteVolume(name string) error {
return nil
}

func (d *scbeDataModelWrapper) InsertVolume(volumeName string, wwn string, attachTo string, fstype string) error {
func (d *scbeDataModelWrapper) InsertVolume(volumeName string, wwn string, fstype string) error {
defer d.logger.Trace(logs.DEBUG)()
var err error

Expand All @@ -137,7 +136,7 @@ func (d *scbeDataModelWrapper) InsertVolume(volumeName string, wwn string, attac
}

// work with memory object
d.UpdateDatabaseVolume(&ScbeVolume{Volume: resources.Volume{Name: volumeName, Backend: resources.SCBE}, WWN: wwn, AttachTo: attachTo, FSType: fstype})
d.UpdateDatabaseVolume(&ScbeVolume{Volume: resources.Volume{Name: volumeName, Backend: resources.SCBE}, WWN: wwn, FSType: fstype})

} else {

Expand All @@ -150,7 +149,7 @@ func (d *scbeDataModelWrapper) InsertVolume(volumeName string, wwn string, attac

// insert volume
dataModel := NewScbeDataModel(dbConnection.GetDb())
if err = dataModel.InsertVolume(volumeName, wwn, attachTo, fstype); err != nil {
if err = dataModel.InsertVolume(volumeName, wwn, fstype); err != nil {
return d.logger.ErrorRet(err, "dataModel.InsertVolume failed")
}
}
Expand Down Expand Up @@ -182,36 +181,3 @@ func (d *scbeDataModelWrapper) ListVolumes() ([]ScbeVolume, error) {

return volumes, nil
}

func (d *scbeDataModelWrapper) UpdateVolumeAttachTo(volumeName string, scbeVolume ScbeVolume, host2attach string) error {
defer d.logger.Trace(logs.DEBUG)()
var err error

if database.IsDatabaseVolume(volumeName) {

// sanity
if d.dbVolume == nil {
return d.logger.ErrorRet(&volAlreadyExistsError{volumeName}, "failed")
}

// work with memory object
d.dbVolume.AttachTo = host2attach

} else {

// open db connection
dbConnection := database.NewConnection()
if err = dbConnection.Open(); err != nil {
return d.logger.ErrorRet(err, "dbConnection.Open failed")
}
defer dbConnection.Close()

// delete volume
dataModel := NewScbeDataModel(dbConnection.GetDb())
if err = dataModel.UpdateVolumeAttachTo(volumeName, scbeVolume, host2attach); err != nil {
return d.logger.ErrorRet(err, "dataModel.UpdateVolumeAttachTo failed")
}
}

return nil
}

0 comments on commit 721f304

Please sign in to comment.