[ Cmii ] [ Octopus ] - add all image tag back up; add socks5 proxy
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 !")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user