diff options
author | Eric Multanen <eric.w.multanen@intel.com> | 2020-05-28 17:07:20 -0700 |
---|---|---|
committer | Eric Multanen <eric.w.multanen@intel.com> | 2020-06-02 14:00:07 -0700 |
commit | ad7782cbf83c11f152a6457f3808a4da99a1ae56 (patch) | |
tree | e88276d8f0d55bd58a903d1c31ab4e43e4011193 /src/ovnaction/pkg/grpc | |
parent | c257a136355a794f5bf778f670c041e8958c3608 (diff) |
Create OVN network action controller from ncm
Split out part of ncm microservice to act as the
Onv4k8s network action controller for the orchestrator.
No code changes really - just moving around to fit the
architectural plan.
Issue-ID: MULTICLOUD-1029
Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Change-Id: I17292ac72d041050269f05fc4a0c2a6ca741aeb5
Diffstat (limited to 'src/ovnaction/pkg/grpc')
-rw-r--r-- | src/ovnaction/pkg/grpc/contextupdateserver/contextupdateserver.go | 45 | ||||
-rw-r--r-- | src/ovnaction/pkg/grpc/register.go | 58 |
2 files changed, 103 insertions, 0 deletions
diff --git a/src/ovnaction/pkg/grpc/contextupdateserver/contextupdateserver.go b/src/ovnaction/pkg/grpc/contextupdateserver/contextupdateserver.go new file mode 100644 index 00000000..fc548ccc --- /dev/null +++ b/src/ovnaction/pkg/grpc/contextupdateserver/contextupdateserver.go @@ -0,0 +1,45 @@ +/* +Copyright 2020 Intel Corporation. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package contextupdateserver + +import ( + "context" + "encoding/json" + "log" + + contextpb "github.com/onap/multicloud-k8s/src/orchestrator/pkg/grpc/contextupdate" + //"google.golang.org/grpc/codes" + //"google.golang.org/grpc/status" +) + +type contextupdateServer struct { + contextpb.UnimplementedContextupdateServer +} + +func (cs *contextupdateServer) UpdateAppContext(ctx context.Context, req *contextpb.ContextUpdateRequest) (*contextpb.ContextUpdateResponse, error) { + contextUpdateReq, _ := json.Marshal(req) + log.Println("GRPC Server received contextupdateRequest: ", string(contextUpdateReq)) + + // Insert call to Server Functionality here + // + // + + return &contextpb.ContextUpdateResponse{AppContextUpdated: true}, nil +} + +// NewContextUpdateServer exported +func NewContextupdateServer() *contextupdateServer { + s := &contextupdateServer{} + return s +} diff --git a/src/ovnaction/pkg/grpc/register.go b/src/ovnaction/pkg/grpc/register.go new file mode 100644 index 00000000..4a31cf9d --- /dev/null +++ b/src/ovnaction/pkg/grpc/register.go @@ -0,0 +1,58 @@ +/* +Copyright 2020 Intel Corporation. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package grpc + +import ( + "os" + "strconv" + "strings" + + log "github.com/onap/multicloud-k8s/src/orchestrator/pkg/infra/logutils" +) + +const default_host = "localhost" +const default_port = 9032 +const default_ovnaction_name = "ovnaction" +const ENV_OVNACTION_NAME = "OVNACTION_NAME" + +func GetServerHostPort() (string, int) { + + // expect name of this ncm program to be in env variable "OVNACTION_NAME" - e.g. OVNACTION_NAME="ncm" + serviceName := os.Getenv(ENV_OVNACTION_NAME) + if serviceName == "" { + serviceName = default_ovnaction_name + log.Info("Using default name for OVNACTION service name", log.Fields{ + "Name": serviceName, + }) + } + + // expect service name to be in env variable - e.g. OVNACTION_SERVICE_HOST + host := os.Getenv(strings.ToUpper(serviceName) + "_SERVICE_HOST") + if host == "" { + host = default_host + log.Info("Using default host for ovnaction gRPC controller", log.Fields{ + "Host": host, + }) + } + + // expect service port to be in env variable - e.g. OVNACTION_SERVICE_PORT + port, err := strconv.Atoi(os.Getenv(strings.ToUpper(serviceName) + "_SERVICE_PORT")) + if err != nil || port < 0 { + port = default_port + log.Info("Using default port for ovnaction gRPC controller", log.Fields{ + "Port": port, + }) + } + return host, port +} |