Merge "RFC1034/5 hostname upgrade"
This commit is contained in:
commit
b6c12aaade
@ -122,6 +122,16 @@ See :ref:`repo-server-pip-conf-removal` for more details.
|
||||
|
||||
# openstack-ansible "${UPGRADE_PLAYBOOKS}/repo-server-pip-conf-removal.yml"
|
||||
|
||||
Ensure hostname aliases are created for non-RFC1034/35 hostnames
|
||||
----------------------------------------------------------------
|
||||
|
||||
Ensure an alias is created for non-RFC1034/35 hostnames.
|
||||
|
||||
See :ref:`old-hostname-compatibility` for details.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# openstack-ansible "${UPGRADE_PLAYBOOKS}/old-hostname-compatibility.yml"
|
||||
|
||||
Upgrade infrastructure
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -40,6 +40,17 @@ dependency, causing build failures.
|
||||
|
||||
.. _repo-server-pip-conf-removal:
|
||||
|
||||
``old-hostname-compatibility.yml``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This playbook ensures an alias is created for old hostnames that may not be RFC
|
||||
1034 or 1035 compatible. Using a hostname alias allows agents to continue working
|
||||
in cases where the hostname is also the registered agent name. This playbook is
|
||||
only needed for upgrades of in-place upgrades of existing nodes or if a node is replaced or
|
||||
rebuilt it will be brought into the cluster using a compliant hostname.
|
||||
|
||||
.. _old-hostname-compatibility:
|
||||
|
||||
``setup-infrastructure.yml``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -89,6 +89,10 @@ apply_security_hardening: true
|
||||
## Region Name
|
||||
service_region: RegionOne
|
||||
|
||||
## OpenStack Domain
|
||||
openstack_domain: openstack.local
|
||||
lxc_container_domain: "{{ openstack_domain }}"
|
||||
|
||||
## DHCP Domain Name
|
||||
dhcp_domain: openstacklocal
|
||||
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
upgrade:
|
||||
- A new global variable has been created named
|
||||
``openstack_domain``. This variable has a default
|
||||
value of "openstack.local".
|
@ -147,6 +147,7 @@ function main {
|
||||
RUN_TASKS+=("setup-hosts.yml --limit '!galera_all[0]'")
|
||||
RUN_TASKS+=("lxc-containers-create.yml --limit galera_all[0]")
|
||||
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/repo-server-pip-conf-removal.yml")
|
||||
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/old-hostname-compatibility.yml")
|
||||
RUN_TASKS+=("setup-infrastructure.yml -e 'galera_upgrade=true' -e 'rabbitmq_upgrade=true'")
|
||||
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/memcached-flush.yml")
|
||||
RUN_TASKS+=("setup-openstack.yml")
|
||||
|
@ -0,0 +1,145 @@
|
||||
---
|
||||
# Copyright 2016, 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: Set hostname alias for local lookup compatibility
|
||||
hosts: all
|
||||
gather_facts: true
|
||||
tasks:
|
||||
- name: Update Alias hostnames
|
||||
lineinfile:
|
||||
dest: /etc/hosts
|
||||
insertafter: "^127.0.0.1"
|
||||
regexp: "^127.0.1.1"
|
||||
line: "127.0.1.1 {{ rfc_1034_1035_name }}.{{ domain_name }} {{ rfc_1034_1035_name }} {{ inventory_hostname }} {{ ansible_hostname }}"
|
||||
state: present
|
||||
register: result1
|
||||
when:
|
||||
- rfc_1034_1035_name != inventory_hostname
|
||||
- rfc_1034_1035_name != ansible_hostname
|
||||
- name: Update Alias hostnames
|
||||
lineinfile:
|
||||
dest: /etc/hosts
|
||||
insertafter: "^127.0.0.1"
|
||||
regexp: "^127.0.1.1"
|
||||
line: "127.0.1.1 {{ rfc_1034_1035_name }}.{{ domain_name }} {{ rfc_1034_1035_name }} {{ ansible_hostname }}"
|
||||
state: present
|
||||
register: result2
|
||||
when:
|
||||
- rfc_1034_1035_name == inventory_hostname
|
||||
- rfc_1034_1035_name != ansible_hostname
|
||||
- name: Update Alias hostnames
|
||||
lineinfile:
|
||||
dest: /etc/hosts
|
||||
insertafter: "^127.0.0.1"
|
||||
regexp: "^127.0.1.1"
|
||||
line: "127.0.1.1 {{ rfc_1034_1035_name }}.{{ domain_name }} {{ rfc_1034_1035_name }} {{ inventory_hostname }}"
|
||||
state: present
|
||||
when:
|
||||
- result1 | skipped
|
||||
- result2 | skipped
|
||||
vars:
|
||||
rfc_1034_1035_name: "{{ inventory_hostname | replace('_', '-') }}"
|
||||
domain_name: "{{ openstack_domain|default('openstack.local') }}"
|
||||
|
||||
- name: Set hostnames alias for RabbitMQ lookup compatibility
|
||||
hosts: rabbitmq_all
|
||||
tasks:
|
||||
- name: Update hosts file from ansible inventory
|
||||
lineinfile:
|
||||
dest: /etc/hosts
|
||||
regexp: "^{{ hostvars[item]['ansible_ssh_host'] }}"
|
||||
line: "{{ hostvars[item]['ansible_ssh_host'] }} {{ rfc_1034_1035_name }}.{{ domain_name }} {{ rfc_1034_1035_name }} {{ item }}"
|
||||
state: present
|
||||
when: item != inventory_hostname
|
||||
with_items: "{{ play_hosts }}"
|
||||
vars:
|
||||
rfc_1034_1035_name: "{{ item | replace('_', '-') }}"
|
||||
domain_name: "{{ openstack_domain|default('openstack.local') }}"
|
||||
|
||||
- name: Set hostnames alias for MariaDB lookup compatibility
|
||||
hosts: galera_all
|
||||
tasks:
|
||||
- name: Update hosts file from ansible inventory
|
||||
lineinfile:
|
||||
dest: /etc/hosts
|
||||
regexp: "^{{ hostvars[item]['ansible_ssh_host'] }}"
|
||||
line: "{{ hostvars[item]['ansible_ssh_host'] }} {{ rfc_1034_1035_name }}.{{ domain_name }} {{ rfc_1034_1035_name }} {{ item }}"
|
||||
state: present
|
||||
when: item != inventory_hostname
|
||||
with_items: "{{ play_hosts }}"
|
||||
vars:
|
||||
rfc_1034_1035_name: "{{ item | replace('_', '-') }}"
|
||||
domain_name: "{{ openstack_domain|default('openstack.local') }}"
|
||||
|
||||
- name: Set hostnames alias for Neutron Agent lookup compatibility
|
||||
hosts: neutron_all:!nova_compute
|
||||
tasks:
|
||||
- name: Update hosts file from ansible inventory
|
||||
lineinfile:
|
||||
dest: /etc/hosts
|
||||
regexp: "^{{ hostvars[item]['ansible_ssh_host'] }}"
|
||||
line: "{{ hostvars[item]['ansible_ssh_host'] }} {{ rfc_1034_1035_name }}.{{ domain_name }} {{ rfc_1034_1035_name }} {{ item }}"
|
||||
state: present
|
||||
when: item != inventory_hostname
|
||||
with_items: "{{ play_hosts }}"
|
||||
vars:
|
||||
rfc_1034_1035_name: "{{ item | replace('_', '-') }}"
|
||||
domain_name: "{{ openstack_domain|default('openstack.local') }}"
|
||||
|
||||
- name: Set hostnames alias for Cinder lookup compatibility
|
||||
hosts: cinder_all
|
||||
tasks:
|
||||
- name: Update hosts file from ansible inventory
|
||||
lineinfile:
|
||||
dest: /etc/hosts
|
||||
regexp: "^{{ hostvars[item]['ansible_ssh_host'] }}"
|
||||
line: "{{ hostvars[item]['ansible_ssh_host'] }} {{ rfc_1034_1035_name }}.{{ domain_name }} {{ rfc_1034_1035_name }} {{ item }}"
|
||||
state: present
|
||||
when: item != inventory_hostname
|
||||
with_items: "{{ play_hosts }}"
|
||||
vars:
|
||||
rfc_1034_1035_name: "{{ item | replace('_', '-') }}"
|
||||
domain_name: "{{ openstack_domain|default('openstack.local') }}"
|
||||
|
||||
- name: Set hostnames alias for Heat lookup compatibility
|
||||
hosts: heat_all
|
||||
tasks:
|
||||
- name: Update hosts file from ansible inventory
|
||||
lineinfile:
|
||||
dest: /etc/hosts
|
||||
regexp: "^{{ hostvars[item]['ansible_ssh_host'] }}"
|
||||
line: "{{ hostvars[item]['ansible_ssh_host'] }} {{ rfc_1034_1035_name }}.{{ domain_name }} {{ rfc_1034_1035_name }} {{ item }}"
|
||||
state: present
|
||||
when: item != inventory_hostname
|
||||
with_items: "{{ play_hosts }}"
|
||||
vars:
|
||||
rfc_1034_1035_name: "{{ item | replace('_', '-') }}"
|
||||
domain_name: "{{ openstack_domain|default('openstack.local') }}"
|
||||
|
||||
- name: Set hostnames alias for Nova Sevice lookup compatibility
|
||||
hosts: nova_all:!nova_compute
|
||||
tasks:
|
||||
- name: Update hosts file from ansible inventory
|
||||
lineinfile:
|
||||
dest: /etc/hosts
|
||||
regexp: "^{{ hostvars[item]['ansible_ssh_host'] }}"
|
||||
line: "{{ hostvars[item]['ansible_ssh_host'] }} {{ rfc_1034_1035_name }}.{{ domain_name }} {{ rfc_1034_1035_name }} {{ item }}"
|
||||
state: present
|
||||
when:
|
||||
- item != inventory_hostname
|
||||
with_items: "{{ play_hosts }}"
|
||||
vars:
|
||||
rfc_1034_1035_name: "{{ item | replace('_', '-') }}"
|
||||
domain_name: "{{ openstack_domain|default('openstack.local') }}"
|
Loading…
x
Reference in New Issue
Block a user