77ac88197c
When global_environment_variables is set in user_variables.yml, this installs environment settings in /etc/environment on all hosts and containers. These remain in place after deployment is complete. This patch adds a similar variable deployment_environment_variables that defines environment strings applied only while the playbooks are running. They leave nothing behind on the hosts or containers. This may be used, for example, for proxy settings required only during deployment. A simpler no_proxy setting is adequate during deployment, so this provides a workaround to Bug #1691749. Change-Id: Ia15d2133c6749fa9496bbf9359b8bf075742d60e Related-Bug: #1691749
70 lines
2.1 KiB
YAML
70 lines
2.1 KiB
YAML
---
|
|
# Copyright 2014, 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 Ansible prerequisites
|
|
hosts: "{{ openstack_host_group|default('hosts') }}"
|
|
gather_facts: false
|
|
user: root
|
|
pre_tasks:
|
|
- name: Install Python2
|
|
register: result
|
|
raw: >
|
|
source /etc/os-release
|
|
|
|
case ${ID} in
|
|
centos|rhel)
|
|
yum list installed python
|
|
result=$?
|
|
|
|
if [ $result -eq 1 ]; then
|
|
yum -y install python2
|
|
result=2
|
|
fi
|
|
|
|
exit $result;
|
|
;;
|
|
ubuntu)
|
|
dpkg-query -s python &> /dev/null
|
|
result=$?
|
|
|
|
if [ $result -eq 1 ]; then
|
|
apt-get -y install python
|
|
result=2
|
|
fi
|
|
|
|
exit $result;
|
|
;;
|
|
esac
|
|
changed_when: "result.rc == 2"
|
|
failed_when: "{{ result.rc not in [0, 2] }}"
|
|
|
|
- name: Basic host setup
|
|
hosts: "{{ openstack_host_group|default('hosts') }}"
|
|
gather_facts: "{{ gather_facts | default(True) }}"
|
|
max_fail_percentage: 20
|
|
user: root
|
|
pre_tasks:
|
|
- name: Check for a supported Operating System
|
|
assert:
|
|
that:
|
|
- (ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'xenial') or
|
|
(ansible_os_family == 'RedHat' and ansible_distribution_major_version == '7')
|
|
msg: "The only supported platforms for this release are Ubuntu 16.04 LTS (Xenial) and CentOS 7 (WIP)"
|
|
roles:
|
|
- role: "openstack_hosts"
|
|
environment: "{{ deployment_environment_variables | default({}) }}"
|
|
tags:
|
|
- openstack-hosts
|