summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com>2021-09-10 12:14:29 +0800
committerGitHub <noreply@github.com>2021-09-10 12:14:29 +0800
commit481005a3f2ffbc6e27238ab6fc2bdb29e5184e21 (patch)
tree6a903a65c62cbff0bdb7b2bdaf25b10d35adb4a6
parentMerge pull request #3137 from siredmar/automated-cherry-pick-of-#3129-origin-... (diff)
parentfix modbus slaveID cannot be 0 (diff)
downloadkubeedge-481005a3f2ffbc6e27238ab6fc2bdb29e5184e21.tar.gz
Merge pull request #3162 from TianTianBigWang/release-1.8-modbus-slaveidv1.8.1
cherry pick of #3117: fix modbus slaveID cannot be 0
-rw-r--r--cloud/pkg/apis/devices/v1alpha2/device_instance_types.go2
-rw-r--r--cloud/pkg/apis/devices/v1alpha2/zz_generated.deepcopy.go7
-rw-r--r--cloud/test/integration/fixtures/device.go9
-rw-r--r--docs/proposals/device-management-enhance.md2
-rw-r--r--tests/e2e/utils/device.go4
5 files changed, 15 insertions, 9 deletions
diff --git a/cloud/pkg/apis/devices/v1alpha2/device_instance_types.go b/cloud/pkg/apis/devices/v1alpha2/device_instance_types.go
index 1cc02cf98..485d27595 100644
--- a/cloud/pkg/apis/devices/v1alpha2/device_instance_types.go
+++ b/cloud/pkg/apis/devices/v1alpha2/device_instance_types.go
@@ -92,7 +92,7 @@ type ProtocolConfigOpcUA struct {
// Only one of its members may be specified.
type ProtocolConfigModbus struct {
// Required. 0-255
- SlaveID int64 `json:"slaveID,omitempty"`
+ SlaveID *int64 `json:"slaveID,omitempty"`
}
// Only one of COM or TCP may be specified.
diff --git a/cloud/pkg/apis/devices/v1alpha2/zz_generated.deepcopy.go b/cloud/pkg/apis/devices/v1alpha2/zz_generated.deepcopy.go
index 40a2d7f17..3571b3db4 100644
--- a/cloud/pkg/apis/devices/v1alpha2/zz_generated.deepcopy.go
+++ b/cloud/pkg/apis/devices/v1alpha2/zz_generated.deepcopy.go
@@ -501,7 +501,7 @@ func (in *ProtocolConfig) DeepCopyInto(out *ProtocolConfig) {
if in.Modbus != nil {
in, out := &in.Modbus, &out.Modbus
*out = new(ProtocolConfigModbus)
- **out = **in
+ (*in).DeepCopyInto(*out)
}
if in.Bluetooth != nil {
in, out := &in.Bluetooth, &out.Bluetooth
@@ -616,6 +616,11 @@ func (in *ProtocolConfigCustomized) DeepCopy() *ProtocolConfigCustomized {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProtocolConfigModbus) DeepCopyInto(out *ProtocolConfigModbus) {
*out = *in
+ if in.SlaveID != nil {
+ in, out := &in.SlaveID, &out.SlaveID
+ *out = new(int64)
+ **out = **in
+ }
return
}
diff --git a/cloud/test/integration/fixtures/device.go b/cloud/test/integration/fixtures/device.go
index 9c37ab125..225173c51 100644
--- a/cloud/test/integration/fixtures/device.go
+++ b/cloud/test/integration/fixtures/device.go
@@ -19,6 +19,7 @@ package fixtures
import (
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
"github.com/kubeedge/kubeedge/cloud/pkg/apis/devices/v1alpha2"
)
@@ -76,7 +77,7 @@ func withProtocolConfig(protocol deviceProtocol) DeviceOption {
case deviceProtocolModbusRTU:
op.device.Spec.Protocol = v1alpha2.ProtocolConfig{
Modbus: &v1alpha2.ProtocolConfigModbus{
- SlaveID: 1,
+ SlaveID: pointer.Int64Ptr(1),
},
Common: &v1alpha2.ProtocolConfigCommon{
COM: &v1alpha2.ProtocolConfigCOM{},
@@ -85,7 +86,7 @@ func withProtocolConfig(protocol deviceProtocol) DeviceOption {
case deviceProtocolModbusTCP:
op.device.Spec.Protocol = v1alpha2.ProtocolConfig{
Modbus: &v1alpha2.ProtocolConfigModbus{
- SlaveID: 1,
+ SlaveID: pointer.Int64Ptr(1),
},
Common: &v1alpha2.ProtocolConfigCommon{
TCP: &v1alpha2.ProtocolConfigTCP{},
@@ -140,7 +141,7 @@ func withStopBits(stopBits int64) DeviceOption {
func withSlaveID(slaveID int64) DeviceOption {
return func(op *DeviceOp) {
- op.device.Spec.Protocol.Modbus.SlaveID = slaveID
+ op.device.Spec.Protocol.Modbus.SlaveID = &slaveID
}
}
@@ -152,7 +153,7 @@ func withTCPPort(port int64) DeviceOption {
func withTCPSlaveID(tcpSlaveID int64) DeviceOption {
return func(op *DeviceOp) {
- op.device.Spec.Protocol.Modbus.SlaveID = tcpSlaveID
+ op.device.Spec.Protocol.Modbus.SlaveID = &tcpSlaveID
}
}
diff --git a/docs/proposals/device-management-enhance.md b/docs/proposals/device-management-enhance.md
index df9e8d3f2..0c2d37105 100644
--- a/docs/proposals/device-management-enhance.md
+++ b/docs/proposals/device-management-enhance.md
@@ -118,7 +118,7 @@ type ProtocolConfig struct {
type ProtocolConfigModbus struct {
// Required. 0-255
- SlaveID int64 `json:"slaveID,omitempty"`
+ SlaveID *int64 `json:"slaveID,omitempty"`
}
// Only one of COM or TCP may be specified.
diff --git a/tests/e2e/utils/device.go b/tests/e2e/utils/device.go
index 7758b8052..3e3fd984f 100644
--- a/tests/e2e/utils/device.go
+++ b/tests/e2e/utils/device.go
@@ -862,7 +862,7 @@ func UpdatedModbusDeviceInstance(nodeSelector string) v1alpha2.Device {
},
Protocol: v1alpha2.ProtocolConfig{
Modbus: &v1alpha2.ProtocolConfigModbus{
- SlaveID: 1,
+ SlaveID: pointer.Int64Ptr(1),
},
Common: &v1alpha2.ProtocolConfigCommon{
COM: &v1alpha2.ProtocolConfigCOM{
@@ -1591,7 +1591,7 @@ func UpdatedConfigMapModbusForDataAndTwins(nodeSelector string) v12.ConfigMap {
Name: "modbus-sensor-tag-instance-02",
Protocol: "modbus",
ProtocolConfig: &v1alpha2.ProtocolConfigModbus{
- SlaveID: 1,
+ SlaveID: pointer.Int64Ptr(1),
},
ProtocolCommonConfig: &v1alpha2.ProtocolConfigCommon{
COM: &v1alpha2.ProtocolConfigCOM{