本文整理汇总了Golang中github.com/docker/machine/libmachine/log.WithFields函数的典型用法代码示例。如果您正苦于以下问题:Golang WithFields函数的具体用法?Golang WithFields怎么用?Golang WithFields使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了WithFields函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: assignFloatingIP
func (d *Driver) assignFloatingIP() error {
var err error
if d.ComputeNetwork {
err = d.initCompute()
} else {
err = d.initNetwork()
}
if err != nil {
return err
}
ips, err := d.client.GetFloatingIPs(d)
if err != nil {
return err
}
var floatingIP *FloatingIP
log.WithFields(log.Fields{
"MachineId": d.MachineId,
"Pool": d.FloatingIpPool,
}).Debugf("Looking for an available floating IP")
for _, ip := range ips {
if ip.PortId == "" {
log.WithFields(log.Fields{
"MachineId": d.MachineId,
"IP": ip.Ip,
}).Debugf("Available floating IP found")
floatingIP = &ip
break
}
}
if floatingIP == nil {
floatingIP = &FloatingIP{}
log.WithField("MachineId", d.MachineId).Debugf("No available floating IP found. Allocating a new one...")
} else {
log.WithField("MachineId", d.MachineId).Debugf("Assigning floating IP to the instance")
}
if err := d.client.AssignFloatingIP(d, floatingIP); err != nil {
return err
}
d.IPAddress = floatingIP.Ip
return nil
}
开发者ID:rogaha,项目名称:machine,代码行数:49,代码来源:openstack.go
示例2: GetState
func (d *Driver) GetState() (state.State, error) {
log.WithField("MachineId", d.MachineId).Debug("Get status for OpenStack instance...")
if err := d.initCompute(); err != nil {
return state.None, err
}
s, err := d.client.GetInstanceState(d)
if err != nil {
return state.None, err
}
log.WithFields(log.Fields{
"MachineId": d.MachineId,
"State": s,
}).Debug("State for OpenStack instance")
switch s {
case "ACTIVE":
return state.Running, nil
case "PAUSED":
return state.Paused, nil
case "SUSPENDED":
return state.Saved, nil
case "SHUTOFF":
return state.Stopped, nil
case "BUILDING":
return state.Starting, nil
case "ERROR":
return state.Error, nil
}
return state.None, nil
}
开发者ID:chuchengcao,项目名称:machine,代码行数:32,代码来源:openstack.go
示例3: Authenticate
// Authenticate creates a Rackspace-specific Gophercloud client.
func (c *Client) Authenticate(d *openstack.Driver) error {
if c.Provider != nil {
return nil
}
log.WithFields(log.Fields{
"Username": d.Username,
}).Debug("Authenticating to Rackspace.")
apiKey := c.driver.APIKey
opts := gophercloud.AuthOptions{
Username: d.Username,
APIKey: apiKey,
}
provider, err := rackspace.NewClient(rackspace.RackspaceUSIdentity)
if err != nil {
return err
}
provider.UserAgent.Prepend(fmt.Sprintf("docker-machine/v%d", version.ApiVersion))
err = rackspace.Authenticate(provider, opts)
if err != nil {
return err
}
c.Provider = provider
return nil
}
开发者ID:rominirani,项目名称:machine,代码行数:32,代码来源:client.go
示例4: GetState
// GetState return instance status
func (d *Driver) GetState() (state.State, error) {
log.WithField("MachineId", d.InstanceID).Debug("Get status for OVH instance...")
client := d.getClient()
instance, err := client.GetInstance(d.ProjectID, d.InstanceID)
if err != nil {
return state.None, err
}
log.WithFields(log.Fields{
"MachineId": d.InstanceID,
"State": instance.Status,
}).Debug("State for OVH instance")
switch instance.Status {
case "ACTIVE":
return state.Running, nil
case "PAUSED":
return state.Paused, nil
case "SUSPENDED":
return state.Saved, nil
case "SHUTOFF":
return state.Stopped, nil
case "BUILDING":
return state.Starting, nil
case "ERROR":
return state.Error, nil
}
return state.None, nil
}
开发者ID:thbkrkr,项目名称:docker-machine-driver-ovh,代码行数:33,代码来源:driver.go
示例5: NewDriver
// NewDriver instantiates a Rackspace driver.
func NewDriver(machineName, storePath string) drivers.Driver {
log.WithFields(log.Fields{
"machineName": machineName,
}).Debug("Instantiating Rackspace driver.")
inner := openstack.NewDerivedDriver(machineName, storePath)
return &Driver{
Driver: inner,
}
}
开发者ID:rominirani,项目名称:machine,代码行数:12,代码来源:rackspace.go
示例6: lookForIpAddress
func (d *Driver) lookForIpAddress() error {
ip, err := d.GetIP()
if err != nil {
return err
}
d.IPAddress = ip
log.WithFields(log.Fields{
"IP": ip,
"MachineId": d.MachineId,
}).Debug("IP address found")
return nil
}
开发者ID:chuchengcao,项目名称:machine,代码行数:12,代码来源:openstack.go
示例7: Create
// Create a new docker machine instance on OVH Cloud
func (d *Driver) Create() error {
client := d.getClient()
// Ensure ssh key
err := d.ensureSSHKey()
if err != nil {
return err
}
// Create instance
log.Debug("Creating OVH instance...")
instance, err := client.CreateInstance(
d.ProjectID,
d.MachineName,
d.KeyPairID,
d.FlavorID,
d.ImageID,
d.RegionName,
false,
)
if err != nil {
return err
}
d.InstanceID = instance.Id
// Wait until instance is ACTIVE
log.WithField("MachineId", d.InstanceID).Debug("Waiting for OVH instance...")
instance, err = d.waitForInstanceStatus("ACTIVE")
if err != nil {
return err
}
// Save Ip address
d.IPAddress = ""
for _, ip := range instance.IpAddresses {
if ip.Type == "public" {
d.IPAddress = ip.Ip
break
}
}
if d.IPAddress == "" {
return fmt.Errorf("No IP found for instance %s", instance.Id)
}
log.WithFields(log.Fields{
"IP": d.IPAddress,
"MachineId": d.InstanceID,
}).Debug("IP address found")
// All done !
return nil
}
开发者ID:thbkrkr,项目名称:docker-machine-driver-ovh,代码行数:54,代码来源:driver.go
示例8: Authenticate
func (c *GenericClient) Authenticate(d *Driver) error {
if c.Provider != nil {
return nil
}
log.WithFields(log.Fields{
"AuthUrl": d.AuthUrl,
"Insecure": d.Insecure,
"DomainID": d.DomainID,
"DomainName": d.DomainName,
"Username": d.Username,
"TenantName": d.TenantName,
"TenantID": d.TenantId,
}).Debug("Authenticating...")
opts := gophercloud.AuthOptions{
IdentityEndpoint: d.AuthUrl,
DomainID: d.DomainID,
DomainName: d.DomainName,
Username: d.Username,
Password: d.Password,
TenantName: d.TenantName,
TenantID: d.TenantId,
AllowReauth: true,
}
provider, err := openstack.NewClient(opts.IdentityEndpoint)
if err != nil {
return err
}
provider.UserAgent.Prepend(fmt.Sprintf("docker-machine/v%d", version.ApiVersion))
if d.Insecure {
// Configure custom TLS settings.
config := &tls.Config{InsecureSkipVerify: true}
transport := &http.Transport{TLSClientConfig: config}
provider.HTTPClient.Transport = transport
}
err = openstack.Authenticate(provider, opts)
if err != nil {
return err
}
c.Provider = provider
return nil
}
开发者ID:rhendric,项目名称:machine,代码行数:49,代码来源:client.go
示例9: createMachine
func (d *Driver) createMachine() error {
log.WithFields(log.Fields{
"FlavorId": d.FlavorId,
"ImageId": d.ImageId,
}).Debug("Creating OpenStack instance...")
if err := d.initCompute(); err != nil {
return err
}
instanceId, err := d.client.CreateInstance(d)
if err != nil {
return err
}
d.MachineId = instanceId
return nil
}
开发者ID:chuchengcao,项目名称:machine,代码行数:16,代码来源:openstack.go
示例10: resolveIds
func (d *Driver) resolveIds() error {
if d.NetworkName != "" {
if err := d.initNetwork(); err != nil {
return err
}
networkId, err := d.client.GetNetworkId(d)
if err != nil {
return err
}
if networkId == "" {
return fmt.Errorf(errorUnknownNetworkName, d.NetworkName)
}
d.NetworkId = networkId
log.WithFields(log.Fields{
"Name": d.NetworkName,
"ID": d.NetworkId,
}).Debug("Found network id using its name")
}
if d.FlavorName != "" {
if err := d.initCompute(); err != nil {
return err
}
flavorId, err := d.client.GetFlavorId(d)
if err != nil {
return err
}
if flavorId == "" {
return fmt.Errorf(errorUnknownFlavorName, d.FlavorName)
}
d.FlavorId = flavorId
log.WithFields(log.Fields{
"Name": d.FlavorName,
"ID": d.FlavorId,
}).Debug("Found flavor id using its name")
}
if d.ImageName != "" {
if err := d.initCompute(); err != nil {
return err
}
imageId, err := d.client.GetImageId(d)
if err != nil {
return err
}
if imageId == "" {
return fmt.Errorf(errorUnknownImageName, d.ImageName)
}
d.ImageId = imageId
log.WithFields(log.Fields{
"Name": d.ImageName,
"ID": d.ImageId,
}).Debug("Found image id using its name")
}
if d.FloatingIpPool != "" {
if err := d.initNetwork(); err != nil {
return err
}
f, err := d.client.GetFloatingIpPoolId(d)
if err != nil {
return err
}
if f == "" {
return fmt.Errorf(errorUnknownNetworkName, d.FloatingIpPool)
}
d.FloatingIpPoolId = f
log.WithFields(log.Fields{
"Name": d.FloatingIpPool,
"ID": d.FloatingIpPoolId,
}).Debug("Found floating IP pool id using its name")
}
return nil
}
开发者ID:chuchengcao,项目名称:machine,代码行数:88,代码来源:openstack.go
注:本文中的github.com/docker/machine/libmachine/log.WithFields函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论