Merge pull request #13428 from hashicorp/f-update-logging-opc

provider/opc: Add debug logging
This commit is contained in:
Jake Champlin 2017-04-06 14:29:04 -04:00 committed by GitHub
commit 225c63c787
7 changed files with 31 additions and 8 deletions

View File

@ -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, " "))
}

View File

@ -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,

View File

@ -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)

View File

@ -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,

View File

@ -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) {

View File

@ -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)

6
vendor/vendor.json vendored
View File

@ -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=",