lxd/cluster/connect.go
func ConnectIfContainerIsRemote(cluster *db.Cluster, project, name string, cert *shared.CertInfo) (lxd.ContainerServer, error) {
	var address string // Node address
	err := cluster.Transaction(func(tx *db.ClusterTx) error {
		var err error
		address, err = tx.ContainerNodeAddress(project, name)
		return err
	})
	if err != nil {
		return nil, err
	}
	if address == "" {
		// The container is running right on this node, no need to connect.
		return nil, nil
	}
	return Connect(address, cert, false)
}
func ConnectIfContainerIsRemote(cluster *db.Cluster, project, name string, cert *shared.CertInfo) (lxd.ContainerServer, error) {
	var address string // Node address
	err := cluster.Transaction(func(tx *db.ClusterTx) error {
		var err error
		address, err = tx.ContainerNodeAddress(project, name)
		return err
	})
	if err != nil {
		return nil, err
	}
	if address == "" {
		// The container is running right on this node, no need to connect.
		return nil, nil
	}
	return Connect(address, cert, false)
}
func ConnectIfContainerIsRemote ( cluster * db . Cluster , project , name string , cert * shared . CertInfo ) ( lxd . ContainerServer , error ) { var address string // Node address err := cluster . Transaction ( func ( tx * db . ClusterTx ) error { var err error address , err = tx . ContainerNodeAddress ( project , name ) return err } ) if err != nil { return nil , err } if address == " " { // The container is running right on this node, no need to connect. return nil , nil } return Connect ( address , cert , false ) }
// ConnectIfContainerIsRemote figures out the address of the node which is
// running the container with the given name. If it's not the local node will
// connect to it and return the connected client, otherwise it will just return
// nil.
ConnectIfContainerIsRemote figures out the address of the node which is running the container with the given name . If it s not the local node will connect to it and return the connected client otherwise it will just return nil .