If running OpenStack grizzly installed via tools/openstack, it is necessary to modify the default service user password::
- sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-cfn-paste.ini
- sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-cloudwatch-paste.ini
- sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-paste.ini
+ sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-cfn.conf
+ sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-cloudwatch.conf
+ sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api.conf
Source the keystone credentials created with tools/openstack
------------------------------------------------------------
Later a keystone user called '''heat''' will be created. At this point a password for that user needs to be chosen.
The following files will need editing:
-- /etc/heat/heat-api-cfn-paste.ini
-- /etc/heat/heat-api-cloudwatch-paste.ini
-- /etc/heat/heat-api-paste.ini
+- /etc/heat/heat-api-cfn.conf
+- /etc/heat/heat-api-cloudwatch.conf
+- /etc/heat/heat-api.conf
::
- [filter:authtoken]
+ [keystone_authtoken]
admin_password=<heat admin password>
========
* /etc/heat/heat-api-cfn.conf
-* /etc/heat/heat-api-cfn-paste.ini
\ No newline at end of file
========
* /etc/heat/heat-api-cloudwatch.conf
-* /etc/heat/heat-api-cloudwatch-paste.ini
\ No newline at end of file
========
* /etc/heat/heat-api.conf
-* /etc/heat/heat-api-paste.ini
\ No newline at end of file
If running OpenStack grizzly installed via tools/openstack, it is necessary to modify the default service user password::
- sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-cfn-paste.ini
- sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-cloudwatch-paste.ini
- sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-paste.ini
+ sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-cfn.conf
+ sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-cloudwatch.conf
+ sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api.conf
Source the keystone credentials created with tools/openstack
------------------------------------------------------------
--- /dev/null
+
+# heat-api pipeline
+[pipeline:heat-api]
+pipeline = versionnegotiation authtoken context apiv1app
+
+# heat-api pipeline for custom cloud backends
+# i.e. in heat-api.conf:
+# [paste_deploy]
+# flavor = custombackend
+#
+[pipeline:heat-api-custombackend]
+pipeline = versionnegotiation context custombackendauth apiv1app
+
+# heat-api-cfn pipeline
+[pipeline:heat-api-cfn]
+pipeline = cfnversionnegotiation ec2authtoken authtoken context apicfnv1app
+
+# heat-api-cloudwatch pipeline
+[pipeline:heat-api-cloudwatch]
+pipeline = versionnegotiation ec2authtoken authtoken context apicwapp
+
+[app:apiv1app]
+paste.app_factory = heat.common.wsgi:app_factory
+heat.app_factory = heat.api.openstack.v1:API
+
+[app:apicfnv1app]
+paste.app_factory = heat.common.wsgi:app_factory
+heat.app_factory = heat.api.cfn.v1:API
+
+[app:apicwapp]
+paste.app_factory = heat.common.wsgi:app_factory
+heat.app_factory = heat.api.cloudwatch:API
+
+[filter:versionnegotiation]
+paste.filter_factory = heat.common.wsgi:filter_factory
+heat.filter_factory = heat.api.openstack:version_negotiation_filter
+
+[filter:cfnversionnegotiation]
+paste.filter_factory = heat.common.wsgi:filter_factory
+heat.filter_factory = heat.api.cfn:version_negotiation_filter
+
+[filter:cwversionnegotiation]
+paste.filter_factory = heat.common.wsgi:filter_factory
+heat.filter_factory = heat.api.cloudwatch:version_negotiation_filter
+
+[filter:context]
+paste.filter_factory = heat.common.context:ContextMiddleware_filter_factory
+
+[filter:ec2authtoken]
+paste.filter_factory = heat.api.aws.ec2token:EC2Token_filter_factory
+
+[filter:authtoken]
+paste.filter_factory = heat.common.auth_token:filter_factory
+
+[filter:custombackendauth]
+paste.filter_factory = heat.common.custom_backend_auth:filter_factory
\ No newline at end of file
+++ /dev/null
-
-# Default pipeline
-[pipeline:heat-api-cfn]
-pipeline = versionnegotiation ec2authtoken authtoken context apicfnv1app
-
-# Use the following pipeline for keystone auth
-# i.e. in heat-api-cfn.conf:
-# [paste_deploy]
-# flavor = keystone
-#
-[pipeline:heat-api-cfn-keystone]
-pipeline = versionnegotiation ec2authtoken authtoken context apicfnv1app
-
-[app:apicfnv1app]
-paste.app_factory = heat.common.wsgi:app_factory
-heat.app_factory = heat.api.cfn.v1:API
-
-[filter:versionnegotiation]
-paste.filter_factory = heat.common.wsgi:filter_factory
-heat.filter_factory = heat.api.cfn:version_negotiation_filter
-
-[filter:context]
-paste.filter_factory = heat.common.context:ContextMiddleware_filter_factory
-
-[filter:ec2authtoken]
-paste.filter_factory = heat.api.aws.ec2token:EC2Token_filter_factory
-
-[filter:authtoken]
-paste.filter_factory = heat.common.auth_token:filter_factory
+++ /dev/null
-
-# Default pipeline
-[pipeline:heat-api-cloudwatch]
-pipeline = versionnegotiation ec2authtoken authtoken context apicwapp
-
-# Use the following pipeline for keystone auth
-# i.e. in heat-api-cloudwatch.conf:
-# [paste_deploy]
-# flavor = keystone
-#
-[pipeline:heat-api-cloudwatch-keystone]
-pipeline = versionnegotiation ec2authtoken authtoken context apicwapp
-
-[app:apicwapp]
-paste.app_factory = heat.common.wsgi:app_factory
-heat.app_factory = heat.api.cloudwatch:API
-
-[filter:versionnegotiation]
-paste.filter_factory = heat.common.wsgi:filter_factory
-heat.filter_factory = heat.api.cloudwatch:version_negotiation_filter
-
-[filter:context]
-paste.filter_factory = heat.common.context:ContextMiddleware_filter_factory
-
-[filter:ec2authtoken]
-paste.filter_factory = heat.api.aws.ec2token:EC2Token_filter_factory
-
-[filter:authtoken]
-paste.filter_factory = heat.common.auth_token:filter_factory
+++ /dev/null
-
-# Default pipeline
-[pipeline:heat-api]
-pipeline = versionnegotiation authtoken context apiv1app
-
-# Use the following pipeline for keystone auth
-# i.e. in heat-api.conf:
-# [paste_deploy]
-# flavor = keystone
-#
-[pipeline:heat-api-keystone]
-pipeline = versionnegotiation authtoken context apiv1app
-
-# Use the following pipeline for custom cloud backends
-# i.e. in heat-api.conf:
-# [paste_deploy]
-# flavor = custombackend
-#
-[pipeline:heat-api-custombackend]
-pipeline = versionnegotiation context custombackendauth apiv1app
-
-[app:apiv1app]
-paste.app_factory = heat.common.wsgi:app_factory
-heat.app_factory = heat.api.openstack.v1:API
-
-[filter:versionnegotiation]
-paste.filter_factory = heat.common.wsgi:filter_factory
-heat.filter_factory = heat.api.openstack:version_negotiation_filter
-
-[filter:context]
-paste.filter_factory = heat.common.context:ContextMiddleware_filter_factory
-
-[filter:authtoken]
-paste.filter_factory = heat.common.auth_token:filter_factory
-
-[filter:custombackendauth]
-paste.filter_factory = heat.common.custom_backend_auth:filter_factory
paste_deploy_group = cfg.OptGroup('paste_deploy')
paste_deploy_opts = [
cfg.StrOpt('flavor'),
- cfg.StrOpt('config_file')]
+ cfg.StrOpt('api_paste_config', default="api-paste.ini",
+ help="The API paste config file to use")]
bind_opts = [
absolute pathname.
"""
_register_paste_deploy_opts()
- config_file = cfg.CONF.paste_deploy.config_file
- if not config_file:
- if cfg.CONF.config_file:
- # Assume paste config is in a paste.ini file corresponding
- # to the last config file
- path = os.path.splitext(cfg.CONF.config_file[-1])[0] + "-paste.ini"
- else:
- return None
- else:
- path = config_file
- return os.path.abspath(path)
+ config_path = os.path.abspath(cfg.CONF.find_file(
+ cfg.CONF.paste_deploy['api_paste_config']))
+
+ return os.path.abspath(config_path)
def load_paste_app(app_name=None):