Skip to content
Snippets Groups Projects
  1. Aug 05, 2021
  2. Jul 27, 2021
  3. Jul 22, 2021
    • Mark Goddard's avatar
      ironic: always enable conductor HTTP server · 411668ea
      Mark Goddard authored
      In the Xena release, Ironic removed the iSCSI driver [1]. The
      recommended driver is direct, which uses HTTP to transfer the disk
      image. This requires an HTTP server, and the simplest option is to use
      the one currently deployed when enable_ironic_ipxe is set to true. For
      this reason, this patch always enables the HTTP server running on the
      conductor.
      
      iPXE is still enabled separately, since it cannot currently be used at
      the same time as PXE.
      
      [1] https://review.opendev.org/c/openstack/ironic/+/789382
      
      Change-Id: I30c2ad2bf2957ac544942aefae8898cdc8a61ec6
      411668ea
  4. Jul 21, 2021
    • Pierre Riteau's avatar
      Fix variable names in Octavia documentation · 5e85fe2a
      Pierre Riteau authored
      The variable octavia_amphora_flavor should be octavia_amp_flavor.
      
      The variable for customising network and subnet was only mentioned in
      the example.
      
      Change-Id: I3ba5a7ccc2c810fea12bc48584c064738e5aa35e
      5e85fe2a
  5. Jul 02, 2021
    • Rafael Weingärtner's avatar
      Make setup module arguments configurable · 15f2fdcd
      Rafael Weingärtner authored
      
      Ansible facts can have a large impact on the performance of the Ansible
      control host. This patch introduces some control over which facts are
      gathered (kolla_ansible_setup_gather_subset) and which facts are stored
      (kolla_ansible_setup_filter). By default we do not change the default
      values of these arguments to the setup module. The flexibility of these
      arguments is limited, but they do provide enough for a large performance
      improvement in a typical moderate to large OpenStack cloud.
      
      In particular, the large complex dict fact for each interface has a
      large effect, and on an OpenStack controller or hypervisor there may be
      many virtual interfaces. We can use the kolla_ansible_setup_filter
      variable to help:
      
          kolla_ansible_setup_filter: 'ansible_[!qt]*'
      
      This causes Ansible to collect but not store facts matching that
      pattern, which includes the virtual interface facts. Currently we are
      not referencing other facts matching the pattern within Kolla Ansible.
      Note that including the 'ansible_' prefix causes meta facts module_setup
      and gather_subset to be filtered, but this seems to be the only way to
      get a good match on the interface facts. To work around this, we use
      ansible_facts rather than module_setup to detect whether facts exist in
      the cache.
      
      The exact improvement will vary, but has been reported to be as large as
      18x on systems with many virtual interfaces.
      
      For reference, here are some other tunings tried:
      
      * Increased the number of forks (great speedup depending of the size of
        the deployment)
      * Use `strategy = mitogen_linear` (cut processing time in half)
      * Ansible caching (little speed up)
      * SSH tunning (little speed up)
      
      Co-Authored-By: default avatarMark Goddard <mark@stackhpc.com>
      Closes-Bug: #1921538
      Change-Id: Iae8ca4aae945892f1dc65e1b10381d2e26e88805
      15f2fdcd
  6. Jun 30, 2021
  7. Jun 23, 2021
  8. Jun 07, 2021
    • John Garbutt's avatar
      Reduce RabbitMQ busy waiting, lowering CPU load · 70f6f8e4
      John Garbutt authored
      On machines with many cores, we were seeing excessive CPU load on systems
      that were not very busy. With the following Erlang VM argument we saw
      RabbitMQ CPU usage drop from about 150% to around 20%, on a system with
      40 hyperthreads.
      
          +S 2:2
      
      By default RabbitMQ starts N schedulers where N is the number of CPU
      cores, including hyper-threaded cores. This is fine when you assume all
      your CPUs are dedicated to RabbitMQ. Its not a good idea in a typical
      Kolla Ansible setup. Here we go for two scheduler threads.
      More details can be found here:
      https://www.rabbitmq.com/runtime.html#scheduling
      and here:
      https://erlang.org/doc/man/erl.html#emulator-flags
      
          +sbwt none
      
      This stops busy waiting of the scheduler, for more details see:
      https://www.rabbitmq.com/runtime.html#busy-waiting
      Newer versions of rabbit may need additional flags:
      "+sbwt none +sbwtdcpu none +sbwtdio none"
      But this patch should be back portable to older versions of RabbitMQ
      used in Train and Stein.
      
      Note that information on this tuning was found by looking at data from:
      rabbitmq-diagnostics runtime_thread_stats
      More details on that can be found here:
      https://www.rabbitmq.com/runtime.html#thread-stats
      
      Related-Bug: #1846467
      
      Change-Id: Iced014acee7e590c10848e73feca166f48b622dc
      70f6f8e4
  9. May 31, 2021
  10. May 17, 2021
  11. May 12, 2021
  12. May 11, 2021
  13. Apr 27, 2021
  14. Apr 26, 2021
    • wuchunyang's avatar
      [doc] fix a typo · fc406d03
      wuchunyang authored
      Trivial Fix
      
      Change-Id: Ie08877e339455bed45ee467a87de9648678e88c5
      fc406d03
  15. Apr 19, 2021
    • wuchunyang's avatar
      [doc] introduce octavia tenant management network · 3ba06b87
      wuchunyang authored
      Change-Id: I713f6fafe328e060a71dbb584e61603e547deaf6
      3ba06b87
    • Doug Szumski's avatar
      Extend support for custom Grafana dashboards · d01192c1
      Doug Szumski authored
      The current behaviour is to support supplying a single
      folder of Grafana dashboards which can then be populated
      into a single folder in Grafana. Some users may wish
      to have sub-folders of Dashboards, and load these into
      separate dashboard folders in Grafana via a custom
      provisioning file. For example, a user may have a
      sub-folder of Ceph dashboards that they wish to keep
      separate from OpenStack dashboards. This patch supports
      sub-folders whilst not affecting the original mechanism.
      
      Trivial-Fix
      
      Change-Id: I9cd289a1ea79f00cee4d2ef30cbb508ac73f9767
      d01192c1
    • Mark Goddard's avatar
      docs: Improve policy documentation · 030a9a28
      Mark Goddard authored
      Change-Id: Iede747ceaafa54a00186761943fe2f4ac13f9559
      030a9a28
  16. Apr 07, 2021
  17. Apr 06, 2021
  18. Mar 26, 2021
  19. Mar 25, 2021
  20. Mar 18, 2021
  21. Mar 16, 2021
    • Bartosz Bezak's avatar
      Add support for custom grafana dashboards · a9e30382
      Bartosz Bezak authored
      Allow users to import custom grafana dashboards.
      Dashboards as JSON files should be placed into
      "{{ node_custom_config }}/grafana/dashboards/" folder.
      
      Change-Id: Id0f83b8d08541b3b74649f097b10c9450201b426
      a9e30382
  22. Mar 08, 2021
  23. Mar 07, 2021
  24. Mar 04, 2021
    • Doug Szumski's avatar
      Support bypassing Monasca Log API for control plane logs · ca1a80ab
      Doug Szumski authored
      This change allows a user to forward control plane logs
      directly to Elasticsearch from Fluentd, rather than via
      the Monasca Log API when Monasca is enabled. The Monasca
      Log API can continue to handle tenant logs.
      
      For many use cases this is simpler, reduces resource
      consumption and helps to decouple control plane logging
      services from tenant logging services.
      
      It may not always be desired, so is optional and off by
      default.
      
      Change-Id: I195e8e4b73ca8f573737355908eb30a3ef13b0d6
      ca1a80ab
    • Doug Szumski's avatar
      Support disabling Monasca alerting pipeline · 44409784
      Doug Szumski authored
      The Monasca alerting pipeline provides multi-tenancy alerts and
      notifications. It runs as an Apache Storm topology and generally
      places a significant memory and CPU burden on monitoring hosts,
      particularly when there are lot of metrics. This is fine if the
      alerting service is in use, but sometimes it is not. For example
      you may use Prometheus for monitoring the control plane, and
      wish to offer tenants a monitoring service via Monasca without
      alerting and notification functionality. In this case it makes
      sense to disable this part of the Monasca pipeline and this patch
      adds support for that.
      
      If the service is ever re-enabled, all alerts and notifications
      should spawn back automatically since they are persisted in the
      central mysql database cluster.
      
      Change-Id: I84aa04125c621712f805f41c8efbc92c8e156db9
      44409784
  25. Mar 03, 2021
    • Doug Szumski's avatar
      Disable Monasca Log Metrics service by default · a52d6612
      Doug Szumski authored
      The Log Metrics service is an admin only service. We now have
      support in Fluentd via the Prometheus plugin to create metrics
      from logs. These metrics can be scraped into Monasca or Prometheus.
      It therefore makes sense to deprecate this service, starting by
      disabling it by default, and then removing it in the Xena release.
      This should improve the stability of the Monasca metrics pipeline
      by ensuring that all metrics pass via the Monasca API for
      validation, and ensure that metrics generated from logs are
      available to both Prometheus and Monasca users by default.
      
      Change-Id: I704feb4434c1eece3eb00c19dc5f934fd4bc27b4
      a52d6612
    • Doug Szumski's avatar
      Remove Monasca Log Transformer · 0743a9bf
      Doug Szumski authored
      Historically Monasca Log Transformer has been for log
      standardisation and processing. For example, logs from different
      sources may use slightly different error levels such as WARN, 5,
      or WARNING. Monasca Log Transformer is a place where these could
      be 'squashed' into a single error level to simplify log searches
      based on labels such as these.
      
      However, in Kolla Ansible, we do this processing in Fluentd so
      that the simpler Fluentd -> Elastic -> Kibana pipeline also
      benefits. This helps to avoid spreading out log parsing
      configuration over many services, with the Fluentd Monasca output
      plugin being yet another potential place for processing (which
      should be avoided). It therefore makes sense to remove this
      service entirely, and squash any existing configuration which
      can't be moved to Fluentd into the Log Perister service. I.e.
      by removing this pipeline, we don't loose any functionality,
      we encourage log processing to take place in Fluentd, or at least
      outside of Monasca, and we make significant gains in efficiency
      by removing a topic from Kafka which contains a copy of all logs
      in transit.
      
      Finally, users forwarding logs from outside the control plane,
      eg. from tenant instances, should be encouraged to process the
      logs at the point of sending using whichever framework they are
      forwarding them with. This makes sense, because all Logstash
      configuration in Monasca is only accessible by control plane
      admins. A user can't typically do any processing inside Monasca,
      with or without this change.
      
      Change-Id: I65c76d0d1cd488725e4233b7e75a11d03866095c
      0743a9bf
  26. Mar 02, 2021
  27. Feb 24, 2021
  28. Feb 23, 2021
  29. Feb 16, 2021
  30. Feb 15, 2021
    • Pedro Henrique's avatar
      Add support to OpenID Connect Authentication flow · f3fbe837
      Pedro Henrique authored
      
      This pull request adds support for the OpenID Connect authentication
      flow in Keystone and enables both ID and access token authentication
      flows. The ID token configuration is designed to allow users to
      authenticate via Horizon using an identity federation; whereas the
      Access token is used to allow users to authenticate in the OpenStack CLI
      using a federated user.
      
      Without this PR, if one wants to configure OpenStack to use identity
      federation, he/she needs to do a lot of configurations in the keystone,
      Horizon, and register quite a good number of different parameters using
      the CLI such as mappings, identity providers, federated protocols, and
      so on. Therefore, with this PR, we propose a method for operators to
      introduce/present the IdP's metadata to Kolla-ansible, and based on the
      presented metadata, Kolla-ansible takes care of all of the
      configurations to prepare OpenStack to work in a federated environment.
      
      Implements: blueprint add-openid-support
      Co-Authored-By: default avatarJason Anderson <jasonanderson@uchicago.edu>
      Change-Id: I0203a3470d7f8f2a54d5e126d947f540d93b8210
      f3fbe837
  31. Feb 08, 2021
  32. Feb 03, 2021
Loading