murano-repository/muranorepository/cmd/run.py
Ekaterina Fedorova d353dacf8e Cherry-pick the following commits from release-0.4
* 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 d87bc2309f.

* 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
2014-02-11 12:40:50 +00:00

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()