Merge "Add the manila service to OSA"
This commit is contained in:
commit
895337ce81
@ -133,6 +133,10 @@
|
||||
src: https://git.openstack.org/openstack/openstack-ansible-os_magnum
|
||||
version: master
|
||||
trackbranch: master
|
||||
- name: os_manila
|
||||
scm: git
|
||||
src: https://git.openstack.org/openstack/openstack-ansible-os_manila
|
||||
version: master
|
||||
- name: os_masakari
|
||||
scm: git
|
||||
src: https://git.openstack.org/openstack/openstack-ansible-os_masakari
|
||||
|
@ -150,6 +150,8 @@ OpenStack service roles
|
||||
|
||||
- :role_docs:`os_magnum`
|
||||
|
||||
- :role_docs:`os_manila`
|
||||
|
||||
- :role_docs:`os_masakari`
|
||||
|
||||
- :role_docs:`os_neutron`
|
||||
|
@ -232,6 +232,13 @@ The following table lists the commands to restart an OpenStack service.
|
||||
# service cinder-backup restart
|
||||
# service cinder-scheduler restart
|
||||
# service cinder-volume restart
|
||||
* - Block Storage service
|
||||
- .. code-block:: console
|
||||
|
||||
# service manila-api restart
|
||||
# service manila-data restart
|
||||
# service manila-share restart
|
||||
# service manila-scheduler restart
|
||||
* - Object Storage service
|
||||
- .. code-block:: console
|
||||
|
||||
|
@ -243,6 +243,15 @@
|
||||
<td>✔</td>
|
||||
<td>✔</td>
|
||||
</tr>
|
||||
<tr class="warning">
|
||||
<td>os_manila</td>
|
||||
<td>Stein</td>
|
||||
<td>Incubated</td>
|
||||
<td>✔</td>
|
||||
<td>✘</td>
|
||||
<td>✘</td>
|
||||
<td>✘</td>
|
||||
</tr>
|
||||
<tr class="warning">
|
||||
<td>os_masakari</td>
|
||||
<td>Stein</td>
|
||||
|
@ -7,6 +7,7 @@ OpenStack has multiple storage realms to consider:
|
||||
* Object Storage (swift)
|
||||
* Image storage (glance)
|
||||
* Ephemeral storage (nova)
|
||||
* Filesystem storage (manila)
|
||||
|
||||
Block Storage (cinder)
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -163,3 +164,17 @@ the storage device, the Compute host, the hypervisor, and the instance.
|
||||
+----+---------------------------------------------------------------------+
|
||||
| 3 | The hypervisor presents the disk as a device to the instance. |
|
||||
+----+---------------------------------------------------------------------+
|
||||
|
||||
Filesystem storage (manila)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The shared filesystem service (manila) can be configured to provide file
|
||||
systems on a variety of storage back ends as supported by the
|
||||
`manila_store drivers`_.
|
||||
|
||||
.. figure:: ../figures/manila-overview.png
|
||||
:width: 600px
|
||||
|
||||
The diagram shows a basic overview of the manila service.
|
||||
|
||||
.. _manila_store drivers: https://docs.openstack.org/manila/latest/configuration/shared-file-systems/drivers.html
|
||||
|
BIN
doc/source/reference/figures/manila-overview.png
Normal file
BIN
doc/source/reference/figures/manila-overview.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 75 KiB |
7
etc/openstack_deploy/conf.d/manila.yml.aio
Normal file
7
etc/openstack_deploy/conf.d/manila.yml.aio
Normal file
@ -0,0 +1,7 @@
|
||||
manila-infra_hosts:
|
||||
aio1:
|
||||
ip: 172.29.236.100
|
||||
|
||||
manila-data_hosts:
|
||||
aio1:
|
||||
ip: 172.29.236.100
|
16
etc/openstack_deploy/conf.d/manila.yml.example
Normal file
16
etc/openstack_deploy/conf.d/manila.yml.example
Normal file
@ -0,0 +1,16 @@
|
||||
# The infra nodes that will be running the manila services
|
||||
manila-infra_hosts:
|
||||
infra1:
|
||||
ip: 172.20.236.111
|
||||
infra2:
|
||||
ip: 172.20.236.112
|
||||
infra3:
|
||||
ip: 172.20.236.113
|
||||
|
||||
manila-data_hosts:
|
||||
data1:
|
||||
ip: 172.20.236.121
|
||||
data2:
|
||||
ip: 172.20.236.122
|
||||
data3:
|
||||
ip: 172.20.236.123
|
@ -69,6 +69,12 @@ container_skel:
|
||||
magnum_container:
|
||||
properties:
|
||||
is_metal: true
|
||||
manila_container:
|
||||
properties:
|
||||
is_metal: true
|
||||
manila_data_container:
|
||||
properties:
|
||||
is_metal: true
|
||||
masakari_monitors_container:
|
||||
properties:
|
||||
is_metal: true
|
||||
|
@ -716,6 +716,79 @@
|
||||
# rbd_secret_uuid: "{{ cinder_ceph_client_uuid }}"
|
||||
#
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# Use the cephfs (NATIVE) backend with manila:
|
||||
#
|
||||
# container_vars:
|
||||
# manila_default_share_type: cephfs1
|
||||
# manila_backends:
|
||||
# cephfs1:
|
||||
# driver_handles_share_servers: False
|
||||
# share_backend_name: CEPHFS1
|
||||
# share_driver: manila.share.drivers.cephfs.driver.CephFSDriver
|
||||
# cephfs_conf_path: /etc/ceph/ceph.conf
|
||||
# cephfs_auth_id: manila
|
||||
# cephfs_cluster_name: ceph
|
||||
# cephfs_enable_snapshots: False
|
||||
# filter_function: "share.size >= 0"
|
||||
# goodness_function: "share.size >= 0"
|
||||
#
|
||||
#
|
||||
# Use the cephfs + NFS backend with manila:
|
||||
#
|
||||
# container_vars:
|
||||
# manila_default_share_type: cephfsnfs1
|
||||
# manila_backends:
|
||||
# cephfsnfs1:
|
||||
# driver_handles_share_servers: False
|
||||
# share_backend_name: CEPHFSNFS1
|
||||
# share_driver: manila.share.drivers.cephfs.driver.CephFSDriver
|
||||
# cephfs_ganesha_server_ip: 172.16.24.200
|
||||
# cephfs_protocol_helper_type: NFS
|
||||
# cephfs_conf_path: /etc/ceph/ceph.conf
|
||||
# cephfs_auth_id: manila
|
||||
# filter_function: "share.size >= 0"
|
||||
# goodness_function: "share.size >= 0"
|
||||
#
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# Use the lvm backend with manila:
|
||||
#
|
||||
# container_vars:
|
||||
# manila_default_share_type: nfs-share1
|
||||
# manila_backends:
|
||||
# nfs-share1:
|
||||
# share_backend_name: NFS_SHARE1
|
||||
# share_driver: manila.share.drivers.lvm.LVMShareDriver
|
||||
# driver_handles_share_servers: False
|
||||
# lvm_share_volume_group: manila-shares
|
||||
# lvm_share_export_ip: "10.1.1.1"
|
||||
# filter_function: "share.size >= 0"
|
||||
# goodness_function: "share.size >= 0"
|
||||
#
|
||||
#
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# Use the generic backend with manila:
|
||||
#
|
||||
# container_vars:
|
||||
# manila_default_share_type: generic
|
||||
# manila_backends:
|
||||
# generic:
|
||||
# share_backend_name: GENERIC
|
||||
# share_driver: manila.share.drivers.generic.GenericShareDriver
|
||||
# driver_handles_share_servers: True
|
||||
# service_instance_flavor_id: 100
|
||||
# service_image_name: manila-service-image
|
||||
# service_instance_user: manila
|
||||
# service_instance_password: manila
|
||||
# interface_driver: manila.network.linux.interface.BridgeInterfaceDriver
|
||||
# filter_function: "share.size >= 0"
|
||||
# goodness_function: "share.size >= 0"
|
||||
#
|
||||
# --------
|
||||
#
|
||||
# Level: log_hosts (optional)
|
||||
|
@ -274,3 +274,14 @@ congress_service_password:
|
||||
## panko passwords
|
||||
panko_container_db_password:
|
||||
panko_service_password:
|
||||
|
||||
## manila passwords
|
||||
manila_container_mysql_password:
|
||||
manila_oslomsg_rpc_password:
|
||||
manila_profiler_hmac_key:
|
||||
#NOTE: Please uncomment those
|
||||
# if you want to split rpc and notify users
|
||||
# Please also wire the appropriate userid in
|
||||
# your user variables.
|
||||
#manila_oslomsg_notify_password:
|
||||
manila_service_password:
|
||||
|
57
inventory/env.d/manila.yml
Normal file
57
inventory/env.d/manila.yml
Normal file
@ -0,0 +1,57 @@
|
||||
# Copyright 2019, 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.
|
||||
|
||||
component_skel:
|
||||
manila_api:
|
||||
belongs_to:
|
||||
- manila_all
|
||||
manila_scheduler:
|
||||
belongs_to:
|
||||
- manila_all
|
||||
manila_data:
|
||||
belongs_to:
|
||||
- manila_all
|
||||
manila_share:
|
||||
belongs_to:
|
||||
- manila_all
|
||||
|
||||
container_skel:
|
||||
manila_container:
|
||||
belongs_to:
|
||||
- manila-infra_containers
|
||||
contains:
|
||||
- manila_api
|
||||
- manila_scheduler
|
||||
manila_data_container:
|
||||
belongs_to:
|
||||
- manila-data_containers
|
||||
contains:
|
||||
- manila_data
|
||||
- manila_share
|
||||
properties:
|
||||
is_metal: true
|
||||
|
||||
physical_skel:
|
||||
manila-data_containers:
|
||||
belongs_to:
|
||||
- all_containers
|
||||
manila-data_hosts:
|
||||
belongs_to:
|
||||
- hosts
|
||||
manila-infra_containers:
|
||||
belongs_to:
|
||||
- all_containers
|
||||
manila-infra_hosts:
|
||||
belongs_to:
|
||||
- hosts
|
@ -266,6 +266,15 @@ haproxy_default_services:
|
||||
haproxy_backend_options:
|
||||
- "httpchk GET / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
|
||||
haproxy_service_enabled: "{{ groups['magnum_all'] is defined and groups['magnum_all'] | length > 0 }}"
|
||||
- service:
|
||||
haproxy_service_name: manila
|
||||
haproxy_backend_nodes: "{{ groups['manila_all'] | default([]) }}"
|
||||
haproxy_ssl: "{{ haproxy_ssl }}"
|
||||
haproxy_port: 8786
|
||||
haproxy_balance_type: http
|
||||
haproxy_backend_options:
|
||||
- "httpchk HEAD / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
|
||||
haproxy_service_enabled: "{{ groups['manila_all'] is defined and groups['manila_all'] | length > 0 }}"
|
||||
- service:
|
||||
haproxy_service_name: masakari_api
|
||||
haproxy_backend_nodes: "{{ groups['masakari_api'] | default([]) }}"
|
||||
|
@ -19,6 +19,7 @@ horizon_enable_cinder_backup: "{{ hostvars['localhost']['cinder_service_backup_p
|
||||
horizon_enable_heat_ui: "{{ (groups['heat_all'] is defined) and (groups['heat_all'] | length > 0) }}"
|
||||
horizon_enable_ironic_ui: "{{ (groups['ironic_all'] is defined) and (groups['ironic_all'] | length > 0) }}"
|
||||
horizon_enable_magnum_ui: "{{ (groups['magnum_all'] is defined) and (groups['magnum_all'] | length > 0) }}"
|
||||
horizon_enable_manila_ui: "{{ (groups['manila_all'] is defined) and (groups['manila_all'] | length > 0) }}"
|
||||
horizon_enable_masakari_ui: "{{ (groups['masakari_all'] is defined) and (groups['masakari_all'] | length > 0) }}"
|
||||
horizon_enable_designate_ui: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) }}"
|
||||
horizon_enable_octavia_ui: "{{ (groups['octavia-infra_all'] is defined) and (groups['octavia-infra_all'] | length > 0) }}"
|
||||
|
33
inventory/group_vars/manila_all.yml
Normal file
33
inventory/group_vars/manila_all.yml
Normal file
@ -0,0 +1,33 @@
|
||||
---
|
||||
# Copyright 2019, 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.
|
||||
|
||||
# Set the available protocol list
|
||||
manila_enabled_share_protocols:
|
||||
- NFS
|
||||
- CIFS
|
||||
- CEPHFS
|
||||
|
||||
_manila_default_share_type: "{{ (manila_backends | default({})).keys() }}"
|
||||
manila_default_share_type: "{{ ((_manila_default_share_type | length) > 0) | ternary(_manila_default_share_type[0], null) }}"
|
||||
|
||||
# V1 api config
|
||||
manila_service_publicuri: "{{ openstack_service_publicuri_proto|default(manila_service_proto) }}://{{ external_lb_vip_address }}:{{ manila_service_port }}"
|
||||
manila_service_internaluri: "{{ openstack_service_internaluri_proto|default(manila_service_proto) }}://{{ internal_lb_vip_address }}:{{ manila_service_port }}"
|
||||
manila_service_adminuri: "{{ openstack_service_adminuri_proto|default(manila_service_proto) }}://{{ internal_lb_vip_address }}:{{ manila_service_port }}"
|
||||
|
||||
# V2 api config
|
||||
manila_service_v2_publicuri: "{{ openstack_service_publicuri_proto|default(manila_service_proto) }}://{{ external_lb_vip_address }}:{{ manila_service_v2_port }}"
|
||||
manila_service_v2_internaluri: "{{ openstack_service_internaluri_proto|default(manila_service_proto) }}://{{ internal_lb_vip_address }}:{{ manila_service_v2_port }}"
|
||||
manila_service_v2_adminuri: "{{ openstack_service_adminuri_proto|default(manila_service_proto) }}://{{ internal_lb_vip_address }}:{{ manila_service_v2_port }}"
|
@ -135,6 +135,12 @@ ironic_server
|
||||
|
||||
[magnum_all]
|
||||
|
||||
[manila_all:children]
|
||||
manila_api
|
||||
manila_scheduler
|
||||
manila_data
|
||||
manila_share
|
||||
|
||||
[masakari_all:children]
|
||||
masakari_api
|
||||
masakari_engine
|
||||
|
@ -147,6 +147,13 @@ keystone_git_project_group: keystone_all
|
||||
keystone_git_track_branch: stable/stein
|
||||
|
||||
|
||||
## Manila service
|
||||
manila_git_repo: https://git.openstack.org/openstack/manila
|
||||
manila_git_install_branch: 54bce0a9ca07952cd97cd2bc8641f81ab2c49af5 # HEAD as of 22.03.2019
|
||||
manila_git_project_group: manila_all
|
||||
manila_git_track_branch: master
|
||||
|
||||
|
||||
## Neutron service
|
||||
neutron_git_repo: https://git.openstack.org/openstack/neutron
|
||||
neutron_git_install_branch: 4da4d5e0f0c2eb49b8929119776d16504229a4c3 # HEAD as of 29.03.2019
|
||||
|
89
playbooks/os-manila-install.yml
Normal file
89
playbooks/os-manila-install.yml
Normal file
@ -0,0 +1,89 @@
|
||||
---
|
||||
# Copyright 2018, 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: Install manila services
|
||||
hosts: "manila_all"
|
||||
gather_facts: "{{ osa_gather_facts | default(True) }}"
|
||||
user: root
|
||||
environment: "{{ deployment_environment_variables | default({}) }}"
|
||||
vars_files:
|
||||
- "defaults/repo_packages/openstack_services.yml"
|
||||
- "defaults/{{ install_method }}_install.yml"
|
||||
tags:
|
||||
- manila
|
||||
pre_tasks:
|
||||
# In order to ensure that any container, software or
|
||||
# config file changes which causes a container/service
|
||||
# restart do not cause an unexpected outage, we drain
|
||||
# the load balancer back end for this container.
|
||||
- include_tasks: common-tasks/haproxy-endpoint-manage.yml
|
||||
vars:
|
||||
haproxy_backend: manila_api-back
|
||||
haproxy_state: disabled
|
||||
when:
|
||||
- "'manila_api' in group_names"
|
||||
- "groups['manila_api'] | length > 1"
|
||||
|
||||
- name: Configure container (non-nfs)
|
||||
include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"
|
||||
vars:
|
||||
list_of_bind_mounts: "{{ manila_container_bind_mounts }}"
|
||||
when:
|
||||
- not is_metal
|
||||
- manila_default_store == "file"
|
||||
- (manila_nfs_client is not defined) or (manila_nfs_client | length == 0)
|
||||
|
||||
- name: Configure container (nfs)
|
||||
include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"
|
||||
when:
|
||||
- not is_metal
|
||||
- (manila_default_store != "file") or (manila_nfs_client is defined)
|
||||
|
||||
- name: Configure log directories (on metal)
|
||||
include_tasks: common-tasks/os-log-dir-setup.yml
|
||||
vars:
|
||||
log_dirs:
|
||||
- src: "/openstack/log/{{ inventory_hostname }}-manila"
|
||||
dest: "/var/log/manila"
|
||||
|
||||
- include_tasks: common-tasks/unbound-clients.yml
|
||||
when:
|
||||
- hostvars['localhost']['resolvconf_enabled'] | bool
|
||||
|
||||
roles:
|
||||
- role: "os_manila"
|
||||
when:
|
||||
- inventory_hostname in groups['manila_api']
|
||||
- role: "os_manila"
|
||||
when:
|
||||
- not inventory_hostname in groups['manila_api']
|
||||
|
||||
post_tasks:
|
||||
- include_tasks: "common-tasks/rsyslog-client.yml"
|
||||
vars:
|
||||
rsyslog_client_log_rotate_file: manila_log_rotate
|
||||
rsyslog_client_log_dir: "/var/log/manila"
|
||||
rsyslog_client_config_name: "99-manila-rsyslog-client.conf"
|
||||
|
||||
# Now that container changes are done, we can set
|
||||
# the load balancer back end for this container
|
||||
# to available again.
|
||||
- include_tasks: common-tasks/haproxy-endpoint-manage.yml
|
||||
vars:
|
||||
haproxy_backend: manila_api-back
|
||||
haproxy_state: enabled
|
||||
when:
|
||||
- "'manila_api' in group_names"
|
||||
- "groups['manila_api'] | length > 1"
|
@ -35,6 +35,7 @@
|
||||
- import_playbook: os-tacker-install.yml
|
||||
- import_playbook: os-blazar-install.yml
|
||||
- import_playbook: os-masakari-install.yml
|
||||
- import_playbook: os-manila-install.yml
|
||||
|
||||
# This is not an OpenStack service, but integrates with Keystone and must be
|
||||
# deployed afterward.
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- The os_horizon role now has support for the horizon manila-ui dashboard. The
|
||||
dashboard may be enabled by setting ``horizon_enable_manila_ui`` to ``True``
|
||||
in ``/etc/openstack_deploy/user_variables.yml``.
|
@ -66,6 +66,11 @@ bootstrap_host_loopback_nova: yes
|
||||
# Size of the Nova loopback disk in gigabytes (GB).
|
||||
bootstrap_host_loopback_nova_size: 1024
|
||||
#
|
||||
# Boolean option to deploy the loopback disk for Manila
|
||||
bootstrap_host_loopback_manila: yes
|
||||
# Size of the Manila loopback disk in gigabytes (GB).
|
||||
bootstrap_host_loopback_manila_size: 1024
|
||||
#
|
||||
# Boolean option to deploy the loopback disk for machines
|
||||
bootstrap_host_loopback_machines: yes
|
||||
# Size of the machines loopback disk in gigabytes (GB).
|
||||
|
@ -110,6 +110,13 @@
|
||||
tags:
|
||||
- prepare-loopback
|
||||
|
||||
# Prepare the Manila data storage loopback disks
|
||||
- include: prepare_loopback_manila.yml
|
||||
when:
|
||||
- bootstrap_host_loopback_manila | bool
|
||||
tags:
|
||||
- prepare-loopback
|
||||
|
||||
# Prepare the Ceph cluster UUID and loopback disks
|
||||
- include: prepare_ceph.yml
|
||||
when:
|
||||
|
@ -166,6 +166,9 @@
|
||||
- src: user_variables_barbican.yml.j2
|
||||
dest: user_variables_barbican.yml
|
||||
condition: "{{ 'barbican' in bootstrap_host_services }}"
|
||||
- src: user_variables_manila.yml.j2
|
||||
dest: user_variables_manila.yml
|
||||
condition: "{{ 'manila' in bootstrap_host_services }}"
|
||||
|
||||
- name: Copy modified cinder-volume env.d file for ceph scenario
|
||||
copy:
|
||||
|
77
tests/roles/bootstrap-host/tasks/prepare_loopback_manila.yml
Normal file
77
tests/roles/bootstrap-host/tasks/prepare_loopback_manila.yml
Normal file
@ -0,0 +1,77 @@
|
||||
---
|
||||
# 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 manila file
|
||||
command: "truncate -s {{ bootstrap_host_loopback_manila_size }}G /openstack/manila.img"
|
||||
args:
|
||||
creates: /openstack/manila.img
|
||||
register: manila_create
|
||||
tags:
|
||||
- manila-file-create
|
||||
|
||||
- name: Run the systemd service role
|
||||
include_role:
|
||||
name: systemd_service
|
||||
private: true
|
||||
vars:
|
||||
systemd_services:
|
||||
- service_name: "loop-manila"
|
||||
config_overrides:
|
||||
Unit:
|
||||
Description: no
|
||||
After: systemd-udev-settle.service
|
||||
Before: lvm2-activation-early.service
|
||||
Wants: systemd-udev-settle.service
|
||||
Service:
|
||||
RemainAfterExit: yes
|
||||
service_type: oneshot
|
||||
execstarts:
|
||||
- /bin/bash -c "/sbin/losetup $(/sbin/losetup -f) /openstack/manila.img"
|
||||
- /sbin/pvscan
|
||||
execstops:
|
||||
- /bin/bash -c "losetup -d $(losetup -l | awk '/manila.img/ {print $1}')"
|
||||
enabled: yes
|
||||
state: started
|
||||
systemd_tempd_prefix: openstack
|
||||
tags:
|
||||
- manila-config
|
||||
|
||||
- name: Get loopback device
|
||||
shell: "losetup -l | awk '/manila.img/ {print $1}'"
|
||||
changed_when: false
|
||||
register: manila_losetup
|
||||
tags:
|
||||
- skip_ansible_lint
|
||||
|
||||
- name: Make LVM physical volume on the manila device
|
||||
shell: "pvcreate {{ manila_losetup.stdout }} && touch /openstack/manila.pvcreate"
|
||||
args:
|
||||
creates: "/openstack/manila.pvcreate"
|
||||
tags:
|
||||
- skip_ansible_lint
|
||||
- manila-lvm-pv
|
||||
|
||||
- name: Run pvscan
|
||||
command: "pvscan"
|
||||
changed_when: false
|
||||
tags:
|
||||
- manila-lvm-pv
|
||||
|
||||
- name: Add manila-shares volume group
|
||||
lvg:
|
||||
vg: manila-shares
|
||||
pvs: "{{ manila_losetup.stdout }}"
|
||||
tags:
|
||||
- manila-lvm-vg
|
@ -0,0 +1,47 @@
|
||||
# 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.
|
||||
|
||||
tempest_plugins:
|
||||
- name: manila-tempest-plugin
|
||||
repo: https://git.openstack.org/openstack/manila-tempest-plugin
|
||||
branch: master
|
||||
|
||||
tempest_test_whitelist:
|
||||
- manila_tempest_tests.tests.scenario.test_share_basic_ops
|
||||
|
||||
tempest_tempest_conf_overrides:
|
||||
share:
|
||||
image_with_share_tools: manila-service-image
|
||||
image_password: manila
|
||||
enable_protocols: nfs
|
||||
enable_ip_rules_for_protocols: nfs
|
||||
enable_ro_access_level_for_protocols: nfs
|
||||
suppress_errors_in_cleanup: true
|
||||
share_creation_retry_number: 3
|
||||
run_ipv6_tests: False
|
||||
|
||||
manila_backends:
|
||||
nfs-share1:
|
||||
share_backend_name: NFS_SHARE1
|
||||
share_driver: manila.share.drivers.lvm.LVMShareDriver
|
||||
driver_handles_share_servers: False
|
||||
lvm_share_volume_group: manila-shares
|
||||
lvm_share_export_ip: "172.29.244.100"
|
||||
generic:
|
||||
share_backend_name: GENERIC
|
||||
share_driver: manila.share.drivers.generic.GenericShareDriver
|
||||
driver_handles_share_servers: True
|
||||
service_instance_flavor_id: 100
|
||||
service_image_name: manila-service-image
|
||||
service_instance_user: manila
|
||||
service_instance_password: manila
|
||||
interface_driver: manila.network.linux.interface.BridgeInterfaceDriver
|
@ -278,6 +278,19 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
|
||||
'magnum-infra_hosts',
|
||||
'magnum_all',
|
||||
'magnum_container',
|
||||
'manila_all',
|
||||
'manila_api',
|
||||
'manila_container',
|
||||
'manila_data',
|
||||
'manila-data_all',
|
||||
'manila_data_container',
|
||||
'manila-data_containers',
|
||||
'manila-data_hosts',
|
||||
'manila-infra_all',
|
||||
'manila-infra_containers',
|
||||
'manila-infra_hosts',
|
||||
'manila_scheduler',
|
||||
'manila_share',
|
||||
'masakari_all',
|
||||
'masakari_api',
|
||||
'masakari_api_container',
|
||||
|
Loading…
Reference in New Issue
Block a user