repair elements permissions before transfer

When elements are being checked out from SCV their +x attribute is most
likely lost. This result in element rules not being used in the image.
Before the transfer set the +x attr in elements based on found shebangs

Change-Id: I85dcd7ef763296c9186f9fe4cf446649fc68244f
This commit is contained in:
Artem Goncharov
2018-05-11 17:09:01 +02:00
parent 7670da1f02
commit 5b1e39b39f
5 changed files with 45 additions and 17 deletions

View File

@@ -13,10 +13,7 @@
# under the License.
---
- name: Bootstrap nodes
hosts: all,!bastion
# NOTE(pabelanger): Because we are currently using a single host, we need this
# operation to be serial. When we switch to multi-host, this can be removed.
serial: 1
hosts: all_unique
pre_tasks:
- name: Update apt cache

View File

@@ -0,0 +1,41 @@
# 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: Evaluate facts about groups
hosts: localhost
tasks:
# NOTE(AGoncharov): this is required to spedup installation of the
# single-host mode.
# Otherwise use of serial is required to avoid conflicts
# We gather groups of unique hosts by adding their IP
# (ansible_host set in inventory)
- name: Evaluate unique zuul group hosts
add_host:
name: "{{ hostvars[item].ansible_host | default(item) }}"
ansible_host: "{{ hostvars[item].ansible_host | default(item)}}"
groups: zuul_unique
with_items: "{{ groups['zuul'] | default([]) }}"
- name: Evaluate unique nodepool group hosts
add_host:
name: "{{ hostvars[item].ansible_host | default(item) }}"
ansible_host: "{{ hostvars[item].ansible_host | default(item)}}"
groups: nodepool_unique
with_items: "{{ groups['nodepool'] | default([]) }}"
- name: Evaluate unique installation hosts (for bootstrapping)
add_host:
name: "{{ hostvars[item].ansible_host | default(item) }}"
ansible_host: "{{ hostvars[item].ansible_host | default(item)}}"
groups: all_unique
with_items: "{{ groups['nodepool_unique'] | union(groups['zuul_unique']) | union(groups['statsd']) | union(groups['zookeeper']) | default([]) }}"

View File

@@ -13,12 +13,7 @@
# under the License.
---
- name: Install nodepool
hosts: nodepool
# TODO(pabelanger): We really don't want to use serial here, but this allows
# us to still support a single node install. What we should do here is expose
# some sort of variable to only toggle this when we are doing a single node
# install. Otherwise, we just slow down multinode deployments.
serial: 1
hosts: nodepool_unique
tasks:
# NOTE(pabelanger): Because of ordering issues create the required home

View File

@@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
---
- include: evaluate_groups.yaml
- include: bootstrap.yaml
- include: statsd.yaml
- include: gear.yaml

View File

@@ -13,12 +13,7 @@
# under the License.
---
- name: Install zuul
hosts: zuul
# TODO(pabelanger): We really don't want to use serial here, but this allows
# us to still support a single node install. What we should do here is expose
# some sort of variable to only toggle this when we are doing a single node
# install. Otherwise, we just slow down multinode deployments.
serial: 1
hosts: zuul_unique
tasks:
# NOTE(pabelanger): Because of ordering issues create the required home
@@ -29,4 +24,3 @@
vars:
zuul_task_manager:
- pre