Skip to content
Snippets Groups Projects
  1. Sep 21, 2021
    • Skylar Kelty's avatar
      Add support for apt proxy setting · f24b3176
      Skylar Kelty authored
      Add support for configuring apt's proxy setting on Ubuntu hosts.
      
      Change-Id: Iea1daff70fca5cf49f4e7f44af71a900678bb5c9
      Story: 2009035
      Task: 42782
      f24b3176
  2. Sep 14, 2021
  3. Sep 07, 2021
  4. Aug 21, 2021
    • Mark Goddard's avatar
      Use ansible_facts to reference facts · f639ad0b
      Mark Goddard authored
      By default, Ansible injects a variable for every fact, prefixed with
      ansible_. This can result in a large number of variables for each host,
      which at scale can incur a performance penalty. Ansible provides a
      configuration option [0] that can be set to False to prevent this
      injection of facts. In this case, facts should be referenced via
      ansible_facts.<fact>.
      
      This change updates all references to Ansible facts within Kayobe
      from using individual fact variables to using the items in the
      ansible_facts dictionary. This allows users to disable fact variable
      injection in their Ansible configuration, which may provide some
      performance improvement.
      
      This change disables fact variable injection in the ansible
      configuration used in CI, to catch any attempts to use the injected
      variables.
      
      [0] https://docs.ansible.com/ansible/latest/reference_appendices/config.html#inject-facts-as-vars
      
      Story: 2007993
      Task: 42464
      Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/791276
      
      Change-Id: I14db53ed6e57d37bbd28dd5819e432e3fe6628b2
      f639ad0b
  5. Aug 12, 2021
  6. Jul 23, 2021
    • Pierre Riteau's avatar
      Remove stale DIB_DISABLE_KERNEL_CLEANUP references · d4bbdada
      Pierre Riteau authored
      Documentation about DIB_DISABLE_KERNEL_CLEANUP was left in place after
      the variable was removed in Ie25e88bb96f186399ae69837e93185127628ce86.
      
      Backport: wallaby, victoria, ussuri
      
      Change-Id: Iddb699aa98ddee8446d532ce4bd23ba9174fb38e
      d4bbdada
  7. Jun 10, 2021
  8. May 11, 2021
    • Mark Goddard's avatar
      Make docker registry network mode configurable · e187ad79
      Mark Goddard authored
      Adds a new flag, 'docker_registry_network_mode', which defaults to
      'host'. This may be used to set the network mode of the Docker registry
      container.
      
      This is a follow up to I404dd52701426a10c2e92727bd52b7fd7112abf6, which
      changed the network mode from the default of bridge to host. It allows
      that change to be backported to stable branches, without modifying the
      default value.
      
      Change-Id: Ic8ec3bb98f8f016e1d089bf10bd0538264394241
      e187ad79
  9. May 07, 2021
  10. May 05, 2021
  11. Apr 21, 2021
    • Mark Goddard's avatar
      Ubuntu: support policy-based routing in systemd-networkd · 181352f1
      Mark Goddard authored
      This change adds support for policy-based routing via systemd-networkd.
      Due to differences in the configuration mechanism, routing policy
      rules are configured via dicts for Ubuntu, while remaining as strings
      on CentOS. Ideally we would support both formats.
      
      Story: 2004960
      Task: 42217
      
      Change-Id: I77aec0160eb7e4dd763326bfe6e3d9a44b248108
      181352f1
    • Mark Goddard's avatar
      Ubuntu: support systemd-networkd · 3bbf736d
      Mark Goddard authored
      This change adds support for network configuration via systemd-networkd
      on Ubuntu systems.
      
      This is implemented via an Ansible Galaxy role,
      stackhpc.systemd_networkd which was forked from
      aruhier.systemd_networkd. Several improvements were made in
      https://github.com/stackhpc/ansible-role-systemd-networkd/pull/1,
      including:
      
      * Add support for removing unexpected config files
      * Use become where necessary
      * Refactor config generation into a single task to improve performance
      
      The systemd_networkd role does not add much abstraction on top of the
      systemd-networkd configuration file format, which provides a lot of
      flexibility at the expense of additional code in Kayobe. This code is
      implemented as filter plugins, similarly to the existing
      MichaelRigart.interfaces role.
      
      This patch includes support for:
      
      * Ethernet interfaces
      * bridges
      * bonds
      * VLANs
      * virtual Ethernet pairs (to connect Linux bridges and OVS bridges)
      * static IP addresses
      * static routes
      * MTU
      
      Some network attributes are currently not supported for
      systemd-networkd:
      
      * rules
      * route options
      * ethtool_opts
      * zone
      * allowed addresses
      
      Story: 2004960
      Task: 41881
      
      Change-Id: I248b5bb9ce5a80a07a2a311cb3aca6daca920720
      3bbf736d
  12. Apr 01, 2021
    • Mark Goddard's avatar
      Support additional pass through host variables · 45a79638
      Mark Goddard authored
      Allow passing through additional host variables from Kayobe to Kolla
      Ansible without overriding the entire list.
      
      * kolla_seed_inventory_pass_through_host_vars_extra
      * kolla_seed_inventory_pass_through_host_vars_map_extra
      * kolla_overcloud_inventory_pass_through_host_vars_extra
      * kolla_overcloud_inventory_pass_through_host_vars_map_extra
      
      Story: 2008797
      Task: 42201
      
      Change-Id: I41d9169f0312108e42bb12c52c6c7ee2509cf2ab
      45a79638
  13. Mar 31, 2021
  14. Feb 25, 2021
  15. Feb 19, 2021
    • Pierre Riteau's avatar
      Add ipa_build_upper_constraints_file variable · 56c1a886
      Pierre Riteau authored
      This variable allows to customise the upper constraints file used to
      install packages inside the ipa-build-dib virtual environment. This can
      be used when we need a newer version of diskimage-builder than the one
      available in upper constraints for the current release.
      
      Change-Id: Idbe57e7edc3fae25153f5e24ad6b7847b1c4660c
      56c1a886
  16. Feb 11, 2021
  17. Feb 03, 2021
    • Mark Goddard's avatar
      Add documentation for routed control plane networks · 7f7c4e2a
      Mark Goddard authored
      Kayobe currently supports definition of various different networks -
      public, internal, tunnel, etc. These typically map to a VLAN or flat
      network, with an IP subnet. When a cloud exceeds the size of a single
      VLAN/subnet, this approach no longer works.
      
      One way to resolve this is to have multiple subnets that map to a single
      logical network, and provide routing between them. This is a similar
      concept to neutron's routed networks, but for the control plane.
      
      This change provides documentation for the currently tested parts of
      this feature.
      
      Change-Id: Ic06c6d4fff0fa568eb9ed3a9c30ce21c7699d965
      Story: 2008180
      Task: 40938
      7f7c4e2a
  18. Nov 19, 2020
  19. Oct 05, 2020
    • Mark Goddard's avatar
      Add variables for API VIP address and FQDN · 1862e24b
      Mark Goddard authored
      Kayobe currently supports definition of various different networks -
      public, internal, tunnel, etc. These typically map to a VLAN or flat
      network, with an IP subnet. When a cloud exceeds the size of a single
      VLAN/subnet, this approach no longer works.
      
      One way to resolve this is to have multiple subnets that map to a single
      logical network, and provide routing between them. This is a similar
      concept to neutron's routed networks, but for the control plane.
      
      An issue arising from this is that if different hosts can have different
      network definitions for the internal and public networks, it is no
      longer trivial to use a network attribute [1] to specify the VIP address
      and FQDN. Furthermore, the play that generates Kolla Ansible's
      globals.yml containing the VIP and FQDN variables runs as localhost,
      which does not necessarily have the internal and public networks
      defined.
      
      To resolve this, we add global variables for the VIPs and FQDNs. The
      default values are as before, except in the case where HAProxy is
      disabled, which we no longer provide a useful default for. That
      configuration is very rarely used in practice, and the need to reference
      the IP address of a host in the network group makes it difficult to
      define safely.
      
      [1] https://docs.openstack.org/kayobe/latest/configuration/reference/network.html#global-network-configuration
      
      Story: 2008180
      Task: 40937
      
      Change-Id: I2c428ffc2b285aee03d8f59ae7cd3fb7230ce4ae
      1862e24b
    • Mark Goddard's avatar
      Switch default docker storage driver to overlay2 · 869185ea
      Mark Goddard authored
      
      To avoid switching existing deployments from devicemapper to overlay2,
      we check the existing storage driver configuration directly with the
      Docker daemon, or if unreachable by reading the /etc/docker/daemon.json
      configuration file.
      
      Co-Authored-By: default avatarPierre Riteau <pierre@stackhpc.com>
      Story: 2005667
      Task: 30972
      
      Change-Id: Iaf2ee8c9f302f4684ae039bb00b2e2e5969cf1fc
      869185ea
  20. Sep 23, 2020
  21. Sep 22, 2020
    • Mark Goddard's avatar
      Performance: Parallelise Kolla Ansible host vars generation · b12f9e35
      Mark Goddard authored
      Kayobe generates a host_vars file for each host in the Kolla Ansible
      inventory. These contain network interfaces and other host-specific
      things. Currently this is done by iterating over all hosts, which does
      not scale well with a large number of hosts.
      
      This change extracts the host vars generation into a separate role, and
      executes it in a play targeted at all hosts, with delegate_to:
      localhost. This ensures that host variable files are generated in
      parallel.
      
      Story: 2007993
      Task: 40629
      
      Change-Id: Iae75e17024adee9c2874c14d3ed36f4c87ba48d7
      b12f9e35
  22. Sep 21, 2020
    • Mark Goddard's avatar
      Docker registry basic auth · 7b80482a
      Mark Goddard authored
      Adds support for HTTP basic authentication with the Docker registry.
      
      The kolla docker registry password is now written to passwords.yml.
      
      Change-Id: Ie6e854a66a6660d4e02771fe2b5dd97af814194d
      Story: 2007952
      Task: 40429
      7b80482a
  23. Sep 17, 2020
    • Mark Goddard's avatar
      Remove support for deprecated Yum variables · 26cea075
      Mark Goddard authored
      The variables in yum.yml and yum-cron.yml were deprecated in Ussuri.
      This patch removes them, and updates the defaults in dnf.yml.
      
      Story: 2008160
      Task: 40906
      
      Change-Id: I97cc98dd2ff726e5885fefcab17f17796d9fd453
      26cea075
  24. Aug 28, 2020
Loading