Encapsulate vnc
This commit is contained in:
parent
d9f981e4f3
commit
d334a085ed
@ -7,6 +7,7 @@ import (
|
||||
"github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
config2 "github.com/xenserver/packer-builder-xenserver/builder/xenserver/common/config"
|
||||
"github.com/xenserver/packer-builder-xenserver/builder/xenserver/common/proxy"
|
||||
"github.com/xenserver/packer-builder-xenserver/builder/xenserver/common/vnc"
|
||||
"github.com/xenserver/packer-builder-xenserver/builder/xenserver/common/xen"
|
||||
"net"
|
||||
"strconv"
|
||||
@ -28,14 +29,14 @@ func (self *StepGetVNCPort) Run(ctx context.Context, state multistep.StateBag) m
|
||||
|
||||
ui.Say("Step: forward the instances VNC")
|
||||
|
||||
location, err := GetVNCConsoleLocation(state)
|
||||
location, err := vnc.GetVNCConsoleLocation(state)
|
||||
if err != nil {
|
||||
state.Put("error", err)
|
||||
ui.Error(err.Error())
|
||||
return multistep.ActionHalt
|
||||
}
|
||||
|
||||
target, err := GetTcpAddressFromURL(location)
|
||||
target, err := vnc.GetTcpAddressFromURL(location)
|
||||
if err != nil {
|
||||
state.Put("error", err)
|
||||
ui.Error(err.Error())
|
||||
@ -59,7 +60,7 @@ func (self *StepGetVNCPort) Run(ctx context.Context, state multistep.StateBag) m
|
||||
}
|
||||
|
||||
self.forwarding = xenProxy.CreateWrapperForwarding(host, port, func(rawConn net.Conn) (net.Conn, error) {
|
||||
return initializeVNCConnection(location, string(xenClient.GetSessionRef()), rawConn)
|
||||
return vnc.InitializeVNCConnection(location, string(xenClient.GetSessionRef()), rawConn)
|
||||
})
|
||||
|
||||
err = self.forwarding.Start()
|
||||
|
@ -12,6 +12,7 @@ import (
|
||||
"github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/interpolate"
|
||||
config2 "github.com/xenserver/packer-builder-xenserver/builder/xenserver/common/config"
|
||||
"github.com/xenserver/packer-builder-xenserver/builder/xenserver/common/vnc"
|
||||
"log"
|
||||
)
|
||||
|
||||
@ -46,7 +47,7 @@ func (self *StepTypeBootCommand) Run(ctx context.Context, state multistep.StateB
|
||||
httpIP = state.Get("http_ip").(string)
|
||||
}
|
||||
|
||||
location, err := GetVNCConsoleLocation(state)
|
||||
location, err := vnc.GetVNCConsoleLocation(state)
|
||||
if err != nil {
|
||||
state.Put("error", err)
|
||||
ui.Error(err.Error())
|
||||
@ -55,7 +56,7 @@ func (self *StepTypeBootCommand) Run(ctx context.Context, state multistep.StateB
|
||||
|
||||
ui.Say(fmt.Sprintf("Connecting to the VM console VNC over xapi via %s", location))
|
||||
|
||||
vncClient, err := CreateVNCClient(state, location)
|
||||
vncClient, err := vnc.CreateVNCClient(state, location)
|
||||
|
||||
if err != nil {
|
||||
ui.Error(err.Error())
|
||||
|
@ -1,4 +1,4 @@
|
||||
package common
|
||||
package vnc
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
@ -64,7 +64,7 @@ func CreateVNCConnection(state multistep.StateBag, location string) (net.Conn, e
|
||||
return nil, err
|
||||
}
|
||||
|
||||
tlsConn, err := initializeVNCConnection(location, string(xenClient.GetSessionRef()), rawConn)
|
||||
tlsConn, err := InitializeVNCConnection(location, string(xenClient.GetSessionRef()), rawConn)
|
||||
if err != nil {
|
||||
rawConn.Close()
|
||||
return nil, err
|
||||
@ -92,7 +92,7 @@ func CreateVNCClient(state multistep.StateBag, location string) (*vnc.ClientConn
|
||||
return client, nil
|
||||
}
|
||||
|
||||
func initializeVNCConnection(location string, xenSessionRef string, rawConn net.Conn) (*tls.Conn, error) {
|
||||
func InitializeVNCConnection(location string, xenSessionRef string, rawConn net.Conn) (*tls.Conn, error) {
|
||||
tlsConfig := &tls.Config{
|
||||
InsecureSkipVerify: true,
|
||||
}
|
Loading…
Reference in New Issue
Block a user