commit
2118fe72b0
@ -208,29 +208,32 @@ func (c *config) discoverInternal() error {
|
||||
for builder := range command.Builders {
|
||||
_, found := (c.Builders)[builder]
|
||||
if !found {
|
||||
log.Printf("Using internal plugin for %s", builder)
|
||||
(c.Builders)[builder] = fmt.Sprintf("%s%splugin%spacker-builder-%s",
|
||||
packerPath, PACKERSPACE, PACKERSPACE, builder)
|
||||
} else {
|
||||
log.Printf("Using external plugin for %s", builder)
|
||||
}
|
||||
}
|
||||
|
||||
for provisioner := range command.Provisioners {
|
||||
_, found := (c.Provisioners)[provisioner]
|
||||
if !found {
|
||||
log.Printf("Using internal plugin for %s", provisioner)
|
||||
(c.Provisioners)[provisioner] = fmt.Sprintf(
|
||||
"%s%splugin%spacker-provisioner-%s",
|
||||
packerPath, PACKERSPACE, PACKERSPACE, provisioner)
|
||||
} else {
|
||||
log.Printf("Using external plugin for %s", provisioner)
|
||||
}
|
||||
}
|
||||
|
||||
for postProcessor := range command.PostProcessors {
|
||||
_, found := (c.PostProcessors)[postProcessor]
|
||||
if !found {
|
||||
log.Printf("Using internal plugin for %s", postProcessor)
|
||||
(c.PostProcessors)[postProcessor] = fmt.Sprintf(
|
||||
"%s%splugin%spacker-post-processor-%s",
|
||||
packerPath, PACKERSPACE, PACKERSPACE, postProcessor)
|
||||
} else {
|
||||
log.Printf("Using external plugin for %s", postProcessor)
|
||||
}
|
||||
}
|
||||
|
||||
|
12
main.go
12
main.go
@ -62,8 +62,6 @@ func realMain() int {
|
||||
|
||||
packer.LogSecretFilter.SetOutput(logWriter)
|
||||
|
||||
//packer.LogSecrets.
|
||||
|
||||
// Disable logging here
|
||||
log.SetOutput(ioutil.Discard)
|
||||
|
||||
@ -137,12 +135,16 @@ func wrappedMain() int {
|
||||
packer.LogSecretFilter.SetOutput(os.Stderr)
|
||||
log.SetOutput(&packer.LogSecretFilter)
|
||||
|
||||
inPlugin := os.Getenv(plugin.MagicCookieKey) == plugin.MagicCookieValue
|
||||
if inPlugin {
|
||||
// This prevents double-logging timestamps
|
||||
log.SetFlags(0)
|
||||
}
|
||||
|
||||
log.Printf("[INFO] Packer version: %s", version.FormattedVersion())
|
||||
log.Printf("Packer Target OS/Arch: %s %s", runtime.GOOS, runtime.GOARCH)
|
||||
log.Printf("Built with Go Version: %s", runtime.Version())
|
||||
|
||||
inPlugin := os.Getenv(plugin.MagicCookieKey) == plugin.MagicCookieValue
|
||||
|
||||
config, err := loadConfig()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error loading configuration: \n\n%s\n", err)
|
||||
@ -195,7 +197,7 @@ func wrappedMain() int {
|
||||
currentPID := os.Getpid()
|
||||
backgrounded, err := checkProcess(currentPID)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "cannot determind if process is in "+
|
||||
fmt.Fprintf(os.Stderr, "cannot determine if process is in "+
|
||||
"background: %s\n", err)
|
||||
}
|
||||
if backgrounded {
|
||||
|
@ -327,8 +327,10 @@ func (c *Client) Start() (addr net.Addr, err error) {
|
||||
switch parts[1] {
|
||||
case "tcp":
|
||||
addr, err = net.ResolveTCPAddr("tcp", parts[2])
|
||||
log.Printf("Received tcp RPC address for %s: addr is %s", cmd.Path, addr)
|
||||
case "unix":
|
||||
addr, err = net.ResolveUnixAddr("unix", parts[2])
|
||||
log.Printf("Received unix RPC address for %s: addr is %s", cmd.Path, addr)
|
||||
default:
|
||||
err = fmt.Errorf("Unknown address type: %s", parts[1])
|
||||
}
|
||||
@ -339,6 +341,13 @@ func (c *Client) Start() (addr net.Addr, err error) {
|
||||
}
|
||||
|
||||
func (c *Client) logStderr(r io.Reader) {
|
||||
logPrefix := filepath.Base(c.config.Cmd.Path)
|
||||
if logPrefix == "packer" {
|
||||
// we just called the normal packer binary with the plugin arg.
|
||||
// grab the last arg from the list which will match the plugin name.
|
||||
logPrefix = c.config.Cmd.Args[len(c.config.Cmd.Args)-1]
|
||||
}
|
||||
|
||||
bufR := bufio.NewReader(r)
|
||||
for {
|
||||
line, err := bufR.ReadString('\n')
|
||||
@ -346,7 +355,8 @@ func (c *Client) logStderr(r io.Reader) {
|
||||
c.config.Stderr.Write([]byte(line))
|
||||
|
||||
line = strings.TrimRightFunc(line, unicode.IsSpace)
|
||||
log.Printf("%s: %s", filepath.Base(c.config.Cmd.Path), line)
|
||||
|
||||
log.Printf("%s plugin: %s", logPrefix, line)
|
||||
}
|
||||
|
||||
if err == io.EOF {
|
||||
|
@ -51,20 +51,7 @@ func Server() (*packrpc.Server, error) {
|
||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||
}
|
||||
|
||||
minPort, err := strconv.ParseInt(os.Getenv("PACKER_PLUGIN_MIN_PORT"), 10, 32)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
maxPort, err := strconv.ParseInt(os.Getenv("PACKER_PLUGIN_MAX_PORT"), 10, 32)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Printf("Plugin minimum port: %d\n", minPort)
|
||||
log.Printf("Plugin maximum port: %d\n", maxPort)
|
||||
|
||||
listener, err := serverListener(minPort, maxPort)
|
||||
listener, err := serverListener()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -104,15 +91,28 @@ func Server() (*packrpc.Server, error) {
|
||||
return packrpc.NewServer(conn)
|
||||
}
|
||||
|
||||
func serverListener(minPort, maxPort int64) (net.Listener, error) {
|
||||
func serverListener() (net.Listener, error) {
|
||||
if runtime.GOOS == "windows" {
|
||||
return serverListener_tcp(minPort, maxPort)
|
||||
return serverListener_tcp()
|
||||
}
|
||||
|
||||
return serverListener_unix()
|
||||
}
|
||||
|
||||
func serverListener_tcp(minPort, maxPort int64) (net.Listener, error) {
|
||||
func serverListener_tcp() (net.Listener, error) {
|
||||
minPort, err := strconv.ParseInt(os.Getenv("PACKER_PLUGIN_MIN_PORT"), 10, 32)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
maxPort, err := strconv.ParseInt(os.Getenv("PACKER_PLUGIN_MAX_PORT"), 10, 32)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Printf("Plugin minimum port: %d\n", minPort)
|
||||
log.Printf("Plugin maximum port: %d\n", maxPort)
|
||||
|
||||
for port := minPort; port <= maxPort; port++ {
|
||||
address := fmt.Sprintf("127.0.0.1:%d", port)
|
||||
listener, err := net.Listen("tcp", address)
|
||||
|
Loading…
x
Reference in New Issue
Block a user