56 Commits

Author SHA1 Message Date
Jim Rollenhagen
d0fc1ec278 Allow heat services to use independent hostnames
This allows heat service endpoints to use custom hostnames, and adds the
following variables:

* heat_internal_fqdn
* heat_external_fqdn
* heat_cfn_internal_fqdn
* heat_cfn_external_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds heat_api_listen_port and heat_api_cfn_listen_port
options, which default to heat_api_port and heat_api_cfn_port for
backward compatibility.

These options allow the user to differentiate between the port the
service listens on, and the port the service is reachable on. This is
useful for external load balancers which live on the same host as the
service itself.

Change-Id: Ifb8bb55799703883d81be6a55641be7b2474fd4e
Implements: blueprint service-hostnames
2019-03-06 15:08:28 -05:00
Jim Rollenhagen
2e4e60503a Use keystone_*_url var in all configs
We're duplicating code to build the keystone URLs in nearly every
config, where we've already done it in group_vars. Replace the
redundancy with a variable that does the same thing.

Change-Id: I207d77870e2535c1cdcbc5eaf704f0448ac85a7a
2019-03-06 15:08:26 -05:00
Mark Goddard
54203843dd Configure region_name_for_services in heat.conf
backport: rocky

Not including this means that SoftwareDeployments do not have a
configured region (it's set to 'null'), and can therefore not
communicate back to the heat API. In particular, this breaks Magnum with
the following error in the journal on the deployed servers:

publicURL endpoint for orchestration service in null region not found

Change-Id: Ia2c18ef10727391812368c958262a92385374ace
Co-Authored-By: John Garbutt <john@stackhpc.com>
Closes-Bug: #1817051
2019-02-21 11:34:01 +00:00
ZhongShengping
ae246945a6 Deprecate auth_uri option
Option auth_uri from group keystone_authtoken is deprecated[1].
Use option www_authenticate_uri from group keystone_authtoken.

[1]https://review.openstack.org/#/c/508522/

Co-Authored-By: confi-surya <singh.surya64mnnit@gmail.com>
Change-Id: Ifd8527d404f1df807ae8196eac2b3849911ddc26
Closes-Bug: #1761907
2018-08-07 11:58:23 +05:30
Kien Nguyen
c4b8bedd01 Remove trusts_delegated_roles
This option's default value has changed since Newton.[1]

[1] aab01c00ff

Change-Id: I981a59be716072aab40862b3e23bbb1fbd1d63fc
2018-07-03 17:04:49 +07:00
Zhangfei Gao
ce809aea23 osprofiler support redis
Currently osprofiler only choose elasticsearch,
which is only supported on x86.
On other platform like aarch64 osprofiler can
not be used since no elasticsearch package.

Enable osprofiler by enable_osprofiler: "yes",
which choose elasticsearch by default.
Choose redis by enable_redis: "yes" & osprofiler_backend: "redis"
On platform without elasticsearch support like aarch64
set enable_elasticsearch: "no"

Change-Id: I68fe7a33e11d28684962fc5d0b3d326e90784d78
2018-06-01 09:34:04 +08:00
Bharat Kunwar
c20c69ee5e kolla-ansible fix to correct magnum k8s deployment
Magnum was unable to fire up k8s cluster because heat-container-agent
inside kube-master was pointing to internal keystone endpoint instead of
public endpoint. This fix tells kolla ansible to set clients_keystone
auth_uri to public endpoint so that heat-container-agent communication
with heat is successfully authenticated by keystone.

Change-Id: Ida49528f88685710b5e6b8f3c4d4622506af5ae1
Closes-Bug: #1762754
2018-05-04 17:23:37 +01:00
Kevin TIBI
a81a5d5d5d Fix SSL api for multiple services
If SSL is enabled, api of multiple services returns
wrong external URL without https prefix.

Removal of condition for deletion of http  header.

Change-Id: I4264e04d0d6b9a3e11ef7dd7add6c5e166cf9fb4
Closes-Bug: #1749155
Closes-Bug: #1717491
2018-04-18 17:20:27 +02:00
Zuul
08b4930e29 Merge "Homogenize the topics conf variable on templates" 2018-03-13 07:35:49 +00:00
Dai Dang Van
35b165c5f1 Support policy.yaml file [part 3]
- Heat
- Ironic
- Magum
- Manila
- Mistral

This will copy only yaml or json policy file if they exist.

Change-Id: I1ab71e2758dc99dd6654d433ece79600f0c44ce8
Implements: blueprint support-custom-policy-yaml
Co-authored-By: Duong Ha-Quang <duonghq@vn.fujitsu.com>
2018-01-22 08:50:54 +07:00
Pierre Blanc
b84bee79c3 Homogenize the topics conf variable on templates
In several templates the variable topics is configured
between simple quotes.
It is better to remove them to use the openstack default value.

Change-Id: I418c714240b38b2853a5c746203eac31588e841a
2018-01-12 16:39:47 -05:00
Andrew Smith
fd1d3af0df Add support for hybrid messaging backends
This commit separates the messaging rpc and notify transports in order
to support separate and different oslo.messaging backends

This patch:
* add rpc and notify variables
* update service role conf templates
* add example to globals.yaml
* add release note

Implements: blueprint hybrid-messaging
Change-Id: I34691c2895c8563f1f322f0850ecff98d11b5185
2017-11-22 14:09:40 -05:00
Jeffrey Zhang
cacf08f0a6 Remove all kolla-kubernetes configurations
kolla-kubernetes is using its own configuration generation[0], so it is
time for kolla-ansible to remove the related code to simplify the
logical.

[0] https://github.com/openstack/kolla-kubernetes/tree/master/ansible

Change-Id: I7bb0b7fe3b8eea906613e936d5e9d19f4f2e80bb
Implements: blueprint clean-k8s-config
2017-07-18 22:00:58 +08:00
Bertrand Lallau
372e991bec Standardize Keystone domain variables
As described here:
https://github.com/openstack/keystone/blob/master/keystone/resource/core.py#L841
https://github.com/openstack/keystone/blob/master/keystone/conf/identity.py#L21

* default project domain name MUST be named 'Default'
* default project domain id MUST be named 'default'
* default project user name MUST be named 'Default'
* default project user id MUST be named 'default'

Change-Id: I610a0416647fdea31bb04889364da5395d8c8d74
2017-07-06 14:34:11 +00:00
Jenkins
dd11b3f5a4 Merge "Support OSprofile usage" 2017-06-05 08:54:43 +00:00
Jenkins
2065e4d059 Merge "Fix heat ec2 keystone auth" 2017-06-04 15:03:12 +00:00
Eduardo Gonzalez
ab4b1ff785 Support OSprofile usage
OSprofile allows user/devs trace OpenStack requests.

Implements: blueprint enable-osprofiler
Co-Authored-By: Bertrand Lallau <bertrand.lallau@gmail.com>
Change-Id: I82ea85d726011ef6cbf99380f395452d6d7f8053
2017-06-02 22:41:33 +02:00
Eduardo Gonzalez
de31cdc77b Fix heat ec2 keystone auth
Heat-api-cfn need to point to keystone v3 version.
Otherwise heat fail while authenticating for scaling policies.

``AWS authentication failure.``

Change-Id: I1950cd7359d8ad589feced870de76f02ef2c8a76
Closes-Bug: #1672431
2017-05-05 08:05:33 +00:00
Mark Goddard
033308c475 Advertise public heat endpoint for wait conditions
Wait conditions are commonly used by instances to signal various events
back to heat. These instances are unlikely to have access to the
internal API endpoints. OpenStack-Ansible had a similar issue[1] back in
juno and changed to use the public endpoint[2]. The code has now moved
but the default is still in place[3].

This change configures heat to advertise the public API as the endpoint
for wait conditions.

[1] https://bugs.launchpad.net/openstack-ansible/+bug/1459414
[2] https://review.openstack.org/#/c/186221/
[3] b1721a7460/defaults/main.yml (L48)

Change-Id: Id1d66aaa298efa8407db579a899a5aacebe1e6c7
Closes-Bug: #1688331
2017-05-04 18:54:34 +01:00
Jenkins
b46144573d Merge "Heat: add oslo_messaging_notifications config" 2017-03-29 01:56:40 +00:00
Bertrand Lallau
916a69c9fa Heat: add oslo_messaging_notifications config
Heat can send RPC notifications to Ceilometer as define here:
https://github.com/openstack/ceilometer/blob/master/ceilometer/pipeline/data/event_definitions.yaml#L139

oslo_messaging_notifications section MUST be managed in heat.conf file.

Closes-Bug: #1674935
Change-Id: I314e34a7a7b6caab72b916331f5f20c29afde438
2017-03-22 11:03:22 +01:00
Jenkins
ac2e9425b6 Merge "Enable heat-api proxy header parsing" 2017-03-20 16:38:34 +00:00
Bertrand Lallau
cb1d214d3e Fix heat-engine and heat-api-cfn workers configuration
Change-Id: I5c04712b1ae9ebe36b5c57eed05c34fec09f1fd8
Closes-Bug: #1671784
2017-03-10 15:49:28 +01:00
pomac
63e5c444dd Enable heat-api proxy header parsing
heat-api kept redirecting clients to use http:// instead of https://
when communicating with our https:// only loadbalancer

Please examine the logic for enabling it carefully, it's hard to know
if it should be enabled or not, potenitially it could be a security
risk.

Based on openstack-ansible-os_heat:
commit 4033a0f854cba6719c61812ef5b553e932a6c6c2
Author: Kyle L. Henderson <kyleh@us.ibm.com>

    Enable oslo_middleware proxy header parsing

"Heat has moved to using oslo_middleware for the http proxy header
parsing, however the default is to not parse the headers.  When
the external protocol differs from the internal protocol this
parsing is required in order for heat to work properly since it
will return 302 redirects to the client during some operations
(such as delete stack).

An example of this is when using haproxy with https configured
for the external protocol and http for the internal protocol.
If the oslo_middleware does not parse the headers, then any
302 redirects would specify a url with http rather than
correctly specifying https and the heat client would fail to
connect on the redirect url."

Change-Id: I38661a0bc2163a7f72febd98b7ae6f51c5d45ad5
2017-03-01 09:57:21 +01:00
Farid Da Encarnacao
03a288ad4b Fix typo heat.conf
Change-Id: Icf34357d222cf5eb41e504c3b5e6830c1c6509c5
Closes-Bug: 1659343
2017-01-25 11:26:03 -05:00
Surya Prakash Singh
c7f5a388d7 Heat configuration param change for heat-api section
Making variable name "works" to "workers" for correct configuration
as followed in other services

Closes-Bug: #1655081

Change-Id: I333b7a7a98770e640db49e8103900957c629bad5
2017-01-10 04:27:04 +00:00
Christian Berendt
1b519cc300 Use option auth_type in group trustee in heat configuration
This will solve the following issue:

WARNING oslo_config.cfg [-] Option "auth_plugin" from group "trustee"
is deprecated. Use option "auth_type" from group "trustee".

Change-Id: I7343a4a28555495d22a7960bf4d585152505a79c
Closes-bug: #1632064
2016-10-10 21:02:34 +02:00
Martin Matyáš
57ba2cd22f Fix wrong heat trustee configuration
"project_domain_id" and "project_name"
cannot be specified [trustee] section or keystone will throw a
"cannot be scoped to multiple targets" error when we attempt to get
a token scoped to a trust.

Change-Id: I167c0e31835d05b8069fd931ef76fb337dd99207
Closes-Bug: #1628353
2016-09-27 21:04:32 -07:00
Christian Berendt
bcff0f8a9a Create the heat_stack_user/owner role in the heat role
Change-Id: I78ce0071474fc693aa2a05397b2a9b5974266cd9
Partial-bug: #1609814
2016-09-19 10:17:14 +02:00
Serguei Bezverkhi
134089d6cd Adding required check for Orchestration Kubernetes
Thgis PS add missing check for Kubernetes orchestration engine,
without these changes, running kolla-ansible genconfig fails
for Kubernetes environment.

TrivialFix

Change-Id: I25eeb7ae3ddba7c924f6d48aa24afdbe74227170
2016-09-12 15:32:42 -04:00
Jeffrey Zhang
d255743601
Move to transport_url for rabbitmq configuration
rabbit_hosts, rabbit_userid and rabbit_password are deprecated for
removal.[0]

rpc_backend is deprecated for removal.[1]

rabbit_ha_queues is deprecated. it is useless when using RabbitMQ >= 3.0
[2]

[0] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L112,#L134
[1] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/transport.py#L46
[2] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L163,L174

Closes-Bug: #1614082
Change-Id: I05d318ba6c11c5dbfa9fbf67d088a43ab465be30
2016-08-25 16:07:42 +08:00
Jeffrey Zhang
3c3b0288b4 Use a lower number of the workers
Use a lower number of workers rather than the default value, which is
equal to the number of the cpu. Otherwise, in a multi cpu environment,
the number of the processes will very high.

In this PS, we use min(5, << number of cpu >>) as the default worker
count.

Closes-Bug: #1582254
Change-Id: I1c32cf0db794b43b8fb8be18f39190422ca5846f
2016-07-27 16:36:25 +08:00
Ryan Hallisey
67333e4dd1 Set db connection retry to infinity
Make sure that all the sevices will attempt to
connect to the database an infinite about of times.
If the database ever disappears for some reason we
want the services to try and reconnect more than just
10 times.

Closes-bug: #1505636
Change-Id: I77abbf72ce5bfd68faa451bb9a72bd2544963f4b
2016-04-11 07:22:09 -04:00
Sam Yaple
1c177f3827 Revert "Make heat work"
This reverts commit 7524b3770fedd730bf2c49d26a94135c5357781b.

Liberty uses heat_user_domain and works and this should too. The
bootstrap process itself must have changed or another part of the
config. Either way that needs to be fixed so we can do proper upgrades.
Basically, dont change the heat domain out from under the user).

Change-Id: I32ae3ef90d340a83b09c09860af8f3635c1a07a5
2016-03-24 12:54:05 +00:00
Steven Dake
7524b3770f Make heat work
Fix the domain user to point at heat instead of some nonsensenical
value.  Now stack-create works properly.

Change-Id: If2bc57c2516ffe724999515bb6aa3eeb31a0c980
Co-Authored-By: Angus Salkeld <asalkeld@mirantis.com>
Closes-Bug: #1553565
2016-03-23 23:43:59 -04:00
SamYaple
56fd071bcb Change deprecated options throughout Kolla
These options have all be deprecated/removed. This switches all
options to thier proper mitaka values.

TrivialFix
Change-Id: Ica8d5ea0d48da01ee11672a32890431acd6a306d
2016-03-19 23:55:05 +00:00
SamYaple
d4535b6dc3 Add memcached_servers to keystone_auth section
The in-process cache for keystone tokens has been deprecated due to
"incosistent results and high memory usage" with the expectation we
switch to memcached_servers if we want to stay performant.

Add memcache_servers [cache] section to the appropriate servers as the
[DEFAULT]\memcache_servers options was deprecated.

TrivialFix
Related-Id: Ied2b88c8cefe5655a88d0c2f334de04e588fa75a

Change-Id: Ic971bdddc0be3338b15924f7cc0f97d4a3ad2440
2016-03-19 21:53:03 +00:00
Martin André
cb43cbcc93 Use variables for auth_uri and auth_url protocols
Change-Id: Icf5de0684b10c32cc6e29b62d183705d423b4333
Closes-Bug: #1555989
2016-03-11 18:09:39 +09:00
Dave McCowan
1c31951b85 Use internalURL for internal communication
When using separate networks for external APIs and internal
APIs, services need to be configured to use the internal APIs.
The default is typically publicURL.

TrivialFix

Change-Id: I24da63220a65e210c37d9f24b6d76a0031d66f3d
2016-03-07 09:28:48 -05:00
Jenkins
0c7cf6fdc4 Merge "Modify a hard-code keystone username in neutron and heat." 2016-02-28 18:52:49 +00:00
SamYaple
d3cfb2052a Change kolla_internal_address variable
Due to poor planning on our variable names we have a situation where
we have "internal_address" which must be a VIP, but "external_address"
which should be a DNS name. Now with two vips "external_vip_address"
is a new variable.

This corrects that issue by deprecating kolla_internal_address and
replacing it with 4 nicely named variables.

kolla_internal_vip_address
kolla_internal_fqdn
kolla_external_vip_address
kolla_external_fqdn

The default behaviour will remain the same, and the way the variable
inheritance is setup the kolla_internal_address variable can still be
set in globals.yml and propogate out to these 4 new variables like it
normally would, but all reference to kolla_internal_address has been
completely removed.

Change-Id: I4556dcdbf4d91a8d2751981ef9c64bad44a719e5
Partially-Implements: blueprint ssl-kolla
2016-02-26 20:00:09 +00:00
wangtianfa
11572e1c4b Modify a hard-code keystone username in neutron and heat.
Changed hard-code keystone username for neutron and heat in the
neutron.conf template and heat.conf template.

TrivialFix

Change-Id: Ibdd1422bd4cae5011f9fc5f4de7dfc58601dca1d
2016-02-26 04:42:26 -05:00
Éric Lemoine
82264ab7d6 Make Heka collect Heat logs
Partially implements: blueprint heka
Change-Id: Ie22c4326c6ec2a3426b0c3b8fda4554b1b2541b0
2016-02-19 21:56:10 +00:00
Jenkins
c6da765b49 Merge "Use variables to specify http or https when constructing URLs" 2016-02-16 22:37:27 +00:00
Dave McCowan
1cedf77f19 Use variables to specify http or https when constructing URLs
To allow for TLS to protect the service endpoints, the protocol
in the URLs for the endpoints will be either http or https.

This patch removes the hardcoded values of http and replaces them
with variables that can be adjusted accordingly in future patches.

Change-Id: Ibca6f8aac09c65115d1ac9957410e7f81ac7671e
Partially-implements: blueprint ssl-kolla
2016-02-15 09:48:58 -05:00
Michal Rostecki
64b767f9f6 Use trusts in heat.conf
Change-Id: Ie91b3498e9f9d0d74a502ba6945db531ef967516
Closes-Bug: #1492736
2016-01-28 11:15:27 +01:00
Ice Yao
83df0f8612 Add debug option in config file
Config file use *_logging_debug as debug default value

Change-Id: I41102fff9056a82f7307694252adff0aedcf2658
2016-01-20 15:44:27 +08:00
Wanlong Gao
66f5802daa Use driver instead of deprecated notification_driver in config
TrivialFix
https://review.openstack.org/#/c/249508/

Change-Id: Ie2732ee116b6b4b3e0210eb1f62fc72878d8c277
2016-01-19 17:09:19 +08:00
Wanlong Gao
181b4947dd Use auth_type instead of deprecated auth_plugin
TrivialFix

Change-Id: I33924d6de43126ff8523883eebce703c976f9a1a
2016-01-16 07:44:14 +08:00
Jenkins
4a2e728688 Merge "Convert to pymysql" 2015-12-22 15:47:02 +00:00