[ Cmii ] [ Octopus ] - add all image tag back up; add socks5 proxy

This commit is contained in:
zeaslity
2024-03-01 09:31:37 +08:00
parent 9d5ca4b50f
commit 52c360eb49
29 changed files with 2886 additions and 83 deletions

View File

@@ -1,28 +1,5 @@
package cmii_operator
var CmiiFrontendAppName = []string{
"cmii-uav-platform",
"cmii-uav-platform-oms",
"cmii-uav-platform-mws",
"cmii-uav-platform-cms-portal",
"cmii-uav-platform-armypeople",
"cmii-uav-platform-share",
"cmii-suav-platform-supervisionh5",
"cmii-suav-platform-supervision",
"cmii-uav-platform-ai-brain",
"cmii-uav-platform-base",
"cmii-uav-platform-detection",
"cmii-uav-platform-emergency-rescue",
"cmii-uav-platform-logistics",
"cmii-uav-platform-media",
"cmii-uav-platform-open",
"cmii-uav-platform-security",
"cmii-uav-platform-securityh5",
"cmii-uav-platform-seniclive",
"cmii-uav-platform-threedsimulation",
"cmii-uav-platform-visualization",
}
var CmiiBackendAppMap = map[string]string{
"cmii-admin-data": "5.2.0",
"cmii-admin-gateway": "5.2.0",
@@ -43,10 +20,6 @@ var CmiiBackendAppMap = map[string]string{
"cmii-uav-device": "5.2.0",
"cmii-uav-emergency": "5.2.0",
"cmii-uav-gateway": "5.2.0",
"cmii-uav-gis-server": "5.2.0",
"cmii-uav-grid-datasource": "5.2.0-24810",
"cmii-uav-grid-engine": "5.1.0",
"cmii-uav-grid-manage": "5.1.0",
"cmii-uav-industrial-portfolio": "5.2.0-25268-10",
"cmii-uav-integration": "5.2.0-25447",
"cmii-uav-kpi-monitor": "5.2.0",
@@ -101,56 +74,17 @@ var CmiiMiddlewareNameMap = map[string]string{
"helm-rabbitmq": "single",
}
var CmiiBackendAppName = []string{
"cmii-uav-gateway",
"cmii-uav-oauth",
"cmii-uav-user",
"cmii-uav-material-warehouse",
"cmii-uav-device",
"cmii-uav-mission",
"cmii-uav-mqtthandler",
"cmii-uav-surveillance",
"cmii-uav-waypoint",
"cmii-uav-airspace",
"cmii-uav-industrial-portfolio",
"cmii-uav-integration",
"cmii-admin-data",
"cmii-admin-gateway",
"cmii-admin-user",
"cmii-uav-cloud-live",
"cmii-uav-emergency",
"cmii-uav-cms",
"cmii-open-gateway",
"cmii-uav-cloud-live",
"cmii-uav-alarm",
"cmii-uav-brain",
"cmii-app-release",
"cmii-uav-notice",
"cmii-suav-supervision",
"cmii-uav-autowaypoint",
"cmii-uav-data-post-process",
"cmii-uav-depotautoreturn",
"cmii-uav-developer",
"cmii-uav-kpi-monitor",
"cmii-uav-logger",
"cmii-uav-process",
"cmii-uav-threedsimulation",
"cmii-uav-tower",
var CmiiSrsAppMap = map[string]string{
"helm-live-op-v2": "deployment",
"helm-live-rtsp-op": "4.1.6",
"helm-live-srs-rtc": "statefulset",
}
var CmiiStreamAppName = []string{
"cmii-uav-cloud-live",
"helm-live-op-v2",
"helm-live-rtsp-op",
"helm-live-rtsp-zlm",
"helm-vms-deploy",
}
var CmiiGISAppName = []string{
"cmii-uav-gis-server",
"cmii-uav-grid-datasource",
"cmii-uav-grid-engine",
"cmii-uav-grid-manage",
var CmiiGISAppMap = map[string]string{
"cmii-uav-gis-server": "5.4.0",
"cmii-uav-grid-datasource": "5.4.0",
"cmii-uav-grid-engine": "5.4.0",
"cmii-uav-grid-manage": "5.4.0",
}
var CmiiDevK8sConfig = `apiVersion: v1
clusters:

View File

@@ -426,6 +426,74 @@ func BackupAllCmiiDeploymentToMap(cmiiEnv string) (backendMap, frontendMap map[s
return backendMap, frontendMap
}
func BackUpAllCmiiAppImageNameFromEnv(cmiiEnv string) {
CmiiOperator.changeOperatorEnv(cmiiEnv)
filePath := "C:\\Users\\wddsh\\Documents\\IdeaProjects\\ProjectOctopus\\cmii_operator\\log\\images-" + CmiiOperator.CurrentNamespace + "-" + utils.TimeSplitFormatString() + ".txt"
only := make(map[string]string, 150)
// front
executor.BasicAppendContentToFile("---\n", filePath)
for key, value := range CmiiFrontendAppMap {
_, ok := only[key]
if !ok {
deploy := CmiiOperator.DeploymentOneInterface(cmiiEnv, key)
if deploy != nil {
only[key] = value
executor.BasicAppendContentToFile(deploy.Image+"\n", filePath)
}
}
}
executor.BasicAppendContentToFile("---\n", filePath)
for key, value := range CmiiBackendAppMap {
_, ok := only[key]
if !ok {
deploy := CmiiOperator.DeploymentOneInterface(cmiiEnv, key)
if deploy != nil {
only[key] = value
executor.BasicAppendContentToFile(deploy.Image+"\n", filePath)
}
}
}
// backend
executor.BasicAppendContentToFile("---\n", filePath)
// gis server
for key, value := range CmiiGISAppMap {
_, ok := only[key]
if !ok {
deploy := CmiiOperator.DeploymentOneInterface(cmiiEnv, key)
if deploy != nil {
only[key] = value
executor.BasicAppendContentToFile(deploy.Image+"\n", filePath)
}
}
}
// srs
executor.BasicAppendContentToFile("---\n", filePath)
for key, value := range CmiiSrsAppMap {
_, ok := only[key]
if !ok {
var app *CmiiDeploymentInterface
if strings.Contains(value, "deployment") {
app = CmiiOperator.DeploymentOneInterface(cmiiEnv, key)
if app != nil {
only[key] = value
executor.BasicAppendContentToFile(app.Image+"\n", filePath)
}
} else if strings.Contains(value, "state") {
app = CmiiOperator.StatefulSetOneInterface(cmiiEnv, key)
if app != nil {
only[key] = value
for _, image := range app.ContainerImageMap {
executor.BasicAppendContentToFile(image+"\n", filePath)
}
}
}
}
}
executor.BasicAppendContentToFile("---\n", filePath)
}
func FilterAllCmiiAppStrict(source []CmiiDeploymentInterface) (result []CmiiDeploymentInterface) {
for _, c := range source {

View File

@@ -50,12 +50,6 @@ func TestFindCmiiMiddlewarePodInterface(t *testing.T) {
}
}
func TestBackupAllDeploymentFromEnv(t *testing.T) {
BackupAllDeploymentFromEnv(devFlight)
}
func TestBackupAllCmiiDeploymentToMap(t *testing.T) {
backendMap, frontendMap := BackupAllCmiiDeploymentToMap(demo)
@@ -226,11 +220,21 @@ func TestUpdateCmiiImageTagFromNameTagMap(t *testing.T) {
}
func TestBackupAllDeploymentFromEnv(t *testing.T) {
BackupAllDeploymentFromEnv(demo)
}
func TestBackUpAllCmiiAppImageNameFromEnv(t *testing.T) {
BackUpAllCmiiAppImageNameFromEnv(demo)
}
func TestUpdateCmiiDeploymentImageTag(t *testing.T) {
cmiiEnv := devFlight
cmiiEnv := demo
appName := "cmii-uav-device"
newTag := "5.4.0-26906-01"
newTag := "5.4.0-26905"
tag := UpdateCmiiDeploymentImageTag(cmiiEnv, appName, newTag)
assert.Equal(t, tag, true, "update image tag failed !")

View File

@@ -99,6 +99,40 @@ func (deploy CmiiDeploymentInterface) Convert(deployment v1.Deployment) CmiiDepl
return deploy
}
func (deploy CmiiDeploymentInterface) ConvertFromStatefulSet(statefulSet v1.StatefulSet) CmiiDeploymentInterface {
containers := statefulSet.Spec.Template.Spec.Containers
containerImageMap := make(map[string]string, len(containers))
if len(containers) > 1 {
log.WarnF("[CmiiDeploymentInterface ConvertFromStatefulSet] - statefulSet [%s] [%s] container greater than one !", statefulSet.Namespace, statefulSet.Name)
}
for _, container := range containers {
containerImageMap[container.Name] = container.Image
deploy.Image = container.Image
deploy.ContainerName = container.Name
deploy.ImageTag = strings.Split(container.Image, ":")[1]
for _, envVar := range container.Env {
if strings.HasPrefix(envVar.Name, "GIT_BRANCH") {
deploy.GitBranch = envVar.Value
}
if strings.HasPrefix(envVar.Name, "GIT_COMMIT") {
deploy.GitCommit = envVar.Value
}
}
}
deploy.Name = statefulSet.Name
deploy.Namespace = statefulSet.Namespace
deploy.AvailableReplicas = statefulSet.Status.AvailableReplicas
deploy.Replicas = *statefulSet.Spec.Replicas
deploy.ContainerImageMap = containerImageMap
deploy.StatusOk = statefulSet.Status.AvailableReplicas == *statefulSet.Spec.Replicas
return deploy
}
func (pod CmiiPodInterface) Convert(podDetail corev1.Pod) CmiiPodInterface {
containers := podDetail.Spec.Containers

View File

@@ -330,6 +330,23 @@ func (op *CmiiK8sOperator) DeploymentOneInterface(cmiiEnv, appName string) (depl
return &convert
}
func (op *CmiiK8sOperator) StatefulSetOneInterface(cmiiEnv, appName string) (deploy *CmiiDeploymentInterface) {
op.changeOperatorEnv(cmiiEnv)
client := op.CurrentClient
deploymentInterface := CmiiDeploymentInterface{}
statefulSet, err := client.AppsV1().StatefulSets(op.CurrentNamespace).Get(context.TODO(), appName, metav1.GetOptions{})
if err != nil {
log.ErrorF("[StatefulSetOneInterface] - stateful set [%s] [%s] not exists ! %s", cmiiEnv, appName, err.Error())
return nil
}
convert := deploymentInterface.ConvertFromStatefulSet(*statefulSet)
return &convert
}
func (op *CmiiK8sOperator) DeploymentScale(cmiiEnv, appName string, scaleCount int32) bool {
deployment := op.DeploymentOneInterface(cmiiEnv, appName)

View File

@@ -27,3 +27,4 @@
2024-02-23-09-31-21 uavcloud-demo cmii-uav-device 5.4.0 5.4.0-26906
2024-02-23-10-55-14 uavcloud-demo cmii-uav-device 5.4.0-26906 5.4.0-26906-01
2024-02-23-14-32-05 uavcloud-devflight cmii-uav-device 5.2.0-validation 5.4.0-26906-01
2024-02-28-17-09-55 uavcloud-demo cmii-uav-device 5.4.0 5.4.0-26905