Comment 2 for bug 1640455

Revision history for this message
Dmitrii Shcherbakov (dmitriis) wrote :

Hi Spyderdyne,

I can point you to this (the code is as of a83896d):

provider/lxd/environ_raw.go:
func newRawProvider(spec environs.CloudSpec) (*rawProvider, error) {
     client, err := newClient(spec, ioutil.ReadFile, utils.RunCommand)
     if err != nil {
          return nil, errors.Annotate(err, "creating LXD client")
}

Here is where it gets the default gateway:

newRawProvider -> newClient -> getRemoteConfig |

...

hostAddress, err := getDefaultGateway(runCommand)
if err != nil {
     return nil, errors.Annotate(err, "getting gateway address")
}

...

return &lxdclient.Config{
lxdclient.Remote{
     Name: "remote",
     Host: hostAddress,
...