mirror of https://github.com/docker/compose.git
Merge pull request #220 from docker/aci_user_agent
set Aci user agent to allow metrics on usage from docker cli
This commit is contained in:
commit
2b4e2cb322
22
azure/aci.go
22
azure/aci.go
|
@ -21,6 +21,8 @@ import (
|
|||
"github.com/docker/api/context/store"
|
||||
)
|
||||
|
||||
const aciDockerUserAgent = "docker-cli"
|
||||
|
||||
func createACIContainers(ctx context.Context, aciContext store.AciContext, groupDefinition containerinstance.ContainerGroup) error {
|
||||
containerGroupsClient, err := getContainerGroupsClient(aciContext.SubscriptionID)
|
||||
if err != nil {
|
||||
|
@ -241,24 +243,32 @@ func getACIContainerLogs(ctx context.Context, aciContext store.AciContext, conta
|
|||
}
|
||||
|
||||
func getContainerGroupsClient(subscriptionID string) (containerinstance.ContainerGroupsClient, error) {
|
||||
auth, err := login.NewAuthorizerFromLogin()
|
||||
containerGroupsClient := containerinstance.NewContainerGroupsClient(subscriptionID)
|
||||
err := setupClient(&containerGroupsClient.Client)
|
||||
if err != nil {
|
||||
return containerinstance.ContainerGroupsClient{}, err
|
||||
}
|
||||
containerGroupsClient := containerinstance.NewContainerGroupsClient(subscriptionID)
|
||||
containerGroupsClient.Authorizer = auth
|
||||
containerGroupsClient.PollingDelay = 5 * time.Second
|
||||
containerGroupsClient.RetryAttempts = 30
|
||||
containerGroupsClient.RetryDuration = 1 * time.Second
|
||||
return containerGroupsClient, nil
|
||||
}
|
||||
|
||||
func getContainerClient(subscriptionID string) (containerinstance.ContainerClient, error) {
|
||||
func setupClient(aciClient *autorest.Client) error {
|
||||
aciClient.UserAgent = aciDockerUserAgent
|
||||
auth, err := login.NewAuthorizerFromLogin()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
aciClient.Authorizer = auth
|
||||
return nil
|
||||
}
|
||||
|
||||
func getContainerClient(subscriptionID string) (containerinstance.ContainerClient, error) {
|
||||
containerClient := containerinstance.NewContainerClient(subscriptionID)
|
||||
err := setupClient(&containerClient.Client)
|
||||
if err != nil {
|
||||
return containerinstance.ContainerClient{}, err
|
||||
}
|
||||
containerClient := containerinstance.NewContainerClient(subscriptionID)
|
||||
containerClient.Authorizer = auth
|
||||
return containerClient, nil
|
||||
}
|
||||
|
|
|
@ -7,7 +7,6 @@ import (
|
|||
"github.com/Azure/azure-sdk-for-go/profiles/preview/preview/subscription/mgmt/subscription"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"github.com/docker/api/azure/login"
|
||||
"github.com/docker/api/errdefs"
|
||||
)
|
||||
|
||||
|
@ -30,13 +29,20 @@ func NewACIResourceGroupHelper() ACIResourceGroupHelper {
|
|||
|
||||
// GetGroup get a resource group from its name
|
||||
func (mgt aciResourceGroupHelperImpl) GetGroup(ctx context.Context, subscriptionID string, groupName string) (resources.Group, error) {
|
||||
gc := getGroupsClient(subscriptionID)
|
||||
gc, err := getGroupsClient(subscriptionID)
|
||||
if err != nil {
|
||||
return resources.Group{}, err
|
||||
}
|
||||
return gc.Get(ctx, groupName)
|
||||
}
|
||||
|
||||
// ListGroups list resource groups
|
||||
func (mgt aciResourceGroupHelperImpl) ListGroups(ctx context.Context, subscriptionID string) ([]resources.Group, error) {
|
||||
gc := getGroupsClient(subscriptionID)
|
||||
gc, err := getGroupsClient(subscriptionID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
groupResponse, err := gc.List(ctx, "", nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -48,13 +54,20 @@ func (mgt aciResourceGroupHelperImpl) ListGroups(ctx context.Context, subscripti
|
|||
|
||||
// CreateOrUpdate create or update a resource group
|
||||
func (mgt aciResourceGroupHelperImpl) CreateOrUpdate(ctx context.Context, subscriptionID string, resourceGroupName string, parameters resources.Group) (result resources.Group, err error) {
|
||||
gc := getGroupsClient(subscriptionID)
|
||||
gc, err := getGroupsClient(subscriptionID)
|
||||
if err != nil {
|
||||
return resources.Group{}, err
|
||||
}
|
||||
return gc.CreateOrUpdate(ctx, resourceGroupName, parameters)
|
||||
}
|
||||
|
||||
// Delete deletes a resource group
|
||||
func (mgt aciResourceGroupHelperImpl) Delete(ctx context.Context, subscriptionID string, resourceGroupName string) (err error) {
|
||||
gc := getGroupsClient(subscriptionID)
|
||||
gc, err := getGroupsClient(subscriptionID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
future, err := gc.Delete(ctx, resourceGroupName)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -89,17 +102,18 @@ func (mgt aciResourceGroupHelperImpl) GetSubscriptionIDs(ctx context.Context) ([
|
|||
|
||||
func getSubscriptionsClient() (subscription.SubscriptionsClient, error) {
|
||||
subc := subscription.NewSubscriptionsClient()
|
||||
authorizer, err := login.NewAuthorizerFromLogin()
|
||||
err := setupClient(&subc.Client)
|
||||
if err != nil {
|
||||
return subscription.SubscriptionsClient{}, errors.Wrap(errdefs.ErrLoginFailed, err.Error())
|
||||
}
|
||||
subc.Authorizer = authorizer
|
||||
return subc, nil
|
||||
}
|
||||
|
||||
func getGroupsClient(subscriptionID string) resources.GroupsClient {
|
||||
func getGroupsClient(subscriptionID string) (resources.GroupsClient, error) {
|
||||
groupsClient := resources.NewGroupsClient(subscriptionID)
|
||||
authorizer, _ := login.NewAuthorizerFromLogin()
|
||||
groupsClient.Authorizer = authorizer
|
||||
return groupsClient
|
||||
err := setupClient(&groupsClient.Client)
|
||||
if err != nil {
|
||||
return resources.GroupsClient{}, err
|
||||
}
|
||||
return groupsClient, nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue