[lxc-devel] [lxd/master] Replace some uses of InternalError with SmartError.
albertodonato on Github
lxc-bot at linuxcontainers.org
Thu Jun 1 07:54:28 UTC 2017
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 472 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20170601/8b1ec2e1/attachment.bin>
-------------- next part --------------
From 2c53a35bbbf55092347beebbb5f5b41eb5c41368 Mon Sep 17 00:00:00 2001
From: Alberto Donato <alberto.donato at canonical.com>
Date: Tue, 30 May 2017 10:46:30 +0200
Subject: [PATCH] Replace some uses of InternalError with SmartError.
Signed-off-by: Alberto Donato <alberto.donato at canonical.com>
---
lxd/api_1.0.go | 4 ++--
lxd/api_internal.go | 20 ++++++++++----------
lxd/certificates.go | 2 +-
lxd/container_get.go | 2 +-
lxd/containers_get.go | 2 +-
lxd/containers_post.go | 10 +++++-----
lxd/images.go | 2 +-
lxd/operations.go | 4 ++--
lxd/profiles.go | 8 ++++----
lxd/profiles_utils.go | 14 +++++++-------
lxd/storage_pools.go | 6 +++---
lxd/storage_volumes.go | 20 ++++++++++----------
12 files changed, 47 insertions(+), 47 deletions(-)
diff --git a/lxd/api_1.0.go b/lxd/api_1.0.go
index d7c992fa4..adff478f7 100644
--- a/lxd/api_1.0.go
+++ b/lxd/api_1.0.go
@@ -231,7 +231,7 @@ func api10Get(d *Daemon, r *http.Request) Response {
func api10Put(d *Daemon, r *http.Request) Response {
oldConfig, err := dbConfigValuesGet(d.db)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
err = etagCheck(r, daemonConfigRender())
@@ -250,7 +250,7 @@ func api10Put(d *Daemon, r *http.Request) Response {
func api10Patch(d *Daemon, r *http.Request) Response {
oldConfig, err := dbConfigValuesGet(d.db)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
err = etagCheck(r, daemonConfigRender())
diff --git a/lxd/api_internal.go b/lxd/api_internal.go
index 11d3655b4..271571844 100644
--- a/lxd/api_internal.go
+++ b/lxd/api_internal.go
@@ -206,12 +206,12 @@ func internalImport(d *Daemon, r *http.Request) Response {
// Create the storage pool db entry if it doesn't exist.
err := storagePoolDBCreate(d, containerPoolName, pool.Description, backup.Pool.Driver, backup.Pool.Config)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
poolID, err = dbStoragePoolGetID(d.db, containerPoolName)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
} else {
if backup.Pool.Name != containerPoolName {
@@ -227,7 +227,7 @@ func internalImport(d *Daemon, r *http.Request) Response {
_, volume, ctVolErr := dbStoragePoolVolumeGetType(d.db, req.Name, storagePoolVolumeTypeContainer, poolID)
if ctVolErr != nil {
if ctVolErr != NoSuchObjectError {
- return InternalError(ctVolErr)
+ return SmartError(ctVolErr)
}
}
// If a storage volume entry exists only proceed if force was specified.
@@ -239,7 +239,7 @@ func internalImport(d *Daemon, r *http.Request) Response {
_, containerErr := dbContainerId(d.db, req.Name)
if containerErr != nil {
if containerErr != sql.ErrNoRows {
- return InternalError(containerErr)
+ return SmartError(containerErr)
}
}
// If a db entry exists only proceed if force was specified.
@@ -291,7 +291,7 @@ func internalImport(d *Daemon, r *http.Request) Response {
_, snapErr := dbContainerId(d.db, snap.Name)
if snapErr != nil {
if snapErr != sql.ErrNoRows {
- return InternalError(snapErr)
+ return SmartError(snapErr)
}
}
@@ -304,7 +304,7 @@ func internalImport(d *Daemon, r *http.Request) Response {
_, _, snapVolErr := dbStoragePoolVolumeGetType(d.db, snap.Name, storagePoolVolumeTypeContainer, poolID)
if snapVolErr != nil {
if snapVolErr != NoSuchObjectError {
- return InternalError(snapVolErr)
+ return SmartError(snapVolErr)
}
}
@@ -340,7 +340,7 @@ func internalImport(d *Daemon, r *http.Request) Response {
// force was specified.
err := dbContainerRemove(d.db, req.Name)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
}
@@ -377,7 +377,7 @@ func internalImport(d *Daemon, r *http.Request) Response {
_, snapErr := dbContainerId(d.db, snapName)
if snapErr != nil {
if snapErr != sql.ErrNoRows {
- return InternalError(snapErr)
+ return SmartError(snapErr)
}
}
@@ -390,7 +390,7 @@ func internalImport(d *Daemon, r *http.Request) Response {
_, _, csVolErr := dbStoragePoolVolumeGetType(d.db, snapName, storagePoolVolumeTypeContainer, poolID)
if csVolErr != nil {
if csVolErr != NoSuchObjectError {
- return InternalError(csVolErr)
+ return SmartError(csVolErr)
}
}
@@ -402,7 +402,7 @@ func internalImport(d *Daemon, r *http.Request) Response {
if snapErr == nil {
err := dbContainerRemove(d.db, snapName)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
}
diff --git a/lxd/certificates.go b/lxd/certificates.go
index 46d5603fb..6154b8be1 100644
--- a/lxd/certificates.go
+++ b/lxd/certificates.go
@@ -247,7 +247,7 @@ func doCertificateUpdate(d *Daemon, fingerprint string, req api.CertificatePut)
err := dbCertUpdate(d.db, fingerprint, req.Name, 1)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return EmptySyncResponse
diff --git a/lxd/container_get.go b/lxd/container_get.go
index a1db3a457..f83109312 100644
--- a/lxd/container_get.go
+++ b/lxd/container_get.go
@@ -15,7 +15,7 @@ func containerGet(d *Daemon, r *http.Request) Response {
state, etag, err := c.Render()
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return SyncResponseETag(true, state, etag)
diff --git a/lxd/containers_get.go b/lxd/containers_get.go
index 49ce4633a..eecdc6721 100644
--- a/lxd/containers_get.go
+++ b/lxd/containers_get.go
@@ -18,7 +18,7 @@ func containersGet(d *Daemon, r *http.Request) Response {
}
if !isDbLockedError(err) {
logger.Debugf("DBERR: containersGet: error %q", err)
- return InternalError(err)
+ return SmartError(err)
}
// 1 s may seem drastic, but we really don't want to thrash
// perhaps we should use a random amount
diff --git a/lxd/containers_post.go b/lxd/containers_post.go
index 5eed3f953..831d91d8e 100644
--- a/lxd/containers_post.go
+++ b/lxd/containers_post.go
@@ -32,7 +32,7 @@ func createFromImage(d *Daemon, req *api.ContainersPost) Response {
} else {
_, alias, err := dbImageAliasGet(d.db, req.Source.Alias, true)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
hash = alias.Target
@@ -44,7 +44,7 @@ func createFromImage(d *Daemon, req *api.ContainersPost) Response {
hashes, err := dbImagesGet(d.db, false)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
var image *api.Image
@@ -213,7 +213,7 @@ func createFromMigration(d *Daemon, req *api.ContainersPost) Response {
for _, pName := range req.Profiles {
_, p, err := dbProfileGet(d.db, pName)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
k, v, _ := containerGetRootDiskDevice(p.Devices)
@@ -233,7 +233,7 @@ func createFromMigration(d *Daemon, req *api.ContainersPost) Response {
if err == NoSuchObjectError {
return BadRequest(fmt.Errorf("This LXD instance does not have any storage pools configured."))
}
- return InternalError(err)
+ return SmartError(err)
}
if len(pools) == 1 {
@@ -508,7 +508,7 @@ func containersPost(d *Daemon, r *http.Request) Response {
if req.Name == "" {
cs, err := dbContainersList(d.db, cTypeRegular)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
i := 0
diff --git a/lxd/images.go b/lxd/images.go
index a6df8720d..8cdb17009 100644
--- a/lxd/images.go
+++ b/lxd/images.go
@@ -1338,7 +1338,7 @@ func aliasesPost(d *Daemon, r *http.Request) Response {
err = dbImageAliasAdd(d.db, req.Name, id, req.Description)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return SyncResponseLocation(true, nil, fmt.Sprintf("/%s/images/aliases/%s", version.APIVersion, req.Name))
diff --git a/lxd/operations.go b/lxd/operations.go
index 161ff036f..0794bc5d0 100644
--- a/lxd/operations.go
+++ b/lxd/operations.go
@@ -428,7 +428,7 @@ func operationAPIGet(d *Daemon, r *http.Request) Response {
_, body, err := op.Render()
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return SyncResponse(true, body)
@@ -511,7 +511,7 @@ func operationAPIWaitGet(d *Daemon, r *http.Request) Response {
_, body, err := op.Render()
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return SyncResponse(true, body)
diff --git a/lxd/profiles.go b/lxd/profiles.go
index 07dc1a335..75907e562 100644
--- a/lxd/profiles.go
+++ b/lxd/profiles.go
@@ -90,7 +90,7 @@ func profilesPost(d *Daemon, r *http.Request) Response {
// Update DB entry
_, err = dbProfileCreate(d.db, req.Name, req.Description, req.Config, req.Devices)
if err != nil {
- return InternalError(
+ return SmartError(
fmt.Errorf("Error inserting %s into database: %s", req.Name, err))
}
@@ -159,7 +159,7 @@ func profilePut(d *Daemon, r *http.Request) Response {
name := mux.Vars(r)["name"]
id, profile, err := dbProfileGet(d.db, name)
if err != nil {
- return InternalError(fmt.Errorf("Failed to retrieve profile='%s'", name))
+ return SmartError(fmt.Errorf("Failed to retrieve profile='%s'", name))
}
// Validate the ETag
@@ -182,7 +182,7 @@ func profilePatch(d *Daemon, r *http.Request) Response {
name := mux.Vars(r)["name"]
id, profile, err := dbProfileGet(d.db, name)
if err != nil {
- return InternalError(fmt.Errorf("Failed to retrieve profile='%s'", name))
+ return SmartError(fmt.Errorf("Failed to retrieve profile='%s'", name))
}
// Validate the ETag
@@ -273,7 +273,7 @@ func profilePost(d *Daemon, r *http.Request) Response {
err := dbProfileUpdate(d.db, name, req.Name)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return SyncResponseLocation(true, nil, fmt.Sprintf("/%s/profiles/%s", version.APIVersion, req.Name))
diff --git a/lxd/profiles_utils.go b/lxd/profiles_utils.go
index 3b3ae7ef6..d63bdb7f1 100644
--- a/lxd/profiles_utils.go
+++ b/lxd/profiles_utils.go
@@ -43,7 +43,7 @@ func doProfileUpdate(d *Daemon, name string, id int64, profile *api.Profile, req
for i := len(profiles) - 1; i >= 0; i-- {
_, profile, err := dbProfileGet(d.db, profiles[i])
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
// Check if we find a match for the device
@@ -65,14 +65,14 @@ func doProfileUpdate(d *Daemon, name string, id int64, profile *api.Profile, req
// Update the database
tx, err := dbBegin(d.db)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
if profile.Description != req.Description {
err = dbProfileDescriptionUpdate(tx, id, req.Description)
if err != nil {
tx.Rollback()
- return InternalError(err)
+ return SmartError(err)
}
}
@@ -80,7 +80,7 @@ func doProfileUpdate(d *Daemon, name string, id int64, profile *api.Profile, req
if reflect.DeepEqual(profile.Config, req.Config) && reflect.DeepEqual(profile.Devices, req.Devices) {
err = txCommit(tx)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return EmptySyncResponse
@@ -89,7 +89,7 @@ func doProfileUpdate(d *Daemon, name string, id int64, profile *api.Profile, req
err = dbProfileConfigClear(tx, id)
if err != nil {
tx.Rollback()
- return InternalError(err)
+ return SmartError(err)
}
err = dbProfileConfigAdd(tx, id, req.Config)
@@ -106,7 +106,7 @@ func doProfileUpdate(d *Daemon, name string, id int64, profile *api.Profile, req
err = txCommit(tx)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
// Update all the containers using the profile. Must be done after txCommit due to DB lock.
@@ -129,7 +129,7 @@ func doProfileUpdate(d *Daemon, name string, id int64, profile *api.Profile, req
for cname, err := range failures {
msg += fmt.Sprintf(" - %s: %s\n", cname, err)
}
- return InternalError(fmt.Errorf("%s", msg))
+ return SmartError(fmt.Errorf("%s", msg))
}
return EmptySyncResponse
diff --git a/lxd/storage_pools.go b/lxd/storage_pools.go
index d94e59dd1..337fbfc8f 100644
--- a/lxd/storage_pools.go
+++ b/lxd/storage_pools.go
@@ -23,7 +23,7 @@ func storagePoolsGet(d *Daemon, r *http.Request) Response {
pools, err := dbStoragePools(d.db)
if err != nil && err != NoSuchObjectError {
- return InternalError(err)
+ return SmartError(err)
}
resultString := []string{}
@@ -216,7 +216,7 @@ func storagePoolDelete(d *Daemon, r *http.Request) Response {
// Check if the storage pool is still referenced in any profiles.
profiles, err := profilesUsingPoolGetNames(d.db, poolName)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
if len(profiles) > 0 {
return BadRequest(fmt.Errorf("Storage pool \"%s\" has profiles using it:\n%s", poolName, strings.Join(profiles, "\n")))
@@ -234,7 +234,7 @@ func storagePoolDelete(d *Daemon, r *http.Request) Response {
err = dbStoragePoolDelete(d.db, poolName)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return EmptySyncResponse
diff --git a/lxd/storage_volumes.go b/lxd/storage_volumes.go
index e6650373e..7bed76be0 100644
--- a/lxd/storage_volumes.go
+++ b/lxd/storage_volumes.go
@@ -101,7 +101,7 @@ func storagePoolVolumesTypeGet(d *Daemon, r *http.Request) Response {
// attached to the storage pool.
volumes, err := dbStoragePoolVolumesGetType(d.db, volumeType, poolID)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
resultString := []string{}
@@ -121,7 +121,7 @@ func storagePoolVolumesTypeGet(d *Daemon, r *http.Request) Response {
volumeUsedBy, err := storagePoolVolumeUsedByGet(d, vol.Name, vol.Type)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
vol.UsedBy = volumeUsedBy
@@ -204,7 +204,7 @@ func storagePoolVolumeTypeGet(d *Daemon, r *http.Request) Response {
// attached to.
poolID, err := dbStoragePoolGetID(d.db, poolName)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
// Get the storage volume.
@@ -215,7 +215,7 @@ func storagePoolVolumeTypeGet(d *Daemon, r *http.Request) Response {
volumeUsedBy, err := storagePoolVolumeUsedByGet(d, volume.Name, volume.Type)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
volume.UsedBy = volumeUsedBy
@@ -278,7 +278,7 @@ func storagePoolVolumeTypePut(d *Daemon, r *http.Request) Response {
err = storagePoolVolumeUpdate(d, poolName, volumeName, volumeType, req.Description, req.Config)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return EmptySyncResponse
@@ -351,7 +351,7 @@ func storagePoolVolumeTypePatch(d *Daemon, r *http.Request) Response {
err = storagePoolVolumeUpdate(d, poolName, volumeName, volumeType, req.Description, req.Config)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return EmptySyncResponse
@@ -385,7 +385,7 @@ func storagePoolVolumeTypeDelete(d *Daemon, r *http.Request) Response {
volumeUsedBy, err := storagePoolVolumeUsedByGet(d, volumeName, volumeTypeName)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
if len(volumeUsedBy) > 0 {
@@ -399,17 +399,17 @@ func storagePoolVolumeTypeDelete(d *Daemon, r *http.Request) Response {
err = s.StoragePoolVolumeDelete()
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
poolID, err := dbStoragePoolGetID(d.db, poolName)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
err = dbStoragePoolVolumeDelete(d.db, volumeName, volumeType, poolID)
if err != nil {
- return InternalError(err)
+ return SmartError(err)
}
return EmptySyncResponse
More information about the lxc-devel
mailing list