Separating rebuild result type from other actions
diff --git a/_site/acceptance/openstack/compute/v2/servers_test.go b/_site/acceptance/openstack/compute/v2/servers_test.go
index 047d763..45d36ca 100644
--- a/_site/acceptance/openstack/compute/v2/servers_test.go
+++ b/_site/acceptance/openstack/compute/v2/servers_test.go
@@ -157,8 +157,8 @@
}
randomPassword := tools.MakeNewPassword(server.AdminPass)
- err = servers.ChangeAdminPassword(client, server.ID, randomPassword)
- if err != nil {
+ res = servers.ChangeAdminPassword(client, server.ID, randomPassword)
+ if res.Err != nil {
t.Fatal(err)
}
@@ -194,14 +194,14 @@
t.Fatal(err)
}
- err = servers.Reboot(client, server.ID, "aldhjflaskhjf")
- if err == nil {
+ res = servers.Reboot(client, server.ID, "aldhjflaskhjf")
+ if res.Err == nil {
t.Fatal("Expected the SDK to provide an ArgumentError here")
}
t.Logf("Attempting reboot of server %s", server.ID)
- err = servers.Reboot(client, server.ID, servers.OSReboot)
- if err != nil {
+ res = servers.Reboot(client, server.ID, servers.OSReboot)
+ if res.Err != nil {
t.Fatalf("Unable to reboot server: %v", err)
}
@@ -270,7 +270,7 @@
t.Logf("Attempting to resize server [%s]", server.ID)
- if err := servers.Resize(client, server.ID, choices.FlavorIDResize); err != nil {
+ if res := servers.Resize(client, server.ID, choices.FlavorIDResize); res.Err != nil {
t.Fatal(err)
}
@@ -301,7 +301,7 @@
t.Logf("Attempting to confirm resize for server %s", server.ID)
- if err = servers.ConfirmResize(client, server.ID); err != nil {
+ if res := servers.ConfirmResize(client, server.ID); res.Err != nil {
t.Fatal(err)
}
@@ -332,7 +332,7 @@
t.Logf("Attempting to revert resize for server %s", server.ID)
- if err := servers.RevertResize(client, server.ID); err != nil {
+ if res := servers.RevertResize(client, server.ID); res.Err != nil {
t.Fatal(err)
}
diff --git a/_site/openstack/compute/v2/servers/requests.go b/_site/openstack/compute/v2/servers/requests.go
index 1b6e3b8..f673f94 100644
--- a/_site/openstack/compute/v2/servers/requests.go
+++ b/_site/openstack/compute/v2/servers/requests.go
@@ -290,7 +290,6 @@
}{
map[string]string{"type": string(how)},
},
- Results: &res.Resp,
MoreHeaders: client.Provider.AuthenticatedHeaders(),
OkCodes: []int{202},
})
@@ -413,7 +412,6 @@
}{
map[string]interface{}{"flavorRef": flavorRef},
},
- Results: &res.Resp,
MoreHeaders: client.Provider.AuthenticatedHeaders(),
OkCodes: []int{202},
})
@@ -429,7 +427,6 @@
_, res.Err = perigee.Request("POST", actionURL(client, id), perigee.Options{
ReqBody: map[string]interface{}{"confirmResize": nil},
MoreHeaders: client.Provider.AuthenticatedHeaders(),
- Results: &res.Resp,
OkCodes: []int{204},
})
@@ -444,7 +441,6 @@
_, res.Err = perigee.Request("POST", actionURL(client, id), perigee.Options{
ReqBody: map[string]interface{}{"revertResize": nil},
MoreHeaders: client.Provider.AuthenticatedHeaders(),
- Results: &res.Resp,
OkCodes: []int{202},
})
diff --git a/_site/openstack/compute/v2/servers/results.go b/_site/openstack/compute/v2/servers/results.go
index 492c5a8..1402d8a 100644
--- a/_site/openstack/compute/v2/servers/results.go
+++ b/_site/openstack/compute/v2/servers/results.go
@@ -40,10 +40,20 @@
}
// RebuildResult temporarily contains the response from a Rebuild call.
-type ActionResult struct {
+type RebuildResult struct {
serverResult
}
+// ActionResult represents the result of server action operations, like reboot
+type ActionResult struct {
+ gophercloud.CommonResult
+}
+
+// Extract is a function that extracts error information from a result
+func (r ActionResult) Extract() error {
+ return r.Err
+}
+
// Server exposes only the standard OpenStack fields corresponding to a given server on the user's account.
type Server struct {
// ID uniquely identifies this server amongst all other servers, including those not accessible to the current tenant.
diff --git a/openstack/compute/v2/servers/requests.go b/openstack/compute/v2/servers/requests.go
index 7bbdb56..0b38175 100644
--- a/openstack/compute/v2/servers/requests.go
+++ b/openstack/compute/v2/servers/requests.go
@@ -348,7 +348,6 @@
}{
map[string]string{"type": string(how)},
},
- Results: &res.Resp,
MoreHeaders: client.Provider.AuthenticatedHeaders(),
OkCodes: []int{202},
})
@@ -471,7 +470,6 @@
}{
map[string]interface{}{"flavorRef": flavorRef},
},
- Results: &res.Resp,
MoreHeaders: client.Provider.AuthenticatedHeaders(),
OkCodes: []int{202},
})
@@ -487,7 +485,6 @@
_, res.Err = perigee.Request("POST", actionURL(client, id), perigee.Options{
ReqBody: map[string]interface{}{"confirmResize": nil},
MoreHeaders: client.Provider.AuthenticatedHeaders(),
- Results: &res.Resp,
OkCodes: []int{204},
})
@@ -502,7 +499,6 @@
_, res.Err = perigee.Request("POST", actionURL(client, id), perigee.Options{
ReqBody: map[string]interface{}{"revertResize": nil},
MoreHeaders: client.Provider.AuthenticatedHeaders(),
- Results: &res.Resp,
OkCodes: []int{202},
})
diff --git a/openstack/compute/v2/servers/results.go b/openstack/compute/v2/servers/results.go
index 492c5a8..1402d8a 100644
--- a/openstack/compute/v2/servers/results.go
+++ b/openstack/compute/v2/servers/results.go
@@ -40,10 +40,20 @@
}
// RebuildResult temporarily contains the response from a Rebuild call.
-type ActionResult struct {
+type RebuildResult struct {
serverResult
}
+// ActionResult represents the result of server action operations, like reboot
+type ActionResult struct {
+ gophercloud.CommonResult
+}
+
+// Extract is a function that extracts error information from a result
+func (r ActionResult) Extract() error {
+ return r.Err
+}
+
// Server exposes only the standard OpenStack fields corresponding to a given server on the user's account.
type Server struct {
// ID uniquely identifies this server amongst all other servers, including those not accessible to the current tenant.