openstack-ansible-os_nova/tasks/nova_compute.yml
Dmitriy Rabotyagov 5884318116 Allow to apply custom configuration to Nova SSH config
In case compute nodes using non-standard SSH port or some other
hacky connection between each other, deployers might need to
supply extra configuration inside it.

community.general.ssh_config module was not used, as it requires extra
`paramiko` module to be installed on each destination host.

Change-Id: Ic79aa391e729adf61f5653dd3cf72fee1708e2f5
2024-09-27 12:58:02 +00:00

82 lines
2.4 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: Including nova_compute tasks for {{ nova_virt_type }}
include_tasks: "drivers/{{ nova_virt_type }}/nova_compute_{{ nova_virt_type }}.yml"
args:
apply:
tags:
- nova-install
tags:
- always
- name: Create the nova SSH config file
template:
src: "ssh_config.j2"
dest: "{{ nova_system_home_folder }}/.ssh/config"
owner: "{{ nova_system_user_name }}"
group: "{{ nova_system_user_name }}"
mode: "0644"
tags:
- nova-key
- name: Create ssh keys and config for cold migrations
include_role:
name: openstack.osa.ssh_keypairs
args:
apply:
tags:
- nova-key
vars:
ssh_keypairs_setup_host: "{{ nova_ssh_keypairs_setup_host }}"
ssh_keypairs_dir: "{{ nova_ssh_keypairs_dir }}"
ssh_keypairs: "{{ nova_ssh_keypairs }}"
ssh_keypairs_install_keys: "{{ nova_ssh_keypairs_install_keys }}"
ssh_keypairs_install_ca: "{{ nova_ssh_keypairs_install_ca }}"
ssh_keypairs_principals: "{{ nova_ssh_keypairs_principals }}"
tags:
- always
- name: Run the systemd mount role
include_role:
name: systemd_mount
vars:
systemd_mounts:
- config_overrides: "{{ mount_var.config_overrides | default({}) }}"
what: "{{ mount_var.server }}:{{ mount_var.remote_path }}"
where: "{{ mount_var.local_path }}"
type: "{{ mount_var.type }}"
options: "{{ mount_var.options }}"
unit:
After:
- network.target rpcbind.service rpc-statd.service
Conflicts:
- umount.target
Requires:
- rpcbind.service rpc-statd.service
Before:
- nova-compute.service
state: 'started'
enabled: true
with_items: "{{ nova_nfs_client }}"
loop_control:
loop_var: mount_var
args:
apply:
tags:
- nova-config
tags:
- always