func fetchNodeInfo()

in image/resources/knfsd-agent/nodeinfo.go [28:78]


func fetchNodeInfo() error {
	var err error
	n := &nodeInfo

	// Populate Name
	n.Name, err = getMetadataValue("computeMetadata/v1/instance/name", false)
	if err != nil {
		return err
	}

	// Populate Hostname
	n.Hostname, err = getMetadataValue("computeMetadata/v1/instance/hostname", false)
	if err != nil {
		return err
	}

	// Populate Instance IP Address
	n.InterfaceConfig.IPAddress, err = getMetadataValue("computeMetadata/v1/instance/network-interfaces/0/ip", false)
	if err != nil {
		return err
	}

	// Populate the Network URI
	n.InterfaceConfig.NetworkURI, err = getMetadataValue("computeMetadata/v1/instance/network-interfaces/0/network", false)
	if err != nil {
		return err
	}

	// Populate the Network Name
	n.InterfaceConfig.NetworkName = lastAfterDelimiter(n.InterfaceConfig.NetworkURI, "/")

	// Populate the Instance Zone
	n.Zone, err = getMetadataValue("computeMetadata/v1/instance/zone", true)
	if err != nil {
		return err
	}

	// Populate the Machine Type
	n.MachineType, err = getMetadataValue("computeMetadata/v1/instance/machine-type", true)
	if err != nil {
		return err
	}

	// Populate the Image
	n.Image, err = getMetadataValue("computeMetadata/v1/instance/image", false)
	if err != nil {
		return err
	}

	return nil
}