Remove nova placement API

Placement is now a separate service and has been removed from nova[1]
and implemented as a separate service in OSA[2]. As such, the nova
in-tree placement API is now disabled and can be removed.

[1] https://review.opendev.org/#/c/618215/
[2] https://review.opendev.org/#/c/656891/

Depends-On: I01df855d8b9255d24efe16ab053ffa491fda351f
Depends-On: I25ce79b9e3492cb075c50beed90ea2b78055e474
Change-Id: I2f5d4c2f1fc1418bc4f4c4baa1ce3c90b88208fc
This commit is contained in:
Logan V 2019-05-06 11:00:37 -05:00
parent f769d0d18e
commit 5bffb86bbb
8 changed files with 28 additions and 108 deletions

View File

@ -263,32 +263,6 @@ nova_enable_instance_password: True
nova_force_config_drive: False
nova_nested_virt_enabled: False
## Nova placement
nova_placement_service_enabled: True
nova_placement_service_user_domain_id: Default
nova_placement_service_project_domain_id: Default
nova_placement_service_interface: internal
nova_placement_service_in_ldap: "{{ nova_service_in_ldap }}"
nova_placement_service_username: placement
nova_placement_service_name: placement
nova_placement_service_role_name: "{{ nova_service_role_name }}"
nova_placement_service_type: placement
nova_placement_service_project_name: "{{ nova_service_project_name }}"
nova_placement_service_region: "{{ nova_service_region }}"
nova_placement_service_description: "Openstack Placement Service"
nova_placement_service_port: 8780
nova_placement_service_proto: "{{ nova_service_proto }}"
nova_placement_ssl: false
nova_placement_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(nova_placement_service_proto) }}"
nova_placement_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(nova_placement_service_proto) }}"
nova_placement_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(nova_placement_service_proto) }}"
nova_placement_service_publicuri: "{{ nova_placement_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ nova_placement_service_port }}"
nova_placement_service_publicurl: "{{ nova_placement_service_publicuri }}"
nova_placement_service_adminuri: "{{ nova_placement_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ nova_placement_service_port }}"
nova_placement_service_adminurl: "{{ nova_placement_service_adminuri }}"
nova_placement_service_internaluri: "{{ nova_placement_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ nova_placement_service_port }}"
nova_placement_service_internalurl: "{{ nova_placement_service_internaluri }}"
# Uwsgi settings
nova_wsgi_processes_max: 16
nova_wsgi_processes: "{{ [[ansible_processor_vcpus|default(1), 1] | max * 2, nova_wsgi_processes_max] | min }}"
@ -468,7 +442,6 @@ nova_conductor_init_overrides: {}
nova_novncproxy_init_overrides: {}
nova_scheduler_init_overrides: {}
nova_spicehtml5proxy_init_overrides: {}
nova_placement_api_init_overrides: {}
nova_serialproxy_init_overrides: {}
## Service Name-Group Mapping
@ -534,18 +507,6 @@ nova_services:
condition: "{{ nova_console_type == 'spice' }}"
start_order: 5
execstarts: "{{ nova_bin }}/nova-spicehtml5proxy"
nova-placement-api:
group: nova_api_placement
service_name: nova-placement-api
init_config_overrides: "{{ nova_placement_api_init_overrides }}"
condition: "{{ nova_placement_service_enabled | bool }}"
start_order: 1
execstarts: "{{ nova_uwsgi_bin }}/uwsgi --autoload --ini /etc/uwsgi/nova-placement-api.ini"
execreloads: "{{ nova_uwsgi_bin }}/uwsgi --reload /var/run/nova-placement-api/nova-placement-api.pid"
wsgi_app: True
uwsgi_port: "{{ nova_placement_service_port }}"
wsgi_name: nova-placement-api
wsgi_overrides: "{{ nova_placement_uwsgi_ini_overrides }}"
nova-serialconsole-proxy:
group: nova_console
service_name: nova-serialproxy
@ -603,7 +564,6 @@ nova_rootwrap_conf_overrides: {}
nova_api_paste_ini_overrides: {}
nova_policy_overrides: {}
nova_vendor_data_overrides: {}
nova_placement_uwsgi_ini_overrides: {}
nova_api_metadata_uwsgi_ini_overrides: {}
nova_api_os_compute_uwsgi_ini_overrides: {}

View File

@ -0,0 +1,6 @@
---
deprecations:
- |
nova-placement-api has been removed from the os_nova role, along with all
`nova_placement_*` variables. Please review the `os_placement` role for
information about how to configure the new placement service.

View File

@ -27,76 +27,49 @@
os_keystone_service:
cloud: default
state: present
name: "{{ item.name }}"
service_type: "{{ item.service_type }}"
description: "{{ item.description }}"
name: "{{ nova_service_name }}"
service_type: "{{ nova_service_type }}"
description: "{{ nova_service_description }}"
endpoint_type: admin
verify: "{{ not keystone_service_adminuri_insecure }}"
register: add_service
until: add_service is success
retries: 5
delay: 10
with_items:
- name: "{{ nova_service_name }}"
service_type: "{{ nova_service_type }}"
description: "{{ nova_service_description }}"
- name: "{{ nova_placement_service_name }}"
service_type: "{{ nova_placement_service_type }}"
description: "{{ nova_placement_service_description }}"
- name: Add service users
os_user:
cloud: default
state: present
name: "{{ item.name }}"
password: "{{ item.password }}"
name: "{{ nova_service_user_name }}"
password: "{{ nova_service_password }}"
domain: default
default_project: "{{ item.default_project }}"
default_project: "{{ nova_service_project_name }}"
endpoint_type: admin
verify: "{{ not keystone_service_adminuri_insecure }}"
register: add_service
when:
- item.condition
- not nova_service_in_ldap | bool
until: add_service is success
retries: 5
delay: 10
no_log: True
with_items:
- name: "{{ nova_service_user_name }}"
password: "{{ nova_service_password }}"
default_project: "{{ nova_service_project_name }}"
condition: "{{ not nova_service_in_ldap | bool }}"
- name: "{{ nova_placement_service_username }}"
password: "{{ nova_placement_service_password }}"
default_project: "{{ nova_placement_service_project_name }}"
condition: "{{ not nova_service_in_ldap | bool }}"
loop_control:
label: "{{ item.name }}"
- name: Add service users to admin roles
os_user_role:
cloud: default
state: present
user: "{{ item.user }}"
role: "{{ item.role }}"
project: "{{ item.project }}"
user: "{{ nova_service_user_name }}"
role: "{{ nova_service_role_name }}"
project: "{{ nova_service_project_name }}"
endpoint_type: admin
verify: "{{ not keystone_service_adminuri_insecure }}"
register: add_service
when:
- item.condition
- not nova_service_in_ldap | bool
until: add_service is success
retries: 5
delay: 10
with_items:
- user: "{{ nova_service_user_name }}"
role: "{{ nova_service_role_name }}"
project: "{{ nova_service_project_name }}"
condition: "{{ not nova_service_in_ldap | bool }}"
- user: "{{ nova_placement_service_username }}"
role: "{{ nova_placement_service_role_name }}"
project: "{{ nova_placement_service_project_name }}"
condition: "{{ not nova_placement_service_in_ldap | bool }}"
- name: Add endpoints to keystone endpoint catalog
os_keystone_endpoint:
@ -122,12 +95,3 @@
- service: "{{ nova_service_name }}"
interface: "admin"
url: "{{ nova_service_adminurl }}"
- service: "{{ nova_placement_service_name }}"
interface: "public"
url: "{{ nova_placement_service_publicurl }}"
- service: "{{ nova_placement_service_name }}"
interface: "internal"
url: "{{ nova_placement_service_internalurl }}"
- service: "{{ nova_placement_service_name }}"
interface: "admin"
url: "{{ nova_placement_service_adminurl }}"

View File

@ -168,14 +168,12 @@ notification_format = {% if nova_versioned_notification_enabled %}both{% else %}
{% endif %}
[placement]
region_name = {{ nova_placement_service_region }}
valid_interfaces = {{ nova_placement_service_interface }}
auth_type = "password"
password = {{ nova_placement_service_password }}
username = {{ nova_placement_service_username }}
project_name = {{ nova_placement_service_project_name }}
user_domain_name = {{ nova_placement_service_user_domain_id }}
project_domain_name = {{ nova_placement_service_project_domain_id }}
auth_type = password
username = {{ placement_service_user_name }}
password = {{ placement_service_password }}
project_name = {{ placement_service_project_name }}
user_domain_id = {{ placement_service_user_domain_id }}
project_domain_id = {{ placement_service_project_domain_id }}
auth_url = {{ keystone_service_adminurl }}
insecure = {{ keystone_service_adminuri_insecure | bool }}
@ -287,13 +285,12 @@ auth_endpoint = {{ keystone_service_internaluri }}/v3
[key_manager]
backend = barbican
region_name = {{ nova_placement_service_region }}
auth_type = "password"
password = {{ nova_placement_service_password }}
username = {{ nova_placement_service_username }}
project_name = {{ nova_placement_service_project_name }}
user_domain_name = {{ nova_placement_service_user_domain_id }}
project_domain_name = {{ nova_placement_service_project_domain_id }}
username = {{ placement_service_user_name }}
password = {{ placement_service_password }}
project_name = {{ placement_service_project_name }}
user_domain_id = {{ placement_service_user_domain_id }}
project_domain_id = {{ placement_service_project_domain_id }}
auth_url = {{ keystone_service_adminurl }}
insecure = {{ keystone_service_adminuri_insecure | bool }}
{% endif %}

View File

@ -97,9 +97,6 @@ openstack1
[nova_scheduler]
openstack1
[nova_api_placement]
openstack1
[nova_all:children]
nova_api_metadata
nova_api_os_compute
@ -107,7 +104,6 @@ nova_compute
nova_conductor
nova_console
nova_scheduler
nova_api_placement
[utility_all]
infra1

View File

@ -35,7 +35,6 @@ nova_devel_distro_packages:
nova_service_distro_packages:
- nova-api
- nova-conductor
- nova-placement-api
- nova-scheduler
- python-memcache
- python-novaclient

View File

@ -35,7 +35,6 @@ nova_service_distro_packages:
- openstack-nova-api
- openstack-nova-conductor
- openstack-nova-console
- openstack-nova-placement-api
- openstack-nova-scheduler
- python-memcached
- python-novaclient

View File

@ -36,7 +36,6 @@ nova_devel_distro_packages:
nova_service_distro_packages:
- openstack-nova-api
- openstack-nova-conductor
- openstack-nova-placement-api
- openstack-nova-scheduler
- python-memcached
- python-novaclient