openstack-ansible-os_nova/tasks/nova_db_post_setup.yml
Jimmy McCrory 6321cf9030 Rearrange cell mapping tasks
Existing instances can be mapped to a newly created cell immediately
after the cell is created and by the same conductor host that created
the cell.

After a new compute host is built, it will need to mapped to a cell
through the 'discover_hosts' command of nova-manage. This command will
still need to be run against a host that has direct database access, but
the command is able to handle mapping of all compute hosts that do not
currently belong to the cell so it only needs to be run once per play.

There can be a short delay in the time between a compute service
starting and becoming available to be discovered and mapped but, for
most deployments, compute host discovery will be handled automatically
as a periodic task.

Change-Id: I4f7328e1aff79eb94f278999b97fbad8f44c6a3e
Closes-Bug: 1749037
Related-Bug: 1729661
Related-Bug: 1752540
2018-03-13 17:57:38 +00:00

27 lines
1.1 KiB
YAML

---
# Copyright 2017, 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 the delegated task facts
set_fact:
_db_nova_bin: "{{ hostvars[random_conductor]['nova_bin'] | default(nova_bin) }}"
_db_nova_system_user_name: "{{ hostvars[random_conductor]['nova_system_user_name'] | default(nova_system_user_name) }}"
# This needs to be done after Compute hosts are added.
- name: Perform a cell_v2 discover
command: "{{ _db_nova_bin }}/nova-manage cell_v2 discover_hosts {{ (debug | bool) | ternary('--verbose', '') }}"
become: yes
become_user: "{{ _db_nova_system_user_name }}"
changed_when: false