diff options
Diffstat (limited to 'deploy/adapters/ansible/openstack_mitaka/roles')
5 files changed, 163 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/database/vars/main.yml b/deploy/adapters/ansible/openstack_mitaka/roles/database/vars/main.yml new file mode 100644 index 00000000..b4ff7ba5 --- /dev/null +++ b/deploy/adapters/ansible/openstack_mitaka/roles/database/vars/main.yml @@ -0,0 +1,37 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +packages_noarch: [] + +services_noarch: + - mysql + +credentials: + - user: keystone + db: keystone + password: "{{ KEYSTONE_DBPASS }}" + - user: neutron + db: neutron + password: "{{ NEUTRON_DBPASS }}" + - user: glance + db: glance + password: "{{ GLANCE_DBPASS }}" + - user: nova + db: nova_api + password: "{{ NOVA_DBPASS }}" + - user: nova + db: nova + password: "{{ NOVA_DBPASS }}" + - user: cinder + db: cinder + password: "{{ CINDER_DBPASS }}" + - user: heat + db: heat + password: "{{ HEAT_DBPASS }}" + diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/glance/tasks/nfs.yml b/deploy/adapters/ansible/openstack_mitaka/roles/glance/tasks/nfs.yml new file mode 100644 index 00000000..07dfacdd --- /dev/null +++ b/deploy/adapters/ansible/openstack_mitaka/roles/glance/tasks/nfs.yml @@ -0,0 +1,61 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- name: install nfs packages + action: "{{ ansible_pkg_mgr }} name={{ item }} state=present" + with_items: nfs_packages + +- name: install nfs + local_action: yum name={{ item }} state=present + with_items: + - rpcbind + - nfs-utils + run_once: True + +- name: create image directory + local_action: file path=/opt/images state=directory mode=0777 + run_once: True + +- name: remove nfs config item if exist + local_action: lineinfile dest=/etc/exports state=absent + regexp="^/opt/images" + run_once: True + +- name: update nfs config + local_action: lineinfile dest=/etc/exports state=present + line="/opt/images *(rw,insecure,sync,all_squash)" + run_once: True + +- name: restart compass nfs service + local_action: service name={{ item }} state=restarted enabled=yes + with_items: + - rpcbind + - nfs-server + run_once: True + +- name: get mount info + command: mount + register: mount_info + +- name: get nfs server + shell: awk -F'=' '/compass_server/ {print $2}' /etc/compass.conf + register: ip_info + +- name: restart host nfs service + service: name={{ item }} state=restarted enabled=yes + with_items: '{{ nfs_services }}' + +- name: mount image directory + shell: | + mount -t nfs -onfsvers=3 {{ ip_info.stdout_lines[0] }}:/opt/images /var/lib/glance/images + sed -i '/\/var\/lib\/glance\/images/d' /etc/fstab + echo {{ ip_info.stdout_lines[0] }}:/opt/images /var/lib/glance/images/ nfs nfsvers=3 >> /etc/fstab + when: mount_info.stdout.find('images') == -1 + retries: 5 + delay: 3 diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/glance/vars/Debian.yml b/deploy/adapters/ansible/openstack_mitaka/roles/glance/vars/Debian.yml new file mode 100644 index 00000000..d1825012 --- /dev/null +++ b/deploy/adapters/ansible/openstack_mitaka/roles/glance/vars/Debian.yml @@ -0,0 +1,21 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +packages: + - glance + - nfs-common + +nfs_packages: + - nfs-common + +nfs_services: [] + +services: + - glance-registry + - glance-api diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/glance/vars/RedHat.yml b/deploy/adapters/ansible/openstack_mitaka/roles/glance/vars/RedHat.yml new file mode 100644 index 00000000..2987d0c4 --- /dev/null +++ b/deploy/adapters/ansible/openstack_mitaka/roles/glance/vars/RedHat.yml @@ -0,0 +1,23 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +packages: + - openstack-glance + - rpcbind + +nfs_packages: + - nfs-utils + - rpcbind + +nfs_services: + - rpcbind + +services: + - openstack-glance-api + - openstack-glance-registry diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/nova-controller/tasks/nova_config.yml b/deploy/adapters/ansible/openstack_mitaka/roles/nova-controller/tasks/nova_config.yml new file mode 100644 index 00000000..f332c97a --- /dev/null +++ b/deploy/adapters/ansible/openstack_mitaka/roles/nova-controller/tasks/nova_config.yml @@ -0,0 +1,21 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- name: nova api db sync + shell: su -s /bin/sh -c "nova-manage api_db sync" nova + ignore_errors: True + notify: + - restart nova service + +- name: nova db sync + nova_manage: action=dbsync + notify: + - restart nova service + +- meta: flush_handlers |