Add extraroute contrib plugin

This change installs the extraroute contrib plugin for heat. It also
adds the plugin_dirs option to heat.conf, which defines
the locations where Heat plugins can be installed.

Change-Id: I940ed1c387ad5eaee5bcc80437f18dc742c662ec
Partial-Bug: #1420346
This commit is contained in:
Miguel Grinberg 2015-02-26 18:04:19 -08:00
parent 96256b93f4
commit 126b5fea68
7 changed files with 68 additions and 1 deletions

View File

@ -54,3 +54,5 @@
galera_address: "{{ internal_lb_vip_address }}" galera_address: "{{ internal_lb_vip_address }}"
ansible_hostname: "{{ container_name }}" ansible_hostname: "{{ container_name }}"
is_metal: "{{ properties.is_metal|default(false) }}" is_metal: "{{ properties.is_metal|default(false) }}"
vars_files:
- vars/repo_packages/openstack_services.yml

View File

@ -102,6 +102,11 @@ heat_watch_port: 8003
heat_watch_server_uri: "{{ heat_watch_proto }}://{{ external_lb_vip_address }}:{{ heat_watch_port }}" heat_watch_server_uri: "{{ heat_watch_proto }}://{{ external_lb_vip_address }}:{{ heat_watch_port }}"
heat_watch_server_url: "{{ heat_watch_server_uri }}" heat_watch_server_url: "{{ heat_watch_server_uri }}"
## Plugin dirs
heat_plugin_dirs:
- /usr/lib/heat
- /usr/local/lib/heat
heat_apt_packages: heat_apt_packages:
- rsync - rsync
- libxslt1.1 - libxslt1.1

View File

@ -0,0 +1,41 @@
---
# 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: Clone heat repo
git:
repo: "{{ heat_git_repo }}"
dest: "{{ heat_git_dest }}"
version: "{{ heat_git_install_branch }}"
register: git_clone
until: git_clone|success
retries: 5
delay: 2
tags:
- heat-git-clone
- name: Install git repo plugins
shell: |
python setup.py install
args:
chdir: "{{ heat_git_dest }}/{{ item.path }}/{{ item.package }}"
with_items: heat_repo_plugins
register: pip_install
until: pip_install|success
retries: 5
delay: 2
notify:
- Restart heat services
tags:
- heat-plugin-install

View File

@ -49,6 +49,16 @@
tags: tags:
- heat-dirs - heat-dirs
- name: Create heat plugin dirs
file:
path: "{{ item }}"
state: directory
owner: "{{ heat_system_user_name }}"
group: "{{ heat_system_group_name }}"
with_items: heat_plugin_dirs
tags:
- heat-dirs
- name: Test for log directory or link - name: Test for log directory or link
shell: | shell: |
if [ -h "/var/log/heat" ]; then if [ -h "/var/log/heat" ]; then

View File

@ -16,6 +16,10 @@
- include: heat_pre_install.yml - include: heat_pre_install.yml
- include: heat_install.yml - include: heat_install.yml
- include: heat_install_plugins.yml
when: >
inventory_hostname in groups['heat_engine']
- include: heat_domain_setup.yml - include: heat_domain_setup.yml
when: > when: >
inventory_hostname == groups['heat_all'][0] inventory_hostname == groups['heat_all'][0]

View File

@ -30,6 +30,10 @@ rabbit_password = {{ rabbitmq_password }}
rabbit_hosts = {{ rabbitmq_servers }} rabbit_hosts = {{ rabbitmq_servers }}
## Plugin dirs
plugin_dirs = {{ heat_plugin_dirs | join(',') }}
[clients] [clients]
endpoint_type = {{ heat_client_endpoint }} endpoint_type = {{ heat_client_endpoint }}

View File

@ -44,7 +44,8 @@ glance_git_dest: "/opt/glance_{{ glance_git_install_branch | replace('/', '_') }
heat_git_repo: https://github.com/openstack/heat heat_git_repo: https://github.com/openstack/heat
heat_git_install_branch: 2014.2.2 heat_git_install_branch: 2014.2.2
heat_git_dest: "/opt/heat_{{ heat_git_install_branch | replace('/', '_') }}" heat_git_dest: "/opt/heat_{{ heat_git_install_branch | replace('/', '_') }}"
heat_repo_plugins:
- { path: "contrib", package: "extraroute" }
## Horizon service ## Horizon service
horizon_git_repo: https://github.com/openstack/horizon horizon_git_repo: https://github.com/openstack/horizon