openstack-ansible-os_octavia/tasks/octavia_flavor_create.yml
Jesse Pretorius 58617e615e Ensure the octavia flavor is private
In https://review.openstack.org/588166 we switch to
using clouds.yaml, but in doing so made the flavor
creation happen in the admin project instead of the
octavia project.

This patch ensures that the flavor is created in the
right project.

We also do away with the extra task to get the flavor
ID because the task to create it will return results
including the ID whether it has created a new one or
it has found an existing one.

Change-Id: I24e89a0466c8b0cef632f1677809e04622f22786
2018-08-07 12:01:01 +00:00

52 lines
2.0 KiB
YAML

---
# 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.
# We set the python interpreter to the ansible runtime venv if
# the delegation is to localhost so that we get access to the
# appropriate python libraries in that venv. If the delegation
# is to another host, we assume that it is accessible by the
# system python instead.
- name: Setup the octavia flavor
delegate_to: "{{ octavia_service_setup_host }}"
vars:
ansible_python_interpreter: >-
{{ (octavia_service_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_python['executable']) }}
block:
- name: Create Octavia Flavor
os_nova_flavor:
auth:
auth_url: "{{ keystone_service_adminurl }}"
username: "{{ octavia_service_user_name }}"
password: "{{ octavia_service_password }}"
project_name: "{{ octavia_service_project_name }}"
user_domain_name: "{{ octavia_service_user_domain_id }}"
project_domain_name: "{{ octavia_service_project_domain_id }}"
state: present
name: "{{ octavia_amp_flavor_name}}"
ram: "{{ octavia_amp_ram }}"
vcpus: "{{ octavia_amp_vcpu }}"
disk: "{{ octavia_amp_disk }}"
is_public: False
interface: admin
verify: "{{ not keystone_service_adminuri_insecure }}"
register: add_flavor
until: add_flavor is success
retries: 5
delay: 10
- name: Set Octavia Flavor UUID fact 1
set_fact:
octavia_nova_flavor_uuid: "{{ add_flavor.flavor.id }}"