Skip to content
Snippets Groups Projects
  1. Jul 12, 2022
    • Michal Arbet's avatar
      Add api_workers for each service to defaults · 3e8db91a
      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
      3e8db91a
  2. Jun 09, 2022
    • Will Szumski's avatar
      Add keystone_authtoken.service_type · 49006e56
      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
      49006e56
  3. May 28, 2022
    • Radosław Piliszek's avatar
      Do not use keystone_admin_url et al · 7ca9349b
      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
      7ca9349b
  4. Feb 08, 2021
    • Gaël THEROND (Fl1nt)'s avatar
      Add missing elasticsearch cloudkitty storage · 9e72c0cb
      Gaël THEROND (Fl1nt) authored
      and prometheus collector backend support.
      
      * Fix various remaining typos.
      * Fix trailing character on reno.
      * Enable Elasticsearch when selected as cloudkitty backend.
      * Add a check for ES index creation when ES required.
      * Add a release note
      * Fix release note line length issue.
      
      Change-Id: I18f3d8f2e10a2996b2ebf92733a1770bef548bda
      Closes-bug: #1895945
      9e72c0cb
  5. Sep 22, 2020
    • Pierre Riteau's avatar
      Reduce the use of SQLAlchemy connection pooling · c8177202
      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
      c8177202
  6. Sep 17, 2020
    • Mark Goddard's avatar
      Support TLS encryption of RabbitMQ client-server traffic · 761ea9a3
      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
      761ea9a3
  7. Jul 22, 2020
    • Pierre Riteau's avatar
      Fix some CloudKitty API responses when behind SSL · cd55c8f4
      Pierre Riteau authored
      Some CloudKitty API responses include a Location header using http
      instead of https. Seen with `openstack rating module enable hashmap`.
      
      Change-Id: I11158bbfd2006e3574e165b6afc9c223b018d4bc
      Closes-Bug: #1888544
      cd55c8f4
  8. Apr 03, 2020
  9. Jan 13, 2020
    • James Kirsch's avatar
      Configure services to use Certificate Authority · c15dc203
      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
      c15dc203
  10. Dec 16, 2019
  11. Oct 16, 2019
    • Radosław Piliszek's avatar
      Implement IPv6 support in the control plane · bc053c09
      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: default avatarRadosław Piliszek <radoslaw.piliszek@gmail.com>
      bc053c09
  12. Sep 24, 2019
    • Mark Goddard's avatar
      Switch default cloudkitty storage backend to influxdb · 27f4876e
      Mark Goddard authored
      Backport: stein
      
      In the Stein release, cloudkitty switched the default storage backend
      from sqlalchemy to influxdb. In kolla-ansible stein configuration, we
      did not explicitly set the storage backend, and so we automatically
      picked up this change. However, prior to
      https://review.opendev.org/#/c/615928/ we did not have full support for
      InfluxDB as a storage backend, and so this has broken the Rocky-Stein
      upgrade (https://bugs.launchpad.net/kolla-ansible/+bug/1838641), which
      fails with this during the DB sync:
      
      ERROR cloudkitty InfluxDBClientError: get_list_retention_policies()
      requires a database as a parameter or the client to be using a database
      
      This change synchronises our default with cloudkitty's (influxdb), and
      also provides an upgrade transition to create the influxdb database.
      
      We also move the cloudkitty_storage_backend variable to
      group_vars/all.yml, since it is used to determine whether to enable
      influxdb.
      
      Finally, the section name in cloudkitty.conf was incorrect - it was
      storage_influx,  but should be storage_influxdb.
      
      Change-Id: I71f2ed11bd06f58e141d222e2709835b7ddb2c71
      Closes-Bug: #1838641
      27f4876e
  13. Jul 02, 2019
    • Rafael Weingärtner's avatar
      Cloudkitty InfluxDB Storage backend via Kolla-ansible · 97cb30cd
      Rafael Weingärtner authored
      This proposal will add support to Kolla-Ansible for Cloudkitty
       InfluxDB storage system deployment. The feature of InfluxDB as the
       storage backend for Cloudkitty was created with the following commit
       https://github.com/openstack/cloudkitty/commit/
       c4758e78b49386145309a44623502f8095a2c7ee
      
      Problem Description
      ===================
      
      With the addition of support for InfluxDB in Cloudkitty, which is
      achieving general availability via Stein release, we need a method to
      easily configure/support this storage backend system via Kolla-ansible.
      
      Kolla-ansible is already able to deploy and configure an InfluxDB
      system. Therefore, this proposal will use the InfluxDB deployment
      configured via Kolla-ansible to connect to CloudKitty and use it as a
      storage backend.
      
      If we do not provide a method for users (operators) to manage
      Cloudkitty storage backend via Kolla-ansible, the user has to execute
      these changes/configurations manually (or via some other set of
      automated scripts), which creates distributed set of configuration
      files, "configurations" scripts that have different versioning schemas
      and life cycles.
      
      Proposed Change
      ===============
      
      Architecture
      ------------
      
      We propose a flag that users can use to make Kolla-ansible configure
      CloudKitty to use InfluxDB as the storage backend system. When
      enabling this flag, Kolla-ansible will also enable the deployment of
      the InfluxDB via Kolla-ansible automatically.
      
      CloudKitty will be configured accordingly to [1] and [2]. We will also
      externalize the "retention_policy", "use_ssl", and "insecure", to
      allow fine granular configurations to operators. All of these
      configurations will only be used when configured; therefore, when they
      are not set, the default value/behavior defined in Cloudkitty will be
      used. Moreover, when we configure "use_ssl" to "true", the user will
      be able to set "cafile" to a custom trusted CA file. Again, if these
      variables are not set, the default ones in Cloudkitty will be used.
      
      Implementation
      --------------
      We need to introduce a new variable called
      `cloudkitty_storage_backend`. Valid options are `sqlalchemy` or
      `influxdb`. The default value in Kolla-ansible is `sqlalchemy` for
      backward compatibility. Then, the first step is to change the
      definition for the following variable:
      `/ansible/group_vars/all.yml:enable_influxdb: "{{ enable_monasca |
      bool }}"`
      
      We also need to enable InfluxDB when CloudKitty is configured to use
      it as the storage backend. Afterwards, we need to create tasks in
      CloudKitty configurations to create the InfluxDB schema and configure
      the configuration files accordingly.
      
      Alternatives
      ------------
      The alternative would be to execute the configurations manually or
      handle it via a different set of scripts and configurations files,
      which can become cumbersome with time.
      
      Security Impact
      ---------------
      None identified by the author of this spec
      
      Notifications Impact
      --------------------
      Operators that are already deploying CloudKitty with InfluxDB as
      storage backend would need to convert their configurations to
      Kolla-ansible (if they wish to adopt Kolla-ansible to execute these
      tasks).
      
      Also, deployments (OpenStack environments) that were created with
      Cloudkitty using storage v1 will need to migrate all of their data to
      V2 before enabling InfluxDB as the storage system.
      
      Other End User Impact
      ---------------------
      None.
      
      Performance Impact
      ------------------
      None.
      
      Other Deployer Impact
      ---------------------
      New configuration options will be available for CloudKitty.
      * cloudkitty_storage_backend
      * cloudkitty_influxdb_retention_policy
      * cloudkitty_influxdb_use_ssl
      * cloudkitty_influxdb_cafile
      * cloudkitty_influxdb_insecure_connections
      * cloudkitty_influxdb_name
      
      Developer Impact
      ----------------
      None
      
      Implementation
      ==============
      
      Assignee
      --------
      * `Rafael Weingärtner <rafaelweingartne>`
      
      Work Items
      ----------
       * Extend InfluxDB "enable/disable" variable
       * Add new tasks to configure Cloudkitty accordingly to these new
       variables that are presented above
       * Write documentation and release notes
      
      Dependencies
      ============
      None
      
      Documentation Impact
      ====================
      New documentation for the feature.
      
      References
      ==========
      [1] `https://docs.openstack.org/cloudkitty/latest/admin/configuration/storage.html#influxdb-v2`
      [2] `https://docs.openstack.org/cloudkitty/latest/admin/configuration/collector.html#metric-collection`
      
      
      
      Change-Id: I65670cb827f8ca5f8529e1786ece635fe44475b0
      Signed-off-by: default avatarRafael Weingärtner <rafael@apache.org>
      97cb30cd
  14. Jun 04, 2019
  15. May 17, 2019
  16. May 14, 2019
  17. Mar 06, 2019
    • Jim Rollenhagen's avatar
      Use keystone_*_url var in all configs · 2e4e6050
      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
      2e4e6050
  18. Aug 07, 2018
  19. Jun 14, 2018
  20. Jan 22, 2018
  21. Nov 22, 2017
    • Andrew Smith's avatar
      Add support for hybrid messaging backends · fd1d3af0
      Andrew Smith authored
      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
      fd1d3af0
  22. Aug 31, 2017
  23. Jul 06, 2017
  24. Jun 02, 2017
  25. May 23, 2017
  26. Apr 09, 2017
  27. Jan 12, 2017
  28. Nov 21, 2016
  29. Oct 10, 2016
  30. Sep 07, 2016
  31. Sep 06, 2016
  32. Aug 25, 2016
  33. Aug 18, 2016
    • Alexander Reunov's avatar
      Fix murano notification driver · 26d8d6cd
      Alexander Reunov authored
      Notification driver should be configured to avoid timeout failures of
      murano app deployments while waiting notifications which will never be
      sent.
      
      The required driver is "messagingv2".
      
      TrivialFix
      Change-Id: Id0c753f50d93c81eedb2455a7323d86c08873c5f
      26d8d6cd
  34. Jul 27, 2016
    • Jeffrey Zhang's avatar
      Use a lower number of the workers · 3c3b0288
      Jeffrey Zhang authored
      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
      3c3b0288
  35. Apr 11, 2016
    • Ryan Hallisey's avatar
      Set db connection retry to infinity · 67333e4d
      Ryan Hallisey authored
      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
      67333e4d
  36. Mar 19, 2016
    • SamYaple's avatar
      Add memcached_servers to keystone_auth section · d4535b6d
      SamYaple authored
      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
      d4535b6d
  37. Feb 26, 2016
    • SamYaple's avatar
      Change kolla_internal_address variable · d3cfb205
      SamYaple authored
      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
      d3cfb205
  38. Feb 19, 2016
Loading