We are stoked to announce the release of: kayobe 5.0.0: Deployment of OpenStack to bare metal using OpenStack kolla and bifrost This release is part of the rocky stable release series. The source is available from: https://git.openstack.org/cgit/openstack/kayobe Download the package from: https://tarballs.openstack.org/kayobe/ Please report issues through launchpad: https://storyboard.openstack.org/#!/project/openstack/kayobe For more details, please see below. 5.0.0 ^^^^^ New Features ************ * Added commands to enable and disable the Ironic serial console. This allows you to use the serial console from within Horizon. * Added the ability to configure baremetal serial consoles during the post configure step. This is controlled via "ironic_serial_console_autoenable" in "etc/kayobe/ironic.yml". * Adds support for specifying a CA certificate when accessing APIs. The path to the CA certificate may be specified via "openstack_cacert" , which takes its default value from the "OS_CACERT" environment variable. See story 2004911 for details. * Adds support for the "defroute" network attribute. This attribute can be used to disable configuration of the default gateway by a specific interface. This is particularly useful to ignore a gateway address provided via DHCP. Note that this attribute is only supported on distributions of the Red Hat family. * Adds support for configuring the Docker Registry by providing environment variables to its container via the "docker_registry_env" Ansible variable. For example, the registry can be configured as a pull through cache to Docker Hub using: docker_registry_env: REGISTRY_PROXY_REMOTEURL: "https://registry-1.docker.io" Note that it is not possible to push to a registry configured as a pull through cache. See story 2004817 for details and the Docker documentation for the full list of configuration options. * Supports fluentd custom input configuration * Add commands to run commands on seed hypervisor, seed and overcloud hosts: "kayobe seed hypervisor host command run --command <command>" "kayobe seed host command run --command <command>" "kayobe overcloud host command run --command <command>" * Adds support for setting the *kolla_external_fqdn_cacert* variable which allows customizing the CA certificate file to be used as the OS_CACERT environment variable in openrc files when TLS is enabled. * Kayobe no longer requires a checkout of the source code repository to function. The files needed to run kayobe are now shipped as part of the python package. Please see: Story 2004252 (https://storyboard.openstack.org/#!/story/2004252/) for more details. * Adds support for a "--disable-discovery" argument to the "kayobe physical network configure" command. This can be used to configure the physical network after discovery of bare metal compute nodes is complete, to return the network to a normal state. The interface configuration to be applied is configured via "switch_interface_config_disable_discovery". * Updates dependencies to use the OpenStack Rocky release. * Adds support for including or excluding files from the output of "kayobe overcloud service configuration save". This is particularly useful for large files such as the Ironic IPA images. * Adds support for configuring LVM volume groups on the seed hypervisor. Setting the "seed_hypervisor_lvm_groups" variable in "$KAYOBE_CONFIG_PATH/seed-hypervisor.yml" to ""{{ seed_hypervisor_lvm_groups_with_data }}"" and providing a list of storage devices via the "seed_hypervisor_lvm_group_data_disks" variable will configure a logical volume mounted to "/var/lib/libvirt/images". No LVM volume groups are configured by default. * Adds a new command to upgrade containerised seed services, "kayobe seed service upgrade". * Adds support for configuration of options in "/etc/yum.conf", via the "yum_config" variable. Upgrade Notes ************* * When enabled, a Docker Registry is now deployed on hosts in the "docker-registry" group, which defaults to include the seed. The existing behaviour of deploying on the first controller can be retained by removing the seed group from "[docker- registry:children]" in "$KAYOBE_CONFIG_PATH/inventory/groups` and creating a ``[docker-registry]" group including the name of the first controller. * Modifies the default value of "docker_registry_image" variable to not use a private registry in the image name by default. This avoids a potential circular dependency during deployment of the registry container. * Modifies the default value of "kolla_docker_registry" variable to the value of the "docker_registry" variable. The default value of "docker_registry" is unset. This avoids needing to set the same value in two places when a private Docker registry is in use. * The manage-lvm Ansible role was upgraded to version v0.1.4. If you are overriding variables to customize definitions of volume groups, you need to change the value of the "disks" parameter from a comma- separated string to a list. For example, change "disks: "/dev/sda,/dev/sdb"" to: disks: - "/dev/sda" - "/dev/sdb" * Modifications to the kayobe source tree will no longer have an immediate effect. This is because the ansible playbooks are now shipped as part of the kayobe package. You must reinstall the package, or use an editable package install, see: pip editable- installs (https://pip.pypa.io/en/stable/reference/pip_install /#editable-installs), to replicate the old behaviour. * Overcloud Ironic must now be configured with the variable "kolla_ironic_enabled_hardware_types"; "kolla_ironic_drivers" has been removed. * Bifrost's "kolla_bifrost_enable_ipmitool_drivers" and "kolla_bifrost_enable_pxe_drivers" variables have been removed. Bifrost must now be configured by setting the variable "kolla_bifrost_enabled_hardware_types" to be a list of hardware types to enable. Deprecation Notes ***************** * The switch configuration variable "switch_interface_config_discovery" has been deprecated in favour of "switch_interface_config_enable_discovery". Support for "switch_interface_config_discovery" will be removed in the T* release. * First class support in Kayobe for deploying cAdvisor has been removed since this is now supported via Kolla-Ansible. * First class support in Kayobe for deploying Prometheus Node exporter has been removed since this is now supported via Kolla- Ansible. Bug Fixes ********* * Fixes an issue with the "--ask-vault-pass" argument, where Kayobe would fail to generate the Kolla Ansible "passwords.yml" file. Also ensures that the user is only prompted for the password once per execution of kayobe. * Fixes a compatibility issue with Ansible modules for Dell switches which was preventing physical network configuration for this type of hardware. See Story 2004588 for details. * Fixes an issue where if a host has the same name as a group that it is in, configuration of kolla ansible inventory host variables could fail to override the defaults. See story 2004418 for details. * Fixes an issue where CLI arguments containing whitespace that are passed to Ansible needed to be quoted. See Story 2004379 for details. * Fixes an issue where the seed hypervisor user bootstrapping is not performed when executing "kayobe seed hypervisor host configure". See story 2004401 for details. * The "public-openrc.sh" file generated by Kayobe now uses the public network FQDN for populating the OS_AUTH_URL variable instead of using the public virtual IP address. If the FQDN variable is not set, the virtual IP address remains used. This ensures better compatibility with TLS-enabled deployments where certificates are generally tied to a hostname. Changes in kayobe 5.0.0.0rc1..5.0.0 ----------------------------------- f950b77 Update .gitreview for stable/rocky dde275e Print output of dump-config in case of errors Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + kayobe/ansible.py | 8 +++++--- 3 files changed, 19 insertions(+), 15 deletions(-)