summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosef Skladanka <jskladan@redhat.com>2016-02-09 13:19:28 +0100
committerJosef Skladanka <jskladan@redhat.com>2016-02-09 13:35:22 +0100
commitd43469d635bee58135e15d2f25e4b780f28b9a89 (patch)
tree6e252d97b34c633b01ff22b800a4e7beb4491e8a
parent3c74bfe5e39776900fc20c4193aa3ce393ed9c43 (diff)
downloadansible-d43469d635bee58135e15d2f25e4b780f28b9a89.tar.gz
ansible-d43469d635bee58135e15d2f25e4b780f28b9a89.tar.xz
ansible-d43469d635bee58135e15d2f25e4b780f28b9a89.zip
Add imagefactory role for taskotron
-rw-r--r--inventory/group_vars/taskotron-dev-client-hosts11
-rw-r--r--playbooks/groups/taskotron-client-hosts.yml17
-rw-r--r--roles/taskotron/imagefactory/defaults/main.yml2
-rw-r--r--roles/taskotron/imagefactory/files/imagefactory.conf23
-rw-r--r--roles/taskotron/imagefactory/tasks/main.yml22
5 files changed, 75 insertions, 0 deletions
diff --git a/inventory/group_vars/taskotron-dev-client-hosts b/inventory/group_vars/taskotron-dev-client-hosts
index 08b35a9e2..26f159481 100644
--- a/inventory/group_vars/taskotron-dev-client-hosts
+++ b/inventory/group_vars/taskotron-dev-client-hosts
@@ -62,3 +62,14 @@ buildslave_pubkey: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4EOTNfPIvIjCLNRYauVquS2L
buildslave_private_sshkey_file: dev-buildslave-sshkey/dev_buildslave
buildslave_public_sshkey_file: dev-buildslave-sshkey/dev_buildslave.pub
buildmaster_pubkey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYzVmGYh6EHH8UAlgX6FIOJGHsq/63G4ryMC7VgLIwIhp+SloqMtLeQvZ2COzF+ycatlG1reY6+x0lXBlt72jyInnHy3pOKByOQPkMOS6zOLGnK1zWKjsexabgIXUKAM/dEsMJRBvVK4ZnlClZ0ol3+pqjbzT619vEiGZhUIkOXvptKVPkBFAdpiB/ehd2nqESOWa1ZId9ney4LZt7b/5krCY8RTYWQbGWvcndy6L4rRfqkfvW9t9HS6zyQfLouXCwW8QS5nTqY/kmtfse+7D6Ne+IySmaSX/kWB3YlhVOxB2DTP0pE3ZkXMJ4u04i4stySYxkajoonxAc8SUI4Djl"
+
+
+############################################################
+# imagefactory config
+############################################################
+
+imagefactory_user: imgfac_user
+imagefactory_user_home: /home/fedora/imgfac_user
+imagefactory_shared_dir: '{{imagefactory_user_home}}/images'
+
+
diff --git a/playbooks/groups/taskotron-client-hosts.yml b/playbooks/groups/taskotron-client-hosts.yml
index 6dd7d7630..5976148bd 100644
--- a/playbooks/groups/taskotron-client-hosts.yml
+++ b/playbooks/groups/taskotron-client-hosts.yml
@@ -50,3 +50,20 @@
handlers:
- include: "{{ handlers }}/restart_services.yml"
+
+- name: configure taskotron imagefactory
+ hosts: qa11.qa.fedoraproject.org
+ user: root
+ gather_facts: True
+
+ vars_files:
+ - /srv/web/infra/ansible/vars/global.yml
+ - "/srv/private/ansible/vars.yml"
+ - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
+
+ roles:
+ - { role: taskotron/imagefactory, tags: ['taskotronimagefactory'] }
+
+ handlers:
+ - include: "{{ handlers }}/restart_services.yml"
+
diff --git a/roles/taskotron/imagefactory/defaults/main.yml b/roles/taskotron/imagefactory/defaults/main.yml
new file mode 100644
index 000000000..25264b73d
--- /dev/null
+++ b/roles/taskotron/imagefactory/defaults/main.yml
@@ -0,0 +1,2 @@
+---
+extra_enablerepos: ''
diff --git a/roles/taskotron/imagefactory/files/imagefactory.conf b/roles/taskotron/imagefactory/files/imagefactory.conf
new file mode 100644
index 000000000..770765099
--- /dev/null
+++ b/roles/taskotron/imagefactory/files/imagefactory.conf
@@ -0,0 +1,23 @@
+{
+ "debug": 0,
+ "no_ssl": 1,
+ "no_oauth": 1,
+ "imgdir": "/var/lib/imagefactory/images",
+ "ec2_ami_type": "ebs",
+ "rhevm_image_format": "qcow2",
+ "openstack_image_format": "qcow2",
+ "clients": {
+ "mock-key": "mock-secret"
+ },
+ "proxy_ami_id": "ami-id",
+ "max_concurrent_local_sessions": 2,
+ "max_concurrent_ec2_sessions": 4,
+ "ec2-32bit-util": "m1.small",
+ "ec2-64bit-util": "m1.large",
+ "image_manager": "file",
+ "image_manager_args": { "storage_path": "/var/lib/imagefactory/storage" },
+ "tdl_require_root_pw": 0,
+ "jeos_config": [ "/etc/imagefactory/jeos_images/" ],
+ "output": "json"
+}
+
diff --git a/roles/taskotron/imagefactory/tasks/main.yml b/roles/taskotron/imagefactory/tasks/main.yml
new file mode 100644
index 000000000..3561249d3
--- /dev/null
+++ b/roles/taskotron/imagefactory/tasks/main.yml
@@ -0,0 +1,22 @@
+---
+- name: ensure packages required for imagefactory are installed (dnf)
+ dnf: name={{ item }} state=present enablerepo={{ extra_enablerepos }}
+ with_items:
+ - imagefactory
+ - imagefactory-plugins
+ - imagefactory-plugins-TinMan
+
+- name: copy imagefactory.conf config file
+ copy: src=imagefactory.conf dest=/etc/imagefactory/imagefactory.conf owner=root group=root mode=0644
+
+- name: enable imagefactory
+ service: name=imagefactoryd state=started enabled=yes
+
+- name: create directory for shared built images
+ file: path={{ imagefactory_shared_dir }} state=directory owner={{ imagefactory_user }} group={{ imagefactory_user }} mode=1755
+
+- name: Check out our imagefactory tools
+ git:
+ repo: https://bitbucket.org/fedoraqa/base_images
+ dest: '{{imagefactory_user_home}}/base_images'
+ update: yes