Skip to content

Commit

Permalink
[eclipse-kanto#243] Remove deprecated timeout properties
Browse files Browse the repository at this point in the history
Signed-off-by: Kristiyan Gostev <[email protected]>
  • Loading branch information
k-gostev committed Jun 4, 2024
1 parent 4b2cd25 commit 9290da3
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 153 deletions.
24 changes: 0 additions & 24 deletions containerm/daemon/daemon_command.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ package main

import (
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)

func setupCommandFlags(cmd *cobra.Command) {
Expand Down Expand Up @@ -111,27 +110,4 @@ func setupCommandFlags(cmd *cobra.Command) {
flagSet.StringVar(&cfg.LocalConnection.Transport.RootCA, "conn-root-ca", cfg.LocalConnection.Transport.RootCA, "Specify the PEM encoded CA certificates file")
flagSet.StringVar(&cfg.LocalConnection.Transport.ClientCert, "conn-client-cert", cfg.LocalConnection.Transport.ClientCert, "Specify the PEM encoded certificate file to authenticate to the MQTT server/broker")
flagSet.StringVar(&cfg.LocalConnection.Transport.ClientKey, "conn-client-key", cfg.LocalConnection.Transport.ClientKey, "Specify the PEM encoded unencrypted private key file to authenticate to the MQTT server/broker")

//TODO remove in M5
setupDeprecatedCommandFlags(flagSet)
}

func setupDeprecatedCommandFlags(flagSet *pflag.FlagSet) {
flagSet.StringVar(&cfg.ThingsConfig.ThingsConnectionConfig.BrokerURL, "things-conn-broker", cfg.ThingsConfig.ThingsConnectionConfig.BrokerURL, "DEPRECATED Specify the MQTT broker URL to connect to")
flagSet.Int64Var(&cfg.ThingsConfig.ThingsConnectionConfig.KeepAlive, "things-conn-keep-alive", cfg.ThingsConfig.ThingsConnectionConfig.KeepAlive, "DEPRECATED Specify the keep alive duration for the MQTT requests in milliseconds")
flagSet.Int64Var(&cfg.ThingsConfig.ThingsConnectionConfig.DisconnectTimeout, "things-conn-disconnect-timeout", cfg.ThingsConfig.ThingsConnectionConfig.DisconnectTimeout, "DEPRECATED Specify the disconnection timeout for the MQTT connection in milliseconds")
flagSet.StringVar(&cfg.ThingsConfig.ThingsConnectionConfig.ClientUsername, "things-conn-client-username", cfg.ThingsConfig.ThingsConnectionConfig.ClientUsername, "DEPRECATED Specify the MQTT client username to authenticate with")
flagSet.StringVar(&cfg.ThingsConfig.ThingsConnectionConfig.ClientPassword, "things-conn-client-password", cfg.ThingsConfig.ThingsConnectionConfig.ClientPassword, "DEPRECATED Specify the MQTT client password to authenticate with")
flagSet.Int64Var(&cfg.ThingsConfig.ThingsConnectionConfig.ConnectTimeout, "things-conn-connect-timeout", cfg.ThingsConfig.ThingsConnectionConfig.ConnectTimeout, "DEPRECATED Specify the connect timeout for the MQTT in milliseconds")
flagSet.Int64Var(&cfg.ThingsConfig.ThingsConnectionConfig.AcknowledgeTimeout, "things-conn-ack-timeout", cfg.ThingsConfig.ThingsConnectionConfig.AcknowledgeTimeout, "DEPRECATED Specify the acknowledgement timeout for the MQTT requests in milliseconds")
flagSet.Int64Var(&cfg.ThingsConfig.ThingsConnectionConfig.SubscribeTimeout, "things-conn-sub-timeout", cfg.ThingsConfig.ThingsConnectionConfig.SubscribeTimeout, "DEPRECATED Specify the subscribe timeout for the MQTT requests in milliseconds")
flagSet.Int64Var(&cfg.ThingsConfig.ThingsConnectionConfig.UnsubscribeTimeout, "things-conn-unsub-timeout", cfg.ThingsConfig.ThingsConnectionConfig.UnsubscribeTimeout, "DEPRECATED Specify the unsubscribe timeout for the MQTT requests in milliseconds")

// init tls support
if cfg.ThingsConfig.ThingsConnectionConfig.Transport == nil {
cfg.ThingsConfig.ThingsConnectionConfig.Transport = &tlsConfig{}
}
flagSet.StringVar(&cfg.ThingsConfig.ThingsConnectionConfig.Transport.RootCA, "things-conn-root-ca", cfg.ThingsConfig.ThingsConnectionConfig.Transport.RootCA, "DEPRECATED Specify the PEM encoded CA certificates file")
flagSet.StringVar(&cfg.ThingsConfig.ThingsConnectionConfig.Transport.ClientCert, "things-conn-client-cert", cfg.ThingsConfig.ThingsConnectionConfig.Transport.ClientCert, "DEPRECATED Specify the PEM encoded certificate file to authenticate to the MQTT server/broker")
flagSet.StringVar(&cfg.ThingsConfig.ThingsConnectionConfig.Transport.ClientKey, "things-conn-client-key", cfg.ThingsConfig.ThingsConnectionConfig.Transport.ClientKey, "DEPRECATED Specify the PEM encoded unencrypted private key file to authenticate to the MQTT server/broker")
}
22 changes: 3 additions & 19 deletions containerm/daemon/daemon_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,9 @@ type grpcServerConfig struct {

// things client configuration
type thingsConfig struct {
ThingsEnable bool `json:"enable,omitempty"`
ThingsMetaPath string `json:"home_dir,omitempty"`
Features []string `json:"features,omitempty"`
ThingsConnectionConfig *thingsConnectionConfig `json:"connection,omitempty"`
ThingsEnable bool `json:"enable,omitempty"`
ThingsMetaPath string `json:"home_dir,omitempty"`
Features []string `json:"features,omitempty"`
}

// things client configuration
Expand All @@ -206,21 +205,6 @@ type localConnectionConfig struct {
Transport *tlsConfig `json:"transport,omitempty"`
}

// TODO Remove in M5
// things service connection config
type thingsConnectionConfig struct {
BrokerURL string `json:"broker_url,omitempty"`
KeepAlive int64 `json:"keep_alive,omitempty"`
DisconnectTimeout int64 `json:"disconnect_timeout,omitempty"`
ClientUsername string `json:"client_username,omitempty"`
ClientPassword string `json:"client_password,omitempty"`
ConnectTimeout int64 `json:"connect_timeout,omitempty"`
AcknowledgeTimeout int64 `json:"acknowledge_timeout,omitempty"`
SubscribeTimeout int64 `json:"subscribe_timeout,omitempty"`
UnsubscribeTimeout int64 `json:"unsubscribe_timeout,omitempty"`
Transport *tlsConfig `json:"transport,omitempty"`
}

// verifierConfig is alias used as flag value
type verifierConfig map[string]string

Expand Down
11 changes: 0 additions & 11 deletions containerm/daemon/daemon_config_default.go
Original file line number Diff line number Diff line change
Expand Up @@ -167,17 +167,6 @@ func getDefaultInstance() *config {
ThingsEnable: thingsEnableDefault,
ThingsMetaPath: thingsMetaPathDefault,
Features: thingsServiceFeaturesDefault,
ThingsConnectionConfig: &thingsConnectionConfig{
BrokerURL: connectionBrokerURLDefault,
KeepAlive: 20000,
DisconnectTimeout: 250,
ClientUsername: connectionClientUsername,
ClientPassword: connectionClientPassword,
ConnectTimeout: 30000,
AcknowledgeTimeout: 15000,
SubscribeTimeout: 15000,
UnsubscribeTimeout: 5000,
},
},
DeploymentManagerConfig: &deploymentManagerConfig{
DeploymentEnable: deploymentEnableDefault,
Expand Down
58 changes: 11 additions & 47 deletions containerm/daemon/daemon_config_util.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import (
"fmt"
"io/ioutil"
"os"
"reflect"
"strconv"
"time"

Expand Down Expand Up @@ -103,42 +102,21 @@ func extractGrpcOptions(daemonConfig *config) []server.GrpcServerOpt {

func extractThingsOptions(daemonConfig *config) []things.ContainerThingsManagerOpt {
thingsOpts := []things.ContainerThingsManagerOpt{}
// TODO Remove in M5
lcc := daemonConfig.LocalConnection
dtcc := getDefaultInstance().ThingsConfig.ThingsConnectionConfig
dtcc.Transport = &tlsConfig{}
if !reflect.DeepEqual(daemonConfig.ThingsConfig.ThingsConnectionConfig, dtcc) {
fmt.Println("DEPRECATED: Things connection settings are now deprecated and will be removed in future release. Use the global connection settings instead!")
log.Warn("DEPRECATED: Things connection settings are now deprecated and will be removed in future release. Use the global connection settings instead!")
lcc = &localConnectionConfig{
BrokerURL: daemonConfig.ThingsConfig.ThingsConnectionConfig.BrokerURL,
KeepAlive: fmt.Sprintf("%dms", daemonConfig.ThingsConfig.ThingsConnectionConfig.KeepAlive),
DisconnectTimeout: fmt.Sprintf("%dms", daemonConfig.ThingsConfig.ThingsConnectionConfig.DisconnectTimeout),
ClientUsername: daemonConfig.ThingsConfig.ThingsConnectionConfig.ClientUsername,
ClientPassword: daemonConfig.ThingsConfig.ThingsConnectionConfig.ClientPassword,
ConnectTimeout: fmt.Sprintf("%dms", daemonConfig.ThingsConfig.ThingsConnectionConfig.ConnectTimeout),
AcknowledgeTimeout: fmt.Sprintf("%dms", daemonConfig.ThingsConfig.ThingsConnectionConfig.AcknowledgeTimeout),
SubscribeTimeout: fmt.Sprintf("%dms", daemonConfig.ThingsConfig.ThingsConnectionConfig.SubscribeTimeout),
UnsubscribeTimeout: fmt.Sprintf("%dms", daemonConfig.ThingsConfig.ThingsConnectionConfig.UnsubscribeTimeout),
Transport: daemonConfig.ThingsConfig.ThingsConnectionConfig.Transport,
}
}

thingsOpts = append(thingsOpts,
things.WithMetaPath(daemonConfig.ThingsConfig.ThingsMetaPath),
things.WithFeatures(daemonConfig.ThingsConfig.Features),
things.WithConnectionBroker(lcc.BrokerURL),
things.WithConnectionKeepAlive(parseDuration(lcc.KeepAlive, lcc.KeepAlive)),
things.WithConnectionDisconnectTimeout(parseDuration(lcc.DisconnectTimeout, lcc.DisconnectTimeout)),
things.WithConnectionClientUsername(lcc.ClientUsername),
things.WithConnectionClientPassword(lcc.ClientPassword),
things.WithConnectionConnectTimeout(parseDuration(lcc.ConnectTimeout, lcc.ConnectTimeout)),
things.WithConnectionAcknowledgeTimeout(parseDuration(lcc.AcknowledgeTimeout, lcc.AcknowledgeTimeout)),
things.WithConnectionSubscribeTimeout(parseDuration(lcc.SubscribeTimeout, lcc.SubscribeTimeout)),
things.WithConnectionUnsubscribeTimeout(parseDuration(lcc.UnsubscribeTimeout, lcc.UnsubscribeTimeout)),
things.WithConnectionBroker(daemonConfig.LocalConnection.BrokerURL),
things.WithConnectionKeepAlive(parseDuration(daemonConfig.LocalConnection.KeepAlive, daemonConfig.LocalConnection.KeepAlive)),
things.WithConnectionDisconnectTimeout(parseDuration(daemonConfig.LocalConnection.DisconnectTimeout, daemonConfig.LocalConnection.DisconnectTimeout)),
things.WithConnectionClientUsername(daemonConfig.LocalConnection.ClientUsername),
things.WithConnectionClientPassword(daemonConfig.LocalConnection.ClientPassword),
things.WithConnectionConnectTimeout(parseDuration(daemonConfig.LocalConnection.ConnectTimeout, daemonConfig.LocalConnection.ConnectTimeout)),
things.WithConnectionAcknowledgeTimeout(parseDuration(daemonConfig.LocalConnection.AcknowledgeTimeout, daemonConfig.LocalConnection.AcknowledgeTimeout)),
things.WithConnectionSubscribeTimeout(parseDuration(daemonConfig.LocalConnection.SubscribeTimeout, daemonConfig.LocalConnection.SubscribeTimeout)),
things.WithConnectionUnsubscribeTimeout(parseDuration(daemonConfig.LocalConnection.UnsubscribeTimeout, daemonConfig.LocalConnection.UnsubscribeTimeout)),
)
if lcc.Transport != nil {
thingsOpts = append(thingsOpts, things.WithTLSConfig(lcc.Transport.RootCA, lcc.Transport.ClientCert, lcc.Transport.ClientKey))
if daemonConfig.LocalConnection.Transport != nil {
thingsOpts = append(thingsOpts, things.WithTLSConfig(daemonConfig.LocalConnection.Transport.RootCA, daemonConfig.LocalConnection.Transport.ClientCert, daemonConfig.LocalConnection.Transport.ClientKey))
}
return thingsOpts
}
Expand Down Expand Up @@ -344,20 +322,6 @@ func dumpThingsClient(configInstance *config) {
if configInstance.ThingsConfig.ThingsEnable {
log.Debug("[daemon_cfg][things-home-dir] : %s", configInstance.ThingsConfig.ThingsMetaPath)
log.Debug("[daemon_cfg][things-features] : %s", configInstance.ThingsConfig.Features)
if configInstance.ThingsConfig.ThingsConnectionConfig != nil {
log.Debug("[daemon_cfg][things-conn-broker] : %s", configInstance.ThingsConfig.ThingsConnectionConfig.BrokerURL)
log.Debug("[daemon_cfg][things-conn-keep-alive] : %d", configInstance.ThingsConfig.ThingsConnectionConfig.KeepAlive)
log.Debug("[daemon_cfg][things-conn-disconnect-timeout] : %d", configInstance.ThingsConfig.ThingsConnectionConfig.DisconnectTimeout)
log.Debug("[daemon_cfg][things-conn-connect-timeout] : %d", configInstance.ThingsConfig.ThingsConnectionConfig.ConnectTimeout)
log.Debug("[daemon_cfg][things-conn-ack-timeout] : %d", configInstance.ThingsConfig.ThingsConnectionConfig.AcknowledgeTimeout)
log.Debug("[daemon_cfg][things-conn-sub-timeout] : %d", configInstance.ThingsConfig.ThingsConnectionConfig.SubscribeTimeout)
log.Debug("[daemon_cfg][things-conn-unsub-timeout] : %d", configInstance.ThingsConfig.ThingsConnectionConfig.UnsubscribeTimeout)
if configInstance.ThingsConfig.ThingsConnectionConfig.Transport != nil {
log.Debug("[daemon_cfg][things-conn-root-ca] : %s", configInstance.ThingsConfig.ThingsConnectionConfig.Transport.RootCA)
log.Debug("[daemon_cfg][things-conn-client-cert] : %s", configInstance.ThingsConfig.ThingsConnectionConfig.Transport.ClientCert)
log.Debug("[daemon_cfg][things-conn-client-key] : %s", configInstance.ThingsConfig.ThingsConnectionConfig.Transport.ClientKey)
}
}
}
}
}
Expand Down
50 changes: 1 addition & 49 deletions containerm/daemon/daemon_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ func TestThingsServiceFeaturesConfig(t *testing.T) {
func TestThingsTLSConfig(t *testing.T) {
local := &config{}
_ = loadLocalConfig("../pkg/testutil/config/daemon-things-tls-config.json", local)
testutil.AssertEqual(t, &tlsConfig{RootCA: "ca.crt", ClientCert: "client.crt", ClientKey: "client.key"}, local.ThingsConfig.ThingsConnectionConfig.Transport)
testutil.AssertEqual(t, &tlsConfig{RootCA: "ca.crt", ClientCert: "client.crt", ClientKey: "client.key"}, local.LocalConnection.Transport)
}

func TestMgrDefaultCtrsStopTimeoutConfig(t *testing.T) {
Expand Down Expand Up @@ -364,54 +364,6 @@ func TestSetCommandFlags(t *testing.T) {
flag: "things-features",
expectedType: "stringSlice",
},
"test_flags_things-conn-broker": {
flag: "things-conn-broker",
expectedType: reflect.String.String(),
},
"test_flags_things-conn-keep-alive": {
flag: "things-conn-keep-alive",
expectedType: reflect.Int64.String(),
},
"test_flags_things-conn-disconnect-timeout": {
flag: "things-conn-disconnect-timeout",
expectedType: reflect.Int64.String(),
},
"test_flags_things-conn-client-username": {
flag: "things-conn-client-username",
expectedType: reflect.String.String(),
},
"test_flags_things-conn-client-password": {
flag: "things-conn-client-password",
expectedType: reflect.String.String(),
},
"test_flags_things-conn-connect-timeout": {
flag: "things-conn-connect-timeout",
expectedType: reflect.Int64.String(),
},
"test_flags_things-conn-ack-timeout": {
flag: "things-conn-ack-timeout",
expectedType: reflect.Int64.String(),
},
"test_flags_things-conn-sub-timeout": {
flag: "things-conn-sub-timeout",
expectedType: reflect.Int64.String(),
},
"test_flags_things-conn-unsub-timeout": {
flag: "things-conn-unsub-timeout",
expectedType: reflect.Int64.String(),
},
"test_flags_things-conn-root-ca": {
flag: "things-conn-root-ca",
expectedType: reflect.String.String(),
},
"test_flags_things-conn-client-cert": {
flag: "things-conn-client-cert",
expectedType: reflect.String.String(),
},
"test_flags_things-conn-client-key": {
flag: "things-conn-client-key",
expectedType: reflect.String.String(),
},
"test_flags_deployment-enable": {
flag: "deployment-enable",
expectedType: reflect.Bool.String(),
Expand Down
4 changes: 1 addition & 3 deletions containerm/pkg/testutil/config/daemon-things-tls-config.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
{
"things": {
"connection": {
"connection": {
"transport": {
"root_ca": "ca.crt",
"client_cert": "client.crt",
"client_key": "client.key"
}
}
}
}

0 comments on commit 9290da3

Please sign in to comment.