X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Fosm%2Flcm.py;fp=src%2Femuvim%2Fapi%2Fosm%2Flcm.py;h=dd5f6e59ba509494f7395c300634f06666e940e1;hb=2f5e85ecdfeac34a45e8ab0b1127a8bfa8e2e0b1;hp=0000000000000000000000000000000000000000;hpb=4995c5386698f6c1b370771b7b57d062e5f0f70d;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/osm/lcm.py b/src/emuvim/api/osm/lcm.py new file mode 100644 index 0000000..dd5f6e5 --- /dev/null +++ b/src/emuvim/api/osm/lcm.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python2 +# Copyright (c) 2019 Erik Schilling +# ALL RIGHTS RESERVED. +# +# 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. + +import os + +import time + +from emuvim.api.osm.osm_component_base import OSMComponentBase +from emuvim.api.util.docker_utils import wrap_debian_like + + +class LCM(OSMComponentBase): + def __init__(self, net, ip, ro_ip, mongo_ip, kafka_ip, + vca_host=os.environ.get('VCA_HOST'), + vca_secret=os.environ.get('VCA_SECRET'), + version='latest', + name_prefix=''): + OSMComponentBase.__init__(self) + self.instance = net.addDocker( + '{}lcm'.format(name_prefix), ip=ip, dimage=wrap_debian_like('opensourcemano/lcm:%s' % version), + volumes=['osm_packages:/app/storage'], + environment={ + 'OSMLCM_RO_HOST': ro_ip, + 'OSMLCM_VCA_HOST': vca_host, + 'OSMLCM_VCA_SECRET': vca_secret, + 'OSMLCM_DATABASE_URI': 'mongodb://%s:27017' % mongo_ip, + 'OSMLCM_MESSAGE_HOST': kafka_ip, + }) + + def start(self): + OSMComponentBase.start(self) + time.sleep(3)