6496cfc0ba
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
68 lines
2.6 KiB
Plaintext
68 lines
2.6 KiB
Plaintext
---
|
|
###############################################################################
|
|
# OpenStack Swift configuration.
|
|
|
|
# Short name of the kolla container image used to build rings. Default is the
|
|
# swift=object image.
|
|
swift_ring_build_image_name: swift-object
|
|
|
|
# Full name of the kolla container image used to build rings.
|
|
swift_ring_build_image: "{{ kolla_docker_registry ~ '/' if kolla_docker_registry else '' }}{{ kolla_docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-{{ swift_ring_build_image_name }}:{{ kolla_openstack_release }}"
|
|
|
|
# Ansible host pattern matching hosts on which Swift object storage services
|
|
# are deployed. The default is to use hosts in the 'storage' group.
|
|
swift_hosts: "storage"
|
|
|
|
# Name of the host used to build Swift rings. Default is the first host of
|
|
# 'swift_hosts'.
|
|
swift_ring_build_host: "{{ query('inventory_hostnames', swift_hosts)[0] }}"
|
|
|
|
# ID of the Swift region for this host. Default is 1.
|
|
swift_region: 1
|
|
|
|
# ID of the Swift zone. This can be set to different values for different hosts
|
|
# to place them in different zones. Default is 0.
|
|
swift_zone: 0
|
|
|
|
# Base-2 logarithm of the number of partitions.
|
|
# i.e. num_partitions=2^<swift_part_power>. Default is 10.
|
|
swift_part_power: 10
|
|
|
|
# Object replication count. Default is the smaller of the number of Swift
|
|
# hosts, or 3.
|
|
swift_replication_count: "{{ [query('inventory_hostnames', swift_hosts) | length, 3] | min }}"
|
|
|
|
# Minimum time in hours between moving a given partition. Default is 1.
|
|
swift_min_part_hours: 1
|
|
|
|
# Ports on which Swift services listen. Default is:
|
|
# object: 6000
|
|
# account: 6001
|
|
# container: 6002
|
|
swift_service_ports:
|
|
object: 6000
|
|
account: 6001
|
|
container: 6002
|
|
|
|
# List of block devices to use for Swift. Each item is a dict with the
|
|
# following items:
|
|
# - 'device': Block device path. Required.
|
|
# - 'fs_label': Name of the label used to create the file system on the device.
|
|
# Optional. Default is to use the basename of the device.
|
|
# - 'services': List of services that will use this block device. Optional.
|
|
# Default is 'swift_block_device_default_services'. Allowed items are
|
|
# 'account', 'container', and 'object'.
|
|
# - 'weight': Weight of the block device. Optional. Default is
|
|
# 'swift_block_device_default_weight'.
|
|
swift_block_devices: []
|
|
|
|
# Default weight to assign to block devices in the ring. Default is 100.
|
|
swift_block_device_default_weight: 100
|
|
|
|
# Default list of services to assign block devices to. Allowed items are
|
|
# 'account', 'container', and 'object'. Default value is all of these.
|
|
swift_block_device_default_services:
|
|
- account
|
|
- container
|
|
- object
|