summaryrefslogtreecommitdiffstats
path: root/openstack-ansible/playbooks
diff options
context:
space:
mode:
authorwutianwei <wutianwei1@huawei.com>2017-02-07 16:35:27 +0800
committerTrevor Bramwell <tbramwell@linuxfoundation.org>2017-08-11 12:56:12 -0700
commit2d16c440ef7ef0aa8e807df33fa25783952b93d1 (patch)
tree1a86135e841d56d664246ea0d5a7bac5902c555c /openstack-ansible/playbooks
parentf37b1727593632eae93a6347ccf628325e430d01 (diff)
Add scripts and playbook to deploy OSA
The script and playbooks defined on this repo will deploy an OpenStack cloud based on OpenStack-Ansible. You just need to run the osa_deploy.sh. More information please refer to the README.md Change-Id: I731c366ab7197aefd7726150477ba1cc4d2932d3 Signed-off-by: wutianwei <wutianwei1@huawei.com>
Diffstat (limited to 'openstack-ansible/playbooks')
-rw-r--r--openstack-ansible/playbooks/inventory11
-rw-r--r--openstack-ansible/playbooks/jumphost_configuration.yml53
-rw-r--r--openstack-ansible/playbooks/targethost_configuration.yml61
3 files changed, 125 insertions, 0 deletions
diff --git a/openstack-ansible/playbooks/inventory b/openstack-ansible/playbooks/inventory
new file mode 100644
index 00000000..f53da530
--- /dev/null
+++ b/openstack-ansible/playbooks/inventory
@@ -0,0 +1,11 @@
+[jumphost]
+jumphost ansible_ssh_host=192.168.122.2
+
+[controller]
+controller00 ansible_ssh_host=192.168.122.3
+controller01 ansible_ssh_host=192.168.122.4
+controller02 ansible_ssh_host=192.168.122.5
+
+[compute]
+compute00 ansible_ssh_host=192.168.122.6
+compute01 ansible_ssh_host=192.168.122.7
diff --git a/openstack-ansible/playbooks/jumphost_configuration.yml b/openstack-ansible/playbooks/jumphost_configuration.yml
new file mode 100644
index 00000000..c51d8307
--- /dev/null
+++ b/openstack-ansible/playbooks/jumphost_configuration.yml
@@ -0,0 +1,53 @@
+---
+- hosts: jumphost
+ remote_user: root
+ vars_files:
+ - ../var/ubuntu.yml
+ tasks:
+ - name: generate SSH keys
+ shell: ssh-keygen -b 2048 -t rsa -f /root/.ssh/id_rsa -q -N ""
+ args:
+ creates: /root/.ssh/id_rsa
+ - name: fetch public key
+ fetch: src="/root/.ssh/id_rsa.pub" dest="/"
+ - name: remove the directory
+ shell: "rm -rf {{OSA_PATH}} {{OSA_ETC_PATH}}"
+ - name: git openstack ansible
+ shell: "git clone {{OSA_URL}} {{OSA_PATH}} -b {{OSA_BRANCH}}"
+ - name: copy /opt/openstack-ansible/etc/openstack_deploy to /etc/openstack_deploy
+ shell: "/bin/cp -rf {{OSA_PATH}}/etc/openstack_deploy {{OSA_ETC_PATH}}"
+ - name: bootstrap
+ command: "/bin/bash ./scripts/bootstrap-ansible.sh"
+ args:
+ chdir: "{{OSA_PATH}}"
+ - name: generate password token
+ command: "python pw-token-gen.py --file /etc/openstack_deploy/user_secrets.yml"
+ args:
+ chdir: /opt/openstack-ansible/scripts/
+ - name: copy openstack_user_config.yml to /etc/openstack_deploy
+ copy:
+ src: ../file/openstack_user_config.yml
+ dest: "{{OSA_ETC_PATH}}/openstack_user_config.yml"
+ - name: copy cinder.yml to /etc/openstack_deploy/env.d
+ copy:
+ src: ../file/cinder.yml
+ dest: "{{OSA_ETC_PATH}}/env.d/cinder.yml"
+ - name: copy user_variables.yml to /etc/openstack_deploy/
+ copy:
+ src: ../file/user_variables.yml
+ dest: "{{OSA_ETC_PATH}}/user_variables.yml"
+ - name: configure network
+ template:
+ src: ../template/bifrost/controller.interface.j2
+ dest: /etc/network/interfaces
+ notify:
+ - restart network service
+ handlers:
+ - name: restart network service
+ shell: "/sbin/ifconfig ens3 0 &&/sbin/ifdown -a && /sbin/ifup -a"
+
+- hosts: localhost
+ remote_user: root
+ tasks:
+ - name: Generate authorized_keys
+ shell: "/bin/cat /jumphost/root/.ssh/id_rsa.pub >> ../file/authorized_keys"
diff --git a/openstack-ansible/playbooks/targethost_configuration.yml b/openstack-ansible/playbooks/targethost_configuration.yml
new file mode 100644
index 00000000..ffe788f0
--- /dev/null
+++ b/openstack-ansible/playbooks/targethost_configuration.yml
@@ -0,0 +1,61 @@
+---
+- hosts: all
+ remote_user: root
+ vars_files:
+ - ../var/ubuntu.yml
+ tasks:
+ - name: add public key to host
+ copy:
+ src: ../file/authorized_keys
+ dest: /root/.ssh/authorized_keys
+ - name: configure modules
+ copy:
+ src: ../file/modules
+ dest: /etc/modules
+
+- hosts: controller
+ remote_user: root
+ vars_files:
+ - ../var/ubuntu.yml
+ tasks:
+ - name: configure network
+ template:
+ src: ../template/bifrost/controller.interface.j2
+ dest: /etc/network/interfaces
+ notify:
+ - restart network service
+ handlers:
+ - name: restart network service
+ shell: "/sbin/ifconfig ens3 0 &&/sbin/ifdown -a && /sbin/ifup -a"
+
+- hosts: compute
+ remote_user: root
+ vars_files:
+ - ../var/ubuntu.yml
+ tasks:
+ - name: configure network
+ template:
+ src: ../template/bifrost/compute.interface.j2
+ dest: /etc/network/interfaces
+ notify:
+ - restart network service
+ handlers:
+ - name: restart network service
+ shell: "/sbin/ifconfig ens3 0 &&/sbin/ifdown -a && /sbin/ifup -a"
+
+- hosts: compute01
+ remote_user: root
+ tasks:
+ - name: make nfs dir
+ file: "dest=/images mode=777 state=directory"
+ - name: configure sdrvice
+ shell: "echo 'nfs 2049/tcp' >> /etc/services && echo 'nfs 2049/udp' >> /etc/services"
+ - name: configure NFS
+ copy:
+ src: ../file/exports
+ dest: /etc/exports
+ notify:
+ - restart nfs service
+ handlers:
+ - name: restart nfs service
+ service: name=nfs-kernel-server state=restarted