130 lines
3.7 KiB
YAML
130 lines
3.7 KiB
YAML
---
|
|
- import_role:
|
|
name: service-precheck
|
|
vars:
|
|
service_precheck_services: "{{ swift_services }}"
|
|
service_name: "{{ project_name }}"
|
|
|
|
- name: Get container facts
|
|
become: true
|
|
kolla_container_facts:
|
|
name:
|
|
- swift_account_server
|
|
- swift_container_server
|
|
- swift_object_server
|
|
- swift_proxy_server
|
|
register: container_facts
|
|
|
|
- name: Checking free port for Swift Account Server
|
|
wait_for:
|
|
host: "{{ 'swift_storage' | kolla_address }}"
|
|
port: "{{ swift_account_server_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['swift_account_server'] is not defined
|
|
- inventory_hostname in groups['swift-account-server']
|
|
|
|
- name: Checking free port for Swift Container Server
|
|
wait_for:
|
|
host: "{{ 'swift_storage' | kolla_address }}"
|
|
port: "{{ swift_container_server_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['swift_container_server'] is not defined
|
|
- inventory_hostname in groups['swift-container-server']
|
|
|
|
- name: Checking free port for Swift Object Server
|
|
wait_for:
|
|
host: "{{ 'swift_storage' | kolla_address }}"
|
|
port: "{{ swift_object_server_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['swift_object_server'] is not defined
|
|
- inventory_hostname in groups['swift-object-server']
|
|
|
|
- name: Checking free port for Swift Account Replication Server
|
|
wait_for:
|
|
host: "{{ 'swift_replication' | kolla_address }}"
|
|
port: "{{ swift_account_server_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['swift_account_server'] is not defined
|
|
- inventory_hostname in groups['swift-account-server']
|
|
|
|
- name: Checking free port for Swift Container Replication Server
|
|
wait_for:
|
|
host: "{{ 'swift_replication' | kolla_address }}"
|
|
port: "{{ swift_container_server_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['swift_container_server'] is not defined
|
|
- inventory_hostname in groups['swift-container-server']
|
|
|
|
- name: Checking free port for Swift Object Replication Server
|
|
wait_for:
|
|
host: "{{ 'swift_replication' | kolla_address }}"
|
|
port: "{{ swift_object_server_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['swift_object_server'] is not defined
|
|
- inventory_hostname in groups['swift-object-server']
|
|
|
|
- name: Checking free port for Rsync
|
|
wait_for:
|
|
host: "{{ 'swift_replication' | kolla_address }}"
|
|
port: "873"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['swift_object_server'] is not defined
|
|
- inventory_hostname in groups['swift-object-server']
|
|
|
|
- name: Checking free port for Swift Proxy Server
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ swift_proxy_server_listen_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['swift_proxy_server'] is not defined
|
|
- inventory_hostname in groups['swift-proxy-server']
|
|
|
|
- name: Checking Swift ring files
|
|
run_once: True
|
|
stat:
|
|
path: "{{ node_custom_config }}/swift/{{ item }}"
|
|
delegate_to: localhost
|
|
register: swift_ring_files
|
|
with_items:
|
|
- "account.builder"
|
|
- "account.ring.gz"
|
|
- "container.builder"
|
|
- "container.ring.gz"
|
|
- "object.builder"
|
|
- "object.ring.gz"
|
|
- "{{ swift_extra_ring_files }}"
|
|
|
|
- name: Fail if ring files don't exist
|
|
run_once: True
|
|
fail:
|
|
msg: >-
|
|
Swift ring files do not exist.
|
|
Ensure .builder and .gz are available for each of account/container/object under {{ node_custom_config }}/swift before deploying Swift.
|
|
with_items: '{{ swift_ring_files.results }}'
|
|
when:
|
|
- not item.stat.exists
|