diff --git a/go.mod b/go.mod index 9fcf52e564e..6cc3f1b4364 100644 --- a/go.mod +++ b/go.mod @@ -82,7 +82,7 @@ require ( github.com/prometheus/client_golang v1.7.1 github.com/prometheus/client_model v0.2.0 github.com/prometheus/common v0.10.0 - github.com/quobyte/api v0.1.2 + github.com/quobyte/api v0.1.8 github.com/robfig/cron v1.1.0 github.com/spf13/afero v1.2.2 github.com/spf13/cobra v1.1.1 @@ -401,7 +401,7 @@ replace ( github.com/prometheus/client_model => github.com/prometheus/client_model v0.2.0 github.com/prometheus/common => github.com/prometheus/common v0.10.0 github.com/prometheus/procfs => github.com/prometheus/procfs v0.1.3 - github.com/quobyte/api => github.com/quobyte/api v0.1.2 + github.com/quobyte/api => github.com/quobyte/api v0.1.8 github.com/remyoudompheng/bigfft => github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446 github.com/robfig/cron => github.com/robfig/cron v1.1.0 github.com/rogpeppe/fastuuid => github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af diff --git a/go.sum b/go.sum index 38c1f02a9bf..c1269e61674 100644 --- a/go.sum +++ b/go.sum @@ -425,8 +425,8 @@ github.com/prometheus/common v0.10.0 h1:RyRA7RzGXQZiW+tGMr7sxa85G1z0yOpM1qq5c8lN github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/procfs v0.1.3 h1:F0+tqvhOksq22sc6iCHF5WGlWjdwj92p0udFh1VFBS8= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/quobyte/api v0.1.2 h1:lPHLsuvtjFyk8WhC4uHoHRkScijIHcffTWBBP+YpzYo= -github.com/quobyte/api v0.1.2/go.mod h1:jL7lIHrmqQ7yh05OJ+eEEdHr0u/kmT1Ff9iHd+4H6VI= +github.com/quobyte/api v0.1.8 h1:+sOX1gIlC/OaLipqVZWrHgly9Kh9Qo8OygeS0mWAg30= +github.com/quobyte/api v0.1.8/go.mod h1:jL7lIHrmqQ7yh05OJ+eEEdHr0u/kmT1Ff9iHd+4H6VI= github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= github.com/robfig/cron v1.1.0 h1:jk4/Hud3TTdcrJgUOBgsqrZBarcxl6ADIjSC2iniwLY= github.com/robfig/cron v1.1.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= diff --git a/vendor/github.com/quobyte/api/README.md b/vendor/github.com/quobyte/api/README.md index 642468aedbc..1b7451f0148 100644 --- a/vendor/github.com/quobyte/api/README.md +++ b/vendor/github.com/quobyte/api/README.md @@ -24,6 +24,10 @@ func main() { RootUserID: "root", RootGroupID: "root", ConfigurationName: "BASE", + Labels: []quobyte_api.Label{ + {Name: "label1", Value: "value1"}, + {Name: "label2", Value: "value2"}, + }, } volumeUUID, err := client.CreateVolume(req) diff --git a/vendor/github.com/quobyte/api/quobyte.go b/vendor/github.com/quobyte/api/quobyte.go index e9179dbdf43..c5e36d7fc7b 100644 --- a/vendor/github.com/quobyte/api/quobyte.go +++ b/vendor/github.com/quobyte/api/quobyte.go @@ -32,6 +32,10 @@ func (client *QuobyteClient) GetAPIRetryPolicy() string { return client.apiRetryPolicy } +func (client *QuobyteClient) SetTransport(t http.RoundTripper) { + client.client.Transport = t +} + // NewQuobyteClient creates a new Quobyte API client func NewQuobyteClient(url string, username string, password string) *QuobyteClient { return &QuobyteClient{ diff --git a/vendor/github.com/quobyte/api/rpc_client.go b/vendor/github.com/quobyte/api/rpc_client.go index 7cab3842ae0..b5ea3694629 100644 --- a/vendor/github.com/quobyte/api/rpc_client.go +++ b/vendor/github.com/quobyte/api/rpc_client.go @@ -4,6 +4,7 @@ import ( "bytes" "encoding/json" "errors" + "fmt" "io" "log" "math/rand" @@ -112,7 +113,12 @@ func (client QuobyteClient) sendRequest(method string, request interface{}, resp defer resp.Body.Close() if resp.StatusCode < 200 || resp.StatusCode > 299 { - log.Printf("Warning: HTTP status code for request is %s\n", strconv.Itoa(resp.StatusCode)) + log.Printf("Warning: HTTP status code for request is %s\n", + strconv.Itoa(resp.StatusCode)) + if resp.StatusCode == 401 { + return errors.New("Unable to authenticate with Quobyte API service") + } + return fmt.Errorf("JsonRPC failed with error code %d", resp.StatusCode) } return decodeResponse(resp.Body, &response) } diff --git a/vendor/github.com/quobyte/api/types.go b/vendor/github.com/quobyte/api/types.go index 6682012c610..d15a71bfa76 100644 --- a/vendor/github.com/quobyte/api/types.go +++ b/vendor/github.com/quobyte/api/types.go @@ -1,25 +1,31 @@ package quobyte type retryPolicy struct { - RetryPolicy string `json:"retry,omitempty"` + RetryPolicy string `json:"retry,omitempty"` } // CreateVolumeRequest represents a CreateVolumeRequest type CreateVolumeRequest struct { - Name string `json:"name,omitempty"` - RootUserID string `json:"root_user_id,omitempty"` - RootGroupID string `json:"root_group_id,omitempty"` - ReplicaDeviceIDS []uint64 `json:"replica_device_ids,string,omitempty"` - ConfigurationName string `json:"configuration_name,omitempty"` - AccessMode uint32 `json:"access_mode,string,omitempty"` - TenantID string `json:"tenant_id,omitempty"` - retryPolicy + Name string `json:"name,omitempty"` + RootUserID string `json:"root_user_id,omitempty"` + RootGroupID string `json:"root_group_id,omitempty"` + ReplicaDeviceIDS []uint64 `json:"replica_device_ids,string,omitempty"` + ConfigurationName string `json:"configuration_name,omitempty"` + Labels []Label `json:"label,omitempty"` + AccessMode uint32 `json:"access_mode,uint32,omitempty"` + TenantID string `json:"tenant_id,omitempty"` + retryPolicy +} + +type Label struct { + Name string `json:"name,string,omitempty"` + Value string `json:"value,string,omitempty"` } type resolveVolumeNameRequest struct { - VolumeName string `json:"volume_name,omitempty"` - TenantDomain string `json:"tenant_domain,omitempty"` - retryPolicy + VolumeName string `json:"volume_name,omitempty"` + TenantDomain string `json:"tenant_domain,omitempty"` + retryPolicy } type resolveTenantNameRequest struct { @@ -35,8 +41,8 @@ type volumeUUID struct { } type getClientListRequest struct { - TenantDomain string `json:"tenant_domain,omitempty"` - retryPolicy + TenantDomain string `json:"tenant_domain,omitempty"` + retryPolicy } type GetClientListResponse struct { @@ -67,13 +73,13 @@ type quota struct { } type setQuotaRequest struct { - Quotas []*quota `json:"quotas,omitempty"` - retryPolicy + Quotas []*quota `json:"quotas,omitempty"` + retryPolicy } type getTenantRequest struct { - TenantIDs []string `json:"tenant_id,omitempty"` - retryPolicy + TenantIDs []string `json:"tenant_id,omitempty"` + retryPolicy } type GetTenantResponse struct { @@ -94,8 +100,8 @@ type TenantDomainConfigurationVolumeAccess struct { } type setTenantRequest struct { - Tenants *TenantDomainConfiguration `json:"tenant,omitempty"` - retryPolicy + Tenants *TenantDomainConfiguration `json:"tenant,omitempty"` + retryPolicy } type setTenantResponse struct { diff --git a/vendor/modules.txt b/vendor/modules.txt index c596c25ba89..a0eb55d9b54 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -975,10 +975,10 @@ github.com/prometheus/procfs # github.com/prometheus/procfs => github.com/prometheus/procfs v0.1.3 github.com/prometheus/procfs/internal/fs github.com/prometheus/procfs/internal/util -# github.com/quobyte/api v0.1.2 => github.com/quobyte/api v0.1.2 +# github.com/quobyte/api v0.1.8 => github.com/quobyte/api v0.1.8 ## explicit github.com/quobyte/api -# github.com/quobyte/api => github.com/quobyte/api v0.1.2 +# github.com/quobyte/api => github.com/quobyte/api v0.1.8 # github.com/remyoudompheng/bigfft => github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446 # github.com/robfig/cron v1.1.0 => github.com/robfig/cron v1.1.0 ## explicit