Add stream-address and stream-port flags to crio

Signed-off-by: Andrew Pilloud <andrewpilloud@igneoussystems.com>
This commit is contained in:
Andrew Pilloud 2017-06-12 15:31:16 -07:00
parent 2a6db15113
commit c77b5fbea8
4 changed files with 39 additions and 3 deletions

View file

@ -65,6 +65,12 @@ type APIConfig struct {
// This may support proto://addr formats later, but currently this is just
// a path.
Listen string `toml:"listen"`
// StreamAddress is the IP address on which the stream server will listen.
StreamAddress string `toml:"stream_address"`
// StreamPort is the port on which the stream server will listen.
StreamPort string `toml:"stream_port"`
}
// RuntimeConfig represents the "crio.runtime" TOML config table.
@ -207,7 +213,9 @@ func DefaultConfig() *Config {
LogDir: "/var/log/crio/pods",
},
APIConfig: APIConfig{
Listen: "/var/run/crio.sock",
Listen: "/var/run/crio.sock",
StreamAddress: "",
StreamPort: "10010",
},
RuntimeConfig: RuntimeConfig{
Runtime: "/usr/bin/runc",

View file

@ -613,14 +613,22 @@ func New(config *Config) (*Server, error) {
s.restore()
s.cleanupSandboxesOnShutdown()
bindAddress, err := knet.ChooseBindAddress(net.IP{0, 0, 0, 0})
bindAddress := net.ParseIP(config.StreamAddress)
if bindAddress == nil {
bindAddress, err = knet.ChooseBindAddress(net.IP{0, 0, 0, 0})
if err != nil {
return nil, err
}
}
_, err = net.LookupPort("tcp", config.StreamPort)
if err != nil {
return nil, err
}
// Prepare streaming server
streamServerConfig := streaming.DefaultConfig
streamServerConfig.Addr = bindAddress.String() + ":10101"
streamServerConfig.Addr = net.JoinHostPort(bindAddress.String(), config.StreamPort)
s.stream.runtimeServer = s
s.stream.streamServer, err = streaming.NewServer(streamServerConfig, s.stream)
if err != nil {