diff --git a/database/install/ne_info.sql b/database/install/ne_info.sql index 8ea39bda..055144f4 100644 --- a/database/install/ne_info.sql +++ b/database/install/ne_info.sql @@ -23,24 +23,25 @@ DROP TABLE IF EXISTS `ne_info`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `ne_info` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ne_type` varchar(32) NOT NULL, - `ne_id` varchar(32) NOT NULL DEFAULT '', - `rm_uid` varchar(40) DEFAULT NULL, - `ne_name` varchar(64) DEFAULT NULL, - `ip` varchar(128) DEFAULT '', - `port` int(11) DEFAULT NULL, - `pv_flag` enum('PNF','VNF') DEFAULT 'PNF', - `province` varchar(32) DEFAULT NULL, - `vendor_name` varchar(64) DEFAULT NULL, - `dn` varchar(255) DEFAULT NULL, - `ne_address` varchar(64) DEFAULT NULL, - `status` int(11) DEFAULT 0 COMMENT '0: 在线 1: 下线 2: 备用 3: 待下发配置', - `update_time` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `host_ids` varchar(64) DEFAULT '' COMMENT '网元主机ID组 数据格式(ssh,telnet,telnet)', + `id` int NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `rm_uid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, + `ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, + `ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `port` int DEFAULT NULL, + `pv_flag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'PNF' COMMENT '''PNF'',''VNF''', + `province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '省份地域', + `vendor_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, + `dn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, + `ne_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'MAC地址', + `status` int DEFAULT '0' COMMENT '0离线 1在线 2配置待下发', + `update_time` bigint DEFAULT '0' COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `host_ids` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元主机ID组 数据格式(ssh,telnet,telnet)', PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `idx_netype_neid` (`ne_type`,`ne_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=218 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元信息表'; +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元信息表'; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/database/install/ne_license.sql b/database/install/ne_license.sql index 47b7d681..3eadb5cf 100644 --- a/database/install/ne_license.sql +++ b/database/install/ne_license.sql @@ -23,23 +23,22 @@ DROP TABLE IF EXISTS `ne_license`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `ne_license` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ne_type` varchar(16) DEFAULT NULL, - `ne_id` varchar(32) DEFAULT '', - `serial_no` varchar(16) DEFAULT NULL, - `capcity` int(11) DEFAULT NULL, - `used` int(11) DEFAULT NULL, - `feature_enabled` varchar(64) DEFAULT NULL, - `expiration_date` varchar(16) DEFAULT NULL, - `status` enum('ACTIVE','INACTIVE','PENDING') DEFAULT 'ACTIVE', - `path` varchar(128) DEFAULT NULL, - `file_name` varchar(64) DEFAULT NULL, - `comment` varchar(255) DEFAULT NULL, - `created_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `updated_at` datetime DEFAULT NULL, - `deleted_at` datetime DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='NE license management'; + `id` int NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型', + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID', + `activation_request_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '激活申请代码', + `license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '激活授权文件', + `serial_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '序列号', + `expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '许可证到期日期', + `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态 ''ACTIVE'',''INACTIVE'',''PENDING''', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注', + `create_by` varchar(50) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` bigint DEFAULT '0' COMMENT '创建时间', + `update_by` varchar(50) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` bigint DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和网元ID' +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元授权激活信息'; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/database/install/ne_software.sql b/database/install/ne_software.sql index 266c246b..d757a110 100644 --- a/database/install/ne_software.sql +++ b/database/install/ne_software.sql @@ -23,18 +23,19 @@ DROP TABLE IF EXISTS `ne_software`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `ne_software` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ne_type` varchar(32) DEFAULT NULL, - `file_name` varchar(64) DEFAULT NULL, - `path` varchar(128) DEFAULT '', - `version` varchar(32) DEFAULT NULL, - `md5_sum` varchar(64) DEFAULT NULL, - `status` enum('Uploaded','Inactive','Active') DEFAULT NULL, - `comment` varchar(255) DEFAULT NULL, - `update_time` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `patch_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; + `id` int NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型', + `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '包名称', + `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '包路径', + `version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '包版本', + `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '包说明', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` bigint DEFAULT '0' COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` bigint DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_type_name_version` (`ne_type`,`name`,`version`) USING BTREE COMMENT '唯一网元类型和文件名版本是否唯一' +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元软件包'; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/database/install/ne_version.sql b/database/install/ne_version.sql index d64da845..acf1d5b8 100644 --- a/database/install/ne_version.sql +++ b/database/install/ne_version.sql @@ -23,19 +23,26 @@ DROP TABLE IF EXISTS `ne_version`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `ne_version` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ne_type` varchar(32) DEFAULT NULL, - `ne_id` varchar(32) DEFAULT NULL, - `version` varchar(32) DEFAULT NULL, - `file_path` varchar(255) DEFAULT NULL, - `pre_version` varchar(32) DEFAULT NULL, - `pre_file` varchar(255) DEFAULT NULL, - `new_version` varchar(32) DEFAULT NULL, - `new_file` varchar(255) DEFAULT NULL, - `status` enum('Uploaded','Inactive','Active') DEFAULT NULL, - `update_time` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; + `id` int NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型', + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID', + `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前包名', + `version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前版本', + `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前软件包', + `pre_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '上一版本包名', + `pre_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '上一版本', + `pre_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '上一版本软件包', + `new_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '新版本报名', + `new_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '新版本', + `new_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '新版软件包', + `status` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前状态 1当前版本 2上一版本 3有新版本', + `create_by` varchar(50) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` bigint DEFAULT '0' COMMENT '创建时间', + `update_by` varchar(50) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` bigint DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和ID' +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元版本信息'; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/features/cm/software.go b/features/cm/software.go index 98b8fe79..6feb42e7 100644 --- a/features/cm/software.go +++ b/features/cm/software.go @@ -608,7 +608,7 @@ func DistributeSoftwareToNF(w http.ResponseWriter, r *http.Request) { Version: (*neSoftware)[0]["version"], FilePath: fmt.Sprintf("%s/software/%s/%s", config.GetYamlConfig().NE.OmcDir, neTypeLower, fileName), PreVersion: (*neVersion)[0]["version"], - PreFile: (*neVersion)[0]["file_path"], + PreFile: (*neVersion)[0]["path"], Status: SoftwareStatusInactive, } @@ -692,7 +692,7 @@ func ActiveSoftwareToNF(w http.ResponseWriter, r *http.Request) { log.Trace("neVersion:", neVersion) if !config.GetYamlConfig().OMC.TestMode { - filePath := (*neVersion)[0]["file_path"] + filePath := (*neVersion)[0]["path"] sshHost := fmt.Sprintf("%s@%s", config.GetYamlConfig().NE.User, neInfo.Ip) srcFile := fmt.Sprintf("%s/actpkg.sh", config.GetYamlConfig().OMC.BinDir) @@ -916,7 +916,7 @@ func RollBackSoftwareToNF(w http.ResponseWriter, r *http.Request) { PreVersion: "-", PreFile: "-", NewVersion: (*neVersion)[0]["version"], - NewFile: (*neVersion)[0]["file_path"], + NewFile: (*neVersion)[0]["path"], Status: SoftwareStatusActive, } @@ -1018,7 +1018,7 @@ func RollBackSoftwareToNF(w http.ResponseWriter, r *http.Request) { PreVersion: "-", PreFile: "-", NewVersion: (*neVersion)[0]["version"], - NewFile: (*neVersion)[0]["file_path"], + NewFile: (*neVersion)[0]["path"], Status: SoftwareStatusActive, } diff --git a/src/modules/network_element/model/ne_version.go b/src/modules/network_element/model/ne_version.go index 30f73498..ddde0af0 100644 --- a/src/modules/network_element/model/ne_version.go +++ b/src/modules/network_element/model/ne_version.go @@ -5,13 +5,16 @@ type NeVersion struct { ID string `json:"id" gorm:"id"` NeType string `json:"neType" gorm:"ne_type" binding:"required"` // 网元类型 NeId string `json:"neId" gorm:"ne_id" binding:"required"` // 网元ID + Name string `json:"name" gorm:"name"` // 当前包名 Version string `json:"version" gorm:"version" binding:"required"` // 当前版本 Path string `json:"path" gorm:"path" binding:"required"` // 当前软件包 + PreName string `json:"preName" gorm:"pre_name"` // 上一版本包名 PreVersion string `json:"preVersion" gorm:"pre_version"` // 上一版本 PrePath string `json:"prePath" gorm:"pre_path"` // 上一版本软件包 - NewVersion string `json:"newVersion" gorm:"new_version"` // 下一版本 - NewPath string `json:"newPath" gorm:"new_path"` // 下一版本软件包 - Status string `json:"status" gorm:"status"` // 当前状态 1当前版本 2上一版本 3有新版本 (Uploaded下一版本上传 Inactive下一版本待激活 Active当前已激活) + NewName string `json:"newName" gorm:"new_name"` // 新版本包名 + NewVersion string `json:"newVersion" gorm:"new_version"` // 新版本 + NewPath string `json:"newPath" gorm:"new_path"` // 新版本软件包 + Status string `json:"status" gorm:"status"` // 当前状态 1当前版本 2上一版本 3有新版本 CreateBy string `json:"createBy" gorm:"column:create_by"` // 创建者 CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间 UpdateBy string `json:"updateBy" gorm:"column:update_by"` // 更新者