Skip to content
Snippets Groups Projects
  1. Mar 21, 2023
  2. Feb 03, 2023
  3. Dec 06, 2022
  4. Nov 15, 2022
  5. Oct 07, 2022
  6. May 25, 2022
  7. Mar 29, 2022
    • Mark Goddard's avatar
      nova: improve compute service registration failure handling · f1d3ff11
      Mark Goddard authored
      If any nova compute service fails to register itself, Kolla Ansible will
      fail the host that queries the Nova API. This is the first compute host
      in the inventory, and fails in the task:
      
          Waiting for nova-compute services to register themselves
      
      Other hosts continue, often leading to further errors later on. Clearly
      this is not idea.
      
      This change modifies the behaviour to query the compute service list
      until all expected hosts are present, but does not fail the querying
      host if they are not. A new task is added that executes for all hosts,
      and fails only those hosts that have not registered successfully.
      
      Alternatively, to fail all hosts in a cell when any compute service
      fails to register, set nova_compute_registration_fatal to true.
      
      Change-Id: I12c1928cf1f1fb9e28f1741e7fe4968004ea1816
      Closes-Bug: #1940119
      f1d3ff11
  8. Mar 21, 2022
    • Mark Goddard's avatar
      libvirt: add nova-libvirt-cleanup command · 80b311be
      Mark Goddard authored
      Change Ia1239069ccee39416b20959cbabad962c56693cf added support for
      running a libvirt daemon on the host, rather than using the nova_libvirt
      container. It did not cover migration of existing hosts from using a
      container to using a host daemon.
      
      This change adds a kolla-ansible nova-libvirt-cleanup command which may
      be used to clean up the nova_libvirt container, volumes and related
      items on hosts, once it has been disabled.
      
      The playbook assumes that compute hosts have been emptied of VMs before
      it runs. A future extension could support migration of existing VMs, but
      this is currently out of scope.
      
      Change-Id: I46854ed7eaf1d5b5e3ccd8531c963427848bdc99
      80b311be
    • Mark Goddard's avatar
      libvirt: make it possible to run libvirt on the host · 4e41acd8
      Mark Goddard authored
      In some cases it may be desirable to run the libvirt daemon on the host.
      For example, when mixing host and container OS distributions or
      versions.
      
      This change makes it possible to disable the nova_libvirt container, by
      setting enable_nova_libvirt_container to false. The default values of
      some Docker mounts and other paths have been updated to point to default
      host directories rather than Docker volumes when using a host libvirt
      daemon.
      
      This change does not handle migration of existing systems from using
      a nova_libvirt container to libvirt on the host.
      
      Depends-On: https://review.opendev.org/c/openstack/ansible-collection-kolla/+/830504
      
      Change-Id: Ia1239069ccee39416b20959cbabad962c56693cf
      4e41acd8
  9. Mar 10, 2022
    • Mark Goddard's avatar
      libvirt: support SASL authentication · d2d4b53d
      Mark Goddard authored
      In Kolla Ansible OpenStack deployments, by default, libvirt is
      configured to allow read-write access via an unauthenticated,
      unencrypted TCP connection, using the internal API network.  This is to
      facilitate migration between hosts.
      
      By default, Kolla Ansible does not use encryption for services on the
      internal network (and did not support it until Ussuri). However, most
      other services on the internal network are at least authenticated
      (usually via passwords), ensuring that they cannot be used by anyone
      with access to the network, unless they have credentials.
      
      The main issue here is the lack of authentication. Any client with
      access to the internal network is able to connect to the libvirt TCP
      port and make arbitrary changes to the hypervisor. This could include
      starting a VM, modifying an existing VM, etc. Given the flexibility of
      the domain options, it could be seen as equivalent to having root access
      to the hypervisor.
      
      Kolla Ansible supports libvirt TLS [1] since the Train release, using
      client and server certificates for mutual authentication and encryption.
      However, this feature is not enabled by default, and requires
      certificates to be generated for each compute host.
      
      This change adds support for libvirt SASL authentication, and enables it
      by default. This provides base level of security. Deployments requiring
      further security should use libvirt TLS.
      
      [1] https://docs.openstack.org/kolla-ansible/latest/reference/compute/libvirt-guide.html#libvirt-tls
      
      Depends-On: https://review.opendev.org/c/openstack/kolla/+/833021
      Closes-Bug: #1964013
      Change-Id: Ia91ceeb609e4cdb144433122b443028c0278b71e
      d2d4b53d
  10. 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
  11. Feb 17, 2022
    • Alban Lecorps's avatar
      Add support for VMware NSXP · 458c8b13
      Alban Lecorps authored
      NSXP is the OpenStack support for the NSX Policy platform.
      This is supported from neutron in the Stein version. This patch
      adds Kolla support
      
      This adds a new neutron_plugin_agent type 'vmware_nsxp'. The plugin
      does not run any neutron agents.
      
      Change-Id: I9e9d8f07e586bdc143d293e572031368af7f3fca
      458c8b13
  12. Feb 11, 2022
  13. Nov 25, 2021
  14. Apr 26, 2021
    • wuchunyang's avatar
      [doc] fix a typo · fc406d03
      wuchunyang authored
      Trivial Fix
      
      Change-Id: Ie08877e339455bed45ee467a87de9648678e88c5
      fc406d03
  15. Dec 16, 2020
  16. Oct 14, 2020
    • zhoulinhui's avatar
      Revert VMware deprecation · b6846d6e
      zhoulinhui authored
      Nova has reversed their deprecation of the VMware driver, and the Kolla
      community has shown an interest in it.
      
      Change-Id: I82f1074da56ed16c08317d1f92ed7f0a6f4a149a
      b6846d6e
  17. Jul 27, 2020
  18. Jun 09, 2020
  19. Apr 30, 2020
  20. Mar 03, 2020
  21. Feb 08, 2020
  22. Jan 06, 2020
  23. Oct 20, 2019
  24. Oct 17, 2019
  25. 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
  26. Oct 08, 2019
    • Mark Goddard's avatar
      Docs: improve Nova documentation · e91186c6
      Mark Goddard authored
      Adds a top-level guide for Nova, with links off to the various virt
      driver guides.
      
      Generalises the libvirt TLS guide into a libvirt guide, and adds info on
      hardware virtualisation and qemu vs. kvm.
      
      Adds information on configuring consoles.
      
      Change-Id: I36beaaee313bdbc4bcf8cc15c41dda245a5a81ba
      e91186c6
  27. Sep 19, 2019
    • Kris Lindgren's avatar
      Add support for libvirt+tls · f8cfccb9
      Kris Lindgren authored
      To securely support live migration between computenodes we should enable
      tls, with cert auth, instead of TCP with no auth support.
      
      Implements: blueprint libvirt-tls
      
      Change-Id: I22ea6233933c840b853fdcc8e03400b2bf577271
      f8cfccb9
  28. Sep 10, 2019
    • Hongbin Lu's avatar
      Configure Zun for Placement (Train+) · 0f5e0658
      Hongbin Lu authored
      After the integration with placement [1], we need to configure how
      zun-compute is going to work with nova-compute.
      
      * If zun-compute and nova-compute run on the same compute node,
        we need to set 'host_shared_with_nova' as true so that Zun
        will use the resource provider (compute node) created by nova.
        In this mode, containers and VMs could claim allocations against
        the same resource provider.
      * If zun-compute runs on a node without nova-compute, no extra
        configuration is needed. By default, each zun-compute will create
        a resource provider in placement to represent the compute node
        it manages.
      
      [1] https://blueprints.launchpad.net/zun/+spec/use-placement-resource-management
      
      Change-Id: I2d85911c4504e541d2994ce3d48e2fbb1090b813
      0f5e0658
  29. Aug 16, 2019
  30. Aug 15, 2019
  31. Jun 17, 2019
  32. Jun 07, 2019
  33. Jun 05, 2019
    • Gaetan Trellu's avatar
      Improve Qinling documentation · 557193a7
      Gaetan Trellu authored
      - Remove trusted_cidrs that has just been removed from
      Qinling code.
      - Remove use_api_certificate because it's true by default
      - Improve list syntax
      - Add etcd section
      
      Change-Id: I0426a9d61fbeaa23a1affbc7e981a78283e88263
      557193a7
  34. May 31, 2019
    • Gaetan Trellu's avatar
      Adds Qinling Ansible role · edb34898
      Gaetan Trellu authored
      Qinling is an OpenStack project to provide "Function as a Service".
      This project aims to provide a platform to support serverless functions.
      
      Change-Id: I239a0130f8c8b061b531dab530d65172b0914d7c
      Implements: blueprint ansible-qinling-support
      Story: 2005760
      Task: 33468
      edb34898
  35. Feb 28, 2019
    • Mark Goddard's avatar
      Update links in docs to latest · fba5e1ce
      Mark Goddard authored
      To avoid links to OpenStack docs getting out of date in our docs, use
      the latest version.
      
      Ideally after cutting each stable branch we should change these links to
      use the current release.
      
      Co-Authored-By: Isaiah Inuwa
      Change-Id: Ia1e3c720f4e688861b8f76874a3943b0f4e50b17
      fba5e1ce
  36. Nov 23, 2018
Loading