openstack-ansible/tests/roles/bootstrap-host/tasks/prepare_loopback_nova.yml
Kevin Carter ad2f2e00e8 Set format options when prepairing filesystems
Various options are available when formatting the different file systems
we support. This change implements a hash to capture many of the
different options we use throughout a test deployment.

* BTRFS: set metadata for test volumes to single.

  the metadata on our loopback devices was defaulting the the file-system
  default of DUP (duplicate) which is reasonable on a production
  deployment however on a loopback device it makes more sense to set the
  data and metadata options to "single". This will help eliminate the
  issues were seeing with intermittently full file-systems.

* XFS: set block sizes, placement groups, and do not issue discards at
       create.

  This will speed up the time it takes to format an XFS partition as
  well as ensure things remain speedy under load.

* EXT4: speed up directory lookups

  Use hashed b-trees to speed up name lookups in large directories.

Change-Id: I004768d98da194cc90b36cdf72dbf75b24a661a2
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-06-11 06:50:50 +00:00

45 lines
1.3 KiB
YAML

---
# Copyright 2015, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Create sparse Nova file
command: "truncate -s {{ bootstrap_host_loopback_nova_size }}G /openstack/nova.img"
args:
creates: /openstack/nova.img
tags:
- nova-file-create
- name: Format the Nova file
filesystem:
fstype: xfs
dev: /openstack/nova.img
opts: "{{ bootstrap_host_format_options['xfs'] | default(omit) }}"
tags:
- nova-format-file
- name: Run the systemd mount role
include_role:
name: systemd_mount
private: true
vars:
systemd_mounts:
- what: "/openstack/nova.img"
where: "/var/lib/nova/instances"
options: "loop,{{ bootstrap_host_data_mount_options['xfs'] }}"
type: "xfs"
state: 'started'
enabled: true
tags:
- nova-config