summaryrefslogtreecommitdiff
path: root/cloud
diff options
context:
space:
mode:
authorKubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com>2024-01-18 16:05:28 +0800
committerGitHub <noreply@github.com>2024-01-18 16:05:28 +0800
commit4237f6f6805e64585238dd8ec06e9a382e7187d9 (patch)
tree9a2407853eb06620ecfa780d6b5dbbe21a26f294 /cloud
parentMerge pull request #5262 from tangming1996/feature/edgeapplication (diff)
parentupdate dmi server to get namespace (diff)
downloadkubeedge-4237f6f6805e64585238dd8ec06e9a382e7187d9.tar.gz
Merge pull request #5253 from wbc6080/update-dmiserver
update dmi server to get namespace
Diffstat (limited to 'cloud')
-rw-r--r--cloud/pkg/devicecontroller/controller/downstream.go19
-rw-r--r--cloud/pkg/devicecontroller/manager/common.go5
2 files changed, 10 insertions, 14 deletions
diff --git a/cloud/pkg/devicecontroller/controller/downstream.go b/cloud/pkg/devicecontroller/controller/downstream.go
index f087fd567..20bc84ad1 100644
--- a/cloud/pkg/devicecontroller/controller/downstream.go
+++ b/cloud/pkg/devicecontroller/controller/downstream.go
@@ -39,6 +39,7 @@ import (
"github.com/kubeedge/kubeedge/cloud/pkg/devicecontroller/types"
"github.com/kubeedge/kubeedge/pkg/apis/devices/v1beta1"
crdinformers "github.com/kubeedge/kubeedge/pkg/client/informers/externalversions"
+ "github.com/kubeedge/kubeedge/pkg/util"
)
// DownstreamController watch kubernetes api server and send change to edge
@@ -80,21 +81,21 @@ func (dc *DownstreamController) syncDeviceModel() {
// deviceModelAdded is function to process addition of new deviceModel in apiserver
func (dc *DownstreamController) deviceModelAdded(deviceModel *v1beta1.DeviceModel) {
// nothing to do when deviceModel added, only add in map
- deviceModelID := manager.GetResourceID(deviceModel.Namespace, deviceModel.Name)
+ deviceModelID := util.GetResourceID(deviceModel.Namespace, deviceModel.Name)
dc.deviceModelManager.DeviceModel.Store(deviceModelID, deviceModel)
}
// deviceModelUpdated is function to process updated deviceModel
func (dc *DownstreamController) deviceModelUpdated(deviceModel *v1beta1.DeviceModel) {
// nothing to do when deviceModel updated, only add in map
- deviceModelID := manager.GetResourceID(deviceModel.Namespace, deviceModel.Name)
+ deviceModelID := util.GetResourceID(deviceModel.Namespace, deviceModel.Name)
dc.deviceModelManager.DeviceModel.Store(deviceModelID, deviceModel)
}
// deviceModelDeleted is function to process deleted deviceModel
func (dc *DownstreamController) deviceModelDeleted(deviceModel *v1beta1.DeviceModel) {
// TODO: Need to use finalizer like method to delete all devices referring to this model. Need to come up with a design.
- deviceModelID := manager.GetResourceID(deviceModel.Namespace, deviceModel.Name)
+ deviceModelID := util.GetResourceID(deviceModel.Namespace, deviceModel.Name)
dc.deviceModelManager.DeviceModel.Delete(deviceModelID)
}
@@ -127,7 +128,7 @@ func (dc *DownstreamController) syncDevice() {
// deviceAdded creates a device, adds in deviceManagers map, send a message to edge node if node selector is present.
func (dc *DownstreamController) deviceAdded(device *v1beta1.Device) {
- deviceID := manager.GetResourceID(device.Namespace, device.Name)
+ deviceID := util.GetResourceID(device.Namespace, device.Name)
dc.deviceManager.Device.Store(deviceID, device)
if device.Spec.NodeName != "" {
edgeDevice := createDevice(device)
@@ -163,7 +164,7 @@ func (dc *DownstreamController) deviceAdded(device *v1beta1.Device) {
func createDevice(device *v1beta1.Device) types.Device {
edgeDevice := types.Device{
// ID and name can be used as ID as we are using CRD and name(key in ETCD) will always be unique
- ID: manager.GetResourceID(device.Namespace, device.Name),
+ ID: util.GetResourceID(device.Namespace, device.Name),
Name: device.Name,
}
@@ -180,7 +181,7 @@ func isExistModel(deviceMap *sync.Map, device *v1beta1.Device) bool {
var res bool
targetNode := device.Spec.NodeName
modelName := device.Spec.DeviceModelRef.Name
- deviceID := manager.GetResourceID(device.Namespace, device.Name)
+ deviceID := util.GetResourceID(device.Namespace, device.Name)
// To find another device in deviceMap that uses the same deviceModel with exclude current device
deviceMap.Range(func(k, v interface{}) bool {
if k == deviceID {
@@ -207,7 +208,7 @@ func isExistModel(deviceMap *sync.Map, device *v1beta1.Device) bool {
// If NodeName is updated, call add device for newNode, deleteDevice for old Node.
// If Spec is updated, send update message to edge
func (dc *DownstreamController) deviceUpdated(device *v1beta1.Device) {
- deviceID := manager.GetResourceID(device.Namespace, device.Name)
+ deviceID := util.GetResourceID(device.Namespace, device.Name)
value, ok := dc.deviceManager.Device.Load(deviceID)
dc.deviceManager.Device.Store(deviceID, device)
if ok {
@@ -244,7 +245,7 @@ func isDeviceUpdated(oldTwin *v1beta1.Device, newTwin *v1beta1.Device) bool {
// deviceDeleted send a deleted message to the edgeNode and deletes the device from the deviceManager.Device map
func (dc *DownstreamController) deviceDeleted(device *v1beta1.Device) {
- deviceID := manager.GetResourceID(device.Namespace, device.Name)
+ deviceID := util.GetResourceID(device.Namespace, device.Name)
dc.deviceManager.Device.Delete(deviceID)
if device.Spec.NodeName != "" {
@@ -318,7 +319,7 @@ func (dc *DownstreamController) sendDeviceModelMsg(device *v1beta1.Device, opera
if device == nil || device.Spec.DeviceModelRef == nil {
return
}
- deviceModelID := manager.GetResourceID(device.Namespace, device.Spec.DeviceModelRef.Name)
+ deviceModelID := util.GetResourceID(device.Namespace, device.Spec.DeviceModelRef.Name)
var edgeDeviceModel any
var ok bool
err := retry.Do(
diff --git a/cloud/pkg/devicecontroller/manager/common.go b/cloud/pkg/devicecontroller/manager/common.go
index 80bff1e95..3954a0704 100644
--- a/cloud/pkg/devicecontroller/manager/common.go
+++ b/cloud/pkg/devicecontroller/manager/common.go
@@ -44,8 +44,3 @@ func (c *CommonResourceEventHandler) OnDelete(obj interface{}) {
func NewCommonResourceEventHandler(events chan watch.Event) *CommonResourceEventHandler {
return &CommonResourceEventHandler{events: events}
}
-
-// GetResourceID return resource ID
-func GetResourceID(namespace, name string) string {
- return namespace + "/" + name
-}