2 # Copyright (c) 2019 Erik Schilling
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
21 from emuvim
.api
.osm
.osm_component_base
import OSMComponentBase
22 from emuvim
.api
.util
.docker_utils
import wrap_debian_like
25 class LCM(OSMComponentBase
):
26 def __init__(self
, net
, ip
, ro_ip
, mongo_ip
, kafka_ip
,
27 vca_host
=os
.environ
.get('VCA_HOST'),
28 vca_secret
=os
.environ
.get('VCA_SECRET'),
31 OSMComponentBase
.__init
__(self
)
32 self
.instance
= net
.addDocker(
33 '{}lcm'.format(name_prefix
), ip
=ip
, dimage
=wrap_debian_like('opensourcemano/lcm:%s' % version
),
34 volumes
=['osm_packages:/app/storage'],
36 'OSMLCM_RO_HOST': ro_ip
,
37 'OSMLCM_VCA_HOST': vca_host
,
38 'OSMLCM_VCA_SECRET': vca_secret
,
39 'OSMLCM_DATABASE_URI': 'mongodb://%s:27017' % mongo_ip
,
40 'OSMLCM_MESSAGE_HOST': kafka_ip
,
44 OSMComponentBase
.start(self
)