191e0b8660
None of the hosts need pip installed any more. Everything installed on the host is now a distribution package, and all pip packages are inside a virtualenv. As such, we make the final changes to eliminate the installation of pip on the host. 1. We change the pip_install role settings to only put pip.conf down, and not bother installing pip. The pip.conf remains necessary to provide any pip installs done in venvs with the details of the repo server. 2. We update the utility container playbook so that it installs everything into a venv, then symlinks the appropriate openstack client binaries to /usr/local/bin for convenient access. This is only done for source based installs. 3. We update the ceph radosgw keystone setup to make it use the appropriate service host, and to make use of the correct runtime venv. It also now makes use of native ansible modules instead of our own. Depends-On: https://review.openstack.org/587840 Depends-On: https://review.openstack.org/587849 Depends-On: https://review.openstack.org/589643 Depends-On: https://review.openstack.org/590011 Depends-On: https://review.openstack.org/590178 Change-Id: Iac018386e98d1531b605c66bccf3bcce10226e19
109 lines
3.5 KiB
YAML
109 lines
3.5 KiB
YAML
---
|
|
# Copyright 2017, Logan Vig <logan2211@gmail.com>
|
|
#
|
|
# 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: Configure keystone for radosgw
|
|
hosts: "{{ openstack_service_setup_host | default('localhost') }}"
|
|
user: root
|
|
vars_files:
|
|
- "defaults/{{ install_method }}_install.yml"
|
|
vars:
|
|
ansible_python_interpreter: >-
|
|
{{ ((openstack_service_setup_host | default('localhost')) == 'localhost') | ternary(ansible_playbook_python, ansible_python['executable']) }}
|
|
tags:
|
|
- ceph-rgw
|
|
- ceph-rgw-setup
|
|
- rgw-service-add
|
|
tasks:
|
|
- name: Add service to the keystone service catalog
|
|
os_keystone_service:
|
|
cloud: default
|
|
state: present
|
|
name: "{{ radosgw_service_name }}"
|
|
service_type: "{{ radosgw_service_type }}"
|
|
description: "{{ radosgw_service_description }}"
|
|
interface: admin
|
|
verify: "{{ not (keystone_service_adminuri_insecure | bool) }}"
|
|
register: add_service
|
|
until: add_service is success
|
|
retries: 5
|
|
delay: 10
|
|
tags:
|
|
- ceph-rgw-setup
|
|
- rgw-service-add
|
|
|
|
- name: Add service user
|
|
os_user:
|
|
cloud: default
|
|
state: present
|
|
name: "{{ radosgw_admin_user }}"
|
|
password: "{{ radosgw_admin_password }}"
|
|
domain: default
|
|
default_project: "{{ radosgw_admin_tenant }}"
|
|
interface: admin
|
|
verify: "{{ not (keystone_service_adminuri_insecure | bool) }}"
|
|
register: add_user
|
|
until: add_user is success
|
|
retries: 5
|
|
delay: 10
|
|
no_log: True
|
|
|
|
- name: Add service user to roles
|
|
os_user_role:
|
|
cloud: default
|
|
state: present
|
|
user: "{{ radosgw_admin_user }}"
|
|
role: "{{ radosgw_role_name | default('admin') }}"
|
|
project: "{{ radosgw_admin_tenant }}"
|
|
interface: admin
|
|
verify: "{{ not (keystone_service_adminuri_insecure | bool) }}"
|
|
register: add_user_role
|
|
until: add_user_role is success
|
|
retries: 5
|
|
delay: 10
|
|
|
|
- name: Add service role
|
|
os_keystone_role:
|
|
cloud: default
|
|
state: present
|
|
name: "swiftoperator"
|
|
interface: admin
|
|
verify: "{{ not (keystone_service_adminuri_insecure | bool) }}"
|
|
register: add_role
|
|
until: add_role is success
|
|
retries: 5
|
|
delay: 10
|
|
|
|
- name: Add endpoints to keystone endpoint catalog
|
|
os_keystone_endpoint:
|
|
cloud: default
|
|
state: present
|
|
service: "{{ radosgw_service_name }}"
|
|
endpoint_interface: "{{ item.interface }}"
|
|
url: "{{ item.url }}"
|
|
region: "{{ radosgw_service_region }}"
|
|
interface: admin
|
|
verify: "{{ not (keystone_service_adminuri_insecure | bool) }}"
|
|
register: add_service
|
|
until: add_service is success
|
|
retries: 5
|
|
delay: 10
|
|
with_items:
|
|
- interface: "public"
|
|
url: "{{ radosgw_service_publicurl }}"
|
|
- interface: "internal"
|
|
url: "{{ radosgw_service_internalurl }}"
|
|
- interface: "admin"
|
|
url: "{{ radosgw_service_adminurl }}"
|