Merge pull request #13428 from hashicorp/f-update-logging-opc
provider/opc: Add debug logging
This commit is contained in:
commit
225c63c787
|
@ -2,11 +2,14 @@ package opc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"log"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/fsouza/go-dockerclient/external/github.com/hashicorp/go-cleanhttp"
|
||||||
"github.com/hashicorp/go-oracle-terraform/compute"
|
"github.com/hashicorp/go-oracle-terraform/compute"
|
||||||
"github.com/hashicorp/go-oracle-terraform/opc"
|
"github.com/hashicorp/go-oracle-terraform/opc"
|
||||||
|
"github.com/hashicorp/terraform/helper/logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
|
@ -33,9 +36,25 @@ func (c *Config) Client() (*compute.Client, error) {
|
||||||
Username: &c.User,
|
Username: &c.User,
|
||||||
Password: &c.Password,
|
Password: &c.Password,
|
||||||
APIEndpoint: u,
|
APIEndpoint: u,
|
||||||
HTTPClient: http.DefaultClient,
|
HTTPClient: cleanhttp.DefaultClient(),
|
||||||
|
}
|
||||||
|
|
||||||
|
if logging.IsDebugOrHigher() {
|
||||||
|
config.LogLevel = opc.LogDebug
|
||||||
|
config.Logger = opcLogger{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: http client wrapping / log level
|
|
||||||
return compute.NewComputeClient(&config)
|
return compute.NewComputeClient(&config)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type opcLogger struct{}
|
||||||
|
|
||||||
|
func (l opcLogger) Log(args ...interface{}) {
|
||||||
|
tokens := make([]string, 0, len(args))
|
||||||
|
for _, arg := range args {
|
||||||
|
if token, ok := arg.(string); ok {
|
||||||
|
tokens = append(tokens, token)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
log.Printf("[DEBUG] [go-oracle-terraform]: %s", strings.Join(tokens, " "))
|
||||||
|
}
|
||||||
|
|
|
@ -36,6 +36,7 @@ func Provider() terraform.ResourceProvider {
|
||||||
Description: "The HTTP endpoint for OPC API operations.",
|
Description: "The HTTP endpoint for OPC API operations.",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// TODO Actually implement this
|
||||||
"max_retry_timeout": {
|
"max_retry_timeout": {
|
||||||
Type: schema.TypeInt,
|
Type: schema.TypeInt,
|
||||||
Optional: true,
|
Optional: true,
|
||||||
|
|
|
@ -188,7 +188,7 @@ resource "opc_compute_instance" "test" {
|
||||||
image_list = "/oracle/public/oel_6.7_apaas_16.4.5_1610211300"
|
image_list = "/oracle/public/oel_6.7_apaas_16.4.5_1610211300"
|
||||||
instance_attributes = <<JSON
|
instance_attributes = <<JSON
|
||||||
{
|
{
|
||||||
"foo" = "bar"
|
"foo": "bar"
|
||||||
}
|
}
|
||||||
JSON
|
JSON
|
||||||
}`, rInt)
|
}`, rInt)
|
||||||
|
|
|
@ -44,6 +44,8 @@ func NewComputeClient(c *opc.Config) (*Client, error) {
|
||||||
// Setup logger; defaults to stdout
|
// Setup logger; defaults to stdout
|
||||||
if c.Logger == nil {
|
if c.Logger == nil {
|
||||||
client.logger = opc.NewDefaultLogger()
|
client.logger = opc.NewDefaultLogger()
|
||||||
|
} else {
|
||||||
|
client.logger = c.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
// If LogLevel was not set to something different,
|
// If LogLevel was not set to something different,
|
||||||
|
|
|
@ -13,7 +13,7 @@ func (c *Client) debugLogString(str string) {
|
||||||
if c.loglevel != opc.LogDebug {
|
if c.loglevel != opc.LogDebug {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
c.logger.Log(fmt.Sprintf("[DEBUG]: %s", str))
|
c.logger.Log(str)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) debugLogReq(req *http.Request) {
|
func (c *Client) debugLogReq(req *http.Request) {
|
||||||
|
|
|
@ -187,6 +187,7 @@ type GetStorageVolumeInput struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *StorageVolumeClient) success(result *StorageVolumeInfo) (*StorageVolumeInfo, error) {
|
func (c *StorageVolumeClient) success(result *StorageVolumeInfo) (*StorageVolumeInfo, error) {
|
||||||
|
c.unqualify(&result.ImageList)
|
||||||
c.unqualify(&result.Name)
|
c.unqualify(&result.Name)
|
||||||
c.unqualify(&result.Snapshot)
|
c.unqualify(&result.Snapshot)
|
||||||
|
|
||||||
|
|
|
@ -1970,10 +1970,10 @@
|
||||||
"revision": "d30f09973e19c1dfcd120b2d9c4f168e68d6b5d5"
|
"revision": "d30f09973e19c1dfcd120b2d9c4f168e68d6b5d5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "mVLpbxsm+8TlXKgkezrh3c5I7+4=",
|
"checksumSHA1": "QmBTE/boTriUYw0meIg7xOXo6ns=",
|
||||||
"path": "github.com/hashicorp/go-oracle-terraform/compute",
|
"path": "github.com/hashicorp/go-oracle-terraform/compute",
|
||||||
"revision": "381402af3554bcca5fa7eeda94d47003e6ba7ee7",
|
"revision": "5508daed82ecd55b71d45e8a149e99d24825e5bb",
|
||||||
"revisionTime": "2017-04-06T04:33:22Z"
|
"revisionTime": "2017-04-06T17:51:51Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "DzK7lYwHt5Isq5Zf73cnQqBO2LI=",
|
"checksumSHA1": "DzK7lYwHt5Isq5Zf73cnQqBO2LI=",
|
||||||
|
|
Loading…
Reference in New Issue