X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=depRicKubernetesOperator%2Finternal%2Fcontroller%2FgetDeployment.go;h=d24a719579f28e065bcfe1c93a159e5166d7fa4f;hb=refs%2Fchanges%2F52%2F12152%2F2;hp=7b250d293b59788683c8cfbe5133f2bf9aaa56c5;hpb=c752c278fa59003ab11748ac5bacad6ea354a2c2;p=ric-plt%2Fric-dep.git diff --git a/depRicKubernetesOperator/internal/controller/getDeployment.go b/depRicKubernetesOperator/internal/controller/getDeployment.go index 7b250d2..d24a719 100644 --- a/depRicKubernetesOperator/internal/controller/getDeployment.go +++ b/depRicKubernetesOperator/internal/controller/getDeployment.go @@ -151,5 +151,768 @@ func GetDeployment() []*appsv1.Deployment { }, } - return []*appsv1.Deployment{deployment1} + deployment2 := &appsv1.Deployment{ + Spec: appsv1.DeploymentSpec{ + Paused: false, + Replicas: int32Ptr(1), + Selector: &metav1.LabelSelector{ + MatchLabels: map[string]string{ + "release": "release-name", + "app": "ricplt-alarmmanager", + }, + }, + Template: corev1.PodTemplateSpec{ + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + "app": "ricplt-alarmmanager", + "release": "release-name", + }, + }, + Spec: corev1.PodSpec{ + HostIPC: false, + HostNetwork: false, + HostPID: false, + Hostname: "alarmmanager", + ImagePullSecrets: []corev1.LocalObjectReference{ + + corev1.LocalObjectReference{ + Name: "secret-nexus3-o-ran-sc-org-10002-o-ran-sc", + }, + }, + ServiceAccountName: "svcacct-ricplt-alarmmanager", + Volumes: []corev1.Volume{ + + corev1.Volume{ + Name: "config-volume", + VolumeSource: corev1.VolumeSource{ + ConfigMap: &corev1.ConfigMapVolumeSource{ + Items: []corev1.KeyToPath{ + + corev1.KeyToPath{ + Mode: int32Ptr(420), + Path: "config-file.json", + Key: "alarmmanagercfg", + }, + }, + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-alarmmanager-alarmmanagercfg", + }, + }, + }, + }, + corev1.Volume{ + Name: "am-persistent-storage", + VolumeSource: corev1.VolumeSource{ + PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{ + ClaimName: "pvc-ricplt-alarmmanager", + ReadOnly: false, + }, + }, + }, + }, + Containers: []corev1.Container{ + + corev1.Container{ + Ports: []corev1.ContainerPort{ + + corev1.ContainerPort{ + ContainerPort: 4561, + Name: "rmrroute", + Protocol: corev1.Protocol("TCP"), + }, + corev1.ContainerPort{ + ContainerPort: 4560, + Name: "rmrdata", + Protocol: corev1.Protocol("TCP"), + }, + corev1.ContainerPort{ + ContainerPort: 8080, + Name: "http", + Protocol: corev1.Protocol("TCP"), + }, + }, + StdinOnce: false, + TTY: false, + VolumeMounts: []corev1.VolumeMount{ + + corev1.VolumeMount{ + MountPath: "/cfg", + Name: "config-volume", + ReadOnly: false, + }, + corev1.VolumeMount{ + Name: "am-persistent-storage", + ReadOnly: false, + MountPath: "/mnt/pv-ricplt-alarmmanager", + }, + }, + Image: "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-plt-alarmmanager:0.5.9", + ImagePullPolicy: corev1.PullPolicy("IfNotPresent"), + Name: "container-ricplt-alarmmanager", + Env: []corev1.EnvVar{ + + corev1.EnvVar{ + Name: "PLT_NAMESPACE", + Value: "ricplt", + }, + }, + EnvFrom: []corev1.EnvFromSource{ + + corev1.EnvFromSource{ + ConfigMapRef: &corev1.ConfigMapEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-dbaas-appconfig", + }, + }, + }, + corev1.EnvFromSource{ + ConfigMapRef: &corev1.ConfigMapEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-alarmmanager-env", + }, + }, + }, + }, + Stdin: false, + }, + }, + }, + }, + }, + TypeMeta: metav1.TypeMeta{ + APIVersion: "apps/v1", + Kind: "Deployment", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: "ricplt", + Labels: map[string]string{ + "chart": "alarmmanager-5.0.0", + "heritage": "Helm", + "release": "release-name", + "app": "ricplt-alarmmanager", + }, + Name: "deployment-ricplt-alarmmanager", + }, + } + + deployment3 := &appsv1.Deployment{ + ObjectMeta: metav1.ObjectMeta{ + Namespace: "ricplt", + Labels: map[string]string{ + "app": "ricplt-appmgr", + "chart": "appmgr-3.0.0", + "heritage": "Helm", + "release": "release-name", + }, + Name: "deployment-ricplt-appmgr", + }, + Spec: appsv1.DeploymentSpec{ + Template: corev1.PodTemplateSpec{ + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + "app": "ricplt-appmgr", + "release": "release-name", + }, + }, + Spec: corev1.PodSpec{ + Containers: []corev1.Container{ + + corev1.Container{ + Stdin: false, + VolumeMounts: []corev1.VolumeMount{ + + corev1.VolumeMount{ + MountPath: "/opt/ric/config/appmgr.yaml", + Name: "config-volume", + ReadOnly: false, + SubPath: "appmgr.yaml", + }, + corev1.VolumeMount{ + MountPath: "/opt/ric/secret", + Name: "helm-secret-volume", + ReadOnly: false, + }, + corev1.VolumeMount{ + ReadOnly: false, + SubPath: "helm_repo_username", + MountPath: "/opt/ric/secret/helm_repo_username", + Name: "secret-volume", + }, + corev1.VolumeMount{ + SubPath: "helm_repo_password", + MountPath: "/opt/ric/secret/helm_repo_password", + Name: "secret-volume", + ReadOnly: false, + }, + }, + EnvFrom: []corev1.EnvFromSource{ + + corev1.EnvFromSource{ + ConfigMapRef: &corev1.ConfigMapEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-appmgr-env", + }, + }, + }, + corev1.EnvFromSource{ + ConfigMapRef: &corev1.ConfigMapEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-dbaas-appconfig", + }, + }, + }, + }, + ImagePullPolicy: corev1.PullPolicy("IfNotPresent"), + Name: "container-ricplt-appmgr", + TTY: false, + Image: "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-plt-appmgr:0.2.0", + Ports: []corev1.ContainerPort{ + + corev1.ContainerPort{ + ContainerPort: 8080, + Name: "http", + Protocol: corev1.Protocol("TCP"), + }, + corev1.ContainerPort{ + Protocol: corev1.Protocol("TCP"), + ContainerPort: 4561, + Name: "rmrroute", + }, + corev1.ContainerPort{ + ContainerPort: 4560, + Name: "rmrdata", + Protocol: corev1.Protocol("TCP"), + }, + }, + StdinOnce: false, + }, + }, + HostIPC: false, + HostPID: false, + Hostname: "appmgr", + RestartPolicy: corev1.RestartPolicy("Always"), + ServiceAccountName: "svcacct-ricplt-appmgr", + Volumes: []corev1.Volume{ + + corev1.Volume{ + Name: "config-volume", + VolumeSource: corev1.VolumeSource{ + ConfigMap: &corev1.ConfigMapVolumeSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-appmgr-appconfig", + }, + }, + }, + }, + corev1.Volume{ + Name: "secret-volume", + VolumeSource: corev1.VolumeSource{ + Secret: &corev1.SecretVolumeSource{ + SecretName: "secret-ricplt-appmgr", + }, + }, + }, + corev1.Volume{ + Name: "helm-secret-volume", + }, + corev1.Volume{ + Name: "appmgr-bin-volume", + VolumeSource: corev1.VolumeSource{ + ConfigMap: &corev1.ConfigMapVolumeSource{ + DefaultMode: int32Ptr(493), + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-appmgr-bin", + }, + }, + }, + }, + }, + HostNetwork: false, + ImagePullSecrets: []corev1.LocalObjectReference{ + + corev1.LocalObjectReference{ + Name: "secret-nexus3-o-ran-sc-org-10002-o-ran-sc", + }, + }, + InitContainers: []corev1.Container{ + + corev1.Container{ + Env: []corev1.EnvVar{ + + corev1.EnvVar{ + Name: "SVCACCT_NAME", + Value: "svcacct-ricplt-appmgr", + }, + corev1.EnvVar{ + Name: "CLUSTER_NAME", + Value: "kubernetes", + }, + corev1.EnvVar{ + Name: "KUBECONFIG", + Value: "/tmp/kubeconfig", + }, + corev1.EnvVar{ + Name: "K8S_API_HOST", + Value: "https://kubernetes.default.svc.cluster.local/", + }, + corev1.EnvVar{ + Name: "SECRET_NAMESPACE", + Value: "ricinfra", + }, + corev1.EnvVar{ + Name: "SECRET_NAME", + Value: "ricxapp-helm-secret", + }, + }, + Image: "nexus3.o-ran-sc.org:10002/o-ran-sc/it-dep-init:0.0.1", + Name: "container-ricplt-appmgr-copy-tiller-secret", + Stdin: false, + StdinOnce: false, + TTY: false, + VolumeMounts: []corev1.VolumeMount{ + + corev1.VolumeMount{ + Name: "helm-secret-volume", + ReadOnly: false, + MountPath: "/opt/ric/secret", + }, + corev1.VolumeMount{ + MountPath: "/svcacct-to-kubeconfig.sh", + Name: "appmgr-bin-volume", + ReadOnly: false, + SubPath: "svcacct-to-kubeconfig.sh", + }, + corev1.VolumeMount{ + ReadOnly: false, + SubPath: "appmgr-tiller-secret-copier.sh", + MountPath: "/appmgr-tiller-secret-copier.sh", + Name: "appmgr-bin-volume", + }, + }, + Command: []string{ + + "/appmgr-tiller-secret-copier.sh", + }, + EnvFrom: []corev1.EnvFromSource{ + + corev1.EnvFromSource{ + ConfigMapRef: &corev1.ConfigMapEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-appmgr-env", + }, + }, + }, + }, + ImagePullPolicy: corev1.PullPolicy("IfNotPresent"), + }, + }, + }, + }, + Paused: false, + Replicas: int32Ptr(1), + Selector: &metav1.LabelSelector{ + MatchLabels: map[string]string{ + "release": "release-name", + "app": "ricplt-appmgr", + }, + }, + }, + TypeMeta: metav1.TypeMeta{ + APIVersion: "apps/v1", + Kind: "Deployment", + }, + } + + deployment4 := &appsv1.Deployment{ + Spec: appsv1.DeploymentSpec{ + Paused: false, + Replicas: int32Ptr(1), + Selector: &metav1.LabelSelector{ + MatchLabels: map[string]string{ + "app": "ricplt-e2mgr", + "release": "release-name", + }, + }, + Template: corev1.PodTemplateSpec{ + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + "app": "ricplt-e2mgr", + "release": "release-name", + }, + }, + Spec: corev1.PodSpec{ + HostNetwork: false, + HostPID: false, + Hostname: "e2mgr", + ImagePullSecrets: []corev1.LocalObjectReference{ + + corev1.LocalObjectReference{ + Name: "secret-nexus3-o-ran-sc-org-10002-o-ran-sc", + }, + }, + Volumes: []corev1.Volume{ + + corev1.Volume{ + Name: "local-router-file", + VolumeSource: corev1.VolumeSource{ + ConfigMap: &corev1.ConfigMapVolumeSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-e2mgr-router-configmap", + }, + }, + }, + }, + corev1.Volume{ + VolumeSource: corev1.VolumeSource{ + ConfigMap: &corev1.ConfigMapVolumeSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-e2mgr-configuration-configmap", + }, + }, + }, + Name: "local-configuration-file", + }, + corev1.Volume{ + Name: "e2mgr-loglevel-volume", + VolumeSource: corev1.VolumeSource{ + ConfigMap: &corev1.ConfigMapVolumeSource{ + Items: []corev1.KeyToPath{ + + corev1.KeyToPath{ + Key: "logcfg", + Mode: int32Ptr(420), + Path: "log-level.yaml", + }, + }, + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-e2mgr-loglevel-configmap", + }, + }, + }, + }, + }, + Containers: []corev1.Container{ + + corev1.Container{ + Ports: []corev1.ContainerPort{ + + corev1.ContainerPort{ + ContainerPort: 3800, + Name: "http", + }, + corev1.ContainerPort{ + ContainerPort: 4561, + Name: "rmrroute", + }, + corev1.ContainerPort{ + ContainerPort: 3801, + Name: "rmrdata", + }, + }, + SecurityContext: &corev1.SecurityContext{ + Privileged: boolPtr(false), + }, + StdinOnce: false, + LivenessProbe: &corev1.Probe{ + InitialDelaySeconds: 3, + PeriodSeconds: 10, + ProbeHandler: corev1.ProbeHandler{ + HTTPGet: &corev1.HTTPGetAction{ + Path: "v1/health", + Port: intstr.IntOrString{ + IntVal: 3800, + }, + }, + }, + }, + Name: "container-ricplt-e2mgr", + ImagePullPolicy: corev1.PullPolicy("IfNotPresent"), + ReadinessProbe: &corev1.Probe{ + InitialDelaySeconds: 3, + PeriodSeconds: 10, + ProbeHandler: corev1.ProbeHandler{ + HTTPGet: &corev1.HTTPGetAction{ + Path: "v1/health", + Port: intstr.IntOrString{ + IntVal: 3800, + }, + }, + }, + }, + Stdin: true, + TTY: true, + VolumeMounts: []corev1.VolumeMount{ + + corev1.VolumeMount{ + MountPath: "/opt/E2Manager/router.txt", + Name: "local-router-file", + ReadOnly: false, + SubPath: "router.txt", + }, + corev1.VolumeMount{ + MountPath: "/etc/config", + Name: "e2mgr-loglevel-volume", + ReadOnly: false, + }, + corev1.VolumeMount{ + MountPath: "/opt/E2Manager/resources/configuration.yaml", + Name: "local-configuration-file", + ReadOnly: false, + SubPath: "configuration.yaml", + }, + }, + EnvFrom: []corev1.EnvFromSource{ + + corev1.EnvFromSource{ + ConfigMapRef: &corev1.ConfigMapEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-e2mgr-env", + }, + }, + }, + corev1.EnvFromSource{ + ConfigMapRef: &corev1.ConfigMapEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-dbaas-appconfig", + }, + }, + }, + }, + Image: "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-plt-e2mgr:3.0.1", + }, + }, + HostIPC: false, + }, + }, + }, + TypeMeta: metav1.TypeMeta{ + APIVersion: "apps/v1", + Kind: "Deployment", + }, + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + "app": "ricplt-e2mgr", + "chart": "e2mgr-3.0.0", + "heritage": "Helm", + "release": "release-name", + }, + Name: "deployment-ricplt-e2mgr", + Namespace: "ricplt", + }, + } + + deployment5 := &appsv1.Deployment{ + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + "release": "release-name", + "app": "ricplt-e2term-alpha", + "chart": "e2term-3.0.0", + "heritage": "Helm", + }, + Name: "deployment-ricplt-e2term-alpha", + Namespace: "ricplt", + }, + Spec: appsv1.DeploymentSpec{ + Paused: false, + Replicas: int32Ptr(1), + Selector: &metav1.LabelSelector{ + MatchLabels: map[string]string{ + "release": "release-name", + "app": "ricplt-e2term-alpha", + }, + }, + Template: corev1.PodTemplateSpec{ + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + "app": "ricplt-e2term-alpha", + "release": "release-name", + }, + }, + Spec: corev1.PodSpec{ + Containers: []corev1.Container{ + + corev1.Container{ + ReadinessProbe: &corev1.Probe{ + InitialDelaySeconds: 120, + PeriodSeconds: 60, + ProbeHandler: corev1.ProbeHandler{ + Exec: &corev1.ExecAction{ + Command: []string{ + + "/bin/sh", + "-c", + "ip=`hostname -i`;export RMR_SRC_ID=$ip;/opt/e2/rmr_probe -h $ip:38000", + }, + }, + }, + }, + SecurityContext: &corev1.SecurityContext{ + Privileged: boolPtr(false), + }, + Stdin: true, + Env: []corev1.EnvVar{ + + corev1.EnvVar{ + Name: "SYSTEM_NAME", + Value: "SEP", + }, + corev1.EnvVar{ + Name: "CONFIG_MAP_NAME", + Value: "/etc/config/log-level", + }, + corev1.EnvVar{ + Name: "HOST_NAME", + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + FieldPath: "spec.nodeName", + }, + }, + }, + corev1.EnvVar{ + Name: "SERVICE_NAME", + Value: "RIC_E2_TERM", + }, + corev1.EnvVar{ + Name: "CONTAINER_NAME", + Value: "container-ricplt-e2term", + }, + corev1.EnvVar{ + Name: "POD_NAME", + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + FieldPath: "metadata.name", + }, + }, + }, + }, + EnvFrom: []corev1.EnvFromSource{ + + corev1.EnvFromSource{ + ConfigMapRef: &corev1.ConfigMapEnvSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-e2term-env-alpha", + }, + }, + }, + }, + Image: "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-plt-e2:3.0.1", + LivenessProbe: &corev1.Probe{ + ProbeHandler: corev1.ProbeHandler{ + Exec: &corev1.ExecAction{ + Command: []string{ + + "/bin/sh", + "-c", + "ip=`hostname -i`;export RMR_SRC_ID=$ip;/opt/e2/rmr_probe -h $ip:38000", + }, + }, + }, + InitialDelaySeconds: 10, + PeriodSeconds: 10, + }, + Name: "container-ricplt-e2term", + ImagePullPolicy: corev1.PullPolicy("IfNotPresent"), + Ports: []corev1.ContainerPort{ + + corev1.ContainerPort{ + ContainerPort: 4561, + Name: "rmrroute-alpha", + }, + corev1.ContainerPort{ + ContainerPort: 38000, + Name: "rmrdata-alpha", + }, + corev1.ContainerPort{ + ContainerPort: 36422, + Name: "sctp-alpha", + Protocol: corev1.Protocol("SCTP"), + }, + corev1.ContainerPort{ + ContainerPort: 8088, + Name: "prmts-alpha", + }, + }, + StdinOnce: false, + TTY: true, + VolumeMounts: []corev1.VolumeMount{ + + corev1.VolumeMount{ + MountPath: "/opt/e2/router.txt", + Name: "local-router-file", + ReadOnly: false, + SubPath: "router.txt", + }, + corev1.VolumeMount{ + MountPath: "/tmp/rmr_verbose", + Name: "local-router-file", + ReadOnly: false, + SubPath: "rmr_verbose", + }, + corev1.VolumeMount{ + MountPath: "/etc/config", + Name: "local-loglevel-file", + ReadOnly: false, + }, + corev1.VolumeMount{ + ReadOnly: false, + MountPath: "/data/outgoing/", + Name: "vol-shared", + }, + }, + }, + }, + DNSPolicy: corev1.DNSPolicy("ClusterFirstWithHostNet"), + HostIPC: false, + HostNetwork: false, + HostPID: false, + Hostname: "e2term-alpha", + ImagePullSecrets: []corev1.LocalObjectReference{ + + corev1.LocalObjectReference{ + Name: "secret-nexus3-o-ran-sc-org-10002-o-ran-sc", + }, + }, + Volumes: []corev1.Volume{ + + corev1.Volume{ + Name: "local-router-file", + VolumeSource: corev1.VolumeSource{ + ConfigMap: &corev1.ConfigMapVolumeSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-e2term-router-configmap", + }, + }, + }, + }, + corev1.Volume{ + Name: "local-loglevel-file", + VolumeSource: corev1.VolumeSource{ + ConfigMap: &corev1.ConfigMapVolumeSource{ + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configmap-ricplt-e2term-loglevel-configmap", + }, + }, + }, + }, + corev1.Volume{ + VolumeSource: corev1.VolumeSource{ + PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{ + ClaimName: "pvc-ricplt-e2term-alpha", + ReadOnly: false, + }, + }, + Name: "vol-shared", + }, + }, + }, + }, + }, + TypeMeta: metav1.TypeMeta{ + APIVersion: "apps/v1", + Kind: "Deployment", + }, + } + + + return []*appsv1.Deployment{deployment1, deployment2,deployment3,deployment4,deployment5} }