Commit 4bfb831a by Ben Patterson

Merge pull request #2584 from edx/benp/packer-use-ansible-provisioner

Use ansible-local provisioner.
parents e876dcb2 20353e69
...@@ -16,3 +16,4 @@ ...@@ -16,3 +16,4 @@
# #
test_build_server_user: jenkins test_build_server_user: jenkins
test_build_server_repo_path: /home/jenkins test_build_server_repo_path: /home/jenkins
test_edx_platform_version: master
...@@ -24,15 +24,17 @@ ...@@ -24,15 +24,17 @@
git: > git: >
repo=https://github.com/edx/edx-platform.git repo=https://github.com/edx/edx-platform.git
dest={{ test_build_server_repo_path }}/edx-platform-clone dest={{ test_build_server_repo_path }}/edx-platform-clone
version=master version={{ test_edx_platform_version }}
sudo_user: "{{ test_build_server_user }}" sudo_user: "{{ test_build_server_user }}"
- name: get xargs limit
shell: "xargs --show-limits"
- name: Copy test-development-environment.sh to somewhere the jenkins user can access it - name: Copy test-development-environment.sh to somewhere the jenkins user can access it
copy: > copy: >
src=test-development-environment.sh src=test-development-environment.sh
dest="{{ test_build_server_repo_path }}" dest="{{ test_build_server_repo_path }}"
mode=0755 mode=0755
sudo_user: "{{ test_build_server_user }}"
- name: Validate build environment - name: Validate build environment
shell: "bash test-development-environment.sh" shell: "bash test-development-environment.sh"
......
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
"aws_access_key": "{{env `AWS_ACCESS_KEY_ID`}}", "aws_access_key": "{{env `AWS_ACCESS_KEY_ID`}}",
"aws_secret_key": "{{env `AWS_SECRET_ACCESS_KEY`}}", "aws_secret_key": "{{env `AWS_SECRET_ACCESS_KEY`}}",
"playbook_remote_dir": "/tmp/packer-edx-playbooks", "playbook_remote_dir": "/tmp/packer-edx-playbooks",
"ami": "{{env `JENKINS_WORKER_AMI`}}" "ami": "{{env `JENKINS_WORKER_AMI`}}",
"test_platform_version": "{{env `TEST_PLATFORM_VERSION`}}"
}, },
"builders": [{ "builders": [{
"type": "amazon-ebs", "type": "amazon-ebs",
...@@ -55,17 +56,32 @@ ...@@ -55,17 +56,32 @@
"inline": ["cd {{user `playbook_remote_dir`}}", "inline": ["cd {{user `playbook_remote_dir`}}",
"virtualenv packer-venv", "virtualenv packer-venv",
". packer-venv/bin/activate", ". packer-venv/bin/activate",
"pip install -q -r requirements.txt", "pip install -q -r requirements.txt"]
"echo '[jenkins_worker]' > inventory.ini", }, {
"echo 'localhost' >> inventory.ini", "type": "ansible-local",
"ansible-playbook edx-east/jenkins_worker.yml -i inventory.ini -c local -vvvv"] "playbook_file": "../../playbooks/edx-east/jenkins_worker.yml",
"playbook_dir": "../../playbooks",
"command": "source {{user `playbook_remote_dir`}}/packer-venv/bin/activate && ansible-playbook",
"inventory_groups": "jenkins_worker",
"extra_arguments": [
"-vvv"
]
}, { }, {
"type": "shell", "type": "shell",
"inline": ["cd {{user `playbook_remote_dir`}}", "inline": ["cd {{user `playbook_remote_dir`}}",
"rm -rf packer-venv", "rm -rf packer-venv",
"virtualenv packer-venv", "virtualenv packer-venv",
". packer-venv/bin/activate", ". packer-venv/bin/activate",
"pip install -q -r requirements.txt", "pip install -q -r requirements.txt"]
"ansible-playbook run_role.yml -i inventory.ini -c local -e role=test_build_server -vvvv"] }, {
"type": "ansible-local",
"playbook_file": "../../playbooks/run_role.yml",
"playbook_dir": "../../playbooks",
"command": "source {{user `playbook_remote_dir`}}/packer-venv/bin/activate && ansible-playbook",
"inventory_groups": "jenkins_worker",
"extra_arguments": [
"-e \"role=test_build_server test_edx_platform_version={{user `test_platform_version`}}\"",
"-vvv"
]
}] }]
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment