Allow Octavia deployments for Standalone
We have yet Nova for SSH keys management, when deploying a standalone cloud. Allow Octavia deployments for such a case as well. Jinja2 rendering of the octavia service template provides that functionality by relying on a new role tag 'standalone'. Change-Id: I69f3623646ec5b65109e0a4f0c16139018da9282 Closes-bug: #1806113 Co-Authored-By: Harald Jensas <hjensas@redhat.com> Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
This commit is contained in:
parent
c296b305e0
commit
2a5baa5979
@ -1,4 +1,8 @@
|
|||||||
heat_template_version: rocky
|
heat_template_version: rocky
|
||||||
|
{%- set octavia_standalone=[] -%}
|
||||||
|
{%- for role in roles if 'standalone' in role.tags -%}
|
||||||
|
{% if octavia_standalone.append('1') %}{% endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
description: >
|
description: >
|
||||||
Configuration of Octavia as-a-service resources in the overcloud.
|
Configuration of Octavia as-a-service resources in the overcloud.
|
||||||
@ -61,7 +65,9 @@ parameters:
|
|||||||
description: SSH key name.
|
description: SSH key name.
|
||||||
OctaviaAmphoraSshKeyFile:
|
OctaviaAmphoraSshKeyFile:
|
||||||
type: string
|
type: string
|
||||||
|
{% if not octavia_standalone %}
|
||||||
default: ''
|
default: ''
|
||||||
|
{% endif %}
|
||||||
description: Public key file path. User will be able to SSH into amphorae
|
description: Public key file path. User will be able to SSH into amphorae
|
||||||
with the provided key. User may, in most cases, also elevate to root
|
with the provided key. User may, in most cases, also elevate to root
|
||||||
from user 'centos' (CentOS), 'ubuntu' (Ubuntu) or 'cloud-user' (RHEL)
|
from user 'centos' (CentOS), 'ubuntu' (Ubuntu) or 'cloud-user' (RHEL)
|
||||||
@ -152,9 +158,11 @@ parameters:
|
|||||||
default: 'service'
|
default: 'service'
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
{% if not octavia_standalone %}
|
||||||
default_key_pair:
|
default_key_pair:
|
||||||
type: OS::Nova::KeyPair
|
type: OS::Nova::KeyPair
|
||||||
external_id: default
|
external_id: default
|
||||||
|
{% endif %}
|
||||||
OctaviaVars:
|
OctaviaVars:
|
||||||
type: OS::Heat::Value
|
type: OS::Heat::Value
|
||||||
properties:
|
properties:
|
||||||
@ -168,7 +176,10 @@ resources:
|
|||||||
amp_image_tag: { get_param: OctaviaAmphoraImageTag }
|
amp_image_tag: { get_param: OctaviaAmphoraImageTag }
|
||||||
amp_ssh_key_name: { get_param: OctaviaAmphoraSshKeyName }
|
amp_ssh_key_name: { get_param: OctaviaAmphoraSshKeyName }
|
||||||
amp_ssh_key_path: { get_param: OctaviaAmphoraSshKeyFile }
|
amp_ssh_key_path: { get_param: OctaviaAmphoraSshKeyFile }
|
||||||
|
{% if not octavia_standalone %}
|
||||||
amp_ssh_key_data: { get_attr: [default_key_pair, public_key] }
|
amp_ssh_key_data: { get_attr: [default_key_pair, public_key] }
|
||||||
|
{% endif %}
|
||||||
|
{% raw %}
|
||||||
amp_to_raw: { get_param: NovaEnableRbdBackend }
|
amp_to_raw: { get_param: NovaEnableRbdBackend }
|
||||||
auth_username: { get_param: OctaviaUserName }
|
auth_username: { get_param: OctaviaUserName }
|
||||||
auth_password: { get_param: OctaviaPassword }
|
auth_password: { get_param: OctaviaPassword }
|
||||||
@ -282,3 +293,4 @@ outputs:
|
|||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ octavia_ansible_group_vars.octavia_local_tmpdir }}"
|
- "{{ octavia_ansible_group_vars.octavia_local_tmpdir }}"
|
||||||
|
{% endraw %}
|
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
other:
|
||||||
|
- |
|
||||||
|
Octavia may be deployed for a standalone cloud, which has yet Nova services
|
||||||
|
available for Amphorae SSH keys management. For that case, the parameter
|
||||||
|
``OctaviaAmphoraSshKeyFile`` must be defined by a user.
|
||||||
|
Otherwise, it takes an empty value by usual for overcloud deployments
|
||||||
|
meanings and Nova will be used to create a key-pair for Octavia instead.
|
@ -11,6 +11,7 @@
|
|||||||
tags:
|
tags:
|
||||||
- primary
|
- primary
|
||||||
- controller
|
- controller
|
||||||
|
- standalone
|
||||||
networks:
|
networks:
|
||||||
External:
|
External:
|
||||||
subnet: external_subnet
|
subnet: external_subnet
|
||||||
|
Loading…
Reference in New Issue
Block a user