Add posts installation tasks, and follow the standard procedure
This commit is contained in:
parent
6d66c9c340
commit
a5c895448a
|
@ -29,4 +29,48 @@ congress_bin: "/openstack/venvs/congress-{{ congress_venv_tag }}/bin"
|
|||
congress_venv_download_url: http://127.0.0.1/venvs/untagged/ubuntu/congress.tgz
|
||||
|
||||
congress_requires_pip_packages:
|
||||
- virtualenv
|
||||
- virtualenv
|
||||
|
||||
## System info
|
||||
congress_system_user_name: congress
|
||||
congress_system_group_name: congress
|
||||
congress_system_shell: /bin/false
|
||||
congress_system_comment: congress system user
|
||||
congress_system_user_home: "/var/lib/{{ congress_system_user_name }}"
|
||||
|
||||
## Database credentials
|
||||
congress_db_name: congress
|
||||
congress_db_user: root
|
||||
congress_db_login_host: ""
|
||||
congress_db_login_user: ""
|
||||
congress_db_login_password: ""
|
||||
congress_db_user_password: ""
|
||||
|
||||
## Service Type and Data
|
||||
congress_service_region: RegionOne
|
||||
congress_service_name: congress
|
||||
congress_service_proto: http
|
||||
congress_service_type: nfv-orchestration
|
||||
congress_service_description: "congress service"
|
||||
congress_service_publicuri: "{{ congress_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ congress_service_port }}"
|
||||
congress_service_publicurl: "{{ congress_service_publicuri }}"
|
||||
congress_service_internaluri: "{{ congress_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ congress_service_port }}"
|
||||
congress_service_internalurl: "{{ congress_service_internaluri }}"
|
||||
congress_service_adminuri: "{{ congress_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ congress_service_port }}"
|
||||
congress_service_adminurl: "{{ congress_service_adminuri }}"
|
||||
congress_service_registry_proto: "{{ congress_service_proto }}"
|
||||
congress_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(congress_service_proto) }}"
|
||||
congress_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(congress_service_proto) }}"
|
||||
congress_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(congress_service_proto) }}"
|
||||
|
||||
#NOTE: move password to tests/test-vars.yml
|
||||
congress_service_password: password
|
||||
|
||||
## Keystone
|
||||
congress_service_project_domain_id: default
|
||||
congress_service_project_name: service
|
||||
congress_service_user_domain_id: default
|
||||
congress_service_user_name: congress
|
||||
congress_keystone_auth_plugin: password
|
||||
|
||||
congress_service_in_ldap: false
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
---
|
||||
# Copyright 2017, taseer94@gmail.com
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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: Ensure congress service
|
||||
keystone:
|
||||
command: "ensure_service"
|
||||
endpoint: "{{ keystone_service_adminurl }}"
|
||||
login_user: "{{ keystone_admin_user_name }}"
|
||||
login_password: "{{ keystone_auth_admin_password }}"
|
||||
login_project_name: "{{ keystone_admin_tenant_name }}"
|
||||
service_name: "{{ congress_service_name }}"
|
||||
service_type: "{{ congress_service_type }}"
|
||||
description: "{{ congress_service_description }}"
|
||||
insecure: "{{ keystone_service_adminuri_insecure }}"
|
||||
register: add_service
|
||||
until: add_service|success
|
||||
retries: 5
|
||||
delay: 2
|
||||
|
||||
# Create an admin user
|
||||
- name: Ensure congress user
|
||||
keystone:
|
||||
command: "ensure_user"
|
||||
endpoint: "{{ keystone_service_adminurl }}"
|
||||
login_user: "{{ keystone_admin_user_name }}"
|
||||
login_password: "{{ keystone_auth_admin_password }}"
|
||||
login_project_name: "{{ keystone_admin_tenant_name }}"
|
||||
user_name: "{{ congress_service_user_name }}"
|
||||
tenant_name: "{{ congress_service_project_name }}"
|
||||
password: "{{ congress_service_password }}"
|
||||
insecure: "{{ keystone_service_adminuri_insecure }}"
|
||||
register: add_service
|
||||
when: not congress_service_in_ldap | bool
|
||||
until: add_service|success
|
||||
retries: 5
|
||||
delay: 10
|
||||
|
||||
- name: Ensure congress user to admin role
|
||||
keystone:
|
||||
command: "ensure_user_role"
|
||||
endpoint: "{{ keystone_service_adminurl }}"
|
||||
login_user: "{{ keystone_admin_user_name }}"
|
||||
login_password: "{{ keystone_auth_admin_password }}"
|
||||
login_project_name: "{{ keystone_admin_tenant_name }}"
|
||||
user_name: "{{ congress_service_user_name }}"
|
||||
tenant_name: "{{ congress_service_project_name }}"
|
||||
role_name: "{{ congress_role_name }}"
|
||||
insecure: "{{ keystone_service_adminuri_insecure }}"
|
||||
register: add_service
|
||||
when: not congress_service_in_ldap | bool
|
||||
until: add_service|success
|
||||
retries: 5
|
||||
delay: 10
|
||||
|
||||
# Create an endpoint
|
||||
- name: Ensure congress endpoint
|
||||
keystone:
|
||||
command: "ensure_endpoint"
|
||||
endpoint: "{{ keystone_service_adminurl }}"
|
||||
login_user: "{{ keystone_admin_user_name }}"
|
||||
login_password: "{{ keystone_auth_admin_password }}"
|
||||
login_project_name: "{{ keystone_admin_tenant_name }}"
|
||||
region_name: "{{ congress_service_region }}"
|
||||
service_name: "{{ congress_service_name }}"
|
||||
service_type: "{{ congress_service_type }}"
|
||||
insecure: "{{ keystone_service_adminuri_insecure }}"
|
||||
endpoint_list:
|
||||
- url: "{{ congress_service_publicurl }}"
|
||||
interface: "public"
|
||||
- url: "{{ congress_service_internalurl }}"
|
||||
interface: "internal"
|
||||
- url: "{{ congress_service_adminurl }}"
|
||||
interface: "admin"
|
||||
register: add_service
|
||||
until: add_service|success
|
||||
retries: 5
|
||||
delay: 10
|
|
@ -14,74 +14,85 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- name: Install required pip packages
|
||||
pip:
|
||||
name: "{{ congress_requires_pip_packages | join(' ') }}"
|
||||
state: "{{ congress_package_state }}"
|
||||
register: install_packages
|
||||
until: install_packages|success
|
||||
retries: 5
|
||||
delay: 2
|
||||
- name: clone congress repo
|
||||
git:
|
||||
repo: "{{ congress_git_repo }}"
|
||||
dest: /opt/congress
|
||||
clone: yes
|
||||
|
||||
- name: Retrieve checksum for venv download
|
||||
uri:
|
||||
url: "{{ congress_venv_download_url | replace('tgz', 'checksum') }}"
|
||||
return_content: yes
|
||||
register: congress_venv_checksum
|
||||
when: not congress_developer_mode | bool
|
||||
- name: install congress
|
||||
shell: python setup.py install
|
||||
args:
|
||||
chdir: /opt/congress
|
||||
|
||||
- name: Attempt venv download
|
||||
get_url:
|
||||
url: "{{ congress_venv_download_url }}"
|
||||
dest: "/var/cache/{{ congress_venv_download_url | basename }}"
|
||||
checksum: "sha1:{{ congress_venv_checksum.content | trim }}"
|
||||
register: congress_get_venv
|
||||
when: not congress_developer_mode | bool
|
||||
#- name: Install required pip packages
|
||||
# pip:
|
||||
# name: "{{ congress_requires_pip_packages | join(' ') }}"
|
||||
# state: "{{ congress_package_state }}"
|
||||
# register: install_packages
|
||||
# until: install_packages|success
|
||||
# retries: 5
|
||||
# delay: 2
|
||||
|
||||
- name: Remove existing venv
|
||||
file:
|
||||
path: "{{ congress_bin | dirname }}"
|
||||
state: absent
|
||||
when: congress_get_venv | changed
|
||||
#- name: Retrieve checksum for venv download
|
||||
# uri:
|
||||
# url: "{{ congress_venv_download_url | replace('tgz', 'checksum') }}"
|
||||
# return_content: yes
|
||||
# register: congress_venv_checksum
|
||||
# when: not congress_developer_mode | bool
|
||||
|
||||
- name: Create congress venv dir
|
||||
file:
|
||||
path: "{{ congress_bin | dirname }}"
|
||||
state: directory
|
||||
register: congress_venv_dir
|
||||
when: not congress_developer_mode | bool
|
||||
#- name: Attempt venv download
|
||||
# get_url:
|
||||
# url: "{{ congress_venv_download_url }}"
|
||||
# dest: "/var/cache/{{ congress_venv_download_url | basename }}"
|
||||
# checksum: "sha1:{{ congress_venv_checksum.content | trim }}"
|
||||
# register: congress_get_venv
|
||||
# when: not congress_developer_mode | bool
|
||||
|
||||
- name: Unarchive pre-built venv
|
||||
unarchive:
|
||||
src: "/var/cache/{{ congress_venv_download_url | basename }}"
|
||||
dest: "{{ congress_bin | dirname }}"
|
||||
copy: "no"
|
||||
when:
|
||||
- not congress_developer_mode | bool
|
||||
- congress_get_venv | changed or congress_venv_dir | changed
|
||||
#- name: Remove existing venv
|
||||
# file:
|
||||
# path: "{{ congress_bin | dirname }}"
|
||||
# state: absent
|
||||
# when: congress_get_venv | changed
|
||||
|
||||
- name: Install pip packages
|
||||
pip:
|
||||
name: "{{ congress_pip_packages | join(' ') }}"
|
||||
state: "{{ congress_package_state }}"
|
||||
virtualenv: "{{ congress_bin | dirname }}"
|
||||
virtualenv_site_packages: "no"
|
||||
register: install_packages
|
||||
until: install_packages|success
|
||||
retries: 5
|
||||
delay: 2
|
||||
when: congress_developer_mode | bool
|
||||
#- name: Create congress venv dir
|
||||
# file:
|
||||
# path: "{{ congress_bin | dirname }}"
|
||||
# state: directory
|
||||
# register: congress_venv_dir
|
||||
# when: not congress_developer_mode | bool
|
||||
|
||||
- name: Update virtualenv path
|
||||
command: >
|
||||
virtualenv-tools --update-path=auto --reinitialize {{ congress_bin | dirname }}
|
||||
when:
|
||||
- not congress_developer_mode | bool
|
||||
- congress_get_venv | changed or congress_venv_dir | changed
|
||||
#- name: Unarchive pre-built venv
|
||||
# unarchive:
|
||||
# src: "/var/cache/{{ congress_venv_download_url | basename }}"
|
||||
# dest: "{{ congress_bin | dirname }}"
|
||||
# copy: "no"
|
||||
# when:
|
||||
# - not congress_developer_mode | bool
|
||||
# - congress_get_venv | changed or congress_venv_dir | changed
|
||||
|
||||
- name: Record the venv tag deployed
|
||||
ini_file:
|
||||
dest: "/etc/ansible/facts.d/openstack_ansible.fact"
|
||||
section: congress
|
||||
option: venv_tag
|
||||
value: "{{ congress_venv_tag }}"
|
||||
#- name: Install pip packages
|
||||
# pip:
|
||||
# name: "{{ congress_pip_packages | join(' ') }}"
|
||||
# state: "{{ congress_package_state }}"
|
||||
# virtualenv: "{{ congress_bin | dirname }}"
|
||||
# virtualenv_site_packages: "no"
|
||||
# register: install_packages
|
||||
# until: install_packages|success
|
||||
# retries: 5
|
||||
# delay: 2
|
||||
# when: congress_developer_mode | bool
|
||||
|
||||
#- name: Update virtualenv path
|
||||
# command: >
|
||||
# virtualenv-tools --update-path=auto --reinitialize {{ congress_bin | dirname }}
|
||||
# when:
|
||||
# - not congress_developer_mode | bool
|
||||
# - congress_get_venv | changed or congress_venv_dir | changed
|
||||
|
||||
#- name: Record the venv tag deployed
|
||||
# ini_file:
|
||||
# dest: "/etc/ansible/facts.d/openstack_ansible.fact"
|
||||
# section: congress
|
||||
# option: venv_tag
|
||||
# value: "{{ congress_venv_tag }}"
|
|
@ -14,39 +14,31 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- debug:
|
||||
msg: "This is the post installation script"
|
||||
- name: creating congress database
|
||||
mysql_db:
|
||||
name: "{{ congress_db_name }}"
|
||||
state: present
|
||||
login_host: "{{ congress_db_login_host }}"
|
||||
login_user: "{{ congress_db_login_user }}"
|
||||
login_password: "{{ congress_db_login_password }}"
|
||||
|
||||
- name: make configuration directory
|
||||
file:
|
||||
path: /etc/congress
|
||||
state: directory
|
||||
|
||||
- name: make snapshot directory
|
||||
file:
|
||||
path: /etc/congress/snapshot
|
||||
state: directory
|
||||
|
||||
- name: copy files
|
||||
copy:
|
||||
src: "/opt/requirements/etc/{{ item }}"
|
||||
dest: /etc/congress
|
||||
- name: create congress user access
|
||||
mysql_user:
|
||||
name: "{{ congress_db_user }}"
|
||||
password: "{{ congress_db_user_password }}"
|
||||
login_host: "{{ congress_db_login_host }}"
|
||||
login_user: "{{ congress_db_login_user }}"
|
||||
login_password: "{{ congress_db_login_password }}"
|
||||
priv: congress.*:ALL
|
||||
host: "{{ item }}"
|
||||
with_items:
|
||||
- api-paste.ini
|
||||
- policy.json
|
||||
- congress.conf.sample
|
||||
- "%"
|
||||
- "localhost"
|
||||
|
||||
- debug:
|
||||
msg: "Adding the database"
|
||||
- name: create congress database schema
|
||||
shell: >
|
||||
/usr/bin/congress-db-manage --config /etc/congress/congress.conf upgrade head
|
||||
|
||||
- debug:
|
||||
msg: "setting up congress accounts"
|
||||
|
||||
- debug:
|
||||
msg: "setting up congress service endpoints"
|
||||
|
||||
- debug:
|
||||
msg: "Setting up datasource drivers"
|
||||
|
||||
- debug:
|
||||
msg: "Install Congress client in the utility container"
|
||||
- name: install congress client
|
||||
pip:
|
||||
name: python-congressclient
|
||||
|
|
|
@ -23,4 +23,32 @@
|
|||
pip:
|
||||
name: "{{ item }}"
|
||||
with_items:
|
||||
- virtualenv
|
||||
- virtualenv
|
||||
|
||||
- name: create congress group
|
||||
group:
|
||||
name: "{{ congress_system_group_name }}"
|
||||
state: present
|
||||
|
||||
- name: create congress user
|
||||
user:
|
||||
name: "{{ congress_system_user_name }}"
|
||||
group: "{{ congress_system_group_name }}"
|
||||
createhome: no
|
||||
|
||||
- name: make congress configuration directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- /etc/congress
|
||||
- /etc/congress/snapshot
|
||||
|
||||
- name: copy files
|
||||
copy:
|
||||
src: "/opt/congress/etc/{{ item }}"
|
||||
dest: /etc/congress
|
||||
with_items:
|
||||
- api-paste.ini
|
||||
- policy.json
|
||||
# - congress.conf.sample
|
||||
|
|
Loading…
Reference in New Issue