Skip to content
Snippets Groups Projects
  1. Apr 30, 2020
    • James Kirsch's avatar
      Add support for encrypting Horizon and Placement API · e3d5a91a
      James Kirsch authored
      This patch introduces an optional backend encryption for Horizon and
      Placement services. 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 Horizon and Placement services.
      
      Change-Id: I9cb274141c95aea20e733baa623da071b30acf2d
      Partially-Implements: blueprint add-ssl-internal-network
      e3d5a91a
    • James Kirsch's avatar
      Add support for encrypting Glance api · f87814f7
      James Kirsch authored
      Add TLS support for Glance api using HAProxy to perform TLS termination.
      
      Change-Id: I77051baaeb5d3f7dd9002262534e7d35f3926809
      Partially-Implements: blueprint add-ssl-internal-network
      f87814f7
  2. Apr 29, 2020
  3. Apr 28, 2020
  4. Apr 27, 2020
  5. Apr 26, 2020
    • Radosław Piliszek's avatar
      Fix haproxy restarting twice per Ansible run · 04effaa9
      Radosław Piliszek authored
      Since haproxy is orchestrated via site.yml in a single play,
      it does not need flushing handlers as handlers run will
      happen at the end of this play.
      
      Change-Id: Ia3743575da707325be93c39b4a2bcae9211cacb2
      Related-Bug: #1864810
      Closes-Bug: #1875228
      04effaa9
  6. Apr 24, 2020
    • Nick Jones's avatar
      [skydive] fix: Use Keystone backend to authenticate API users · 7e5aa637
      Nick Jones authored
      Update Skydive Analyzer's configuration to use Keystone as its backend
      for authenticating users.  Any user with a role in the project defined
      by the variable skydive_admin_tenant_name will be able to access
      Skydive.
      
      Change-Id: I64c811d5eb72c7406fd52b649fa00edaf2d0c07b
      Closes-Bug: 1870903
      7e5aa637
    • Mark Goddard's avatar
      Add docs and release note for CentOS 8 · 8cf8ab4e
      Mark Goddard authored
      Adds a support matrix page to documentation.
      
      Change-Id: Ia783f7c42219617cde2accd3f1db013c9bda7679
      8cf8ab4e
    • James Kirsch's avatar
      Add support for encrypting heat api · ff842922
      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/
      ff842922
  7. Apr 22, 2020
  8. Apr 21, 2020
  9. Apr 20, 2020
  10. Apr 17, 2020
  11. Apr 16, 2020
    • Michal Nasiadka's avatar
      OVN: Followup changes · ca380e6d
      Michal Nasiadka authored
      Followup of last reviews from [1].
      
      [1]: https://review.opendev.org/#/c/696841
      
      Change-Id: I7085093b20e8848e09dc521ae9fbf120e909470d
      ca380e6d
    • zhangmeng's avatar
      Add support for encrypting cinder api. · c8ada707
      zhangmeng authored
      Change-Id: I4673f436d8943e6fce7e579446c27ec8215b7346
      c8ada707
    • Jason Anderson's avatar
      [horizon] Move 'balance' HAProxy keyword · 5c760df3
      Jason Anderson authored
      The "balance" keyword is not valid in a frontend section. From the
      HAProxy documentation[1]:
      
      balance <algorithm> [ <arguments> ]
      balance url_param <param> [check_post [<max_wait>]]
        Define the load balancing algorithm to be used in a backend.
        May be used in sections :   defaults | frontend | listen | backend
                                       yes   |    no    |   yes  |   yes
      
      When running HAProxy using the "split" template style, where a
      frontend/backend pair are used instead of one listen section, HAProxy
      will emit warnings for the Horizon config due to this.
      
      [1]: https://www.haproxy.org/download/1.5/doc/configuration.txt
      
      Closes-Bug: #1872540
      Change-Id: I91cee275d91a51944298618493f4ea0cd80282cc
      5c760df3
    • lixuehai's avatar
      Fix Octavia CA cert paths · ea4505f1
      lixuehai authored
      This fixes Octavia in scenarios requiring providing
      CA cert (self-signed, internally-signed).
      
      Change-Id: I60b7ec85f4fd8bbacf5df0ab7ed9a00658c91871
      Closes-Bug: #1872404
      ea4505f1
  12. Apr 15, 2020
  13. Apr 14, 2020
    • Mark Goddard's avatar
      Fix nova compute addition with limit · 3af28d21
      Mark Goddard authored
      Deploy a small cloud. Add one host to the compute group in the
      inventory, and scale out:
      
      $ kolla-ansible deploy --limit <new compute host>
      
      The command succeeds, but creating an instance fails with the following:
      
          Host 'compute0' is not mapped to any cell
      
      This happens because we only discover computes on the first host in the
      cell's nova conductor group. If that host is not in the specified limit,
      the discovery will not happen.
      
      This change fixes the issue by running compute discovery when any ironic
      or virtualised compute hosts are in the play batch, and delegating it to
      a conductor.
      
      Change-Id: Ie984806240d147add825ffa8446ae6ff55ca4814
      Closes-Bug: #1869371
      3af28d21
    • Jason Anderson's avatar
      [haproxy-config] Fix missing servers in split cfg · 6d00236e
      Jason Anderson authored
      When using the split config style, all backends would be empty, which
      meant that HAProxy was unable to serve any traffic. This turned out to
      be due to a bad default in the split config template.
      
      Closes-Bug: #1872545
      Change-Id: I952e526e735e1d31445963f04d41d66bbdbfdee4
      Unverified
      6d00236e
  14. 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
  15. Apr 11, 2020
    • Rafael Weingärtner's avatar
      Allow operators to use "ceilometer-upgrade" parameters · 6fcccdae
      Rafael Weingärtner authored
      Allow operators to use custom parameters with the ceilometer-upgrade
      command. This is quite useful when using the dynamic pollster subsystem;
      that sub-system provides flexibility to create and edit pollsters configs,
      which affects gnocchi resource-type configurations. However, Ceilometer
      uses default and hard-coded resource-type configurations; if one customizes
      some of its default resource-types, he/she can get into trouble during
      upgrades. Therefore, the only way to work around it is to use the
      "--skip-gnocchi-resource-types" flag. This PR introduces a method for
      operators to execute such customization, and many others if needed.
      
      Depends-On: https://review.opendev.org/#/c/718190/
      Change-Id: I92f0edba92c9e3707d89b3ff4033ac886b29cf6d
      6fcccdae
  16. Apr 09, 2020
    • Dincer Celik's avatar
      Introduce /etc/timezone to Debian/Ubuntu containers · 4b5df0d8
      Dincer Celik authored
      Some services look for /etc/timezone on Debian/Ubuntu, so we should
      introduce it to the containers.
      
      In addition, added prechecks for /etc/localtime and /etc/timezone.
      
      Closes-Bug: #1821592
      Change-Id: I9fef14643d1bcc7eee9547eb87fa1fb436d8a6b3
      4b5df0d8
    • John Garbutt's avatar
      Fix live migration to use migration int. address · 628c27ce
      John Garbutt authored
      In kolla ansible we typically configure services to communicate via IP
      addresses rather than hostnames. One accidental exception to this was
      live migration, which used the hostname of the destination even when
      not required (i.e. TLS not being used for libvirt).
      
      To make such hostnames work, k-a adds entries to /etc/hosts in the
      bootstrap-servers command. Alternatively users may provide DNS.
      
      One problem with using /etc/hosts is that, if a new compute host is
      added to the cloud, or an IP address is changed, that will not be
      reflected in the /etc/hosts file of other hosts. This would cause live
      migration to the new host from an old host to fail, as the name cannot
      be resolved.
      
      The workaround for this was to update the /etc/hosts file (perhaps via
      bootstrap-servers) on all hosts after adding new compute hosts. Then the
      nova_libvirt container had to be restarted to pick up the change.
      
      Similarly, if user has overridden the migration_interface, the used
      hostname could point to a wrong address on which libvirt would not
      listen.
      
      This change adds the live_migration_inbound_addr option to nova.conf. If
      TLS is not in use for libvirt, this will be set to the IP address of the
      host on the migration network. If TLS is enabled for libvirt,
      live_migration_inbound_addr will be set to migration_hostname, since
      certificates will typically reference the hostname rather than the
      host's IP. With libvirt TLS enabled, DNS is recommended to avoid the
      /etc/hosts issue which is likely the case in production deployments.
      
      Change-Id: I0201b46a9fbab21433a9f53685131aeb461543a8
      Closes-Bug: #1729566
      628c27ce
    • James Kirsch's avatar
      Add support for encrypting backend Keystone HAProxy traffic · b475643c
      James Kirsch authored
      This patch introduces an optional backend encryption for Keystone
      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 Keystone service.
      
      Change-Id: I6351147ddaff8b2ae629179a9bc3bae2ebac9519
      Partially-Implements: blueprint add-ssl-internal-network
      b475643c
    • Michal Nasiadka's avatar
      OVN Support · 8a0740df
      Michal Nasiadka authored
      Implement OVN Ansible role.
      
      Implements: blueprint ovn-controller-neutron-ansible
      
      Depends-On: https://review.opendev.org/713422
      Change-Id: Icd425dea85d58db49c838839d8f0b864b4a89a78
      8a0740df
  17. Apr 08, 2020
    • Mark Goddard's avatar
      Fix monasca deployment due to monasca_log_dir · 3310a142
      Mark Goddard authored
      Monasca deployment fails on master due to an invalid variable reference
      (monasca_log_dir) in the config.json for monasca API and monasca log
      API.
      
      This change fixes the issue by correcting the variable definition.
      
      Change-Id: I2ec497fa430c2f301dca6a7653ac988e49007469
      Closes-Bug: #1864181
      3310a142
    • Mark Goddard's avatar
      Fix kibana deployment with openstack_cacert unset · 6bae6da3
      Mark Goddard authored
      When deploying Kibana with the default configuration of openstack_cacert
      being unset, it fails due to an invalid configuration. The error message
      is both unfriendly and useful:
      
      "message":"child \"elasticsearch\" fails because [child \"ssl\" fails
      because [child \"certificateAuthorities\" fails because [single value of
      \"certificateAuthorities\" fails because [\"certificateAuthorities\"
      must be a string]]]]"}
      
      This is because we set elasticsearch.ssl.certificateAuthorities even
      when there is no CA cert configured.
      
      This change fixes the issue by only setting
      elasticsearch.ssl.certificateAuthorities when a CA cert is configured.
      
      Change-Id: I5954751451b7c931e8a9d79c713a2798522d8b81
      Closes-Bug: #1864180
      6bae6da3
  18. Apr 02, 2020
    • Mark Goddard's avatar
      Separate per-service host configuration tasks · fdea19a3
      Mark Goddard authored
      Currently there are a few services that perform host configuration
      tasks. This is done in config.yml. This means that these changes are
      performed during 'kolla-ansible genconfig', when we might expect not to
      be making any changes to the remote system.
      
      This change separates out these host configuration tasks into a
      config-host.yml file, which is included directly from deploy.yml.
      
      One change in behaviour is that this prevents these tasks from running
      during an upgrade or genconfig. This is probably what we want, but we
      should be careful when any of these host configuration tasks are
      changed, to ensure they are applied during an upgrade if necessary.
      
      Change-Id: I001defc75d1f1e6caa9b1e11246abc6ce17c775b
      Closes-Bug: #1860161
      fdea19a3
    • Mark Goddard's avatar
      Avoid unconditional fact gathering · e0ba55a8
      Mark Goddard authored
      One way to improve the performance of Ansible is through fact caching.
      Rather than gather facts in every play, we can configure Ansible to
      cache them in a persistent store. An example Ansible configuration for
      doing this is as follows:
      
      [defaults]
      gathering = smart
      fact_caching = jsonfile
      fact_caching_connection = ./facts
      fact_caching_timeout = 86400
      
      This does not affect Kolla Ansible however, since we use the setup
      module which unconditionally gathers facts regardless of the state of
      the cache. This gets worse with large inventories limited to a small
      batch of hosts via --limit or serial, since the limited hosts must
      gather facts for all others.
      
      One way to detect whether facts exist for a host is via the
      'module_setup' variable, which exists only when facts exist. This change
      uses the 'module_setup' fact to determine whether facts need to be
      gathered for hosts outside of the batch. For hosts in the batch, we
      switch from using the setup module to gather_facts on the play, which
      can use the 'smart' gathering logic.
      
      Change-Id: I04841fb62b2e1d9e97ce4b75ce3a7349b9c74036
      Partially-Implements: blueprint performance-improvements
      e0ba55a8
  19. Apr 01, 2020
    • Radosław Piliszek's avatar
      Fix ovs fw driver for the other ovs agent · c033ddca
      Radosław Piliszek authored
      In [1] only neutron-openvswitch-agent was fixed and not xenapi.
      That merged in Ussuri and went cleanly into Train.
      In Stein and Rocky, the backport was not clean and
      accidentally fixed xenapi instead of the regular one.
      
      Neither the original bug nor its incomplete fix were released,
      except for Rocky. :-(
      Hence this patch also removes the confusing reno instead of
      adding a new one.
      
      [1] https://review.opendev.org/713129
      
      Change-Id: I331417c8d61ba6f180bcafa943be697418326645
      Closes-bug: #1869832
      Related-bug: #1867506
      c033ddca
  20. Mar 30, 2020
    • Doug Szumski's avatar
      Support setting Kafka storage volume · b7588834
      Doug Szumski authored
      Not everyone wants Kafka data stored on a Docker volume. This
      change allows a user to flexibly control where the data is stored.
      
      Change-Id: I2ba8c7a85c7bf2564f954a43c6e6dbb3257fe902
      b7588834
  21. Mar 27, 2020
  22. Mar 26, 2020
  23. Mar 25, 2020
    • Mark Goddard's avatar
      Fix HAProxy prechecks during scale-out with limit · f3350d4e
      Mark Goddard authored
      Deploy HAProxy on one or more servers. Add another server to the
      inventory in the haproxy group, and run the following:
      
      kolla-ansible prechecks --limit <new host>
      
      The following task will fail:
      
          TASK [haproxy : Checking if kolla_internal_vip_address and
          kolla_external_vip_address are not pingable from any node]
      
      This happens because ansible does not execute on hosts where
      haproxy/keepalived is running, and therefore does not know that the VIP
      should be active.
      
      This change skips VIP prechecks when not all HAProxy hosts are in the
      play.
      
      Closes-Bug: #1868986
      
      Change-Id: Ifbc73806b768f76f803ab01c115a9e5c2e2492ac
      f3350d4e
  24. Mar 23, 2020
    • Mark Goddard's avatar
      Fix kolla-ansible stop with heterogeneous hosts · 89df07e8
      Mark Goddard authored
      The 'kolla-ansible stop' command can be used to stop the services
      running on hosts. However, if you run this command in an environment
      with heterogeneous nodes (most real world scenarios have at least
      control/compute), then it fails. This is because it only checks
      whether a container is enabled, and not whether the host is in the
      correct group. For example, it fails with nova-libvirt:
      
          No such container: nova_libvirt to stop.
      
      This change fixes the issue by only attempting to stop containers on
      hosts to which they are mapped.
      
      Change-Id: Ibecac60d1417269bbe25a280996ca9de6e6d018f
      Closes-Bug: #1868596
      89df07e8
  25. Mar 20, 2020
    • Doug Szumski's avatar
      Support disabling Prometheus server · 505cded2
      Doug Szumski authored
      This is useful to people who manage their Prometheus Server
      externally to Kolla Ansible, or want to use the exporters with
      another framework such as Monasca.
      
      Change-Id: Ie3f61e2e186c8e77e21a7b53d2bd7d2a27eee18e
      505cded2
Loading