Fix Swift for multinode P+ACO deployment
Current Swift playbook is based on the preassumption of AIO setup. However, if one goes with default multinode setup (ansible/inventory/multinode), it follows the P + ACO deployment model, which proxy-server runs on controller nodes where ACO (account/container/object services) run on storage nodes. It will break because swift proxy-server no longer has access (it shouldn't have) to /srv/node path. This change ensure disk mounting part only happens on storage node. It also moves chown from proxy-server Dockerfile to rsyncd because no matter with PACO, P+ACO or P+A+C+O model, rsyncd is always running on each storage node. Change-Id: I3aa20454902caa9c84d3901bb91e4e4c93ac5f34 Partially-Implements: blueprint swift-physical-disk Closes-Bug: #1537544
This commit is contained in:
parent
1057dcd50a
commit
b209da1306
@ -8,10 +8,16 @@
|
|||||||
changed_when: "{{ swift_disk_lookup.stdout.find('localhost | SUCCESS => ') != -1 and
|
changed_when: "{{ swift_disk_lookup.stdout.find('localhost | SUCCESS => ') != -1 and
|
||||||
(swift_disk_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
(swift_disk_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
||||||
failed_when: swift_disk_lookup.stdout.split()[2] != 'SUCCESS'
|
failed_when: swift_disk_lookup.stdout.split()[2] != 'SUCCESS'
|
||||||
|
when: inventory_hostname in groups['swift-account-server'] or
|
||||||
|
inventory_hostname in groups['swift-container-server'] or
|
||||||
|
inventory_hostname in groups['swift-object-server']
|
||||||
|
|
||||||
- name: Reading data from variable
|
- name: Reading data from variable
|
||||||
set_fact:
|
set_fact:
|
||||||
swift_disks: "{{ (swift_disk_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).disks|from_json }}"
|
swift_disks: "{{ (swift_disk_lookup.stdout.split('localhost | SUCCESS => ')[1]|from_json).disks|from_json }}"
|
||||||
|
when: inventory_hostname in groups['swift-account-server'] or
|
||||||
|
inventory_hostname in groups['swift-container-server'] or
|
||||||
|
inventory_hostname in groups['swift-object-server']
|
||||||
|
|
||||||
- name: Mounting Swift disks
|
- name: Mounting Swift disks
|
||||||
mount:
|
mount:
|
||||||
@ -21,6 +27,9 @@
|
|||||||
state: mounted
|
state: mounted
|
||||||
name: "{{ swift_devices_mount_point }}/{{ item['fs_label'] }}"
|
name: "{{ swift_devices_mount_point }}/{{ item['fs_label'] }}"
|
||||||
with_items: swift_disks
|
with_items: swift_disks
|
||||||
|
when: inventory_hostname in groups['swift-account-server'] or
|
||||||
|
inventory_hostname in groups['swift-container-server'] or
|
||||||
|
inventory_hostname in groups['swift-object-server']
|
||||||
|
|
||||||
- name: Starting swift-rsyncd container
|
- name: Starting swift-rsyncd container
|
||||||
kolla_docker:
|
kolla_docker:
|
||||||
@ -43,7 +52,6 @@
|
|||||||
volumes:
|
volumes:
|
||||||
- "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
|
- "{{ node_config_directory }}/swift/:/var/lib/kolla/swift/:ro"
|
||||||
- "{{ node_config_directory }}/swift-proxy-server/:{{ container_config_directory }}/:ro"
|
- "{{ node_config_directory }}/swift-proxy-server/:{{ container_config_directory }}/:ro"
|
||||||
- "{{ swift_devices_mount_point }}:{{ swift_devices_mount_point }}"
|
|
||||||
- "/var/lib/kolla/dev/log:/dev/log"
|
- "/var/lib/kolla/dev/log:/dev/log"
|
||||||
when: inventory_hostname in groups['swift-proxy-server']
|
when: inventory_hostname in groups['swift-proxy-server']
|
||||||
|
|
||||||
|
@ -33,6 +33,5 @@ RUN ln -s swift-base-source/* swift \
|
|||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
COPY config-swift.sh /usr/local/bin/kolla_config_swift
|
|
||||||
COPY build-swift-ring.py /usr/local/bin/kolla_build_swift_ring
|
COPY build-swift-ring.py /usr/local/bin/kolla_build_swift_ring
|
||||||
RUN mkdir /opt/swift
|
RUN mkdir /opt/swift
|
||||||
|
@ -10,7 +10,4 @@ RUN yum -y install openstack-swift-proxy \
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
COPY extend_start.sh /usr/local/bin/kolla_extend_start
|
|
||||||
RUN chmod 755 /usr/local/bin/kolla_extend_start
|
|
||||||
|
|
||||||
{{ include_footer }}
|
{{ include_footer }}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
source /usr/local/bin/kolla_config_swift
|
|
@ -13,4 +13,7 @@ RUN apt-get install -y --no-install-recommends rsync \
|
|||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
COPY extend_start.sh /usr/local/bin/kolla_extend_start
|
||||||
|
RUN chmod 755 /usr/local/bin/kolla_extend_start
|
||||||
|
|
||||||
{{ include_footer }}
|
{{ include_footer }}
|
||||||
|
Loading…
Reference in New Issue
Block a user