- Aug 12, 2024
-
-
Roman Krček authored
For possible config options see docs https://docs.openstack.org/keystonemiddleware/latest/middlewarearchitecture.html#memcache-protection Closes-bug: #1850733 Signed-off-by:
Roman Krček <roman.krcek@tietoevry.com> Change-Id: I169e27899f7350f5eb8adb1f81a062c51e6cbdfc
-
- Jun 26, 2024
-
-
Pierre Riteau authored
Change-Id: I96151bb6809a4bf0f17dd3e0e97a654730881869
-
- Nov 30, 2023
-
-
Sven Kieske authored
This implements a global toggle `om_enable_rabbitmq_quorum_queues` to enable quorum queues for each service in RabbitMQ, similar to what was done for HA[0]. Quorum Queues are enabled by default. Quorum queues are more reliable, safer, simpler and faster than replicated mirrored classic queues[1]. Mirrored classic queues are deprecated and scheduled for removal in RabbitMQ 4.0[2]. Notice, that we do not need a new policy in the RabbitMQ definitions template, because their usage is enabled on the client side and can't be set using a policy[3]. Notice also, that quorum queues are not yet enabled in oslo.messaging for the usage of reply_ and fanout_ queues (transient queues). This will change once[4] is merged. [0]: https://review.opendev.org/c/openstack/kolla-ansible/+/867771 [1]: https://www.rabbitmq.com/quorum-queues.html [2]: https://blog.rabbitmq.com/posts/2021/08/4.0-deprecation-announcements/ [3]: https://www.rabbitmq.com/quorum-queues.html#declaring [4]: https://review.opendev.org/c/openstack/oslo.messaging/+/888479 Signed-off-by:
Sven Kieske <kieske@osism.tech> Change-Id: I6c033d460a5c9b93c346e9e47e93b159d3c27830
-
- Jan 16, 2023
-
-
Pierre Riteau authored
According to the code, docs and oslo-config-validator, this configuration option is not supported. Change-Id: I34410e5267d527ec629748f35771f227183810b6
-
- Jan 13, 2023
-
-
Matt Crees authored
A combination of durable queues and classic queue mirroring can be used to provide high availability of RabbitMQ. However, these options should only be used together, otherwise the system will become unstable. Using the flag ``om_enable_rabbitmq_high_availability`` will either enable both options at once, or neither of them. There are some queues that should not be mirrored: * ``reply`` queues (these have a single consumer and TTL policy) * ``fanout`` queues (these have a TTL policy) * ``amq`` queues (these are auto-delete queues, with a single consumer) An exclusionary pattern is used in the classic mirroring policy. This pattern is ``^(?!(amq\\.)|(.*_fanout_)|(reply_)).*`` Change-Id: I51c8023b260eb40b2eaa91bd276b46890c215c25
-
- Jan 05, 2023
-
-
Matt Crees authored
The ``[oslo_messaging_rabbit] heartbeat_in_pthread`` config option is set to ``true`` for wsgi applications to allow the RabbitMQ heartbeats to function. For non-wsgi applications it is set to ``false`` as it may otherwise break the service [1]. [1] https://docs.openstack.org/releasenotes/oslo.messaging/zed.html#upgrade-notes Change-Id: Id89bd6158aff42d59040674308a8672c358ccb3c
-
- Sep 28, 2022
-
-
Michal Nasiadka authored
Change-Id: Ib068117237a199db380fcdfb757d5d0e5d34326b
-
- Jul 12, 2022
-
-
Michal Arbet authored
Render {{ openstack_service_workers }} for workers of each openstack service is not enough. There are several services which has to have more workers because there are more requests sent to them. This patch is just adding default value for workers for each service and sets {{ openstack_service_workers }} as default, so value can be overrided in hostvars per server. Nothing changed for normal user. Change-Id: Ifa5863f8ec865bbf8e39c9b2add42c92abe40616
-
- Jun 20, 2022
-
-
Radosław Piliszek authored
Per comments on [1]. [1] https://review.opendev.org/c/openstack/kolla-ansible/+/843727 Change-Id: I60162b54bc06e158534d29311d4474b34750c64d
-
- Jun 09, 2022
-
-
Will Szumski authored
Fixes an issue where access rules failed to validate: Cannot validate request with restricted access rules. Set service_type in [keystone_authtoken] to allow access rule validation I've used the values from the endpoint. This was mostly a straight forward copy and paste, except: - versioned endpoints e.g cinderv3 where I stripped the version - monasca has multiple endpoints associated with a single service. For this, I concatenated logging and monitoring to be logging-monitoring. Closes-Bug: #1965111 Change-Id: Ic4b3ab60abad8c3dd96cd4923a67f2a8f9d195d7
-
- Jun 02, 2022
-
-
Michal Arbet authored
This patch is removing api related configuration from service's config files as we are using apache mod_wsgi and this configuration is not used. Change-Id: I69a1542a6f24214fbf6e703782aefb566de4fb26
-
- May 28, 2022
-
-
Radosław Piliszek authored
Following up on [1]. The 3 variables are only introducing noise after we removed the reliance on Keystone's admin port. [1] I5099b08953789b280c915a6b7a22bdd4e3404076 Change-Id: I3f9dab93042799eda9174257e604fd1844684c1c
-
- Apr 05, 2022
-
-
Marcin Juszkiewicz authored
As we have only source image type then we do not need to handle other option. Change-Id: I753aa0182cfc975bb8b5cd1476ab2c336a7691fa
-
- Jun 22, 2021
-
-
Michal Arbet authored
Closes-Bug: #1933025 Change-Id: Ib67d715ddfa986a5b70a55fdda39e6d0e3333162
-
- Mar 04, 2021
-
-
Doug Szumski authored
In services which use the Apache HTTP server to service HTTP requests, there exists a TimeOut directive [1] which defaults to 60 seconds. APIs which come under heavy load, such as Cinder, can sometimes exceed this which results in a HTTP 504 Gateway timeout, or similar. However, the request can still be serviced without error. For example, if Nova calls the Cinder API to detach a volume, and this operation takes longer than the shortest of the two timeouts, Nova will emit a stack trace with a 504 Gateway timeout. At some time later, the request to detach the volume will succeed. The Nova and Cinder DBs then become out-of-sync with each other, and frequently DB surgery is required. Although strictly this category of bugs should be fixed in OpenStack services, it is not realistic to expect this to happen in the short term. Therefore, this change makes it easier to set the Apache HTTP timeout via a new variable. An example of a related bug is here: https://bugs.launchpad.net/nova/+bug/1888665 Whilst this timeout can currently be set by overriding the WSGI config for individual services, this change makes it much easier. Change-Id: Ie452516655cbd40d63bdad3635fd66693e40ce34 Closes-Bug: #1917648
-
- Oct 16, 2020
-
-
Jeffrey Zhang authored
Change-Id: I52cee3679e4a733daa165062d64884577e9acc1a Closes-Bug: #1900082
-
- Sep 22, 2020
-
-
Pierre Riteau authored
When the internal VIP is moved in the event of a failure of the active controller, OpenStack services can become unresponsive as they try to talk with MariaDB using connections from the SQLAlchemy pool. It has been argued that OpenStack doesn't really need to use connection pooling with MariaDB [1]. This commit reduces the use of connection pooling via two configuration options: - max_pool_size is set to 1 to allow only a single connection in the pool (it is not possible to disable connection pooling entirely via oslo.db, and max_pool_size = 0 means unlimited pool size) - lower connection_recycle_time from the default of one hour to 10 seconds, which means the single connection in the pool will be recreated regularly These settings have shown better reactivity of the system in the event of a failover. [1] http://lists.openstack.org/pipermail/openstack-dev/2015-April/061808.html Change-Id: Ib6a62d4428db9b95569314084090472870417f3d Closes-Bug: #1896635
-
- Sep 17, 2020
-
-
Mark Goddard authored
This change adds support for encryption of communication between OpenStack services and RabbitMQ. Server certificates are supported, but currently client certificates are not. The kolla-ansible certificates command has been updated to support generating certificates for RabbitMQ for development and testing. RabbitMQ TLS is enabled in the all-in-one source CI jobs, or when The Zuul 'tls_enabled' variable is true. Change-Id: I4f1d04150fb2b5af085b762890092f87ae6076b5 Implements: blueprint message-queue-ssl-support
-
- Aug 24, 2020
-
-
Radosław Piliszek authored
It was found to be useless in [1]. It is one of distro_python_version usages. Note Freezer and Horizon still use python_path (and hence distro_python_version) for different purposes. [1] https://review.opendev.org/675822 Change-Id: I6d6d9fdf4c28cb2b686d548955108c994b685bb1 Partially-Implements: blueprint drop-distro-python-version
-
- Aug 19, 2020
-
-
Rafael Weingärtner authored
The goal for this push request is to normalize the construction and use of internal, external, and admin URLs. While extending Kolla-ansible to enable a more flexible method to manage external URLs, we noticed that the same URL was constructed multiple times in different parts of the code. This can make it difficult for people that want to work with these URLs and create inconsistencies in a large code base with time. Therefore, we are proposing here the use of "single Kolla-ansible variable" per endpoint URL, which facilitates for people that are interested in overriding/extending these URLs. As an example, we extended Kolla-ansible to facilitate the "override" of public (external) URLs with the following standard "<component/serviceName>.<companyBaseUrl>". Therefore, the "NAT/redirect" in the SSL termination system (HAproxy, HTTPD or some other) is done via the service name, and not by the port. This allows operators to easily and automatically create more friendly URL names. To develop this feature, we first applied this patch that we are sending now to the community. We did that to reduce the surface of changes in Kolla-ansible. Another example is the integration of Kolla-ansible and Consul, which we also implemented internally, and also requires URLs changes. Therefore, this PR is essential to reduce code duplicity, and to facility users/developers to work/customize the services URLs. Change-Id: I73d483e01476e779a5155b2e18dd5ea25f514e93 Signed-off-by:
Rafael Weingärtner <rafael@apache.org>
-
- Aug 13, 2020
-
-
James Kirsch authored
This patch introduces a global keep alive timeout value for services that leverage httpd + wsgi to handle http/https requests. The default value is one minute. Change-Id: Icf7cb0baf86b428a60a7e9bbed642999711865cd Partially-Implements: blueprint add-ssl-internal-network
-
- May 14, 2020
-
-
generalfuzz authored
Fix Heat WSGI logging directives and correct access log name. Change-Id: Iac09e481ae46934fc26300eba8c5d81ccd0504e8 Partially-Implements: blueprint add-ssl-internal-network
-
- Apr 24, 2020
-
-
James Kirsch authored
This patch introduces an optional backend encryption for Heat service. When used in conjunction with enabling TLS for service API endpoints, network communcation will be encrypted end to end, from client through HAProxy to the Heat service. Change-Id: Ic12f7574135dcaed2a462e902c775a55176ff03b Partially-Implements: blueprint add-ssl-internal-network Depends-On: https://review.opendev.org/722028/
-
- Apr 03, 2020
-
-
Mark Goddard authored
The use of default(omit) is for module parameters, not templates. We define a default value for openstack_cacert, so it should never be undefined anyway. Change-Id: Idfa73097ca168c76559dc4f3aa8bb30b7113ab28
-
- Mar 26, 2020
-
-
Jeffrey Zhang authored
This patch fix creating statck resource failure in heat. Change-Id: I00c23f8b89765e266d045cc463ce4d863d0d6089 Closes-Bug: #1869137
-
- Jan 13, 2020
-
-
James Kirsch authored
Include a reference to the globally configured Certificate Authority to all services. Services use the CA to verify HTTPs connections. Change-Id: I38da931cdd7ff46cce1994763b5c713652b096cc Partially-Implements: blueprint support-trusted-ca-certificate-file
-
- Nov 16, 2019
-
-
Radosław Piliszek authored
Continues work from https://review.opendev.org/676716 Change-Id: If0195c38034d404849bf2e8fca4629b2d38a2680 Closes-Bug: #1812864 Related-Bug: #1762754 Related-Bug: #1688331
-
- Oct 16, 2019
-
-
Radosław Piliszek authored
Introduce kolla_address filter. Introduce put_address_in_context filter. Add AF config to vars. Address contexts: - raw (default): <ADDR> - memcache: inet6:[<ADDR>] - url: [<ADDR>] Other changes: globals.yml - mention just IP in comment prechecks/port_checks (api_intf) - kolla_address handles validation 3x interface conditional (swift configs: replication/storage) 2x interface variable definition with hostname (haproxy listens; api intf) 1x interface variable definition with hostname with bifrost exclusion (baremetal pre-install /etc/hosts; api intf) neutron's ml2 'overlay_ip_version' set to 6 for IPv6 on tunnel network basic multinode source CI job for IPv6 prechecks for rabbitmq and qdrouterd use proper NSS database now MariaDB Galera Cluster WSREP SST mariabackup workaround (socat and IPv6) Ceph naming workaround in CI TODO: probably needs documenting RabbitMQ IPv6-only proto_dist Ceph ms switch to IPv6 mode Remove neutron-server ml2_type_vxlan/vxlan_group setting as it is not used (let's avoid any confusion) and could break setups without proper multicast routing if it started working (also IPv4-only) haproxy upgrade checks for slaves based on ipv6 addresses TODO: ovs-dpdk grabs ipv4 network address (w/ prefix len / submask) not supported, invalid by default because neutron_external has no address No idea whether ovs-dpdk works at all atm. ml2 for xenapi Xen is not supported too well. This would require working with XenAPI facts. rp_filter setting This would require meddling with ip6tables (there is no sysctl param). By default nothing is dropped. Unlikely we really need it. ironic dnsmasq is configured IPv4-only dnsmasq needs DHCPv6 options and testing in vivo. KNOWN ISSUES (beyond us): One cannot use IPv6 address to reference the image for docker like we currently do, see: https://github.com/moby/moby/issues/39033 (docker_registry; docker API 400 - invalid reference format) workaround: use hostname/FQDN RabbitMQ may fail to bind to IPv6 if hostname resolves also to IPv4. This is due to old RabbitMQ versions available in images. IPv4 is preferred by default and may fail in the IPv6-only scenario. This should be no problem in real life as IPv6-only is indeed IPv6-only. Also, when new RabbitMQ (3.7.16/3.8+) makes it into images, this will no longer be relevant as we supply all the necessary config. See: https://github.com/rabbitmq/rabbitmq-server/pull/1982 For reliable runs, at least Ansible 2.8 is required (2.8.5 confirmed to work well). Older Ansible versions are known to miss IPv6 addresses in interface facts. This may affect redeploys, reconfigures and upgrades which run after VIP address is assigned. See: https://github.com/ansible/ansible/issues/63227 Bifrost Train does not support IPv6 deployments. See: https://storyboard.openstack.org/#!/story/2006689 Change-Id: Ia34e6916ea4f99e9522cd2ddde03a0a4776f7e2c Implements: blueprint ipv6-control-plane Signed-off-by:
Radosław Piliszek <radoslaw.piliszek@gmail.com>
-
- Sep 20, 2019
-
-
Mark Goddard authored
Heat's [DEFAULT] deferred_auth_method is deprecated, and we are setting the default value of 'trusts'. Glance's [DEFAULT] registry_host is deprecated, and we do not deploy a registry. Change-Id: I80024907c575982699ce323cd9a93bab94c988d3
-
- Sep 02, 2019
-
-
Pierre Riteau authored
Commit d6864438 disabled these deprecated plugins more than three years ago. Change-Id: I2dd2a89a7aa2c4a54882a8b0aa8d23d874c0e4cc Closes-Bug: #1839172
-
- Aug 15, 2019
-
-
Rafael Weingärtner authored
After all of the discussions we had on "https://review.opendev.org/#/c/670626/2", I studied all projects that have an "oslo_messaging" section. Afterwards, I applied the same method that is already used in "oslo_messaging" section in Nova, Cinder, and others. This guarantees that we have a consistent method to enable/disable notifications across projects based on components (e.g. Ceilometer) being enabled or disabled. Here follows the list of components, and the respective changes I did. * Aodh: The section is declared, but it is not used. Therefore, it will be removed in an upcomming PR. * Congress: The section is declared, but it is not used. Therefore, it will be removed in an upcomming PR. * Cinder: It was already properly configured. * Octavia: The section is declared, but it is not used. Therefore, it will be removed in an upcomming PR. * Heat: It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components * Ceilometer: Ceilometer publishes some messages in the rabbitMQ. However, the default driver is "messagingv2", and not ''(empty) as defined in Oslo; these configurations are defined in ceilometer/publisher/messaging.py. Therefore, we do not need to do anything for the "oslo_messaging_notifications" section in Ceilometer * Tacker: It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components * Neutron: It was already properly configured. * Nova It was already properly configured. However, we found another issue with its configuration. Kolla-ansible does not configure nova notifications as it should. If 'searchlight' is not installed (enabled) the 'notification_format' should be 'unversioned'. The default is 'both'; so nova will send a notification to the queue versioned_notifications; but that queue has no consumer when 'searchlight' is disabled. In our case, the queue got 511k messages. The huge amount of "stuck" messages made the Rabbitmq cluster unstable. https://bugzilla.redhat.com/show_bug.cgi?id=1478274 https://bugs.launchpad.net/ceilometer/+bug/1665449 * Nova_hyperv: I added the same configurations as in Nova project. * Vitrage It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components * Searchlight I created a mechanism similar to what we have in AODH, Cinder, Nova, and others. * Ironic I created a mechanism similar to what we have in AODH, Cinder, Nova, and others. * Glance It was already properly configured. * Trove It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components * Blazar It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components * Sahara It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components * Watcher I created a mechanism similar to what we have in AODH, Cinder, Nova, and others. * Barbican I created a mechanism similar to what we have in Cinder, Nova, and others. I also added a configuration to 'keystone_notifications' section. Barbican needs its own queue to capture events from Keystone. Otherwise, it has an impact on Ceilometer and other systems that are connected to the "notifications" default queue. * Keystone Keystone is the system that triggered this work with the discussions that followed on https://review.opendev.org/#/c/670626/2 . After a long discussion, we agreed to apply the same approach that we have in Nova, Cinder and other systems in Keystone. That is what we did. Moreover, we introduce a new topic "barbican_notifications" when barbican is enabled. We also removed the "variable" enable_cadf_notifications, as it is obsolete, and the default in Keystone is CADF. * Mistral: It was hardcoded "noop" as the driver. However, that does not seem a good practice. Instead, I applied the same standard of using the driver and pushing to "notifications" queue if Ceilometer is enabled. * Cyborg: I created a mechanism similar to what we have in AODH, Cinder, Nova, and others. * Murano It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components * Senlin It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components * Manila It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components * Zun The section is declared, but it is not used. Therefore, it will be removed in an upcomming PR. * Designate It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components * Magnum It was already using a similar scheme; I just modified it a little bit to be the same as we have in all other components Closes-Bug: #1838985 Change-Id: I88bdb004814f37c81c9a9c4e5e491fac69f6f202 Signed-off-by:
Rafael Weingärtner <rafael@apache.org>
-
Mark Goddard authored
Heat has a new option (server_keystone_endpoint_type), which can be used to set the keystone endpoint used by instances to make callbacks to heat. This needs to be public, since we can't assume users have access to the internal API. However, the current method of setting [clients_heat] endpoint_type means that communication from heat to its own API (e.g. when a stack is a resource in another stack) uses the public network also, and this might not work if TLS is enabled. This change uses server_keystone_endpoint_type to keep instance traffic on the public API, and removes the [clients_heat] endpoint_type option to use the default in [clients] endpoint_type of internalURL. This feature was added to heat in https://review.opendev.org/#/c/650967. Change-Id: I932ea55a3c2a411557c34361db08bcb3a2b27eaf Closes-Bug: #1812864 Related-Bug: #1762754 Related-Bug: #1688331
-
- Jun 13, 2019
-
-
Pierre Riteau authored
The AWS-compatible CloudWatch API has been removed from Heat in Queens. Remove its configuration option from the heat.conf template. Change-Id: If6f7dd28bbb75308ef434c166c28a5cf4a624cbd
-
- Mar 06, 2019
-
-
Jim Rollenhagen authored
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
-
Jim Rollenhagen authored
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
-
- Feb 21, 2019
-
-
Mark Goddard authored
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
-
- Aug 07, 2018
-
-
ZhongShengping authored
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
-
- Jul 03, 2018
-
-
Kien Nguyen authored
This option's default value has changed since Newton.[1] [1] https://github.com/openstack/heat/commit/aab01c00ff330d743fc15e97d7ae144eac5015bb Change-Id: I981a59be716072aab40862b3e23bbb1fbd1d63fc
-
- Jun 01, 2018
-
-
Zhangfei Gao authored
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
-
- May 04, 2018
-
-
Bharat Kunwar authored
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
-