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