
* Add forgotten return statements Closes-bug: #1268934 * Fix error code when there is no input json * Return correct http code During toggle enabled 500 was sent in case service is not defined Fix return code to 404 Closes-Bug: #1268976 * Remove need to specify IP for load balancer Implements: https://blueprints.launchpad.net/murano/+spec/auto-assign-virtual-ip Address blueprint auto-assign-virtual-ip Fix errors in infrastructure 1) Update path to config file 2) Update sample config - remove non-existing directory 3) Add 0.4.1 version Fixes-Bug: 1270734 * Add new setup and SysV scripts * Removed SysV EL6 standalone file, removed old setup scripts * Add correct error message when no config specified Closes-Bug: 1271092 * Security rules updated * incorrect port ranges for ADDS fixed according to http://technet.microsoft.com/en-us/library/dd772723%28v=WS.10%29.aspx * security template for Windows Server Failover Cluster added according to http://support.microsoft.com/kb/832017#method5 * security rules for SQL Server updated according to http://technet.microsoft.com/en-us/library/cc646023.aspx Relates-Bug: 1264088 * Typo fixed * Revert change This reverts commit d87bc2309fcc4cc71aaa3d2512e9bcdc6f39b8c0. * Path flattening is reverted, but opening ports for WinRM 2.0 is kept. Related-Bug: #1271578 * Fix paths to scripts used by MS SQL Cluster templates. Partial-Bug: #1271578 * Fix returning list of files in nested dirs - don't cut first symbol. * And fix a minor PyCharm warning about var not being initialized. Closes-Bug: #1274851 * Add checkbox to enable floating IP auto assignment * Implements blueprint auto-assign-floating-ip * Fixed typo in conductor workflow Closes-Bug: 1264250 * Add service version during service creation Closes-Bug: 1269360 * Resolve issue with KeyPair assignment nvironment with a service with Key Pair assigned could not be deployed due to invalid match in workflows causing invalid Heat template to be produced by Conductor. Closes-bug: #1274011 * Correct inform message during floating ip creation * Fix name for syslog_log_facility param Change-Id: Id3ad4581cd9ce40a569ac580d0aee8db017855c4
93 lines
3.2 KiB
Python
93 lines
3.2 KiB
Python
#!/usr/bin/env python
|
|
|
|
# Copyright (c) 2013 Mirantis Inc.
|
|
#
|
|
# 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 sys
|
|
import eventlet
|
|
import tempfile
|
|
from eventlet import wsgi
|
|
import gettext
|
|
from muranorepository.openstack.common.gettextutils import _ # noqa
|
|
# If ../murano_service/__init__.py exists, add ../ to Python search path,
|
|
# so that it will override what happens to be installed in
|
|
# /usr/(local/)lib/python...
|
|
possible_topdir = os.path.normpath(os.path.join(os.path.abspath(__file__),
|
|
os.pardir,
|
|
os.pardir,
|
|
os.pardir))
|
|
if os.path.exists(os.path.join(possible_topdir,
|
|
'muranorepository',
|
|
'__init__.py')):
|
|
sys.path.insert(0, possible_topdir)
|
|
|
|
|
|
gettext.install('muranorepository', unicode=1)
|
|
|
|
from muranorepository import config as cfg
|
|
import muranorepository.main as server
|
|
from muranorepository.openstack.common import log
|
|
|
|
|
|
LOG = log.getLogger(__name__)
|
|
|
|
|
|
def main():
|
|
dev_conf = os.path.join(possible_topdir,
|
|
'etc',
|
|
'murano',
|
|
'murano-repository.conf')
|
|
config_files = None
|
|
if os.path.exists(dev_conf):
|
|
config_files = [dev_conf]
|
|
|
|
if not sys.argv[1:] and not config_files:
|
|
msg = _('Unable to locate config file for murano-repository.')
|
|
raise RuntimeError(msg)
|
|
|
|
cfg.parse_configs(sys.argv[1:], config_files)
|
|
log.setup('muranorepository')
|
|
|
|
#configuring and initializing cache directory
|
|
if cfg.CONF.data_dir is None:
|
|
cfg.CONF.data_dir = os.path.join(
|
|
tempfile.gettempdir(), 'muranorepository-data'
|
|
)
|
|
|
|
if not os.path.exists(cfg.CONF.data_dir):
|
|
os.mkdir(cfg.CONF.data_dir)
|
|
LOG.info('Cache is located at: {0}'.format(cfg.CONF.data_dir))
|
|
|
|
app = server.make_app({
|
|
'auth_host': cfg.CONF.keystone.auth_host,
|
|
'auth_port': cfg.CONF.keystone.auth_port,
|
|
'auth_protocol': cfg.CONF.keystone.auth_protocol,
|
|
'admin_user': cfg.CONF.keystone.admin_user,
|
|
'admin_password': cfg.CONF.keystone.admin_password,
|
|
'admin_tenant_name': cfg.CONF.keystone.admin_tenant_name,
|
|
'signing_dir': cfg.CONF.keystone.signing_dir
|
|
})
|
|
if not os.path.isabs(cfg.CONF.manifests):
|
|
cfg.CONF.manifests = os.path.join(possible_topdir,
|
|
'muranorepository',
|
|
cfg.CONF.manifests)
|
|
wsgi.server(eventlet.listen((cfg.CONF.host, cfg.CONF.port),
|
|
backlog=500),
|
|
app)
|
|
|
|
if __name__ == '__main__':
|
|
main()
|