kayobe/setup.cfg

238 lines
12 KiB
INI
Raw Normal View History

[metadata]
name = kayobe
summary = Deployment of OpenStack to bare metal using OpenStack kolla and bifrost
description_file =
README.rst
author = OpenStack
author_email = openstack-discuss@lists.openstack.org
home_page = https://docs.openstack.org/kayobe/latest/
python_requires = >=3.8
license = Apache License, Version 2.0
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
Intended Audience :: System Administrators
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: Implementation :: CPython
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
[files]
packages =
kayobe
data_files =
share/kayobe/ansible = ansible/*
share/kayobe/doc = doc/*
share/kayobe/etc_examples = etc/*
share/kayobe = setup.cfg
share/kayobe = requirements.yml
[entry_points]
console_scripts=
kayobe = kayobe.cmd.kayobe:main
kayobe-vault-password-helper = kayobe.cmd.kayobe_vault_password_helper:main
kayobe.cli=
baremetal_compute_inspect = kayobe.cli.commands:BaremetalComputeInspect
baremetal_compute_manage = kayobe.cli.commands:BaremetalComputeManage
baremetal_compute_provide = kayobe.cli.commands:BaremetalComputeProvide
baremetal_compute_rename = kayobe.cli.commands:BaremetalComputeRename
baremetal_compute_update_deployment_image = kayobe.cli.commands:BaremetalComputeUpdateDeploymentImage
baremetal_compute_serial_console_enable = kayobe.cli.commands:BaremetalComputeSerialConsoleEnable
baremetal_compute_serial_console_disable = kayobe.cli.commands:BaremetalComputeSerialConsoleDisable
control_host_bootstrap = kayobe.cli.commands:ControlHostBootstrap
control_host_upgrade = kayobe.cli.commands:ControlHostUpgrade
configuration_dump = kayobe.cli.commands:ConfigurationDump
environment_create = kayobe.cli.commands:EnvironmentCreate
kolla_ansible_run = kayobe.cli.commands:KollaAnsibleRun
network_connectivity_check = kayobe.cli.commands:NetworkConnectivityCheck
overcloud_bios_raid_configure = kayobe.cli.commands:OvercloudBIOSRAIDConfigure
overcloud_container_image_build = kayobe.cli.commands:OvercloudContainerImageBuild
overcloud_container_image_pull = kayobe.cli.commands:OvercloudContainerImagePull
overcloud_database_backup = kayobe.cli.commands:OvercloudDatabaseBackup
overcloud_database_recover = kayobe.cli.commands:OvercloudDatabaseRecover
overcloud_deployment_image_build = kayobe.cli.commands:OvercloudDeploymentImageBuild
overcloud_deprovision = kayobe.cli.commands:OvercloudDeprovision
Make setup module arguments configurable 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 (kayobe_ansible_setup_gather_subset) and which facts are stored (kayobe_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 kayobe_ansible_setup_filter variable to help: kayobe_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 Kayobe. 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. This change also introduces a new command to gather facts for Kayobe & Kolla Ansible on demand, 'kayobe overcloud facts gather'. This can be used to populate a fact cache. Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/794610 Story: 2007993 Task: 42586 Change-Id: I5ce3c734433e1682ee942867505468c57440e689
2021-05-18 13:51:44 +00:00
overcloud_facts_gather = kayobe.cli.commands:OvercloudFactsGather
overcloud_hardware_inspect = kayobe.cli.commands:OvercloudHardwareInspect
overcloud_host_configure = kayobe.cli.commands:OvercloudHostConfigure
overcloud_host_image_build = kayobe.cli.commands:OvercloudHostImageBuild
overcloud_host_package_update = kayobe.cli.commands:OvercloudHostPackageUpdate
overcloud_host_command_run = kayobe.cli.commands:OvercloudHostCommandRun
overcloud_host_upgrade = kayobe.cli.commands:OvercloudHostUpgrade
overcloud_introspection_data_save = kayobe.cli.commands:OvercloudIntrospectionDataSave
overcloud_inventory_discover = kayobe.cli.commands:OvercloudInventoryDiscover
overcloud_post_configure = kayobe.cli.commands:OvercloudPostConfigure
overcloud_provision = kayobe.cli.commands:OvercloudProvision
overcloud_service_configuration_save = kayobe.cli.commands:OvercloudServiceConfigurationSave
overcloud_service_configuration_generate = kayobe.cli.commands:OvercloudServiceConfigurationGenerate
overcloud_service_configuration_validate = kayobe.cli.commands:OvercloudServiceConfigurationValidate
overcloud_service_deploy = kayobe.cli.commands:OvercloudServiceDeploy
overcloud_service_deploy_containers = kayobe.cli.commands:OvercloudServiceDeployContainers
overcloud_service_destroy = kayobe.cli.commands:OvercloudServiceDestroy
overcloud_service_prechecks = kayobe.cli.commands:OvercloudServicePrechecks
overcloud_service_reconfigure = kayobe.cli.commands:OvercloudServiceReconfigure
overcloud_service_stop = kayobe.cli.commands:OvercloudServiceStop
overcloud_service_upgrade = kayobe.cli.commands:OvercloudServiceUpgrade
Support for Ceph and Swift storage networks, and improvements to Swift In a deployment that has both Ceph or Swift deployed it can be useful to seperate the network traffic. This change adds support for dedicated storage networks for both Ceph and Swift. By default, the storage hosts are attached to the following networks: * Overcloud admin network * Internal network * Storage network * Storage management network This adds four additional networks, which can be used to seperate the storage network traffic as follows: * Ceph storage network (ceph_storage_net_name) is used to carry Ceph storage data traffic. Defaults to the storage network (storage_net_name). * Ceph storage management network (ceph_storage_mgmt_net_name) is used to carry storage management traffic. Defaults to the storage management network (storage_mgmt_net_name). * Swift storage network (swift_storage_net_name) is used to carry Swift storage data traffic. Defaults to the storage network (storage_net_name). * Swift storage replication network (swift_storage_replication_net_name) is used to carry storage management traffic. Defaults to the storage management network (storage_mgmt_net_name). This change also includes several improvements to Swift device management and ring generation. The device management and ring generation are now separate, with device management occurring during 'kayobe overcloud host configure', and ring generation during a new command, 'kayobe overcloud swift rings generate'. For the device management, we now use standard Ansible modules rather than commands for device preparation. File system labels can be configured for each device individually. For ring generation, all commands are run on a single host, by default a host in the Swift storage group. A python script runs in one of the kolla Swift containers, which consumes an autogenerated YAML config file that defines the layout of the rings. Change-Id: Iedc7535532d706f02d710de69b422abf2f6fe54c
2019-03-15 14:54:02 +00:00
overcloud_swift_rings_generate = kayobe.cli.commands:OvercloudSwiftRingsGenerate
physical_network_configure = kayobe.cli.commands:PhysicalNetworkConfigure
playbook_run = kayobe.cli.commands:PlaybookRun
seed_container_image_build = kayobe.cli.commands:SeedContainerImageBuild
seed_deployment_image_build = kayobe.cli.commands:SeedDeploymentImageBuild
seed_host_configure = kayobe.cli.commands:SeedHostConfigure
seed_host_package_update = kayobe.cli.commands:SeedHostPackageUpdate
seed_host_command_run = kayobe.cli.commands:SeedHostCommandRun
seed_host_upgrade = kayobe.cli.commands:SeedHostUpgrade
seed_hypervisor_host_configure = kayobe.cli.commands:SeedHypervisorHostConfigure
seed_hypervisor_host_command_run = kayobe.cli.commands:SeedHypervisorHostCommandRun
seed_hypervisor_host_package_update = kayobe.cli.commands:SeedHypervisorHostPackageUpdate
seed_hypervisor_host_upgrade = kayobe.cli.commands:SeedHypervisorHostUpgrade
seed_service_deploy = kayobe.cli.commands:SeedServiceDeploy
seed_service_upgrade = kayobe.cli.commands:SeedServiceUpgrade
seed_vm_deprovision = kayobe.cli.commands:SeedVMDeprovision
seed_vm_provision = kayobe.cli.commands:SeedVMProvision
infra_vm_deprovision = kayobe.cli.commands:InfraVMDeprovision
infra_vm_provision = kayobe.cli.commands:InfraVMProvision
infra_vm_host_configure = kayobe.cli.commands:InfraVMHostConfigure
infra_vm_host_upgrade = kayobe.cli.commands:InfraVMHostUpgrade
infra_vm_host_command_run = kayobe.cli.commands:InfraVMHostCommandRun
infra_vm_host_package_update = kayobe.cli.commands:InfraVMHostPackageUpdate
infra_vm_service_deploy = kayobe.cli.commands:InfraVMServiceDeploy
kayobe.cli.baremetal_compute_inspect =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.baremetal_compute_manage =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.baremetal_compute_provide =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.baremetal_compute_rename =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.baremetal_compute_update_deployment_image =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.baremetal_compute_serial_console_enable =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.baremetal_compute_serial_console_disable =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.control_host_bootstrap =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.control_host_upgrade =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.configuration_dump =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.environment_create =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.kolla_ansible_run =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.network_connectivity_check =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_bios_raid_configure =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_container_image_build =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_container_image_pull =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_database_backup =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_database_recover =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_deployment_image_build =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_deprovision =
hooks = kayobe.cli.commands:HookDispatcher
Make setup module arguments configurable 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 (kayobe_ansible_setup_gather_subset) and which facts are stored (kayobe_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 kayobe_ansible_setup_filter variable to help: kayobe_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 Kayobe. 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. This change also introduces a new command to gather facts for Kayobe & Kolla Ansible on demand, 'kayobe overcloud facts gather'. This can be used to populate a fact cache. Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/794610 Story: 2007993 Task: 42586 Change-Id: I5ce3c734433e1682ee942867505468c57440e689
2021-05-18 13:51:44 +00:00
kayobe.cli.overcloud_facts_gather =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_hardware_inspect =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_host_configure =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_host_image_build =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_host_package_update =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_host_command_run =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_host_upgrade =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_introspection_data_save =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_inventory_discover =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_post_configure =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_provision =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_service_configuration_save =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_service_configuration_generate =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_service_configuration_validate =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_service_deploy =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_service_deploy_containers =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_service_destroy =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_service_prechecks =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_service_reconfigure =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_service_stop =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_service_upgrade =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.overcloud_swift_rings_generate =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.physical_network_configure =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.playbook_run =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_container_image_build =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_deployment_image_build =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_host_configure =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_host_package_update =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_host_command_run =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_host_upgrade =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_hypervisor_host_configure =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_hypervisor_host_command_run =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_hypervisor_host_package_update =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_hypervisor_host_upgrade =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_service_deploy =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_service_upgrade =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_vm_deprovision =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.seed_vm_provision =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.infra_vm_deprovision =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.infra_vm_provision =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.infra_vm_host_configure =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.infra_vm_host_upgrade =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.infra_vm_host_command_run =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.infra_vm_host_package_update =
hooks = kayobe.cli.commands:HookDispatcher
kayobe.cli.infra_vm_service_deploy =
hooks = kayobe.cli.commands:HookDispatcher