diff --git a/inventory/group_vars/resultsdb-dev b/inventory/group_vars/resultsdb-dev index 83d106d3f6..36c27423a1 100644 --- a/inventory/group_vars/resultsdb-dev +++ b/inventory/group_vars/resultsdb-dev @@ -21,8 +21,8 @@ virt_install_command: /usr/sbin/virt-install -n {{ inventory_hostname }} -r {{ m resultsdb_db_host: db-qa01.qa.fedoraproject.org resultsdb_db_port: 5432 -resultsdb_endpoint: '/resultsdb_api' -resultsdb_fe_endpoint: '/resultsdb' +resultsdb_endpoint: 'resultsdb_api' +resultsdb_fe_endpoint: 'resultsdb' resultsdb_db_name: resultsdb_dev allowed_hosts: - 10.5.124 diff --git a/inventory/group_vars/resultsdb-prod b/inventory/group_vars/resultsdb-prod index edcf5399f3..b0ed877c5f 100644 --- a/inventory/group_vars/resultsdb-prod +++ b/inventory/group_vars/resultsdb-prod @@ -22,8 +22,8 @@ virt_install_command: /usr/bin/virt-install -n {{ inventory_hostname }} -r {{ me deployment_type: prod resultsdb_db_host: db-qa01.qa.fedoraproject.org resultsdb_db_port: 5432 -resultsdb_endpoint: '/resultsdb_api' -resultsdb_fe_endpoint: '/resultsdb' +resultsdb_endpoint: 'resultsdb_api' +resultsdb_fe_endpoint: 'resultsdb' resultsdb_db_name: resultsdb allowed_hosts: - 10.5.124 diff --git a/inventory/group_vars/resultsdb-stg b/inventory/group_vars/resultsdb-stg index 7032e98d0c..fe05312a45 100644 --- a/inventory/group_vars/resultsdb-stg +++ b/inventory/group_vars/resultsdb-stg @@ -22,8 +22,8 @@ virt_install_command: /usr/sbin/virt-install -n {{ inventory_hostname }} -r {{ m deployment_type: stg resultsdb_db_host: db-qa01.qa.fedoraproject.org resultsdb_db_port: 5432 -resultsdb_endpoint: '/resultsdb_api' -resultsdb_fe_endpoint: '/resultsdb' +resultsdb_endpoint: 'resultsdb_api' +resultsdb_fe_endpoint: 'resultsdb' resultsdb_db_name: resultsdb_stg allowed_hosts: - 10.5.124 diff --git a/inventory/group_vars/taskotron-dev b/inventory/group_vars/taskotron-dev index 39f42e37fc..ecabd4e29e 100644 --- a/inventory/group_vars/taskotron-dev +++ b/inventory/group_vars/taskotron-dev @@ -24,7 +24,7 @@ external_hostname: taskotron-dev.fedoraproject.org resultsdb_url: http://resultsdb-dev01.qa.fedoraproject.org/resultsdb_api/api/v1.0 resultsdb_frontend_url: http://resultsdb-dev01.qa.fedoraproject.org/resultsdb/ resultsdb_external_url: https://taskotron-dev.fedoraproject.org/resultsdb/ -resultsdb_endpoint: resultsdb +resultsdb_fe_endpoint: resultsdb resultsdb_api_endpoint: resultsdb_api landingpage_title: "Taskotron Development" deployment_type: dev diff --git a/inventory/group_vars/taskotron-prod b/inventory/group_vars/taskotron-prod index 15516ab8ce..444419121c 100644 --- a/inventory/group_vars/taskotron-prod +++ b/inventory/group_vars/taskotron-prod @@ -21,7 +21,7 @@ external_hostname: taskotron.fedoraproject.org resultsdb_url: http://resultsdb01.qa.fedoraproject.org/resultsdb_api/api/v1.0 resultsdb_frontend_url: http://resultsdb01.qa.fedoraproject.org/resultsdb resultsdb_external_url: https://taskotron.fedoraproject.org/resultsdb/ -resultsdb_endpoint: resultsdb +resultsdb_fe_endpoint: resultsdb landingpage_title: "Taskotron" deployment_type: prod tcp_ports: [ 80, 443, "{{ buildslave_port }}" ] diff --git a/inventory/group_vars/taskotron-stg b/inventory/group_vars/taskotron-stg index c1822a0e2c..7c68af1d75 100644 --- a/inventory/group_vars/taskotron-stg +++ b/inventory/group_vars/taskotron-stg @@ -21,7 +21,7 @@ external_hostname: taskotron.stg.fedoraproject.org resultsdb_url: http://resultsdb-stg01.qa.fedoraproject.org/resultsdb_api/api/v1.0 resultsdb_frontend_url: http://resultsdb-stg01.qa.fedoraproject.org/ resultsdb_external_url: https://taskotron.stg.fedoraproject.org/resultsdb/ -resultsdb_endpoint: resultsdb +resultsdb_fe_endpoint: resultsdb landingpage_title: "Taskotron Staging" deployment_type: stg tcp_ports: [ 80, 443, "{{ buildslave_port }}" ] diff --git a/inventory/host_vars/taskotron-dev01.qa.fedoraproject.org b/inventory/host_vars/taskotron-dev01.qa.fedoraproject.org index 9e8e28b9ee..a34c4f47a6 100644 --- a/inventory/host_vars/taskotron-dev01.qa.fedoraproject.org +++ b/inventory/host_vars/taskotron-dev01.qa.fedoraproject.org @@ -21,7 +21,6 @@ virt_install_command: /usr/sbin/virt-install -n {{ inventory_hostname }} -r {{ m --network=bridge=br0 --autostart --noautoconsole public_hostname: taskotron-dev.fedoraproject.org -fake_fedorainfra_endpoint: fakefedorainfra buildmaster: 10.5.124.181 buildslaves: - taskotron-client26 diff --git a/inventory/host_vars/taskotron-stg01.qa.fedoraproject.org b/inventory/host_vars/taskotron-stg01.qa.fedoraproject.org index e5af2c2246..5ec969b01f 100644 --- a/inventory/host_vars/taskotron-stg01.qa.fedoraproject.org +++ b/inventory/host_vars/taskotron-stg01.qa.fedoraproject.org @@ -21,7 +21,6 @@ virt_install_command: /usr/sbin/virt-install -n {{ inventory_hostname }} -r {{ m --network=bridge=br0 --autostart --noautoconsole public_hostname: taskotron.stg.fedoraproject.org -fake_fedorainfra_endpoint: fakefedorainfra buildmaster: 10.5.124.232 buildslaves: diff --git a/inventory/host_vars/taskotron01.qa.fedoraproject.org b/inventory/host_vars/taskotron01.qa.fedoraproject.org index 6f88a42ca0..b1b31c3566 100644 --- a/inventory/host_vars/taskotron01.qa.fedoraproject.org +++ b/inventory/host_vars/taskotron01.qa.fedoraproject.org @@ -22,7 +22,6 @@ virt_install_command: /usr/bin/virt-install -n {{ inventory_hostname }} -r {{ me --network=bridge=br0 --autostart --noautoconsole public_hostname: taskotron.fedoraproject.org -fake_fedorainfra_endpoint: fakefedorainfra buildmaster: 10.5.124.206 buildslaves: diff --git a/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2 b/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2 index 9d77053ec8..4ac0ec96dc 100644 --- a/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2 +++ b/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2 @@ -25,6 +25,9 @@ c['slaves'] = [ {% if deployment_type == 'prod' %} BuildSlave("{{ buildslave }}", "{{ prod_buildslave_password }}"), {% endif %} + {% if deployment_type == 'local' %} + BuildSlave("{{ buildslave }}", "{{ local_buildslave_password }}"), + {% endif %} {% endfor %} ] @@ -228,6 +231,9 @@ authz_cfg=authz.Authz( {% if deployment_type == 'prod' %} auth=auth.BasicAuth([("{{ prod_buildbot_user }}","{{ prod_buildbot_password }}")]), {% endif %} + {% if deployment_type == 'local' %} + auth=auth.BasicAuth([("{{ local_buildbot_user }}","{{ local_buildbot_password }}")]), + {% endif %} gracefulShutdown = False, forceBuild = 'auth', # use this to test your slave once it is set up forceAllBuilds = False, @@ -352,4 +358,8 @@ c['db'] = { {% if deployment_type == 'prod' %} 'db_url' : "postgresql://{{ prod_buildmaster_db_user }}:{{ prod_buildmaster_db_password }}@{{ buildmaster_db_host }}/{{ buildmaster_db_name }}", {% endif %} + {% if deployment_type == 'local' %} + 'db_url' : "postgresql://{{ local_buildmaster_db_user }}:{{ local_buildmaster_db_password }}@127.0.0.1/{{ buildmaster_db_name }}", + {% endif %} + } diff --git a/roles/taskotron/buildmaster/tasks/main.yml b/roles/taskotron/buildmaster/tasks/main.yml index 86fa33101a..5244240d80 100644 --- a/roles/taskotron/buildmaster/tasks/main.yml +++ b/roles/taskotron/buildmaster/tasks/main.yml @@ -50,3 +50,11 @@ sudo: true sudo_user: postgres action: postgresql_user db={{ buildmaster_db_name }} user={{ prod_buildmaster_db_user }} password={{ prod_buildmaster_db_password }} role_attr_flags=NOSUPERUSER + +- name: ensure local db user has access to local database + when: deployment_type == 'local' + delegate_to: "{{ buildmaster_db_host }}" + sudo: true + sudo_user: postgres + action: postgresql_user db={{ buildmaster_db_name }} user={{ local_buildmaster_db_user }} password={{ local_buildmaster_db_password }} role_attr_flags=NOSUPERUSER + diff --git a/roles/taskotron/buildslave-configure/templates/buildbot.tac.j2 b/roles/taskotron/buildslave-configure/templates/buildbot.tac.j2 index f7b805a0b3..7901989ab0 100644 --- a/roles/taskotron/buildslave-configure/templates/buildbot.tac.j2 +++ b/roles/taskotron/buildslave-configure/templates/buildbot.tac.j2 @@ -39,6 +39,10 @@ passwd = '{{ stg_buildslave_password }}' {% if deployment_type == 'prod' %} passwd = '{{ prod_buildslave_password }}' {% endif %} +{% if deployment_type == 'local' %} +passwd = '{{ local_buildslave_password }}' +{% endif %} + {% if deployment_type == 'qadevel-prod' %} passwd = '{{ qadevel_prod_buildslave_password }}' {% endif %} diff --git a/roles/taskotron/fake_fedorainfra/tasks/main.yml b/roles/taskotron/fake_fedorainfra/tasks/main.yml index 53deb6f732..5281510416 100644 --- a/roles/taskotron/fake_fedorainfra/tasks/main.yml +++ b/roles/taskotron/fake_fedorainfra/tasks/main.yml @@ -24,6 +24,13 @@ sudo_user: postgres action: postgresql_user db={{ fakefedorainfra_db_name }} user={{ dev_fakefedorainfra_db_user }} password={{ dev_fakefedorainfra_db_password }} role_attr_flags=NOSUPERUSER +- name: ensure local fakefedorainfra user has access to local database + when: deployment_type == 'local' + delegate_to: "{{ buildmaster_db_host }}" + sudo: true + sudo_user: postgres + action: postgresql_user db={{ fakefedorainfra_db_name }} user={{ local_fakefedorainfra_db_user }} password={{ local_fakefedorainfra_db_password }} role_attr_flags=NOSUPERUSER + - name: generate fakefedorainfra config template: src=settings.py.j2 dest=/etc/fake_fedorainfra/settings.py owner=root group=root mode=0644 notify: diff --git a/roles/taskotron/fake_fedorainfra/templates/settings.py.j2 b/roles/taskotron/fake_fedorainfra/templates/settings.py.j2 index d8cc806245..a042ffd70c 100644 --- a/roles/taskotron/fake_fedorainfra/templates/settings.py.j2 +++ b/roles/taskotron/fake_fedorainfra/templates/settings.py.j2 @@ -10,6 +10,11 @@ SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{{ stg_fakefedorainfra_db_user SECRET_KEY = '{{ dev_fakefedorainfra_secret_key }}' SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{{ dev_fakefedorainfra_db_user }}:{{ dev_fakefedorainfra_db_password }}@{{ fakefedorainfra_db_host }}:{{ fakefedorainfra_db_port }}/{{ fakefedorainfra_db_name }}' {% endif %} +{% if deployment_type == 'local' %} +SECRET_KEY = '{{ local_fakefedorainfra_secret_key }}' +SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{{ local_fakefedorainfra_db_user }}:{{ local_fakefedorainfra_db_password }}@127.0.0.1:{{ fakefedorainfra_db_port }}/{{ fakefedorainfra_db_name }}' +{% endif %} + FILE_LOGGING = False LOGFILR = '/var/log/fakefedorainfra/fakefedorainfra.log' SYSLOG_LOGGING = False diff --git a/roles/taskotron/resultsdb-backend/templates/resultsdb.conf.j2 b/roles/taskotron/resultsdb-backend/templates/resultsdb.conf.j2 index 5d01a1c597..b8d6f3ef62 100644 --- a/roles/taskotron/resultsdb-backend/templates/resultsdb.conf.j2 +++ b/roles/taskotron/resultsdb-backend/templates/resultsdb.conf.j2 @@ -1,5 +1,5 @@ WSGIDaemonProcess resultsdb user=apache group=apache threads=5 -WSGIScriptAlias {{ resultsdb_endpoint }} /usr/share/resultsdb/resultsdb.wsgi +WSGIScriptAlias /{{ resultsdb_endpoint }} /usr/share/resultsdb/resultsdb.wsgi WSGISocketPrefix run/wsgi # this isn't the best way to force SSL but it works for now diff --git a/roles/taskotron/resultsdb-backend/templates/settings.py.j2 b/roles/taskotron/resultsdb-backend/templates/settings.py.j2 index 828c6a3ba5..d848590005 100644 --- a/roles/taskotron/resultsdb-backend/templates/settings.py.j2 +++ b/roles/taskotron/resultsdb-backend/templates/settings.py.j2 @@ -10,6 +10,10 @@ SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{{ stg_resultsdb_db_user }}:{{ SECRET_KEY = '{{ dev_resultsdb_secret_key }}' SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{{ dev_resultsdb_db_user }}:{{ dev_resultsdb_db_password }}@{{ resultsdb_db_host }}:{{ resultsdb_db_port }}/{{ resultsdb_db_name }}' {% endif %} +{%- if deployment_type == 'local' %} +SECRET_KEY = '{{ local_resultsdb_secret_key }}' +SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{{ local_resultsdb_db_user }}:{{ local_resultsdb_db_password }}@127.0.0.1:{{ resultsdb_db_port }}/{{ resultsdb_db_name }}' +{% endif %} FILE_LOGGING = False LOGFILR = '/var/log/resultsdb/resultsdb.log' SYSLOG_LOGGING = False diff --git a/roles/taskotron/resultsdb-frontend/templates/resultsdb_frontend.conf.j2 b/roles/taskotron/resultsdb-frontend/templates/resultsdb_frontend.conf.j2 index 2c4e07f37c..16fbc89fc6 100644 --- a/roles/taskotron/resultsdb-frontend/templates/resultsdb_frontend.conf.j2 +++ b/roles/taskotron/resultsdb-frontend/templates/resultsdb_frontend.conf.j2 @@ -1,5 +1,5 @@ WSGIDaemonProcess resultsdb_frontend user=apache group=apache threads=5 -WSGIScriptAlias {{ resultsdb_fe_endpoint }} /usr/share/resultsdb_frontend/resultsdb_frontend.wsgi +WSGIScriptAlias /{{ resultsdb_fe_endpoint }} /usr/share/resultsdb_frontend/resultsdb_frontend.wsgi WSGISocketPrefix run/wsgi # this isn't the best way to force SSL but it works for now diff --git a/roles/taskotron/resultsdb-frontend/templates/settings.py.j2 b/roles/taskotron/resultsdb-frontend/templates/settings.py.j2 index f8a94b52fd..b4791f2290 100644 --- a/roles/taskotron/resultsdb-frontend/templates/settings.py.j2 +++ b/roles/taskotron/resultsdb-frontend/templates/settings.py.j2 @@ -10,6 +10,10 @@ SECRET_KEY = '{{ stg_resultsdb_frontend_secret_key }}' {% if deployment_type == 'prod' %} SECRET_KEY = '{{ prod_resultsdb_frontend_secret_key }}' {% endif %} +{% if deployment_type == 'local' %} +SECRET_KEY = '{{ local_resultsdb_frontend_secret_key }}' +{% endif %} + FILE_LOGGING = False LOGFILR = '/var/log/resultsdb_frontend/resultsdb_frontend.log' SYSLOG_LOGGING = False diff --git a/roles/taskotron/taskotron-frontend/tasks/main.yml b/roles/taskotron/taskotron-frontend/tasks/main.yml index f4da1ecc86..4138557b23 100644 --- a/roles/taskotron/taskotron-frontend/tasks/main.yml +++ b/roles/taskotron/taskotron-frontend/tasks/main.yml @@ -15,7 +15,7 @@ copy: src=static/ dest=/var/www/html/static owner=apache group=apache mode=0644 - name: copy fonts - copy: src={{ bigfiles }}/fonts dest=/var/www/html/static/fonts owner=apache group=apache mode=0644 + copy: src={{ bigfiles }}/fonts dest=/var/www/html/static/ owner=apache group=apache mode=0644 - name: generate landing page template: src=landingpage.html.j2 dest=/var/www/html/index.html owner=apache group=apache mode=0644 diff --git a/roles/taskotron/taskotron-frontend/templates/landingpage.html.j2 b/roles/taskotron/taskotron-frontend/templates/landingpage.html.j2 index 1f750ffc36..2127cf0ff0 100644 --- a/roles/taskotron/taskotron-frontend/templates/landingpage.html.j2 +++ b/roles/taskotron/taskotron-frontend/templates/landingpage.html.j2 @@ -85,8 +85,8 @@ diff --git a/roles/taskotron/taskotron-proxy/templates/resultsdb.conf.j2 b/roles/taskotron/taskotron-proxy/templates/resultsdb.conf.j2 index dc3568d764..a2bf656256 100644 --- a/roles/taskotron/taskotron-proxy/templates/resultsdb.conf.j2 +++ b/roles/taskotron/taskotron-proxy/templates/resultsdb.conf.j2 @@ -1,7 +1,7 @@ - + ProxyPass {{ resultsdb_frontend_url }} ProxyPassReverse {{ resultsdb_frontend_url }} - RequestHeader add X-Script-Name /{{ resultsdb_endpoint }}/ + RequestHeader add X-Script-Name /{{ resultsdb_fe_endpoint }}/