func runProvisionScript(script, host string, progressWriter io.Writer) error { params := sshinit.ConfigureParams{ Host: "ubuntu@" + host, ProgressWriter: progressWriter, } return sshinit.RunConfigureScript(script, params) }
// SIGINT is sent to the foreground process attached to // the terminal, which will be the ssh subprocess at this // point. For that reason, we do not call StopInterruptNotify // until this function completes. cloudcfg := coreCloudinit.New() if err := cloudinit.ConfigureJuju(machineConfig, cloudcfg); err != nil { return err } configScript, err := sshinit.ConfigureScript(cloudcfg) if err != nil { return err } script := shell.DumpFileOnErrorScript(machineConfig.CloudInitOutputLog) + configScript return sshinit.RunConfigureScript(script, sshinit.ConfigureParams{ Host: "ubuntu@" + addr, Client: client, Config: cloudcfg, ProgressWriter: ctx.GetStderr(), }) } type addresser interface { // Refresh refreshes the addresses for the instance. Refresh() error // Addresses returns the addresses for the instance. // To ensure that the results are up to date, call // Refresh first. Addresses() ([]instance.Address, error) } type hostChecker struct {