The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/7286
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) === Second batch of db function renames, mainly image-related.
From e6cdecc9de8742e865f2dcf533ac80923654d201 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 14:51:34 +0100 Subject: [PATCH 01/31] lxd/db: Rename DevicesAdd to AddDevicesToEntity Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/devices.go | 5 +++-- lxd/instance/drivers/driver_lxc.go | 2 +- lxd/instance/drivers/driver_qemu.go | 2 +- lxd/main_test.go | 2 +- lxd/patches.go | 2 +- lxd/profiles_utils.go | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lxd/db/devices.go b/lxd/db/devices.go index e4fca429ed..bf4ada6ab1 100644 --- a/lxd/db/devices.go +++ b/lxd/db/devices.go @@ -63,8 +63,9 @@ func dbDeviceTypeToInt(t string) (int, error) { } } -// DevicesAdd adds a new device. -func DevicesAdd(tx *sql.Tx, w string, cID int64, devices deviceConfig.Devices) error { +// AddDevicesToEntity adds the given devices to the entity of the given type with the +// given ID. +func AddDevicesToEntity(tx *sql.Tx, w string, cID int64, devices deviceConfig.Devices) error { // Prepare the devices entry SQL str1 := fmt.Sprintf("INSERT INTO %ss_devices (%s_id, name, type) VALUES (?, ?, ?)", w, w) stmt1, err := tx.Prepare(str1) diff --git a/lxd/instance/drivers/driver_lxc.go b/lxd/instance/drivers/driver_lxc.go index 83b978fd19..b2484aea43 100644 --- a/lxd/instance/drivers/driver_lxc.go +++ b/lxd/instance/drivers/driver_lxc.go @@ -4384,7 +4384,7 @@ func (c *lxc) Update(args db.InstanceArgs, userRequested bool) error { return errors.Wrap(err, "Profiles insert") } - err = db.DevicesAdd(tx, "instance", int64(c.id), c.localDevices) + err = db.AddDevicesToEntity(tx, "instance", int64(c.id), c.localDevices) if err != nil { tx.Rollback() return errors.Wrap(err, "Device add") diff --git a/lxd/instance/drivers/driver_qemu.go b/lxd/instance/drivers/driver_qemu.go index 7f26e80883..a6e6203f92 100644 --- a/lxd/instance/drivers/driver_qemu.go +++ b/lxd/instance/drivers/driver_qemu.go @@ -2629,7 +2629,7 @@ func (vm *qemu) Update(args db.InstanceArgs, userRequested bool) error { return errors.Wrap(err, "Profiles insert") } - err = db.DevicesAdd(tx, "instance", int64(vm.id), vm.localDevices) + err = db.AddDevicesToEntity(tx, "instance", int64(vm.id), vm.localDevices) if err != nil { tx.Rollback() return errors.Wrap(err, "Device add") diff --git a/lxd/main_test.go b/lxd/main_test.go index cb2b7ec7cc..b4a3ecd820 100644 --- a/lxd/main_test.go +++ b/lxd/main_test.go @@ -92,7 +92,7 @@ func (suite *lxdTestSuite) SetupTest() { suite.T().Errorf("failed to begin transaction: %v", err) } - err = db.DevicesAdd(tx, "profile", defaultID, devicesMap) + err = db.AddDevicesToEntity(tx, "profile", defaultID, devicesMap) if err != nil { tx.Rollback() suite.T().Errorf("failed to rollback transaction: %v", err) diff --git a/lxd/patches.go b/lxd/patches.go index f4b0d495e4..201408dff2 100644 --- a/lxd/patches.go +++ b/lxd/patches.go @@ -1969,7 +1969,7 @@ func updatePoolPropertyForAllObjects(d *Daemon, poolName string, allcontainers [ continue } - err = db.DevicesAdd(tx, "profile", pID, deviceConfig.NewDevices(p.Devices)) + err = db.AddDevicesToEntity(tx, "profile", pID, deviceConfig.NewDevices(p.Devices)) if err != nil { logger.Errorf("Failed to add new profile profile root disk device: %s: %s", pName, err) tx.Rollback() diff --git a/lxd/profiles_utils.go b/lxd/profiles_utils.go index cf8bf100ec..837187e82d 100644 --- a/lxd/profiles_utils.go +++ b/lxd/profiles_utils.go @@ -114,7 +114,7 @@ func doProfileUpdate(d *Daemon, project, name string, id int64, profile *api.Pro return err } - err = db.DevicesAdd(tx, "profile", id, deviceConfig.NewDevices(req.Devices)) + err = db.AddDevicesToEntity(tx, "profile", id, deviceConfig.NewDevices(req.Devices)) if err != nil { tx.Rollback() return err From a687b09f903d63c98eace01e92f1924a771dcfe5 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 14:55:48 +0100 Subject: [PATCH 02/31] lxd/db: Remove unused Devices Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/db_internal_test.go | 37 ------------------------ lxd/db/devices.go | 58 -------------------------------------- 2 files changed, 95 deletions(-) diff --git a/lxd/db/db_internal_test.go b/lxd/db/db_internal_test.go index 28b6013eb3..2a116fa146 100644 --- a/lxd/db/db_internal_test.go +++ b/lxd/db/db_internal_test.go @@ -10,7 +10,6 @@ import ( "github.com/stretchr/testify/suite" - deviceConfig "github.com/lxc/lxd/lxd/device/config" "github.com/lxc/lxd/shared/api" "github.com/lxc/lxd/shared/logger" "github.com/lxc/lxd/shared/logging" @@ -291,39 +290,3 @@ func (s *dbTestSuite) Test_dbProfileConfig() { fmt.Sprintf("Mismatching value for key %s: %s != %s", key, result[key], value)) } } - -func (s *dbTestSuite) Test_dbDevices_profiles() { - var err error - var result deviceConfig.Devices - var subresult deviceConfig.Device - var expected deviceConfig.Device - - result, err = s.db.Devices("default", "theprofile", true) - s.Nil(err) - - expected = deviceConfig.Device{"type": "nic", "devicekey": "devicevalue"} - subresult = result["devicename"] - - for key, value := range expected { - s.Equal(subresult[key], value, - fmt.Sprintf("Mismatching value for key %s: %v != %v", key, subresult[key], value)) - } -} - -func (s *dbTestSuite) Test_dbDevices_containers() { - var err error - var result deviceConfig.Devices - var subresult deviceConfig.Device - var expected deviceConfig.Device - - result, err = s.db.Devices("default", "thename", false) - s.Nil(err) - - expected = deviceConfig.Device{"type": "nic", "configkey": "configvalue"} - subresult = result["somename"] - - for key, value := range expected { - s.Equal(subresult[key], value, - fmt.Sprintf("Mismatching value for key %s: %s != %s", key, subresult[key], value)) - } -} diff --git a/lxd/db/devices.go b/lxd/db/devices.go index bf4ada6ab1..8f44dce3a1 100644 --- a/lxd/db/devices.go +++ b/lxd/db/devices.go @@ -143,61 +143,3 @@ func dbDeviceConfig(db *sql.DB, id int, isprofile bool) (deviceConfig.Device, er return newdev, nil } - -// Devices returns the devices matching the given filters. -func (c *Cluster) Devices(project, qName string, isprofile bool) (deviceConfig.Devices, error) { - err := c.Transaction(func(tx *ClusterTx) error { - enabled, err := tx.ProjectHasProfiles(project) - if err != nil { - return err - } - if !enabled { - project = "default" - } - return nil - }) - if err != nil { - return nil, err - } - - var q string - if isprofile { - q = `SELECT profiles_devices.id, profiles_devices.name, profiles_devices.type - FROM profiles_devices - JOIN profiles ON profiles_devices.profile_id = profiles.id - JOIN projects ON projects.id=profiles.project_id - WHERE projects.name=? AND profiles.name=?` - } else { - q = `SELECT instances_devices.id, instances_devices.name, instances_devices.type - FROM instances_devices - JOIN instances ON instances_devices.instance_id = instances.id - JOIN projects ON projects.id=instances.project_id - WHERE projects.name=? AND instances.name=?` - } - var id, dtype int - var name, stype string - inargs := []interface{}{project, qName} - outfmt := []interface{}{id, name, dtype} - results, err := queryScan(c.db, q, inargs, outfmt) - if err != nil { - return nil, err - } - - devices := deviceConfig.Devices{} - for _, r := range results { - id = r[0].(int) - name = r[1].(string) - stype, err = dbDeviceTypeToString(r[2].(int)) - if err != nil { - return nil, err - } - newdev, err := dbDeviceConfig(c.db, id, isprofile) - if err != nil { - return nil, err - } - newdev["type"] = stype - devices[name] = newdev - } - - return devices, nil -} From bf7ef4fed176d669da6526481c7fb9cd00f40ce4 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 14:56:58 +0100 Subject: [PATCH 03/31] lxd/db: Rename ImagesGetLocal to GetLocalImages Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index f196c3a0ce..0b7955a6a3 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -22,8 +22,8 @@ var ImageSourceProtocol = map[int]string{ 2: "simplestreams", } -// ImagesGetLocal returns the names of all local images. -func (c *Cluster) ImagesGetLocal() ([]string, error) { +// GetLocalImages returns the names of all local images. +func (c *Cluster) GetLocalImages() ([]string, error) { q := ` SELECT images.fingerprint FROM images_nodes diff --git a/lxd/images.go b/lxd/images.go index c4b43d4be6..2409db8f62 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1335,7 +1335,7 @@ func pruneExpiredImagesTask(d *Daemon) (task.Func, task.Schedule) { func pruneLeftoverImages(d *Daemon) { opRun := func(op *operations.Operation) error { // Get all images - images, err := d.cluster.ImagesGetLocal() + images, err := d.cluster.GetLocalImages() if err != nil { return errors.Wrap(err, "Unable to retrieve the list of images") } From 6a3f66e370eb7d30891b986ccb1515bcfec95ffd Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 14:59:39 +0100 Subject: [PATCH 04/31] lxd/db: Rename ImagesGet to GetImages Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/api_cluster_test.go | 2 +- lxd/db/images.go | 4 ++-- lxd/images.go | 4 ++-- lxd/instance/instance_utils.go | 2 +- lxd/patches.go | 8 ++++---- lxd/storage_volumes.go | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lxd/api_cluster_test.go b/lxd/api_cluster_test.go index 6ce3f45c63..e750e58b3a 100644 --- a/lxd/api_cluster_test.go +++ b/lxd/api_cluster_test.go @@ -499,7 +499,7 @@ func TestCluster_LeaveForce(t *testing.T) { // The image is gone, since the deleted node was the only one having a // copy of it. daemon = daemons[0] - images, err := daemon.State().Cluster.ImagesGet("default", false) + images, err := daemon.State().Cluster.GetImages("default", false) require.NoError(t, err) assert.Equal(t, []string{}, images) } diff --git a/lxd/db/images.go b/lxd/db/images.go index 0b7955a6a3..ed4e3c69e3 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -46,8 +46,8 @@ SELECT images.fingerprint return results, nil } -// ImagesGet returns the names of all images (optionally only the public ones). -func (c *Cluster) ImagesGet(project string, public bool) ([]string, error) { +// GetImages returns the names of all images (optionally only the public ones). +func (c *Cluster) GetImages(project string, public bool) ([]string, error) { err := c.Transaction(func(tx *ClusterTx) error { enabled, err := tx.ProjectHasImages(project) if err != nil { diff --git a/lxd/images.go b/lxd/images.go index 2409db8f62..f5a76bcb2c 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -986,7 +986,7 @@ func getImageMetadata(fname string) (*api.ImageMetadata, string, error) { } func doImagesGet(d *Daemon, recursion bool, project string, public bool, clauses []filter.Clause) (interface{}, error) { - results, err := d.cluster.ImagesGet(project, public) + results, err := d.cluster.GetImages(project, public) if err != nil { return []string{}, err } @@ -1113,7 +1113,7 @@ func autoUpdateImages(ctx context.Context, d *Daemon) error { } func autoUpdateImagesInProject(ctx context.Context, d *Daemon, project string) error { - images, err := d.cluster.ImagesGet(project, false) + images, err := d.cluster.GetImages(project, false) if err != nil { return errors.Wrap(err, "Unable to retrieve the list of images") } diff --git a/lxd/instance/instance_utils.go b/lxd/instance/instance_utils.go index 1a7d318af1..90856f47e6 100644 --- a/lxd/instance/instance_utils.go +++ b/lxd/instance/instance_utils.go @@ -666,7 +666,7 @@ func ResolveImage(s *state.State, project string, source api.InstanceSource) (st return "", fmt.Errorf("Property match is only supported for local images") } - hashes, err := s.Cluster.ImagesGet(project, false) + hashes, err := s.Cluster.GetImages(project, false) if err != nil { return "", err } diff --git a/lxd/patches.go b/lxd/patches.go index 201408dff2..9e6f36c5b6 100644 --- a/lxd/patches.go +++ b/lxd/patches.go @@ -386,13 +386,13 @@ func patchStorageApi(name string, d *Daemon) error { } // Get list of existing public images. - imgPublic, err := d.cluster.ImagesGet("default", true) + imgPublic, err := d.cluster.GetImages("default", true) if err != nil { return err } // Get list of existing private images. - imgPrivate, err := d.cluster.ImagesGet("default", false) + imgPrivate, err := d.cluster.GetImages("default", false) if err != nil { return err } @@ -2179,7 +2179,7 @@ INSERT INTO storage_pools_config(storage_pool_id, node_id, key, value) } func patchStorageApiDirCleanup(name string, d *Daemon) error { - fingerprints, err := d.cluster.ImagesGet("default", false) + fingerprints, err := d.cluster.GetImages("default", false) if err != nil { return err } @@ -2761,7 +2761,7 @@ func patchStorageApiDirBindMount(name string, d *Daemon) error { } func patchFixUploadedAt(name string, d *Daemon) error { - images, err := d.cluster.ImagesGet("default", false) + images, err := d.cluster.GetImages("default", false) if err != nil { return err } diff --git a/lxd/storage_volumes.go b/lxd/storage_volumes.go index ffed539d37..a6a2ec8fce 100644 --- a/lxd/storage_volumes.go +++ b/lxd/storage_volumes.go @@ -127,7 +127,7 @@ func storagePoolVolumesGet(d *Daemon, r *http.Request) response.Response { return response.SmartError(err) } - projectImages, err := d.cluster.ImagesGet(projectName, false) + projectImages, err := d.cluster.GetImages(projectName, false) if err != nil { return response.SmartError(err) } From 17216878d1df8da7374c74958825d2aee047e721 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:00:59 +0100 Subject: [PATCH 05/31] lxd/db: Rename ImagesGetExpired to GetExpiredImages Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index ed4e3c69e3..ab7ccee70d 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -94,8 +94,8 @@ type ExpiredImage struct { ProjectName string } -// ImagesGetExpired returns the names and project name of all images that have expired since the given time. -func (c *Cluster) ImagesGetExpired(expiry int64) ([]ExpiredImage, error) { +// GetExpiredImages returns the names and project name of all images that have expired since the given time. +func (c *Cluster) GetExpiredImages(expiry int64) ([]ExpiredImage, error) { q := ` SELECT fingerprint, diff --git a/lxd/images.go b/lxd/images.go index f5a76bcb2c..6ae86dafa9 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1384,7 +1384,7 @@ func pruneExpiredImages(ctx context.Context, d *Daemon) error { } // Get the list of expired images. - images, err := d.cluster.ImagesGetExpired(expiry) + images, err := d.cluster.GetExpiredImages(expiry) if err != nil { return errors.Wrap(err, "Unable to retrieve the list of expired images") } From 074166ca5f2603af4142230b86be99251e646b75 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:02:48 +0100 Subject: [PATCH 06/31] lxd/db: Rename ImageSourceInsert to CreateImageSource Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/daemon_images.go | 4 ++-- lxd/db/db_internal_test.go | 4 ++-- lxd/db/images.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lxd/daemon_images.go b/lxd/daemon_images.go index 4441a65dd5..dc298ea3f4 100644 --- a/lxd/daemon_images.go +++ b/lxd/daemon_images.go @@ -126,7 +126,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol if err != nil { return nil, err } - err = d.cluster.ImageSourceInsert(id, server, protocol, certificate, alias) + err = d.cluster.CreateImageSource(id, server, protocol, certificate, alias) if err != nil { return nil, err } @@ -459,7 +459,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol return nil, err } - err = d.cluster.ImageSourceInsert(id, server, protocol, certificate, alias) + err = d.cluster.CreateImageSource(id, server, protocol, certificate, alias) if err != nil { return nil, err } diff --git a/lxd/db/db_internal_test.go b/lxd/db/db_internal_test.go index 2a116fa146..c8fce80caf 100644 --- a/lxd/db/db_internal_test.go +++ b/lxd/db/db_internal_test.go @@ -249,7 +249,7 @@ func (s *dbTestSuite) Test_ImageSourceGetCachedFingerprint() { imageID, _, err := s.db.ImageGet("default", "fingerprint", false, false) s.Nil(err) - err = s.db.ImageSourceInsert(imageID, "server.remote", "simplestreams", "", "test") + err = s.db.CreateImageSource(imageID, "server.remote", "simplestreams", "", "test") s.Nil(err) fingerprint, err := s.db.ImageSourceGetCachedFingerprint("server.remote", "simplestreams", "test", "container", 0) @@ -261,7 +261,7 @@ func (s *dbTestSuite) Test_ImageSourceGetCachedFingerprint_no_match() { imageID, _, err := s.db.ImageGet("default", "fingerprint", false, false) s.Nil(err) - err = s.db.ImageSourceInsert(imageID, "server.remote", "simplestreams", "", "test") + err = s.db.CreateImageSource(imageID, "server.remote", "simplestreams", "", "test") s.Nil(err) _, err = s.db.ImageSourceGetCachedFingerprint("server.remote", "lxd", "test", "container", 0) diff --git a/lxd/db/images.go b/lxd/db/images.go index ab7ccee70d..3346a5cdea 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -149,8 +149,8 @@ func (c *Cluster) GetExpiredImages(expiry int64) ([]ExpiredImage, error) { return results, nil } -// ImageSourceInsert inserts a new image source. -func (c *Cluster) ImageSourceInsert(id int, server string, protocol string, certificate string, alias string) error { +// CreateImageSource inserts a new image source. +func (c *Cluster) CreateImageSource(id int, server string, protocol string, certificate string, alias string) error { stmt := `INSERT INTO images_source (image_id, server, protocol, certificate, alias) values (?, ?, ?, ?, ?)` protocolInt := -1 From b7c7bd43b46790b4a388e6e1a8f8b4911e0557eb Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:04:10 +0100 Subject: [PATCH 07/31] lxd/db: Rename ImageSourceGet to GetImageSource Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 6 +++--- lxd/images.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index 3346a5cdea..2f08393e7c 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -168,8 +168,8 @@ func (c *Cluster) CreateImageSource(id int, server string, protocol string, cert return err } -// ImageSourceGet returns the image source with the given ID. -func (c *Cluster) ImageSourceGet(imageID int) (int, api.ImageSource, error) { +// GetImageSource returns the image source with the given ID. +func (c *Cluster) GetImageSource(imageID int) (int, api.ImageSource, error) { q := `SELECT id, server, protocol, certificate, alias FROM images_source WHERE image_id=?` id := 0 @@ -525,7 +525,7 @@ func (c *Cluster) imageFill(id int, image *api.Image, create, expire, used, uplo image.Aliases = aliases - _, source, err := c.ImageSourceGet(id) + _, source, err := c.GetImageSource(id) if err == nil { image.UpdateSource = &source } diff --git a/lxd/images.go b/lxd/images.go index 6ae86dafa9..658323889a 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1151,7 +1151,7 @@ func autoUpdateImagesInProject(ctx context.Context, d *Daemon, project string) e // Returns whether the image has been updated. func autoUpdateImage(d *Daemon, op *operations.Operation, id int, info *api.Image, project string) error { fingerprint := info.Fingerprint - _, source, err := d.cluster.ImageSourceGet(id) + _, source, err := d.cluster.GetImageSource(id) if err != nil { logger.Error("Error getting source image", log.Ctx{"err": err, "fp": fingerprint}) return err From 3b99b395be2c96c419892e201b1f7233340c5dbc Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:09:30 +0100 Subject: [PATCH 08/31] lxd/db: Rename ImageGet to GetImage Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/daemon_images.go | 8 +++---- lxd/db/db_internal_test.go | 8 +++---- lxd/db/images.go | 6 +++--- lxd/images.go | 38 +++++++++++++++++----------------- lxd/instance.go | 2 +- lxd/instance/instance_utils.go | 4 ++-- lxd/instances_post.go | 2 +- lxd/patches.go | 2 +- lxd/storage/backend_lxd.go | 2 +- lxd/storage_pools.go | 2 +- 10 files changed, 37 insertions(+), 37 deletions(-) diff --git a/lxd/daemon_images.go b/lxd/daemon_images.go index dc298ea3f4..4a5e39cbf4 100644 --- a/lxd/daemon_images.go +++ b/lxd/daemon_images.go @@ -107,7 +107,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol } // Check if the image already exists in this project (partial hash match) - _, imgInfo, err := d.cluster.ImageGet(project, fp, false, true) + _, imgInfo, err := d.cluster.GetImage(project, fp, false, true) if err == db.ErrNoSuchObject { // Check if the image already exists in some other project. _, imgInfo, err = d.cluster.ImageGetFromAnyProject(fp) @@ -122,7 +122,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol } var id int - id, imgInfo, err = d.cluster.ImageGet(project, fp, false, true) + id, imgInfo, err = d.cluster.GetImage(project, fp, false, true) if err != nil { return nil, err } @@ -186,7 +186,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol <-waitChannel // Grab the database entry - _, imgInfo, err := d.cluster.ImageGet(project, fp, false, true) + _, imgInfo, err := d.cluster.GetImage(project, fp, false, true) if err != nil { // Other download failed, lets try again logger.Error("Other image download didn't succeed", log.Ctx{"image": fp}) @@ -454,7 +454,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol // Record the image source if alias != fp { - id, _, err := d.cluster.ImageGet(project, fp, false, true) + id, _, err := d.cluster.GetImage(project, fp, false, true) if err != nil { return nil, err } diff --git a/lxd/db/db_internal_test.go b/lxd/db/db_internal_test.go index c8fce80caf..f14e75b2e0 100644 --- a/lxd/db/db_internal_test.go +++ b/lxd/db/db_internal_test.go @@ -187,7 +187,7 @@ func (s *dbTestSuite) Test_ImageGet_finds_image_for_fingerprint() { var err error var result *api.Image - _, result, err = s.db.ImageGet("default", "fingerprint", false, false) + _, result, err = s.db.GetImage("default", "fingerprint", false, false) s.Nil(err) s.NotNil(result) s.Equal(result.Filename, "filename") @@ -199,7 +199,7 @@ func (s *dbTestSuite) Test_ImageGet_finds_image_for_fingerprint() { func (s *dbTestSuite) Test_ImageGet_for_missing_fingerprint() { var err error - _, _, err = s.db.ImageGet("default", "unknown", false, false) + _, _, err = s.db.GetImage("default", "unknown", false, false) s.Equal(err, ErrNoSuchObject) } @@ -246,7 +246,7 @@ func (s *dbTestSuite) Test_ImageAliasAdd() { } func (s *dbTestSuite) Test_ImageSourceGetCachedFingerprint() { - imageID, _, err := s.db.ImageGet("default", "fingerprint", false, false) + imageID, _, err := s.db.GetImage("default", "fingerprint", false, false) s.Nil(err) err = s.db.CreateImageSource(imageID, "server.remote", "simplestreams", "", "test") @@ -258,7 +258,7 @@ func (s *dbTestSuite) Test_ImageSourceGetCachedFingerprint() { } func (s *dbTestSuite) Test_ImageSourceGetCachedFingerprint_no_match() { - imageID, _, err := s.db.ImageGet("default", "fingerprint", false, false) + imageID, _, err := s.db.GetImage("default", "fingerprint", false, false) s.Nil(err) err = s.db.CreateImageSource(imageID, "server.remote", "simplestreams", "", "test") diff --git a/lxd/db/images.go b/lxd/db/images.go index 2f08393e7c..8b0ea44301 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -319,12 +319,12 @@ SELECT COUNT(*) > 0 return referenced, err } -// ImageGet gets an Image object from the database. +// GetImage gets an Image object from the database. // If strictMatching is false, The fingerprint argument will be queried with a LIKE query, means you can // pass a shortform and will get the full fingerprint. // There can never be more than one image with a given fingerprint, as it is // enforced by a UNIQUE constraint in the schema. -func (c *Cluster) ImageGet(project, fingerprint string, public bool, strictMatching bool) (int, *api.Image, error) { +func (c *Cluster) GetImage(project, fingerprint string, public bool, strictMatching bool) (int, *api.Image, error) { profileProject := project err := c.Transaction(func(tx *ClusterTx) error { enabled, err := tx.ProjectHasImages(project) @@ -634,7 +634,7 @@ WHERE images.fingerprint = ? // ImageAssociateNode creates a new entry in the images_nodes table for // tracking that the current node has the given image. func (c *Cluster) ImageAssociateNode(project, fingerprint string) error { - imageID, _, err := c.ImageGet(project, fingerprint, false, true) + imageID, _, err := c.GetImage(project, fingerprint, false, true) if err != nil { return err } diff --git a/lxd/images.go b/lxd/images.go index 658323889a..aae1ce42ad 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -305,7 +305,7 @@ func imgPostContInfo(d *Daemon, r *http.Request, req api.ImagesPost, op *operati info.Size = fi.Size() info.Fingerprint = fmt.Sprintf("%x", sha256.Sum(nil)) - _, _, err = d.cluster.ImageGet(project, info.Fingerprint, false, true) + _, _, err = d.cluster.GetImage(project, info.Fingerprint, false, true) if err != db.ErrNoSuchObject { if err != nil { return nil, err @@ -350,7 +350,7 @@ func imgPostRemoteInfo(d *Daemon, req api.ImagesPost, op *operations.Operation, return nil, err } - id, info, err := d.cluster.ImageGet(project, info.Fingerprint, false, true) + id, info, err := d.cluster.GetImage(project, info.Fingerprint, false, true) if err != nil { return nil, err } @@ -419,7 +419,7 @@ func imgPostURLInfo(d *Daemon, req api.ImagesPost, op *operations.Operation, pro return nil, err } - id, info, err := d.cluster.ImageGet(project, info.Fingerprint, false, false) + id, info, err := d.cluster.GetImage(project, info.Fingerprint, false, false) if err != nil { return nil, err } @@ -840,7 +840,7 @@ func imagesPost(d *Daemon, r *http.Request) response.Response { return fmt.Errorf("Alias already exists: %s", alias.Name) } - id, _, err := d.cluster.ImageGet(project, info.Fingerprint, false, false) + id, _, err := d.cluster.GetImage(project, info.Fingerprint, false, false) if err != nil { return errors.Wrapf(err, "Fetch image %q", info.Fingerprint) } @@ -1119,7 +1119,7 @@ func autoUpdateImagesInProject(ctx context.Context, d *Daemon, project string) e } for _, fingerprint := range images { - id, info, err := d.cluster.ImageGet(project, fingerprint, false, true) + id, info, err := d.cluster.GetImage(project, fingerprint, false, true) if err != nil { logger.Error("Error loading image", log.Ctx{"err": err, "fp": fingerprint, "project": project}) continue @@ -1205,7 +1205,7 @@ func autoUpdateImage(d *Daemon, op *operations.Operation, id int, info *api.Imag continue } - newID, _, err := d.cluster.ImageGet(project, hash, false, true) + newID, _, err := d.cluster.GetImage(project, hash, false, true) if err != nil { logger.Error("Error loading image", log.Ctx{"err": err, "fp": hash}) continue @@ -1438,7 +1438,7 @@ func pruneExpiredImages(ctx context.Context, d *Daemon) error { } } - imgID, _, err := d.cluster.ImageGet(img.ProjectName, img.Fingerprint, false, false) + imgID, _, err := d.cluster.GetImage(img.ProjectName, img.Fingerprint, false, false) if err != nil { return errors.Wrapf(err, "Error retrieving image info for fingerprint %q and project %q", img.Fingerprint, img.ProjectName) } @@ -1468,7 +1468,7 @@ func imageDelete(d *Daemon, r *http.Request) response.Response { do := func(op *operations.Operation) error { // Use the fingerprint we received in a LIKE query and use the full // fingerprint we receive from the database in all further queries. - imgID, imgInfo, err := d.cluster.ImageGet(project, fingerprint, false, false) + imgID, imgInfo, err := d.cluster.GetImage(project, fingerprint, false, false) if err != nil { return err } @@ -1581,7 +1581,7 @@ func imageDeleteFromDisk(fingerprint string) { } func doImageGet(db *db.Cluster, project, fingerprint string, public bool) (*api.Image, response.Response) { - _, imgInfo, err := db.ImageGet(project, fingerprint, public, false) + _, imgInfo, err := db.GetImage(project, fingerprint, public, false) if err != nil { return nil, response.SmartError(err) } @@ -1643,7 +1643,7 @@ func imagePut(d *Daemon, r *http.Request) response.Response { // Get current value project := projectParam(r) fingerprint := mux.Vars(r)["fingerprint"] - id, info, err := d.cluster.ImageGet(project, fingerprint, false, false) + id, info, err := d.cluster.GetImage(project, fingerprint, false, false) if err != nil { return response.SmartError(err) } @@ -1692,7 +1692,7 @@ func imagePatch(d *Daemon, r *http.Request) response.Response { // Get current value project := projectParam(r) fingerprint := mux.Vars(r)["fingerprint"] - id, info, err := d.cluster.ImageGet(project, fingerprint, false, false) + id, info, err := d.cluster.GetImage(project, fingerprint, false, false) if err != nil { return response.SmartError(err) } @@ -1776,7 +1776,7 @@ func imageAliasesPost(d *Daemon, r *http.Request) response.Response { return response.Conflict(fmt.Errorf("Alias '%s' already exists", req.Name)) } - id, _, err := d.cluster.ImageGet(project, req.Target, false, false) + id, _, err := d.cluster.GetImage(project, req.Target, false, false) if err != nil { return response.SmartError(err) } @@ -1873,7 +1873,7 @@ func imageAliasPut(d *Daemon, r *http.Request) response.Response { return response.BadRequest(fmt.Errorf("The target field is required")) } - imageId, _, err := d.cluster.ImageGet(project, req.Target, false, false) + imageId, _, err := d.cluster.GetImage(project, req.Target, false, false) if err != nil { return response.SmartError(err) } @@ -1926,7 +1926,7 @@ func imageAliasPatch(d *Daemon, r *http.Request) response.Response { alias.Description = description } - imageId, _, err := d.cluster.ImageGet(project, alias.Target, false, false) + imageId, _, err := d.cluster.GetImage(project, alias.Target, false, false) if err != nil { return response.SmartError(err) } @@ -1978,7 +1978,7 @@ func imageExport(d *Daemon, r *http.Request) response.Response { var err error if r.RemoteAddr == "@devlxd" { // /dev/lxd API requires exact match - _, imgInfo, err = d.cluster.ImageGet(project, fingerprint, false, true) + _, imgInfo, err = d.cluster.GetImage(project, fingerprint, false, true) if err != nil { return response.SmartError(err) } @@ -1987,7 +1987,7 @@ func imageExport(d *Daemon, r *http.Request) response.Response { return response.NotFound(fmt.Errorf("Image '%s' not found", fingerprint)) } } else { - _, imgInfo, err = d.cluster.ImageGet(project, fingerprint, false, false) + _, imgInfo, err = d.cluster.GetImage(project, fingerprint, false, false) if err != nil { return response.SmartError(err) } @@ -2062,7 +2062,7 @@ func imageExportPost(d *Daemon, r *http.Request) response.Response { fingerprint := mux.Vars(r)["fingerprint"] // Check if the image exists - _, _, err := d.cluster.ImageGet(project, fingerprint, false, true) + _, _, err := d.cluster.GetImage(project, fingerprint, false, true) if err != nil { return response.SmartError(err) } @@ -2163,7 +2163,7 @@ func imageSecret(d *Daemon, r *http.Request) response.Response { project := projectParam(r) fingerprint := mux.Vars(r)["fingerprint"] - _, imgInfo, err := d.cluster.ImageGet(project, fingerprint, false, false) + _, imgInfo, err := d.cluster.GetImage(project, fingerprint, false, false) if err != nil { return response.SmartError(err) } @@ -2242,7 +2242,7 @@ func imageImportFromNode(imagesDir string, client lxd.InstanceServer, fingerprin func imageRefresh(d *Daemon, r *http.Request) response.Response { project := projectParam(r) fingerprint := mux.Vars(r)["fingerprint"] - imageId, imageInfo, err := d.cluster.ImageGet(project, fingerprint, false, false) + imageId, imageInfo, err := d.cluster.GetImage(project, fingerprint, false, false) if err != nil { return response.SmartError(err) } diff --git a/lxd/instance.go b/lxd/instance.go index e98e6500fb..b5e790eb8d 100644 --- a/lxd/instance.go +++ b/lxd/instance.go @@ -76,7 +76,7 @@ func instanceCreateFromImage(d *Daemon, args db.InstanceArgs, hash string, op *o s := d.State() // Get the image properties. - _, img, err := s.Cluster.ImageGet(args.Project, hash, false, false) + _, img, err := s.Cluster.GetImage(args.Project, hash, false, false) if err != nil { return nil, errors.Wrapf(err, "Fetch image %s from database", hash) } diff --git a/lxd/instance/instance_utils.go b/lxd/instance/instance_utils.go index 90856f47e6..1dc8b0a386 100644 --- a/lxd/instance/instance_utils.go +++ b/lxd/instance/instance_utils.go @@ -673,7 +673,7 @@ func ResolveImage(s *state.State, project string, source api.InstanceSource) (st var image *api.Image for _, imageHash := range hashes { - _, img, err := s.Cluster.ImageGet(project, imageHash, false, true) + _, img, err := s.Cluster.GetImage(project, imageHash, false, true) if err != nil { continue } @@ -757,7 +757,7 @@ func SuitableArchitectures(s *state.State, project string, req api.InstancesPost // Handle local images. if req.Source.Server == "" { - _, img, err := s.Cluster.ImageGet(project, hash, false, false) + _, img, err := s.Cluster.GetImage(project, hash, false, false) if err != nil { return nil, err } diff --git a/lxd/instances_post.go b/lxd/instances_post.go index 6766ff160a..29f166e03c 100644 --- a/lxd/instances_post.go +++ b/lxd/instances_post.go @@ -83,7 +83,7 @@ func createFromImage(d *Daemon, project string, req *api.InstancesPost) response return err } } else { - _, info, err = d.cluster.ImageGet(project, hash, false, false) + _, info, err = d.cluster.GetImage(project, hash, false, false) if err != nil { return err } diff --git a/lxd/patches.go b/lxd/patches.go index 9e6f36c5b6..429398abb7 100644 --- a/lxd/patches.go +++ b/lxd/patches.go @@ -2767,7 +2767,7 @@ func patchFixUploadedAt(name string, d *Daemon) error { } for _, fingerprint := range images { - id, image, err := d.cluster.ImageGet("default", fingerprint, false, true) + id, image, err := d.cluster.GetImage("default", fingerprint, false, true) if err != nil { return err } diff --git a/lxd/storage/backend_lxd.go b/lxd/storage/backend_lxd.go index ff06e96986..833f120e34 100644 --- a/lxd/storage/backend_lxd.go +++ b/lxd/storage/backend_lxd.go @@ -1103,7 +1103,7 @@ func (b *lxdBackend) CreateInstanceFromMigration(inst instance.Instance, conn io // transfer the base image files too. if args.MigrationType.FSType == migration.MigrationFSType_RSYNC { fingerprint := inst.ExpandedConfig()["volatile.base_image"] - _, _, err = b.state.Cluster.ImageGet(inst.Project(), fingerprint, false, true) + _, _, err = b.state.Cluster.GetImage(inst.Project(), fingerprint, false, true) if err != db.ErrNoSuchObject && err != nil { return err } diff --git a/lxd/storage_pools.go b/lxd/storage_pools.go index ae672da73f..3e543e94ad 100644 --- a/lxd/storage_pools.go +++ b/lxd/storage_pools.go @@ -573,7 +573,7 @@ func storagePoolDelete(d *Daemon, r *http.Request) response.Response { // Only delete images if locally stored or running on initial member. if !isClusterNotification(r) || !pool.Driver().Info().Remote { for _, volume := range volumeNames { - _, imgInfo, err := d.cluster.ImageGet(projectParam(r), volume, false, false) + _, imgInfo, err := d.cluster.GetImage(projectParam(r), volume, false, false) if err != nil { return response.InternalError(err) } From ce361e2e545bcd42d82b9212c355d793ac526e8e Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:11:15 +0100 Subject: [PATCH 09/31] lxd/db: Rename ImageGetFromAnyProject to GetImageFromAnyProject Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/daemon_images.go | 2 +- lxd/db/images.go | 4 ++-- lxd/storage/backend_lxd.go | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lxd/daemon_images.go b/lxd/daemon_images.go index 4a5e39cbf4..77c29ef8e7 100644 --- a/lxd/daemon_images.go +++ b/lxd/daemon_images.go @@ -110,7 +110,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol _, imgInfo, err := d.cluster.GetImage(project, fp, false, true) if err == db.ErrNoSuchObject { // Check if the image already exists in some other project. - _, imgInfo, err = d.cluster.ImageGetFromAnyProject(fp) + _, imgInfo, err = d.cluster.GetImageFromAnyProject(fp) if err == nil { // We just need to insert the database data, no actual download necessary. err = d.cluster.ImageInsert( diff --git a/lxd/db/images.go b/lxd/db/images.go index 8b0ea44301..5b963db9da 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -417,9 +417,9 @@ SELECT COUNT(images.id) return id, &image, nil } -// ImageGetFromAnyProject returns an image matching the given fingerprint, if +// GetImageFromAnyProject returns an image matching the given fingerprint, if // it exists in any project. -func (c *Cluster) ImageGetFromAnyProject(fingerprint string) (int, *api.Image, error) { +func (c *Cluster) GetImageFromAnyProject(fingerprint string) (int, *api.Image, error) { var create, expire, used, upload *time.Time // These hold the db-returned times // The object we'll actually return diff --git a/lxd/storage/backend_lxd.go b/lxd/storage/backend_lxd.go index 833f120e34..a2e127b475 100644 --- a/lxd/storage/backend_lxd.go +++ b/lxd/storage/backend_lxd.go @@ -2019,7 +2019,7 @@ func (b *lxdBackend) EnsureImage(fingerprint string, op *operations.Operation) e defer unlock() // Load image info from database. - _, image, err := b.state.Cluster.ImageGetFromAnyProject(fingerprint) + _, image, err := b.state.Cluster.GetImageFromAnyProject(fingerprint) if err != nil { return err } @@ -2090,7 +2090,7 @@ func (b *lxdBackend) DeleteImage(fingerprint string, op *operations.Operation) e defer unlock() // Load image info from database. - _, image, err := b.state.Cluster.ImageGetFromAnyProject(fingerprint) + _, image, err := b.state.Cluster.GetImageFromAnyProject(fingerprint) if err != nil { return err } From e39a0c15f9d88b4174b71c1b33ce34c2ab7d1dcf Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:13:01 +0100 Subject: [PATCH 10/31] lxd/db: Rename ImageLocate to LocateImage Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/db/images_test.go | 8 ++++---- lxd/images.go | 2 +- lxd/instance.go | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index 5b963db9da..fba1b665e8 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -574,12 +574,12 @@ WHERE images_profiles.image_id = ? AND projects.name = ? return nil } -// ImageLocate returns the address of an online node that has a local copy of +// LocateImage returns the address of an online node that has a local copy of // the given image, or an empty string if the image is already available on this // node. // // If the image is not available on any online node, an error is returned. -func (c *Cluster) ImageLocate(fingerprint string) (string, error) { +func (c *Cluster) LocateImage(fingerprint string) (string, error) { stmt := ` SELECT nodes.address FROM nodes LEFT JOIN images_nodes ON images_nodes.node_id = nodes.id diff --git a/lxd/db/images_test.go b/lxd/db/images_test.go index 58313dad50..82c7869e8c 100644 --- a/lxd/db/images_test.go +++ b/lxd/db/images_test.go @@ -11,7 +11,7 @@ import ( "github.com/stretchr/testify/require" ) -func TestImageLocate(t *testing.T) { +func TestLocateImage(t *testing.T) { cluster, cleanup := db.NewTestCluster(t) defer cleanup() @@ -19,13 +19,13 @@ func TestImageLocate(t *testing.T) { "default", "abc", "x.gz", 16, false, false, "amd64", time.Now(), time.Now(), map[string]string{}, "container") require.NoError(t, err) - address, err := cluster.ImageLocate("abc") + address, err := cluster.LocateImage("abc") require.NoError(t, err) assert.Equal(t, "", address) // Pretend that the function is being run on another node. cluster.NodeID(2) - address, err = cluster.ImageLocate("abc") + address, err = cluster.LocateImage("abc") require.NoError(t, err) assert.Equal(t, "0.0.0.0", address) @@ -35,7 +35,7 @@ func TestImageLocate(t *testing.T) { }) require.NoError(t, err) - address, err = cluster.ImageLocate("abc") + address, err = cluster.LocateImage("abc") require.Equal(t, "", address) require.EqualError(t, err, "image not available on any online node") } diff --git a/lxd/images.go b/lxd/images.go index aae1ce42ad..acc0553c77 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1999,7 +1999,7 @@ func imageExport(d *Daemon, r *http.Request) response.Response { } // Check if the image is only available on another node. - address, err := d.cluster.ImageLocate(imgInfo.Fingerprint) + address, err := d.cluster.LocateImage(imgInfo.Fingerprint) if err != nil { return response.SmartError(err) } diff --git a/lxd/instance.go b/lxd/instance.go index b5e790eb8d..7d08ed4dd6 100644 --- a/lxd/instance.go +++ b/lxd/instance.go @@ -97,7 +97,7 @@ func instanceCreateFromImage(d *Daemon, args db.InstanceArgs, hash string, op *o } // Check if the image is available locally or it's on another node. - nodeAddress, err := s.Cluster.ImageLocate(hash) + nodeAddress, err := s.Cluster.LocateImage(hash) if err != nil { return nil, errors.Wrapf(err, "Locate image %s in the cluster", hash) } From ff6044661e152091a934491d84429df173531145 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:15:07 +0100 Subject: [PATCH 11/31] lxd/db: Rename ImageAssociateNode to AddImageToLocalNode Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/api_cluster.go | 2 +- lxd/api_cluster_test.go | 2 +- lxd/db/images.go | 6 +++--- lxd/images.go | 2 +- lxd/instance.go | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lxd/api_cluster.go b/lxd/api_cluster.go index e55d892059..576cddd794 100644 --- a/lxd/api_cluster.go +++ b/lxd/api_cluster.go @@ -608,7 +608,7 @@ func clusterPutJoin(d *Daemon, req api.ClusterPut) response.Response { } for _, project := range projects { - err := d.cluster.ImageAssociateNode(project, fingerprint) + err := d.cluster.AddImageToLocalNode(project, fingerprint) if err != nil { return err } diff --git a/lxd/api_cluster_test.go b/lxd/api_cluster_test.go index e750e58b3a..3506e17786 100644 --- a/lxd/api_cluster_test.go +++ b/lxd/api_cluster_test.go @@ -468,7 +468,7 @@ func TestCluster_LeaveWithImages(t *testing.T) { // If we now associate the image with the other node as well, leaving // the cluster is fine. daemon = daemons[0] - err = daemon.State().Cluster.ImageAssociateNode("default", "abc") + err = daemon.State().Cluster.AddImageToLocalNode("default", "abc") require.NoError(t, err) err = client.DeleteClusterMember("rusp-0", false) diff --git a/lxd/db/images.go b/lxd/db/images.go index fba1b665e8..d3d4b5210b 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -631,9 +631,9 @@ WHERE images.fingerprint = ? return addresses[0], nil } -// ImageAssociateNode creates a new entry in the images_nodes table for -// tracking that the current node has the given image. -func (c *Cluster) ImageAssociateNode(project, fingerprint string) error { +// AddImageToLocalNode creates a new entry in the images_nodes table for +// tracking that the local node has the given image. +func (c *Cluster) AddImageToLocalNode(project, fingerprint string) error { imageID, _, err := c.GetImage(project, fingerprint, false, true) if err != nil { return err diff --git a/lxd/images.go b/lxd/images.go index acc0553c77..d9a9bee13a 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -627,7 +627,7 @@ func getImgPostInfo(d *Daemon, r *http.Request, builddir string, project string, // Do not create a database entry if the request is coming from the internal // cluster communications for image synchronization if isClusterNotification(r) { - err := d.cluster.ImageAssociateNode(project, info.Fingerprint) + err := d.cluster.AddImageToLocalNode(project, info.Fingerprint) if err != nil { return nil, err } diff --git a/lxd/instance.go b/lxd/instance.go index 7d08ed4dd6..3c369fe9db 100644 --- a/lxd/instance.go +++ b/lxd/instance.go @@ -116,7 +116,7 @@ func instanceCreateFromImage(d *Daemon, args db.InstanceArgs, hash string, op *o return nil, err } - err = d.cluster.ImageAssociateNode(args.Project, hash) + err = d.cluster.AddImageToLocalNode(args.Project, hash) if err != nil { return nil, err } From 03fdf314e8438907395a29a9e3418146dfe04030 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:16:28 +0100 Subject: [PATCH 12/31] lxd/db: Rename ImageDelete to DeleteImage Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index d3d4b5210b..071f6286a3 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -646,8 +646,8 @@ func (c *Cluster) AddImageToLocalNode(project, fingerprint string) error { return err } -// ImageDelete deletes the image with the given ID. -func (c *Cluster) ImageDelete(id int) error { +// DeleteImage deletes the image with the given ID. +func (c *Cluster) DeleteImage(id int) error { err := exec(c.db, "DELETE FROM images WHERE id=?", id) if err != nil { return err diff --git a/lxd/images.go b/lxd/images.go index d9a9bee13a..cea7ed5e83 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1270,7 +1270,7 @@ func autoUpdateImage(d *Daemon, op *operations.Operation, id int, info *api.Imag } // Remove the database entry for the image. - if err = d.cluster.ImageDelete(id); err != nil { + if err = d.cluster.DeleteImage(id); err != nil { logger.Debugf("Error deleting image from database %s: %s", fname, err) } @@ -1444,7 +1444,7 @@ func pruneExpiredImages(ctx context.Context, d *Daemon) error { } // Remove the database entry for the image. - if err = d.cluster.ImageDelete(imgID); err != nil { + if err = d.cluster.DeleteImage(imgID); err != nil { return errors.Wrapf(err, "Error deleting image %q from database", img.Fingerprint) } } @@ -1484,7 +1484,7 @@ func imageDelete(d *Daemon, r *http.Request) response.Response { } if referenced { - err := d.cluster.ImageDelete(imgID) + err := d.cluster.DeleteImage(imgID) if err != nil { return errors.Wrap(err, "Error deleting image info from the database") } @@ -1536,7 +1536,7 @@ func imageDelete(d *Daemon, r *http.Request) response.Response { // Remove the database entry. if !isClusterNotification(r) { - err = d.cluster.ImageDelete(imgID) + err = d.cluster.DeleteImage(imgID) if err != nil { return errors.Wrap(err, "Error deleting image info from the database") } From e8b80f9a8d77adf54efde2b649d8ce4cea07775d Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:17:17 +0100 Subject: [PATCH 13/31] lxd/db: Rename ImageAliasesGet GetImageAliases Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index 071f6286a3..c5ba9ed68f 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -656,8 +656,8 @@ func (c *Cluster) DeleteImage(id int) error { return nil } -// ImageAliasesGet returns the names of the aliases of all images. -func (c *Cluster) ImageAliasesGet(project string) ([]string, error) { +// GetImageAliases returns the names of the aliases of all images. +func (c *Cluster) GetImageAliases(project string) ([]string, error) { err := c.Transaction(func(tx *ClusterTx) error { enabled, err := tx.ProjectHasImages(project) if err != nil { diff --git a/lxd/images.go b/lxd/images.go index cea7ed5e83..b0e619158e 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1793,7 +1793,7 @@ func imageAliasesGet(d *Daemon, r *http.Request) response.Response { project := projectParam(r) recursion := util.IsRecursionRequest(r) - names, err := d.cluster.ImageAliasesGet(project) + names, err := d.cluster.GetImageAliases(project) if err != nil { return response.BadRequest(err) } From eccab2690a1c0f2c2bb622c254afc9472e90072e Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:18:46 +0100 Subject: [PATCH 14/31] lxd/db: Rename ImageAliasGet to GetImageAlaias Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/db_internal_test.go | 10 +++++----- lxd/db/images.go | 4 ++-- lxd/images.go | 18 +++++++++--------- lxd/instance/instance_utils.go | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/lxd/db/db_internal_test.go b/lxd/db/db_internal_test.go index f14e75b2e0..f6f2dbe5b5 100644 --- a/lxd/db/db_internal_test.go +++ b/lxd/db/db_internal_test.go @@ -219,18 +219,18 @@ func (s *dbTestSuite) Test_ImageExists_false() { s.False(exists) } -func (s *dbTestSuite) Test_ImageAliasGet_alias_exists() { +func (s *dbTestSuite) Test_GetImageAlias_alias_exists() { var err error - _, alias, err := s.db.ImageAliasGet("default", "somealias", true) + _, alias, err := s.db.GetImageAlias("default", "somealias", true) s.Nil(err) s.Equal(alias.Target, "fingerprint") } -func (s *dbTestSuite) Test_ImageAliasGet_alias_does_not_exists() { +func (s *dbTestSuite) Test_GetImageAlias_alias_does_not_exists() { var err error - _, _, err = s.db.ImageAliasGet("default", "whatever", true) + _, _, err = s.db.GetImageAlias("default", "whatever", true) s.Equal(err, ErrNoSuchObject) } @@ -240,7 +240,7 @@ func (s *dbTestSuite) Test_ImageAliasAdd() { err = s.db.ImageAliasAdd("default", "Chaosphere", 1, "Someone will like the name") s.Nil(err) - _, alias, err := s.db.ImageAliasGet("default", "Chaosphere", true) + _, alias, err := s.db.GetImageAlias("default", "Chaosphere", true) s.Nil(err) s.Equal(alias.Target, "fingerprint") } diff --git a/lxd/db/images.go b/lxd/db/images.go index c5ba9ed68f..a59c7e50e2 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -692,8 +692,8 @@ SELECT images_aliases.name return names, nil } -// ImageAliasGet returns the alias with the given name in the given project. -func (c *Cluster) ImageAliasGet(project, name string, isTrustedClient bool) (int, api.ImageAliasesEntry, error) { +// GetImageAlias returns the alias with the given name in the given project. +func (c *Cluster) GetImageAlias(project, name string, isTrustedClient bool) (int, api.ImageAliasesEntry, error) { id := -1 entry := api.ImageAliasesEntry{} diff --git a/lxd/images.go b/lxd/images.go index b0e619158e..9f2c66e3eb 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -831,7 +831,7 @@ func imagesPost(d *Daemon, r *http.Request) response.Response { } for _, alias := range req.Aliases { - _, _, err := d.cluster.ImageAliasGet(project, alias.Name, true) + _, _, err := d.cluster.GetImageAlias(project, alias.Name, true) if err != db.ErrNoSuchObject { if err != nil { return errors.Wrapf(err, "Fetch image alias %q", alias.Name) @@ -1767,7 +1767,7 @@ func imageAliasesPost(d *Daemon, r *http.Request) response.Response { } // This is just to see if the alias name already exists. - _, _, err := d.cluster.ImageAliasGet(project, req.Name, true) + _, _, err := d.cluster.GetImageAlias(project, req.Name, true) if err != db.ErrNoSuchObject { if err != nil { return response.InternalError(err) @@ -1805,7 +1805,7 @@ func imageAliasesGet(d *Daemon, r *http.Request) response.Response { responseStr = append(responseStr, url) } else { - _, alias, err := d.cluster.ImageAliasGet(project, name, true) + _, alias, err := d.cluster.GetImageAlias(project, name, true) if err != nil { continue } @@ -1825,7 +1825,7 @@ func imageAliasGet(d *Daemon, r *http.Request) response.Response { name := mux.Vars(r)["name"] public := d.checkTrustedClient(r) != nil || allowProjectPermission("images", "view")(d, r) != response.EmptySyncResponse - _, alias, err := d.cluster.ImageAliasGet(project, name, !public) + _, alias, err := d.cluster.GetImageAlias(project, name, !public) if err != nil { return response.SmartError(err) } @@ -1836,7 +1836,7 @@ func imageAliasGet(d *Daemon, r *http.Request) response.Response { func imageAliasDelete(d *Daemon, r *http.Request) response.Response { project := projectParam(r) name := mux.Vars(r)["name"] - _, _, err := d.cluster.ImageAliasGet(project, name, true) + _, _, err := d.cluster.GetImageAlias(project, name, true) if err != nil { return response.SmartError(err) } @@ -1853,7 +1853,7 @@ func imageAliasPut(d *Daemon, r *http.Request) response.Response { // Get current value project := projectParam(r) name := mux.Vars(r)["name"] - id, alias, err := d.cluster.ImageAliasGet(project, name, true) + id, alias, err := d.cluster.GetImageAlias(project, name, true) if err != nil { return response.SmartError(err) } @@ -1890,7 +1890,7 @@ func imageAliasPatch(d *Daemon, r *http.Request) response.Response { // Get current value project := projectParam(r) name := mux.Vars(r)["name"] - id, alias, err := d.cluster.ImageAliasGet(project, name, true) + id, alias, err := d.cluster.GetImageAlias(project, name, true) if err != nil { return response.SmartError(err) } @@ -1949,12 +1949,12 @@ func imageAliasPost(d *Daemon, r *http.Request) response.Response { } // Check that the name isn't already in use - id, _, _ := d.cluster.ImageAliasGet(project, req.Name, true) + id, _, _ := d.cluster.GetImageAlias(project, req.Name, true) if id > 0 { return response.Conflict(fmt.Errorf("Alias '%s' already in use", req.Name)) } - id, _, err := d.cluster.ImageAliasGet(project, name, true) + id, _, err := d.cluster.GetImageAlias(project, name, true) if err != nil { return response.SmartError(err) } diff --git a/lxd/instance/instance_utils.go b/lxd/instance/instance_utils.go index 1dc8b0a386..3aa47937df 100644 --- a/lxd/instance/instance_utils.go +++ b/lxd/instance/instance_utils.go @@ -653,7 +653,7 @@ func ResolveImage(s *state.State, project string, source api.InstanceSource) (st return source.Alias, nil } - _, alias, err := s.Cluster.ImageAliasGet(project, source.Alias, true) + _, alias, err := s.Cluster.GetImageAlias(project, source.Alias, true) if err != nil { return "", err } From 2abadc33c85ad349a577746976e44ff5ed0a8ea9 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:20:40 +0100 Subject: [PATCH 15/31] lxd/db: Rename ImageAliasRename to RenameImageAlias Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index a59c7e50e2..2d634967a0 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -744,8 +744,8 @@ func (c *Cluster) GetImageAlias(project, name string, isTrustedClient bool) (int return id, entry, nil } -// ImageAliasRename renames the alias with the given ID. -func (c *Cluster) ImageAliasRename(id int, name string) error { +// RenameImageAlias renames the alias with the given ID. +func (c *Cluster) RenameImageAlias(id int, name string) error { err := exec(c.db, "UPDATE images_aliases SET name=? WHERE id=?", name, id) return err } diff --git a/lxd/images.go b/lxd/images.go index 9f2c66e3eb..d352bcaf8e 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1959,7 +1959,7 @@ func imageAliasPost(d *Daemon, r *http.Request) response.Response { return response.SmartError(err) } - err = d.cluster.ImageAliasRename(id, req.Name) + err = d.cluster.RenameImageAlias(id, req.Name) if err != nil { return response.SmartError(err) } From 07815ff60941ac374fcfac0436ace062ef1549b5 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:21:31 +0100 Subject: [PATCH 16/31] lxd/db: Rename ImageAliasDelete to DeleteImageAlias Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index 2d634967a0..4cb3be7f95 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -750,8 +750,8 @@ func (c *Cluster) RenameImageAlias(id int, name string) error { return err } -// ImageAliasDelete deletes the alias with the given name. -func (c *Cluster) ImageAliasDelete(project, name string) error { +// DeleteImageAlias deletes the alias with the given name. +func (c *Cluster) DeleteImageAlias(project, name string) error { err := c.Transaction(func(tx *ClusterTx) error { enabled, err := tx.ProjectHasImages(project) if err != nil { diff --git a/lxd/images.go b/lxd/images.go index d352bcaf8e..c50b843c58 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1841,7 +1841,7 @@ func imageAliasDelete(d *Daemon, r *http.Request) response.Response { return response.SmartError(err) } - err = d.cluster.ImageAliasDelete(project, name) + err = d.cluster.DeleteImageAlias(project, name) if err != nil { return response.SmartError(err) } From bd230bd37b0ce535d746266559a9daac79bb47f0 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:23:34 +0100 Subject: [PATCH 17/31] lxd/db: Rename ImageAliasesMove to MoveImageAlias Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index 4cb3be7f95..d26ae36a1d 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -774,8 +774,8 @@ DELETE return err } -// ImageAliasesMove changes the image ID associated with an alias. -func (c *Cluster) ImageAliasesMove(source int, destination int) error { +// MoveImageAlias changes the image ID associated with an alias. +func (c *Cluster) MoveImageAlias(source int, destination int) error { err := exec(c.db, "UPDATE images_aliases SET image_id=? WHERE image_id=?", destination, source) return err } diff --git a/lxd/images.go b/lxd/images.go index c50b843c58..597fb72e53 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1225,7 +1225,7 @@ func autoUpdateImage(d *Daemon, op *operations.Operation, id int, info *api.Imag continue } - err = d.cluster.ImageAliasesMove(id, newID) + err = d.cluster.MoveImageAlias(id, newID) if err != nil { logger.Error("Error moving aliases", log.Ctx{"err": err, "fp": hash}) continue From de019fb2fd30cdbf033dfaf3bcae30019ce60cf6 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:24:25 +0100 Subject: [PATCH 18/31] lxd/db: Rename ImageAliasAdd to CreateImageAlias Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/db_internal_test.go | 4 ++-- lxd/db/images.go | 4 ++-- lxd/images.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lxd/db/db_internal_test.go b/lxd/db/db_internal_test.go index f6f2dbe5b5..94b698b107 100644 --- a/lxd/db/db_internal_test.go +++ b/lxd/db/db_internal_test.go @@ -234,10 +234,10 @@ func (s *dbTestSuite) Test_GetImageAlias_alias_does_not_exists() { s.Equal(err, ErrNoSuchObject) } -func (s *dbTestSuite) Test_ImageAliasAdd() { +func (s *dbTestSuite) Test_CreateImageAlias() { var err error - err = s.db.ImageAliasAdd("default", "Chaosphere", 1, "Someone will like the name") + err = s.db.CreateImageAlias("default", "Chaosphere", 1, "Someone will like the name") s.Nil(err) _, alias, err := s.db.GetImageAlias("default", "Chaosphere", true) diff --git a/lxd/db/images.go b/lxd/db/images.go index d26ae36a1d..3edf586dd0 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -780,8 +780,8 @@ func (c *Cluster) MoveImageAlias(source int, destination int) error { return err } -// ImageAliasAdd inserts an alias ento the database. -func (c *Cluster) ImageAliasAdd(project, name string, imageID int, desc string) error { +// CreateImageAlias inserts an alias ento the database. +func (c *Cluster) CreateImageAlias(project, name string, imageID int, desc string) error { err := c.Transaction(func(tx *ClusterTx) error { enabled, err := tx.ProjectHasImages(project) if err != nil { diff --git a/lxd/images.go b/lxd/images.go index 597fb72e53..cc2b6c077b 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -845,7 +845,7 @@ func imagesPost(d *Daemon, r *http.Request) response.Response { return errors.Wrapf(err, "Fetch image %q", info.Fingerprint) } - err = d.cluster.ImageAliasAdd(project, alias.Name, id, alias.Description) + err = d.cluster.CreateImageAlias(project, alias.Name, id, alias.Description) if err != nil { return errors.Wrapf(err, "Add new image alias to the database") } @@ -1781,7 +1781,7 @@ func imageAliasesPost(d *Daemon, r *http.Request) response.Response { return response.SmartError(err) } - err = d.cluster.ImageAliasAdd(project, req.Name, id, req.Description) + err = d.cluster.CreateImageAlias(project, req.Name, id, req.Description) if err != nil { return response.SmartError(err) } From 30cd35b492bf4aed334b154c5ba1f22880a8f903 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:25:07 +0100 Subject: [PATCH 19/31] lxd/db: Rename ImageAliasUpdate to UpdateImageAlias Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index 3edf586dd0..6876f1caa7 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -804,8 +804,8 @@ INSERT INTO images_aliases (name, image_id, description, project_id) return err } -// ImageAliasUpdate updates the alias with the given ID. -func (c *Cluster) ImageAliasUpdate(id int, imageID int, desc string) error { +// UpdateImageAlias updates the alias with the given ID. +func (c *Cluster) UpdateImageAlias(id int, imageID int, desc string) error { stmt := `UPDATE images_aliases SET image_id=?, description=? WHERE id=?` err := exec(c.db, stmt, imageID, desc, id) return err diff --git a/lxd/images.go b/lxd/images.go index cc2b6c077b..181c756ede 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1878,7 +1878,7 @@ func imageAliasPut(d *Daemon, r *http.Request) response.Response { return response.SmartError(err) } - err = d.cluster.ImageAliasUpdate(id, imageId, req.Description) + err = d.cluster.UpdateImageAlias(id, imageId, req.Description) if err != nil { return response.SmartError(err) } @@ -1931,7 +1931,7 @@ func imageAliasPatch(d *Daemon, r *http.Request) response.Response { return response.SmartError(err) } - err = d.cluster.ImageAliasUpdate(id, imageId, alias.Description) + err = d.cluster.UpdateImageAlias(id, imageId, alias.Description) if err != nil { return response.SmartError(err) } From 7588f82a8009a0912b3dbab0e137931bd4d4fee0 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:30:20 +0100 Subject: [PATCH 20/31] lxd/db: Rename ImageCopyDefaultProfiles to CopyDefaultImageProfiles Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index 6876f1caa7..f9fd8a49d3 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -811,8 +811,8 @@ func (c *Cluster) UpdateImageAlias(id int, imageID int, desc string) error { return err } -// ImageCopyDefaultProfiles copies default profiles from id to new_id. -func (c *Cluster) ImageCopyDefaultProfiles(id int, newID int) error { +// CopyDefaultImageProfiles copies default profiles from id to new_id. +func (c *Cluster) CopyDefaultImageProfiles(id int, newID int) error { err := c.Transaction(func(tx *ClusterTx) error { // Delete all current associations. _, err := tx.tx.Exec("DELETE FROM images_profiles WHERE image_id=?", newID) diff --git a/lxd/images.go b/lxd/images.go index 181c756ede..f81219efc1 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1231,7 +1231,7 @@ func autoUpdateImage(d *Daemon, op *operations.Operation, id int, info *api.Imag continue } - err = d.cluster.ImageCopyDefaultProfiles(id, newID) + err = d.cluster.CopyDefaultImageProfiles(id, newID) if err != nil { logger.Error("Copying default profiles", log.Ctx{"err": err, "fp": hash}) } From 89f3cbec6dc54a3888772849c6f350e961356238 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:31:38 +0100 Subject: [PATCH 21/31] lxd/db: Rename ImageLastAccessUpdate to UpdateImageLastUseDate Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- lxd/instance.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index f9fd8a49d3..1a2dad8a9a 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -835,9 +835,9 @@ func (c *Cluster) CopyDefaultImageProfiles(id int, newID int) error { return nil } -// ImageLastAccessUpdate updates the last_use_date field of the image with the +// UpdateImageLastUseDate updates the last_use_date field of the image with the // given fingerprint. -func (c *Cluster) ImageLastAccessUpdate(fingerprint string, date time.Time) error { +func (c *Cluster) UpdateImageLastUseDate(fingerprint string, date time.Time) error { stmt := `UPDATE images SET last_use_date=? WHERE fingerprint=?` err := exec(c.db, stmt, date, fingerprint) return err diff --git a/lxd/images.go b/lxd/images.go index f81219efc1..f67ce2d633 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1219,7 +1219,7 @@ func autoUpdateImage(d *Daemon, op *operations.Operation, id int, info *api.Imag } } - err = d.cluster.ImageLastAccessUpdate(hash, info.LastUsedAt) + err = d.cluster.UpdateImageLastUseDate(hash, info.LastUsedAt) if err != nil { logger.Error("Error setting last use date", log.Ctx{"err": err, "fp": hash}) continue diff --git a/lxd/instance.go b/lxd/instance.go index 3c369fe9db..3e1683f978 100644 --- a/lxd/instance.go +++ b/lxd/instance.go @@ -147,7 +147,7 @@ func instanceCreateFromImage(d *Daemon, args db.InstanceArgs, hash string, op *o inst.Delete() }() - err = s.Cluster.ImageLastAccessUpdate(hash, time.Now().UTC()) + err = s.Cluster.UpdateImageLastUseDate(hash, time.Now().UTC()) if err != nil { return nil, fmt.Errorf("Error updating image last use date: %s", err) } From 134ebffe64c8ba046761a885c722ecc3c489d055 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:33:07 +0100 Subject: [PATCH 22/31] lxd/db: Rename ImageLastAccessInit to InitImageLastUseDate Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/daemon_images.go | 2 +- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lxd/daemon_images.go b/lxd/daemon_images.go index 77c29ef8e7..60f9bee6f7 100644 --- a/lxd/daemon_images.go +++ b/lxd/daemon_images.go @@ -475,7 +475,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol // Mark the image as "cached" if downloading for a container if forContainer { - err := d.cluster.ImageLastAccessInit(fp) + err := d.cluster.InitImageLastUseDate(fp) if err != nil { return nil, err } diff --git a/lxd/db/images.go b/lxd/db/images.go index 1a2dad8a9a..cbedf187b3 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -843,8 +843,8 @@ func (c *Cluster) UpdateImageLastUseDate(fingerprint string, date time.Time) err return err } -// ImageLastAccessInit inits the last_use_date field of the image with the given fingerprint. -func (c *Cluster) ImageLastAccessInit(fingerprint string) error { +// InitImageLastUseDate inits the last_use_date field of the image with the given fingerprint. +func (c *Cluster) InitImageLastUseDate(fingerprint string) error { stmt := `UPDATE images SET cached=1, last_use_date=strftime("%s") WHERE fingerprint=?` err := exec(c.db, stmt, fingerprint) return err diff --git a/lxd/images.go b/lxd/images.go index f67ce2d633..e770f9c7e9 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1212,7 +1212,7 @@ func autoUpdateImage(d *Daemon, op *operations.Operation, id int, info *api.Imag } if info.Cached { - err = d.cluster.ImageLastAccessInit(hash) + err = d.cluster.InitImageLastUseDate(hash) if err != nil { logger.Error("Error setting cached flag", log.Ctx{"err": err, "fp": hash}) continue From 2d1c476fdaebd05c540ff8b1329f70485489819c Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:33:54 +0100 Subject: [PATCH 23/31] lxd/db: Rename ImageUpdate to UpdateImage Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index cbedf187b3..1b1c075ee9 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -850,8 +850,8 @@ func (c *Cluster) InitImageLastUseDate(fingerprint string) error { return err } -// ImageUpdate updates the image with the given ID. -func (c *Cluster) ImageUpdate(id int, fname string, sz int64, public bool, autoUpdate bool, architecture string, createdAt time.Time, expiresAt time.Time, properties map[string]string, project string, profileIds []int64) error { +// UpdateImage updates the image with the given ID. +func (c *Cluster) UpdateImage(id int, fname string, sz int64, public bool, autoUpdate bool, architecture string, createdAt time.Time, expiresAt time.Time, properties map[string]string, project string, profileIds []int64) error { arch, err := osarch.ArchitectureId(architecture) if err != nil { arch = 0 diff --git a/lxd/images.go b/lxd/images.go index e770f9c7e9..8c9d730498 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -362,7 +362,7 @@ func imgPostRemoteInfo(d *Daemon, req api.ImagesPost, op *operations.Operation, // Update the DB record if needed if req.Public || req.AutoUpdate || req.Filename != "" || len(req.Properties) > 0 { - err = d.cluster.ImageUpdate(id, req.Filename, info.Size, req.Public, req.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, "", nil) + err = d.cluster.UpdateImage(id, req.Filename, info.Size, req.Public, req.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, "", nil) if err != nil { return nil, err } @@ -430,7 +430,7 @@ func imgPostURLInfo(d *Daemon, req api.ImagesPost, op *operations.Operation, pro } if req.Public || req.AutoUpdate || req.Filename != "" || len(req.Properties) > 0 { - err = d.cluster.ImageUpdate(id, req.Filename, info.Size, req.Public, req.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, "", nil) + err = d.cluster.UpdateImage(id, req.Filename, info.Size, req.Public, req.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, "", nil) if err != nil { return nil, err } @@ -1680,7 +1680,7 @@ func imagePut(d *Daemon, r *http.Request) response.Response { profileIds[i] = profileID } - err = d.cluster.ImageUpdate(id, info.Filename, info.Size, req.Public, req.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, req.Properties, project, profileIds) + err = d.cluster.UpdateImage(id, info.Filename, info.Size, req.Public, req.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, req.Properties, project, profileIds) if err != nil { return response.SmartError(err) } @@ -1747,7 +1747,7 @@ func imagePatch(d *Daemon, r *http.Request) response.Response { info.Properties = properties } - err = d.cluster.ImageUpdate(id, info.Filename, info.Size, info.Public, info.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, "", nil) + err = d.cluster.UpdateImage(id, info.Filename, info.Size, info.Public, info.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, "", nil) if err != nil { return response.SmartError(err) } From 7a82c23fb48082278c1fd3e2287cca0bb531220d Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:34:54 +0100 Subject: [PATCH 24/31] lxd/db: Rename ImageInsert to CreateImage Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/api_cluster_test.go | 4 ++-- lxd/daemon_images.go | 4 ++-- lxd/db/images.go | 4 ++-- lxd/db/images_test.go | 2 +- lxd/images.go | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lxd/api_cluster_test.go b/lxd/api_cluster_test.go index 3506e17786..0e1a7f0d7f 100644 --- a/lxd/api_cluster_test.go +++ b/lxd/api_cluster_test.go @@ -457,7 +457,7 @@ func TestCluster_LeaveWithImages(t *testing.T) { f.FormCluster(daemons) daemon := daemons[1] - err := daemon.State().Cluster.ImageInsert( + err := daemon.State().Cluster.CreateImage( "default", "abc", "foo", 123, false, false, "amd64", time.Now(), time.Now(), nil, "container") require.NoError(t, err) @@ -488,7 +488,7 @@ func TestCluster_LeaveForce(t *testing.T) { f.FormCluster(daemons) daemon := daemons[1] - err := daemon.State().Cluster.ImageInsert( + err := daemon.State().Cluster.CreateImage( "default", "abc", "foo", 123, false, false, "amd64", time.Now(), time.Now(), nil, "container") require.NoError(t, err) diff --git a/lxd/daemon_images.go b/lxd/daemon_images.go index 60f9bee6f7..4ec6d1f601 100644 --- a/lxd/daemon_images.go +++ b/lxd/daemon_images.go @@ -113,7 +113,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol _, imgInfo, err = d.cluster.GetImageFromAnyProject(fp) if err == nil { // We just need to insert the database data, no actual download necessary. - err = d.cluster.ImageInsert( + err = d.cluster.CreateImage( project, imgInfo.Fingerprint, imgInfo.Filename, imgInfo.Size, false, imgInfo.AutoUpdate, imgInfo.Architecture, imgInfo.CreatedAt, imgInfo.ExpiresAt, imgInfo.Properties, imgInfo.Type) @@ -428,7 +428,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol } // Create the database entry - err = d.cluster.ImageInsert(project, info.Fingerprint, info.Filename, info.Size, info.Public, info.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, info.Type) + err = d.cluster.CreateImage(project, info.Fingerprint, info.Filename, info.Size, info.Public, info.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, info.Type) if err != nil { return nil, err } diff --git a/lxd/db/images.go b/lxd/db/images.go index 1b1c075ee9..682eb10dd7 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -935,8 +935,8 @@ func (c *Cluster) UpdateImage(id int, fname string, sz int64, public bool, autoU return err } -// ImageInsert inserts a new image. -func (c *Cluster) ImageInsert(project, fp string, fname string, sz int64, public bool, autoUpdate bool, architecture string, createdAt time.Time, expiresAt time.Time, properties map[string]string, typeName string) error { +// CreateImage creates a new image. +func (c *Cluster) CreateImage(project, fp string, fname string, sz int64, public bool, autoUpdate bool, architecture string, createdAt time.Time, expiresAt time.Time, properties map[string]string, typeName string) error { profileProject := project err := c.Transaction(func(tx *ClusterTx) error { enabled, err := tx.ProjectHasImages(project) diff --git a/lxd/db/images_test.go b/lxd/db/images_test.go index 82c7869e8c..333be02ae3 100644 --- a/lxd/db/images_test.go +++ b/lxd/db/images_test.go @@ -15,7 +15,7 @@ func TestLocateImage(t *testing.T) { cluster, cleanup := db.NewTestCluster(t) defer cleanup() - err := cluster.ImageInsert( + err := cluster.CreateImage( "default", "abc", "x.gz", 16, false, false, "amd64", time.Now(), time.Now(), map[string]string{}, "container") require.NoError(t, err) diff --git a/lxd/images.go b/lxd/images.go index 8c9d730498..e490cb8100 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -325,7 +325,7 @@ func imgPostContInfo(d *Daemon, r *http.Request, req api.ImagesPost, op *operati info.Properties = req.Properties // Create the database entry - err = d.cluster.ImageInsert(c.Project(), info.Fingerprint, info.Filename, info.Size, info.Public, info.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, info.Type) + err = d.cluster.CreateImage(c.Project(), info.Fingerprint, info.Filename, info.Size, info.Public, info.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, info.Type) if err != nil { return nil, err } @@ -641,7 +641,7 @@ func getImgPostInfo(d *Daemon, r *http.Request, builddir string, project string, } // Create the database entry - err = d.cluster.ImageInsert(project, info.Fingerprint, info.Filename, info.Size, info.Public, info.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, info.Type) + err = d.cluster.CreateImage(project, info.Fingerprint, info.Filename, info.Size, info.Public, info.AutoUpdate, info.Architecture, info.CreatedAt, info.ExpiresAt, info.Properties, info.Type) if err != nil { return nil, err } From d868cf90d0eb94117395915d046a39333e6fce9f Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:36:33 +0100 Subject: [PATCH 25/31] lxd/db: Rename ImageGetPools to GetPoolsWithImage Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/daemon_images.go | 2 +- lxd/db/images.go | 4 ++-- lxd/images.go | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lxd/daemon_images.go b/lxd/daemon_images.go index 4ec6d1f601..3458bdf586 100644 --- a/lxd/daemon_images.go +++ b/lxd/daemon_images.go @@ -149,7 +149,7 @@ func (d *Daemon) ImageDownload(op *operations.Operation, server string, protocol } // Check if the image is already in the pool - poolIDs, err := d.cluster.ImageGetPools(info.Fingerprint) + poolIDs, err := d.cluster.GetPoolsWithImage(info.Fingerprint) if err != nil { return nil, err } diff --git a/lxd/db/images.go b/lxd/db/images.go index 682eb10dd7..11bdcd2adc 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -1036,8 +1036,8 @@ func (c *Cluster) CreateImage(project, fp string, fname string, sz int64, public return err } -// ImageGetPools get the names of all storage pools on which a given image exists. -func (c *Cluster) ImageGetPools(imageFingerprint string) ([]int64, error) { +// GetPoolsWithImage get the names of all storage pools on which a given image exists. +func (c *Cluster) GetPoolsWithImage(imageFingerprint string) ([]int64, error) { poolID := int64(-1) query := "SELECT storage_pool_id FROM storage_volumes WHERE node_id=? AND name=? AND type=?" inargs := []interface{}{c.nodeID, imageFingerprint, StoragePoolVolumeTypeImage} diff --git a/lxd/images.go b/lxd/images.go index e490cb8100..b23c327433 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1159,7 +1159,7 @@ func autoUpdateImage(d *Daemon, op *operations.Operation, id int, info *api.Imag // Get the IDs of all storage pools on which a storage volume // for the requested image currently exists. - poolIDs, err := d.cluster.ImageGetPools(fingerprint) + poolIDs, err := d.cluster.GetPoolsWithImage(fingerprint) if err != nil { logger.Error("Error getting image pools", log.Ctx{"err": err, "fp": fingerprint}) return err @@ -1402,7 +1402,7 @@ func pruneExpiredImages(ctx context.Context, d *Daemon) error { // Get the IDs of all storage pools on which a storage volume // for the requested image currently exists. - poolIDs, err := d.cluster.ImageGetPools(img.Fingerprint) + poolIDs, err := d.cluster.GetPoolsWithImage(img.Fingerprint) if err != nil { continue } @@ -1517,7 +1517,7 @@ func imageDelete(d *Daemon, r *http.Request) response.Response { } // Delete the pool volumes. - poolIDs, err := d.cluster.ImageGetPools(imgInfo.Fingerprint) + poolIDs, err := d.cluster.GetPoolsWithImage(imgInfo.Fingerprint) if err != nil { return err } From c685a3da28c4e2a7d0b5abbce5074e3471d7f496 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:38:22 +0100 Subject: [PATCH 26/31] lxd/db: Rename ImageGetPoolNamesFromIDs to GetPoolNamesFromIDs Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index 11bdcd2adc..e7741c2357 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -1056,8 +1056,8 @@ func (c *Cluster) GetPoolsWithImage(imageFingerprint string) ([]int64, error) { return poolIDs, nil } -// ImageGetPoolNamesFromIDs get the names of all storage pools on which a given image exists. -func (c *Cluster) ImageGetPoolNamesFromIDs(poolIDs []int64) ([]string, error) { +// GetPoolNamesFromIDs get the names of all storage pools on which a given image exists. +func (c *Cluster) GetPoolNamesFromIDs(poolIDs []int64) ([]string, error) { var poolName string query := "SELECT name FROM storage_pools WHERE id=?" diff --git a/lxd/images.go b/lxd/images.go index b23c327433..9bea77d795 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -1166,7 +1166,7 @@ func autoUpdateImage(d *Daemon, op *operations.Operation, id int, info *api.Imag } // Translate the IDs to poolNames. - poolNames, err := d.cluster.ImageGetPoolNamesFromIDs(poolIDs) + poolNames, err := d.cluster.GetPoolNamesFromIDs(poolIDs) if err != nil { logger.Error("Error getting image pools", log.Ctx{"err": err, "fp": fingerprint}) return err @@ -1408,7 +1408,7 @@ func pruneExpiredImages(ctx context.Context, d *Daemon) error { } // Translate the IDs to poolNames. - poolNames, err := d.cluster.ImageGetPoolNamesFromIDs(poolIDs) + poolNames, err := d.cluster.GetPoolNamesFromIDs(poolIDs) if err != nil { continue } @@ -1522,7 +1522,7 @@ func imageDelete(d *Daemon, r *http.Request) response.Response { return err } - pools, err := d.cluster.ImageGetPoolNamesFromIDs(poolIDs) + pools, err := d.cluster.GetPoolNamesFromIDs(poolIDs) if err != nil { return err } From 077e45d9b81bc214d580fb90476c94cb60b05169 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:39:47 +0100 Subject: [PATCH 27/31] lxd/db: Rename ImageUploadedAt to UpdateImageUploadDate Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/patches.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index e7741c2357..16b49c5782 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -1079,8 +1079,8 @@ func (c *Cluster) GetPoolNamesFromIDs(poolIDs []int64) ([]string, error) { return poolNames, nil } -// ImageUploadedAt updates the upload_date column and an image row. -func (c *Cluster) ImageUploadedAt(id int, uploadedAt time.Time) error { +// UpdateImageUploadDate updates the upload_date column and an image row. +func (c *Cluster) UpdateImageUploadDate(id int, uploadedAt time.Time) error { err := exec(c.db, "UPDATE images SET upload_date=? WHERE id=?", uploadedAt, id) return err } diff --git a/lxd/patches.go b/lxd/patches.go index 429398abb7..29ed6c0a41 100644 --- a/lxd/patches.go +++ b/lxd/patches.go @@ -2772,7 +2772,7 @@ func patchFixUploadedAt(name string, d *Daemon) error { return err } - err = d.cluster.ImageUploadedAt(id, image.UploadedAt) + err = d.cluster.UpdateImageUploadDate(id, image.UploadedAt) if err != nil { return err } From eb27c97227831d19e4836eff0919c68aba086249 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:41:00 +0100 Subject: [PATCH 28/31] lxd/db: Rename ImagesGetOnCurrentNode to GetImagesOnLocalNode Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index 16b49c5782..172c61e5f6 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -1085,8 +1085,8 @@ func (c *Cluster) UpdateImageUploadDate(id int, uploadedAt time.Time) error { return err } -// ImagesGetOnCurrentNode returns all images that the current LXD node instance has. -func (c *Cluster) ImagesGetOnCurrentNode() (map[string][]string, error) { +// GetImagesOnLocalNode returns all images that the local LXD node has. +func (c *Cluster) GetImagesOnLocalNode() (map[string][]string, error) { return c.ImagesGetByNodeID(c.nodeID) } diff --git a/lxd/images.go b/lxd/images.go index 9bea77d795..c0b3fd7136 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -2307,7 +2307,7 @@ func autoSyncImagesTask(d *Daemon) (task.Func, task.Schedule) { func autoSyncImages(ctx context.Context, d *Daemon) error { // Check how many images the current node owns and automatically sync all // available images to other nodes which don't have yet. - imageProjectInfo, err := d.cluster.ImagesGetOnCurrentNode() + imageProjectInfo, err := d.cluster.GetImagesOnLocalNode() if err != nil { return errors.Wrap(err, "Failed to query image fingerprints of the node") } From 4cb5779921e1054eb53740c5c1c280cf95f08014 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:42:45 +0100 Subject: [PATCH 29/31] lxd/db: Rename ImagesGetByNodeID to GetImagesOnNode Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/api_cluster.go | 2 +- lxd/db/images.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lxd/api_cluster.go b/lxd/api_cluster.go index 576cddd794..abe21b7e44 100644 --- a/lxd/api_cluster.go +++ b/lxd/api_cluster.go @@ -595,7 +595,7 @@ func clusterPutJoin(d *Daemon, req api.ClusterPut) response.Response { logger.Errorf("Failed to retrieve the information of leader member: %v", err) return } - imageProjectInfo, err := d.cluster.ImagesGetByNodeID(nodeInfo.ID) + imageProjectInfo, err := d.cluster.GetImagesOnNode(nodeInfo.ID) if err != nil { logger.Errorf("Failed to retrieve the image fingerprints of leader member: %v", err) return diff --git a/lxd/db/images.go b/lxd/db/images.go index 172c61e5f6..e65a013b89 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -1087,11 +1087,11 @@ func (c *Cluster) UpdateImageUploadDate(id int, uploadedAt time.Time) error { // GetImagesOnLocalNode returns all images that the local LXD node has. func (c *Cluster) GetImagesOnLocalNode() (map[string][]string, error) { - return c.ImagesGetByNodeID(c.nodeID) + return c.GetImagesOnNode(c.nodeID) } -// ImagesGetByNodeID returns all images that the LXD node instance has with the given node id. -func (c *Cluster) ImagesGetByNodeID(id int64) (map[string][]string, error) { +// GetImagesOnNode returns all images that the node with the given id has. +func (c *Cluster) GetImagesOnNode(id int64) (map[string][]string, error) { images := make(map[string][]string) // key is fingerprint, value is list of projects err := c.Transaction(func(tx *ClusterTx) error { stmt := ` From 3aa72ad0ffed0c3feb43bb1140ccbac3de6b2a93 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:43:57 +0100 Subject: [PATCH 30/31] lxd/db: Replace ImageGetNodesWithImage with GetNodesWithImage Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index e65a013b89..e28793dd4a 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -1122,8 +1122,8 @@ func (c *Cluster) GetImagesOnNode(id int64) (map[string][]string, error) { return images, err } -// ImageGetNodesWithImage returns the addresses of online nodes which already have the image. -func (c *Cluster) ImageGetNodesWithImage(fingerprint string) ([]string, error) { +// GetNodesWithImage returns the addresses of online nodes which already have the image. +func (c *Cluster) GetNodesWithImage(fingerprint string) ([]string, error) { q := ` SELECT DISTINCT nodes.address FROM nodes LEFT JOIN images_nodes ON images_nodes.node_id = nodes.id diff --git a/lxd/images.go b/lxd/images.go index c0b3fd7136..d2891a70bc 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -2359,7 +2359,7 @@ func imageSyncBetweenNodes(d *Daemon, project string, fingerprint string) error } // Check how many nodes already have this image - syncNodeAddresses, err := d.cluster.ImageGetNodesWithImage(fingerprint) + syncNodeAddresses, err := d.cluster.GetNodesWithImage(fingerprint) if err != nil { return errors.Wrap(err, "Failed to get nodes for the image synchronization") } From 40fc820e1b05028ce95f4bf562ac858eea881314 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <free.ekanay...@canonical.com> Date: Fri, 1 May 2020 15:44:47 +0100 Subject: [PATCH 31/31] lxd/db: Rename ImageGetNodesWithoutImage to GetNodesWithoutImage Signed-off-by: Free Ekanayaka <free.ekanay...@canonical.com> --- lxd/db/images.go | 4 ++-- lxd/images.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lxd/db/images.go b/lxd/db/images.go index e28793dd4a..0800b02e3b 100644 --- a/lxd/db/images.go +++ b/lxd/db/images.go @@ -1133,8 +1133,8 @@ WHERE images.fingerprint = ? return c.getNodesByImageFingerprint(q, fingerprint) } -// ImageGetNodesWithoutImage returns the addresses of online nodes which don't have the image. -func (c *Cluster) ImageGetNodesWithoutImage(fingerprint string) ([]string, error) { +// GetNodesWithoutImage returns the addresses of online nodes which don't have the image. +func (c *Cluster) GetNodesWithoutImage(fingerprint string) ([]string, error) { q := ` SELECT DISTINCT nodes.address FROM nodes WHERE nodes.address NOT IN ( SELECT DISTINCT nodes.address FROM nodes diff --git a/lxd/images.go b/lxd/images.go index d2891a70bc..5485946bf4 100644 --- a/lxd/images.go +++ b/lxd/images.go @@ -2369,7 +2369,7 @@ func imageSyncBetweenNodes(d *Daemon, project string, fingerprint string) error return nil } - addresses, err := d.cluster.ImageGetNodesWithoutImage(fingerprint) + addresses, err := d.cluster.GetNodesWithoutImage(fingerprint) if err != nil { return errors.Wrap(err, "Failed to get nodes for the image synchronization") }
_______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel