Avoid re-stacking when not necessary
Also adds a swap file of 8GB Change-Id: I50b7dcb5ca40c9840ae086006c9d868637d3b5d0
This commit is contained in:
parent
d0d2c1c362
commit
9108be7e83
5
Vagrantfile
vendored
5
Vagrantfile
vendored
@ -32,6 +32,9 @@ PROJECTS_DIR = File.dirname(ENV.fetch('PROJECTS_DIR', VAGRANTFILE_DIR))
|
||||
|
||||
GIT_BASE = ENV.fetch('GIT_BASE', 'https://opendev.org')
|
||||
|
||||
TOX_ENVLIST = ENV.fetch('TOX_ENVLIST', '')
|
||||
TOX_EXTRA_ARGS = ENV.fetch('TOX_EXTRA_ARGS', '--notest')
|
||||
|
||||
# Local project directories to be copied
|
||||
DEVSTACK_PROJECTS = {
|
||||
# Local directory from where look for devstack project files
|
||||
@ -120,6 +123,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||
ansible.playbook = PROVISION_PLAYBOOK
|
||||
ansible.extra_vars = ansible.extra_vars = {
|
||||
'devstack_projects' => DEVSTACK_PROJECTS,
|
||||
'tox_envlist' => TOX_ENVLIST,
|
||||
'tox_extra_args' => TOX_EXTRA_ARGS,
|
||||
}
|
||||
end
|
||||
|
||||
|
@ -4,7 +4,6 @@
|
||||
vars:
|
||||
resolv_conf_file: /etc/resolv.conf
|
||||
dest_dir: /opt/stack
|
||||
tox_extra_args: --notest
|
||||
|
||||
pre_tasks:
|
||||
|
||||
|
5
roles/devstack-tobiko-deploy/defaults/main.yaml
Normal file
5
roles/devstack-tobiko-deploy/defaults/main.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
|
||||
force_restack: false
|
||||
stack_succeeded_file: '{{ devstack_dir }}/SUCCEEDED'
|
||||
swap_file_size: 8192
|
27
roles/devstack-tobiko-deploy/tasks/add-swap-file.yaml
Normal file
27
roles/devstack-tobiko-deploy/tasks/add-swap-file.yaml
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
|
||||
- name: "Add a swap file of {{ swap_file_size }} MBytes"
|
||||
become: true
|
||||
become_user: root
|
||||
shell:
|
||||
cmd: |
|
||||
# does the swap file already exist?
|
||||
if grep -q "swapfile" /etc/fstab; then
|
||||
echo 'swapfile found. No changes made.'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo 'swapfile not found. Adding swapfile...'
|
||||
set -ex
|
||||
|
||||
fallocate -l '{{ swap_file_size }}M' /swapfile
|
||||
chmod 600 /swapfile
|
||||
mkswap /swapfile
|
||||
swapon /swapfile
|
||||
echo '/swapfile none swap defaults 0 0' >> /etc/fstab
|
||||
echo 'swapfile added.'
|
||||
exit 0
|
||||
|
||||
register: add_swap_file
|
||||
changed_when: >-
|
||||
'swapfile added' in add_swap_file.stdout
|
38
roles/devstack-tobiko-deploy/tasks/check_restack.yaml
Normal file
38
roles/devstack-tobiko-deploy/tasks/check_restack.yaml
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
|
||||
- when: not (force_restack | bool)
|
||||
block:
|
||||
- name: check file '{{ stack_succeeded_file }}' exists
|
||||
stat:
|
||||
path: '{{ stack_succeeded_file }}'
|
||||
register: check_devstack_succeeded_file_exists
|
||||
failed_when: no
|
||||
|
||||
- debug: var=check_devstack_succeeded_file_exists
|
||||
|
||||
- set_fact:
|
||||
force_restack: >-
|
||||
{{ not check_devstack_succeeded_file_exists.stat.exists |
|
||||
default(true) |
|
||||
bool }}
|
||||
|
||||
- debug: var=force_restack
|
||||
|
||||
|
||||
- when: force_restack | bool
|
||||
block:
|
||||
- name: check file '{{ devstack_dir }}/local.conf' exists
|
||||
stat:
|
||||
path: '{{ devstack_dir }}/local.conf'
|
||||
register: check_devstack_local_conf_file_exists
|
||||
failed_when: no
|
||||
|
||||
- debug: var=check_devstack_local_conf_file_exists
|
||||
|
||||
- set_fact:
|
||||
force_restack: >-
|
||||
{{ check_devstack_local_conf_file_exists.stat.exists |
|
||||
default(false) |
|
||||
bool }}
|
||||
|
||||
- debug: var=force_restack
|
@ -9,7 +9,6 @@
|
||||
mode: '0755'
|
||||
owner: stack
|
||||
group: stack
|
||||
recurse: yes
|
||||
when: >-
|
||||
( project_src_dir | length) > 0 or
|
||||
( project_git_repo | length) > 0
|
||||
|
@ -1,5 +1,6 @@
|
||||
---
|
||||
|
||||
- include_tasks: add-swap-file.yaml
|
||||
- include_tasks: install-bindeps.yaml
|
||||
- include_tasks: ensure-stack-user.yaml
|
||||
- include_tasks: run-unstack.yaml
|
||||
|
@ -1,17 +1,24 @@
|
||||
---
|
||||
|
||||
- include_tasks: check_restack.yaml
|
||||
|
||||
- name: run stack.sh
|
||||
become: true
|
||||
become_user: stack
|
||||
shell:
|
||||
cmd: |
|
||||
sudo su -l stack -c "cd '{{ devstack_dir }}' && ./stack.sh" 2>&1
|
||||
sudo su -l stack -c "
|
||||
cd '{{ devstack_dir }}' &&
|
||||
./stack.sh &&
|
||||
touch '{{ stack_succeeded_file }}'
|
||||
" 2>&1
|
||||
rc=$?
|
||||
echo "*** FINISHED ***"
|
||||
exit $rc
|
||||
chdir: '{{ devstack_dir }}'
|
||||
register: run_stack
|
||||
ignore_errors: true
|
||||
when: force_restack | bool
|
||||
|
||||
|
||||
- name: show stack.sh output
|
||||
|
@ -1,25 +1,23 @@
|
||||
---
|
||||
|
||||
- name: check '{{ devstack_dir }}/local.conf' exists
|
||||
stat:
|
||||
path: '{{ devstack_dir }}/local.conf'
|
||||
register: check_devstack_local_conf_file_exists
|
||||
failed_when: no
|
||||
|
||||
- include_tasks: check_restack.yaml
|
||||
|
||||
- name: run unstack.sh
|
||||
become: yes
|
||||
become_user: stack
|
||||
shell:
|
||||
cmd: |
|
||||
sudo su -l stack -c "cd '{{ devstack_dir }}' && ./unstack.sh" 2>&1
|
||||
sudo su -l stack -c "
|
||||
rm -f '{{ stack_succeeded_file }}';
|
||||
cd '{{ devstack_dir }}' &&
|
||||
./unstack.sh
|
||||
" 2>&1
|
||||
rc=$?
|
||||
echo "*** FINISHED ***"
|
||||
exit $rc
|
||||
register: run_unstack
|
||||
ignore_errors: yes
|
||||
when:
|
||||
check_devstack_local_conf_file_exists.stat.exists | default(False)
|
||||
when: force_restack | bool
|
||||
|
||||
|
||||
- debug: var=run_unstack.stdout_lines
|
||||
|
@ -1,6 +1,13 @@
|
||||
---
|
||||
|
||||
- name: 'Run test cases: {{ tox_command_line }}'
|
||||
- set_fact:
|
||||
tox_command_line: "{{ tox_command_line | replace('\n', '') }}"
|
||||
|
||||
|
||||
- debug: var=tox_command_line
|
||||
|
||||
|
||||
- name: "Run test cases: {{ tox_command_line }}"
|
||||
become: true
|
||||
become_user: stack
|
||||
shell:
|
||||
|
Loading…
Reference in New Issue
Block a user