Skip to content
This repository has been archived by the owner on Jan 8, 2021. It is now read-only.

Commit

Permalink
improve tasks
Browse files Browse the repository at this point in the history
  • Loading branch information
atarkowska committed May 4, 2017
1 parent 9858f54 commit 69980b9
Show file tree
Hide file tree
Showing 3 changed files with 227 additions and 12 deletions.
2 changes: 1 addition & 1 deletion defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ devspace_user: omero

# devspace user id
devspace_user_id: "1001"
devspace_compose: "v1"
devspace_compose: "v2"

# path where devspace will be installed
devspace_home: /home/{{ devspace_user }}/devspace
Expand Down
10 changes: 0 additions & 10 deletions handlers/main.yml

This file was deleted.

227 changes: 226 additions & 1 deletion tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,228 @@
---
# Setup a devspace

- include: devspace-install.yml
- name: add user {{ devspace_user }} to docker group
become: yes
user:
name: "{{ devspace_user }}"
comment: "Devspace maintainer"
uid: "{{ devspace_user_id }}"
groups: docker
append: yes

- name: ensures /home/{{ devspace_user }}/.ssh dir exists
become: yes
become_user: "{{ devspace_user }}"
file:
path: "/home/{{ devspace_user }}/.ssh"
state: "directory"
owner: "{{ devspace_user }}"
group: "{{ devspace_user }}"
mode: 0700

- name: allow {{ devspace_user }} to ssh directly
become: yes
copy:
remote_src: yes
src: "{{ ansible_env.HOME }}/.ssh/authorized_keys"
dest: "/home/{{ devspace_user }}/.ssh/authorized_keys"
owner: "{{ devspace_user }}"
group: "{{ devspace_user }}"

- name: install python tools
become: yes
yum:
name: "{{ item }}"
state: present
with_items:
- python-devel
- python-pip

- name: install python packages
become: yes
pip:
name: "{{ item }}"
#extra_args: "--upgrade"
state: latest
with_items:
- pip
- passlib
- pyyaml
- docker-compose==1.9.0

- name: clone devspace
become: yes
become_user: "{{ devspace_user }}"
git:
repo: "{{ devspace_git_repo }}"
dest: "{{ devspace_home }}"
update: "{{ devspace_git_update }}"
force: "{{ devspace_git_force }}"
refspec: "+refs/pull/*:refs/heads/*"
version: "{{ devspace_git_repo_version }}"
register: gitstatus


# TASK [openmicroscopy.ci-devspace : Devspace stop] **********************************************************************************
# fatal: [a20ea3a7-7d96-4db1-aed3-c4f9de103313]: FAILED! => {"changed": false, "failed": true, "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', error(13, 'Permission denied'))"}
- name: Devspace stop
become: yes
become_user: "{{ devspace_user }}"
docker_service:
project_src: "{{ devspaceci_home }}"
state: absent
when: gitstatus.changed

# config
- name: ensures .ssh dir exists
become: yes
become_user: "{{ devspace_user }}"
file:
path: "{{ devspace_home }}/slave/.ssh"
state: directory
owner: "{{ devspace_user }}"
group: "{{ devspace_user }}"
mode: 0700

- name: copy snoopy
become: yes
become_user: "{{ devspace_user }}"
copy:
src: "{{ snoopy_dir_path }}/{{ item.srcfile }}"
dest: "{{ devspace_home }}/slave/{{ item.dest }}"
owner: "{{ devspace_user }}"
group: "{{ devspace_user }}"
mode: 0700
with_items:
- { srcfile: ".ssh/config", dest: ".ssh/config" }
- { srcfile: ".ssh/snoopycrimecop_github", dest: ".ssh/snoopycrimecop_github" }
- { srcfile: ".ssh/snoopycrimecop_github.pub", dest: ".ssh/snoopycrimecop_github.pub" }
- { srcfile: ".gitconfig", dest: ".gitconfig" }
when: snoopy_dir_path|length>0

- name: known_hosts
become: yes
become_user: "{{ devspace_user }}"
shell: ssh-keyscan github.com >> {{ devspace_home }}/slave/.ssh/known_hosts
- name: chmod known_hosts
become: yes
become_user: "{{ devspace_user }}"
file:
path: "{{ devspace_home }}/slave/.ssh/known_hosts"
mode: 0700

- name: change USER_ID
become: yes
become_user: "{{ devspace_user }}"
replace:
dest: "{{ devspace_home }}/{{ item }}"
regexp: '^ARG USER_ID=1000'
replace: 'ARG USER_ID={{ devspace_user_id }}' # how to find out UID?
with_items:
- nginx/Dockerfile
- slave/Dockerfile
- server/Dockerfile
- web/Dockerfile
when: devspace_compose == 'v1'

- name: set basic auth password for nginx proxy
become: yes
lineinfile:
dest: "{{ devspace_home }}/jenkins/conf.d/jenkins.conf"
backup: yes
regexp: "^ auth_basic \"Restricted\";"
line: " auth_basic \"Restricted\";"
insertafter: " location / {"
state: present
when: devspace_jenkins_nginx_username|length>0 and devspace_jenkins_nginx_password|length>0

- name: set basic auth password for nginx proxy
become: yes
lineinfile:
dest: "{{ devspace_home }}/jenkins/conf.d/jenkins.conf"
backup: yes
regexp: "^ auth_basic_user_file /etc/nginx/conf.d/passwdfile;"
line: " auth_basic_user_file /etc/nginx/conf.d/passwdfile;"
insertafter: " auth_basic \"Restricted\";"
state: present
when: devspace_jenkins_nginx_username|length>0 and devspace_jenkins_nginx_password|length>0

- name: set nginx proxy password
become: yes
become_user: "{{ devspace_user }}"
htpasswd:
path: "{{ devspace_home }}/jenkins/conf.d/passwdfile"
name: "{{ devspace_jenkins_nginx_username }}"
password: "{{ devspace_jenkins_nginx_password }}"
when: devspace_jenkins_nginx_username|length>0 and devspace_jenkins_nginx_password|length>0

- name: ssl cert for jenkins
become: yes
become_user: "{{ devspace_user }}"
command: "{{ devspace_home }}/sslcert {{ devspace_home }}/jenkins/sslcert {{ devspace_openstack_ip }}"
args:
chdir: "{{ devspace_home }}"
creates: "{{ devspace_home }}/jenkins/sslcert"

- name: ssl cert for nginx
become: yes
become_user: "{{ devspace_user }}"
command: "{{ devspace_home }}/sslcert {{ devspace_home }}/nginx/sslcert {{ devspace_openstack_ip }}"
args:
chdir: "{{ devspace_home }}"
creates: "{{ devspace_home }}/nginx/sslcert"

- name: rename to {{ devspace_omero_branch }}...
become: yes
become_user: "{{ devspace_user }}"
command: "{{ devspace_home }}/rename.py {{ devspace_omero_branch }}"
args:
chdir: "{{ devspace_home }}"

- name: fix jenkinsUrl
become: yes
become_user: "{{ devspace_user }}"
replace:
dest: "{{ devspace_home }}/home/{{ item }}"
regexp: '^(.*)<jenkinsUrl>(.*)</jenkinsUrl>'
replace: '\1<jenkinsUrl>https://{{ devspace_openstack_ip }}:8443</jenkinsUrl>'
with_items:
- jenkins.model.JenkinsLocationConfiguration.xml
when: devspace_openstack_ip|length>0

# end of config

- name: Devspace up
environment:
USER_ID: "{{ devspace_user_id }}"
JENKINS_USERNAME: "{{ devspace_jenkins_username }}"
JENKINS_PASSWORD: "{{ devspace_jenkins_password }}"
become: yes
become_user: "{{ devspace_user }}"
environment:
USER_ID: "{{ devspace_user_id }}"
JENKINS_USERNAME: "{{ devspace_jenkins_username }}"
JENKINS_PASSWORD: "{{ devspace_jenkins_password }}"
DOCKER_IPV4_MTU: "{{ ansible_default_ipv4.mtu }}"
DOCKER_API: "{{ vmdocker.openstack.private_v4 }}"
docker_service:
project_src: "{{ devspace_home }}"
state: present

register: output

- debug: var=output

- assert:
that:
- "jenkins.devspace_jenkins_1.state.running"
- "pg.devspace_pg_1.state.running"
- "testintegration.devspace_testintegration_1.state.running"
- "omero.devspace_omero_1.state.running"
- "web.devspace_web_1.state.running"
- "nginx.devspace_nginx_1.state.running"
- "nginxjenkins.devspace_nginxjenkins_1.state.running"
- "redis.devspace_redis_1.state.running"
- "seleniumhub.devspace_seleniumhub_1.state.running"
- "seleniumfirefox.devspace_seleniumfirefox_1.state.running"
- "seleniumchrome.devspace_seleniumchrome_1.state.running"

0 comments on commit 69980b9

Please sign in to comment.