Commit dbf2bcdd authored by Yann Garcia's avatar Yann Garcia
Browse files

Cpmplete meep-dai microservice support

parent 576cd84f
Loading
Loading
Loading
Loading
+37 −37
Original line number Diff line number Diff line
@@ -678,38 +678,6 @@ repo:
        docker-data:
          # location of entry script
          'entrypoint.sh': go-apps/meep-rnis/entrypoint.sh
      meep-dai:
        # location of source code
        src: go-apps/meep-dai
        # location of binary
        bin: bin/meep-dai
        # location of deployment chart
        chart: charts/meep-dai
        # user supplied value file located @ .meep/user/values (use below file name)
        chart-user-values: meep-dai.yaml
        # extra build flags
        build-flags:
          - -mod=vendor
        # enable meepctl build
        build: true
        # enable meepctl dockerize
        dockerize: true
        # enable meepctl deploy/delete
        deploy: true
        # supports code coverage measurement when built in codecov mode
        codecov: true
        # supports linting
        lint: true
        # location of API specifications
        api:
          - name: 'AdvantEDGE Radio Network Information Service REST API'
            file: go-apps/meep-dai/api/swagger.yaml
        # location of user supplied API specifications
        user-api:
        # resources available to docker container image
        docker-data:
          # location of entry script
          'entrypoint.sh': go-apps/meep-dai/entrypoint.sh
      meep-sandbox-ctrl:
        # location of source code
        src: go-apps/meep-sandbox-ctrl
@@ -839,6 +807,38 @@ repo:
        docker-data:
          # location of entry script
          'entrypoint.sh': go-apps/meep-vis/entrypoint.sh
      meep-dai:
        # location of source code
        src: go-apps/meep-dai
        # location of binary
        bin: bin/meep-dai
        # location of deployment chart
        chart: charts/meep-dai
        # user supplied value file located @ .meep/user/values (use below file name)
        chart-user-values: meep-dai.yaml
        # extra build flags
        build-flags:
          - -mod=vendor
        # enable meepctl build
        build: true
        # enable meepctl dockerize
        dockerize: true
        # enable meepctl deploy/delete
        deploy: true
        # supports code coverage measurement when built in codecov mode
        codecov: true
        # supports linting
        lint: true
        # location of API specifications
        api:
          - name: 'AdvantEDGE Device Application Interface Service REST API'
            file: go-apps/meep-dai/api/swagger.yaml
        # location of user supplied API specifications
        user-api:
        # resources available to docker container image
        docker-data:
          # location of entry script
          'entrypoint.sh': go-apps/meep-dai/entrypoint.sh

  #------------------------------
  #  Dependencies
@@ -1130,11 +1130,6 @@ repo:
        src: go-packages/meep-rnis-client
        # supports linting
        lint: false
      meep-dai-client:
        # location of source code
        src: go-packages/meep-dai-client
        # supports linting
        lint: false
      meep-sandbox-ctrl-client:
        # location of source code
        src: go-packages/meep-sandbox-ctrl-client
@@ -1190,6 +1185,11 @@ repo:
        src: go-packages/meep-vis-client
        # supports linting
        lint: false
      meep-dai-client:
        # location of source code
        src: go-packages/meep-dai-client
        # supports linting
        lint: false

    # Javascript Packages
    js-packages:
+2 −2
Original line number Diff line number Diff line
apiVersion: v2
apiVersion: v1
appVersion: "1.0.0"
description: MEEP Radio Network Information Service Helm chart for Kubernetes
description: MEEP Device Application Interface Service Helm chart for Kubernetes
name: meep-dai
version: 1.0.0
+7 −7
Original line number Diff line number Diff line
@@ -18,11 +18,9 @@ image:
  tag: latest
  pullPolicy: Always
  env:
    MEAS_REP_UE_PERIODIC_TRIGGER_INTERVAL: 1s
    NR_MEAS_REP_UE_PERIODIC_TRIGGER_INTERVAL: 1s
    MEEP_INSTANCE_ID: {{.InstanceId}}
    MEEP_SANDBOX_NAME: {{.SandboxName}}
    MEEP_SVC_PATH: /rni/v2
    MEEP_SVC_PATH: /dev_app/v1
    MEEP_HOST_URL: {{.HostUrl}}
    {{- if .IsMepService }}
    MEEP_MEP_NAME: {{.MepName}}
@@ -51,19 +49,21 @@ ingress:
    - name: ''
      paths:
        {{- if .IsMepService }}
        - /{{.SandboxName}}/{{.MepName}}/rni
        - /{{.SandboxName}}/{{.MepName}}/dev_app
        {{- else }}
        - /{{.SandboxName}}/rni
        - /{{.SandboxName}}/dev_app
        {{- end }}
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
    nginx.ingress.kubernetes.io/force-ssl-redirect: {{ .HttpsOnly }}
    {{- if .IsMepService }}
    nginx.ingress.kubernetes.io/configuration-snippet: |
      rewrite ^/{{.SandboxName}}/{{.MepName}}/rni(/|$)(.*)$ /rni/$2 break;
      rewrite ^/{{.SandboxName}}/{{.MepName}}/dev_app(/|$)(.*)$ /dev_app/$2 break;
    {{- else }}
    nginx.ingress.kubernetes.io/configuration-snippet: |
      rewrite ^/{{.SandboxName}}/rni(/|$)(.*)$ /rni/$2 break;
      rewrite ^/{{.SandboxName}}/dev_app(/|$)(.*)$ /dev_app/$2 break;
    {{- end }}
    {{- if .AuthEnabled }}
    nginx.ingress.kubernetes.io/auth-url: https://$http_host/auth/v1/authenticate?svc=meep-dai&sbox={{.SandboxName}}&mep={{.MepName}}
+32 −32
Original line number Diff line number Diff line
@@ -677,38 +677,6 @@ repo:
        docker-data:
          # location of entry script
          'entrypoint.sh': go-apps/meep-rnis/entrypoint.sh
      meep-dai:
        # location of source code
        src: go-apps/meep-dai
        # location of binary
        bin: bin/meep-dai
        # location of deployment chart
        chart: charts/meep-dai
        # user supplied value file located @ .meep/user/values (use below file name)
        chart-user-values: meep-dai.yaml
        # extra build flags
        build-flags:
          - -mod=vendor
        # enable meepctl build
        build: true
        # enable meepctl dockerize
        dockerize: true
        # enable meepctl deploy/delete
        deploy: false
        # supports code coverage measurement when built in codecov mode
        codecov: true
        # supports linting
        lint: true
        # location of API specifications
        api:
          - name: 'AdvantEDGE Radio Network Information Service REST API'
            file: go-apps/meep-dai/api/swagger.yaml
        # location of user supplied API specifications
        user-api:
        # resources available to docker container image
        docker-data:
          # location of entry script
          'entrypoint.sh': go-apps/meep-dai/entrypoint.sh
      meep-sandbox-ctrl:
        # location of source code
        src: go-apps/meep-sandbox-ctrl
@@ -806,6 +774,38 @@ repo:
        docker-data:
          # location of entry script
          'entrypoint.sh': go-apps/meep-wais/entrypoint.sh
      meep-dai:
        # location of source code
        src: go-apps/meep-dai
        # location of binary
        bin: bin/meep-dai
        # location of deployment chart
        chart: charts/meep-dai
        # user supplied value file located @ .meep/user/values (use below file name)
        chart-user-values: meep-dai.yaml
        # extra build flags
        build-flags:
          - -mod=vendor
        # enable meepctl build
        build: true
        # enable meepctl dockerize
        dockerize: true
        # enable meepctl deploy/delete
        deploy: false
        # supports code coverage measurement when built in codecov mode
        codecov: true
        # supports linting
        lint: true
        # location of API specifications
        api:
          - name: 'AdvantEDGE Device Application Information Service REST API'
            file: go-apps/meep-dai/api/swagger.yaml
        # location of user supplied API specifications
        user-api:
        # resources available to docker container image
        docker-data:
          # location of entry script
          'entrypoint.sh': go-apps/meep-dai/entrypoint.sh

  #------------------------------
  #  Dependencies
+11 −6
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import (
	dataModel "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-data-model"
	gc "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-gis-cache"
	log "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger"
	met "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-metrics"
	mod "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-model"
	mq "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-mq"
	sam "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-swagger-api-mgr"
@@ -29,6 +30,10 @@ import (

const moduleName string = "meep-dai-sbi"

var metricStore *met.MetricStore
var redisAddr string = "meep-redis-master.default.svc.cluster.local:6379"
var influxAddr string = "http://meep-influxdb.default.svc.cluster.local:8086"

type AppInfoSbi struct {
	Name         string
	ParentType   string
@@ -50,7 +55,7 @@ type SbiCfg struct {
	CleanUpCb      func()
}

type SbiDai struct {
type DaiSbi struct {
	moduleName           string
	sandboxName          string
	mepName              string
@@ -67,19 +72,18 @@ type SbiDai struct {
	cleanUpCB            func()
}

var sbi *SbiDai = nil
var sbi *DaiSbi = nil

func Init(cfg SbiCfg) (err error) {
	log.Info(">>> sbi_ueai.Init")

	// Create new SBI instance
	if sbi != nil {
		sbi = nil
	}
	sbi = new(SbiDai)
	sbi = new(DaiSbi)
	sbi.moduleName = cfg.ModuleName
	sbi.sandboxName = cfg.SandboxName
	sbi.mepName = cfg.MepName
	sbi.updateAppInfoCB = cfg.AppInfoCb
	sbi.updateScenarioNameCB = cfg.ScenarioNameCb
	sbi.cleanUpCB = cfg.CleanUpCb

@@ -240,7 +244,7 @@ func processActiveScenarioTerminate() {
}

func processActiveScenarioUpdate() {
	log.Debug("processActiveScenarioUpdate")
	log.Debug(">>> processActiveScenarioUpdate")

	// Get previous list of connected UEs & APPS
	prevUeNames := []string{}
@@ -261,6 +265,7 @@ func processActiveScenarioUpdate() {
			prevApps = append(prevApps, app)
		}
	}
	log.Debug("processActiveScenarioUpdate: prevAppList", prevAppList)

	// Sync with active scenario store
	sbi.activeModel.UpdateScenario()
Loading