Skip to content
Snippets Groups Projects
  1. Oct 07, 2022
  2. Oct 03, 2022
  3. Sep 28, 2022
  4. Aug 17, 2022
    • Will Szumski's avatar
      Introduce variables for cinder backend names · 0fe8010c
      Will Szumski authored
      This allows you to use a more descriptive name if you desire.
      For example, when using cinder with multiple ceph backends, rbd-1,
      doesn't convey much information. You could include location, disk
      technology, etc. in the name.
      
      Change-Id: Icfdc2e5726fec8b645d6c2c63391a13c31f2ce9a
      0fe8010c
  5. Jul 27, 2022
  6. Jul 21, 2022
  7. 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
  8. 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
  9. Jun 02, 2022
    • Michal Arbet's avatar
      Remove configuration related to api_workers · eafd3a59
      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
      eafd3a59
  10. 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
  11. May 13, 2022
    • Simon Dodsley's avatar
      Add support for Pure Storage FlashArray backend to Cinder · f088b799
      Simon Dodsley authored
      Add an enable_cinder_backend_pure_iscsi and
      enable_cinder_backend_pure_fc options to etc/kolla/globals.yml
      to enable use of the FlashArray backend.
      Update the documentation to include a section on configuring
      Cinder with the FlashArray.
      
      Implements: blueprint pure-cinder-driver
      Change-Id: I464733f1322237321ed1ffff8636cf30bd1cbb38
      f088b799
  12. Feb 18, 2022
    • alecorps's avatar
      Add support for VMware First Class Disk (FCD) · 812e03f7
      alecorps authored
      An FCD, also known as an Improved Virtual Disk (IVD) or
      Managed Virtual Disk, is a named virtual disk independent of
      a virtual machine. Using FCDs for Cinder volumes eliminates
      the need for shadow virtual machines.
      This patch adds Kolla support.
      
      Change-Id: Ic0b66269e6d32762e786c95cf6da78cb201d2765
      812e03f7
  13. Jan 04, 2022
  14. Jun 22, 2021
  15. Jun 21, 2021
  16. Mar 04, 2021
    • Doug Szumski's avatar
      Add variable for changing Apache HTTP timeout · 647ff667
      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
      647ff667
  17. Feb 24, 2021
    • Doug Szumski's avatar
      Fix Cinder log parsing · fa5511c7
      Doug Szumski authored
      
      The Cinder API log is currently written to a file called
      cinder-wsgi.log, and the WSGI logs to cinder-api.log. Fluentd
      then tries to parse the WSGI log as an OpenStack log which
      results in 'got incomplete line' errors and prevents proper
      ingestion of these logs.
      
      Co-Authored-By: default avataryaoning <yaoning@unitedstack.com>
      Closes-Bug: 1916752
      Change-Id: I3296dcc4780160cbf88bd18285571276f58bb249
      fa5511c7
  18. Oct 16, 2020
  19. 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
  20. 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
  21. Aug 24, 2020
    • Radosław Piliszek's avatar
      Drop python-path · 9c38a0c7
      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
      9c38a0c7
  22. Aug 19, 2020
    • Rafael Weingärtner's avatar
      Standardize use and construction of endpoint URLs · f425c067
      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: default avatarRafael Weingärtner <rafael@apache.org>
      f425c067
  23. Aug 13, 2020
    • James Kirsch's avatar
      Add Keep Alive Timeout for httpd · 19b028e6
      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
      19b028e6
  24. Jul 09, 2020
  25. Jun 27, 2020
    • James Kirsch's avatar
      Fix etcd protocol configuration · a1584322
      James Kirsch authored
      The etcd service protocol is currently configured with internal_protocol.
      The etcd service is not load balanced by a HAProxy container, so
      there is no proxy layer to do TLS termination when internal_protocol
      is configured to be "https".
      
      Until the etcd service is configured to deploy with native TLS
      termination, the etcd uses should be independent of
      internal_protocol, and "http" by default.
      
      Change-Id: I730c02331514244e44004aa06e9399c01264c65d
      Closes-Bug: 1884137
      a1584322
  26. Jun 11, 2020
    • Michal Arbet's avatar
      Fix group_vars and cinder template per documentation · f1addfa3
      Michal Arbet authored
      When installing kolla with external ceph, ceph_cinder_user
      var has to be set per documentation instead of ceph_cinder_volume_user.
      This value is also rendered in example etc/kolla/globals.yml file.
      
      This patch is fixing this bug or, let's say typo.
      
      Change-Id: Id82b07867f4bc0e5d5e56363f0122014df6892bc
      f1addfa3
  27. Apr 16, 2020
  28. Apr 03, 2020
  29. Mar 26, 2020
  30. Jan 30, 2020
    • Mark Goddard's avatar
      Python 3: Use distro_python_version for WSGI python_path · c56d273c
      Mark Goddard authored
      Currently the WSGI configuration for binary images uses python2.7
      site-packages in some places. This change uses distro_python_version to
      select the correct python path.
      
      Change-Id: Id5f3f0ede106498b9264942fa0399d7c7862c122
      Partially-Implements: blueprint python-3
      c56d273c
  31. Jan 29, 2020
    • Michal Nasiadka's avatar
      External Ceph: add ceph_*_user variables · fdf3729f
      Michal Nasiadka authored
      To make the configuration easier for the user, and to allow non-standard
      ceph authentication ids - introduce ceph_*_user variables.
      
      Change-Id: I24e01c43c826b62b6748d93a498f4b7d8ce9e309
      fdf3729f
  32. Jan 22, 2020
    • Michal Nasiadka's avatar
      External Ceph: keys as variables · 1f929336
      Michal Nasiadka authored
      Introduce user modifiable variables instead of fixed-names
      of Ceph keyring files for external Ceph functionality.
      
      Change-Id: I1a33b3f9d6eca5babf53b91187461e43aef865ce
      1f929336
  33. 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
  34. Dec 16, 2019
  35. Dec 07, 2019
  36. Oct 24, 2019
  37. 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
  38. Sep 09, 2019
  39. Aug 15, 2019
  40. Jun 24, 2019
Loading