Skip to content
Snippets Groups Projects
  1. Jan 05, 2023
  2. 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
  3. 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
  4. 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
  5. Mar 24, 2022
    • Michał Nasiadka's avatar
      designate: Allow to disable notifications · a19e1eb4
      Michał Nasiadka authored
      Designate sink is an optional service that consumes notifications,
      users should have an option to disable it when they don't use them.
      
      Change-Id: I1d5465d9845aea94cff39ff5158cd8b1dccc4834
      a19e1eb4
  6. Aug 06, 2021
  7. Jun 22, 2021
  8. 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
  9. 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
  10. Apr 13, 2020
    • Radosław Piliszek's avatar
      Fix Designate not to use etcd coordination backend · 3c234603
      Radosław Piliszek authored
      etcd via tooz does not support group membership required by
      Designate coordination.
      The best k-a can do is not to configure etcd in Designate.
      
      Change-Id: I2f64f928e730355142ac369d8868cf9f65ca357e
      Closes-bug: #1872205
      Related-bug: #1840070
      3c234603
  11. Apr 03, 2020
  12. 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
  13. Dec 07, 2019
  14. 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
  15. Sep 30, 2019
    • Joseph M's avatar
      [designate] Add coordination backend for designate workers · 9cae6083
      Joseph M authored
      Add coordination backend configuration to designate.conf which is
      required in multinode environments. Fixes warning from designate:
      
      WARNING designate.coordination [-] No coordination backend configured,
      assuming we are the only worker. Please configure a coordination backend
      
      Change-Id: I23c4d2de7e3f9368795c423000a4f9a6c3a431e2
      Closes-Bug: #1843842
      Related-Bug: #1840070
      9cae6083
  16. Sep 15, 2019
  17. Aug 15, 2019
    • Rafael Weingärtner's avatar
      Standardize the configuration of "oslo_messaging" section · 22a6223b
      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: default avatarRafael Weingärtner <rafael@apache.org>
      22a6223b
  18. Mar 06, 2019
    • Jim Rollenhagen's avatar
      Allow designate services to use independent hostnames · 76b6d41e
      Jim Rollenhagen authored
      This allows designate service endpoints to use custom hostnames, and adds
      the
      following variables:
      
      * designate_internal_fqdn
      * designate_external_fqdn
      
      These default to the old values of kolla_internal_fqdn or
      kolla_external_fqdn.
      
      This also adds a designate_api_listen_port option, which defaults to
      designate_api_port for backward compatibility.
      
      This option 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: I654bb3d1109b96cbaff6f450655cd65f349a94e6
      Implements: blueprint service-hostnames
      76b6d41e
    • 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
  19. Aug 07, 2018
  20. Apr 18, 2018
    • Kevin TIBI's avatar
      Fix SSL api for multiple services · a81a5d5d
      Kevin TIBI authored
      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
      a81a5d5d
  21. Mar 26, 2018
  22. Jan 22, 2018
  23. Jan 11, 2018
    • Pierre Hanselmann's avatar
      Designate/Neutron communicaton failure · f11042ac
      Pierre Hanselmann authored
      Designate communicate on publicURL (Default) endpoint with Neutron.
      When TLS is enabled it generates errors (Missing certificate). We
      need to ensure designate communicate with neutron on internalURL.
      
      Change-Id: Ie969fc2d1a2d4241371b459af2fc5b7bdf236bf0
      Closes-Bug: #1742625
      f11042ac
  24. Dec 07, 2017
    • caowei's avatar
      Implement designate-producer service · b82f5cc9
      caowei authored
      Depends-On: Ia22128e5ce4a717612af658d63258e78e52176ad
      Implements: blueprint designate-producer
      
      Change-Id: I98b5e99e8fcfe18fde442b317348ec261f4d2f99
      b82f5cc9
  25. 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
  26. Sep 14, 2017
  27. Jul 10, 2017
    • Bertrand Lallau's avatar
      Fix designate-api listen interface · f8bbba55
      Bertrand Lallau authored
      designate-api service is launched using dns_interface instead of api_interface.
      Haproxy is using the good interface (api_interface), hence designate_api
      can't be accessed.
      
      Change-Id: I24e356c167c931a6b69a283efba12117fcff936a
      Closes-Bug: #1703425
      f8bbba55
  28. Jul 06, 2017
  29. Jun 21, 2017
    • Eduardo Gonzalez's avatar
      Move mDNS to network nodes · 1f1d91b9
      Eduardo Gonzalez authored
      mDNS publish DNS services to designate service customers.
      Only network node should be reachable by public networks.
      
      Change-Id: Id2947df89d2d831d67e006a581ac88b4ecf8ce04
      Closes-Bug: #1693918
      1f1d91b9
  30. May 29, 2017
  31. May 23, 2017
  32. Mar 13, 2017
    • Bertrand Lallau's avatar
      Designate: manage Api and Central services workers · 1c5e6a59
      Bertrand Lallau authored
      Api and Central Designate services are not configured and will be set to
      4 (default value). In an "all-in-one" config it's very helpful to
      minimize used resources by setting openstack_service_workers to 1.
      
      Change-Id: Iafa460859e4b6004ae202bb878da77add08d7a5f
      Closes-Bug: #1672413
      1c5e6a59
  33. Feb 03, 2017
    • Eduardo Gonzalez's avatar
      Integrate designate with neutron · e516ea50
      Eduardo Gonzalez authored
      Integrate designate service with neutron to allow instances
      and floatingip resolve designate dns.
      MDNS service need to be reachable from nova instances
      in order to resolve DNS queries.
      Added new dns_interface to make this configurable.
      Add designate guide.
      
      Closes-Bug: #1661330
      
      Change-Id: I5a2ac5cf2a9aa0977ae42d53dd64699623ddf3ed
      e516ea50
  34. Jan 05, 2017
Loading