diff --git a/inventory/group_vars/koschei b/inventory/group_vars/koschei index 1cf5ec0ec0..66a7526f31 100644 --- a/inventory/group_vars/koschei +++ b/inventory/group_vars/koschei @@ -7,17 +7,19 @@ num_cpus: 4 # for systems that do not match the above - specify the same parameter in # the host_vars/$hostname file +koschei_topurl: https://apps.fedoraproject.org/koschei koschei_pgsql_hostname: FIXME koschei_koji_hub: koji02.phx2.fedoraproject.org -koschei_kojipkgs: kojipkgs.fedoraproject.org +koschei_kojipkgs: kojipkgs01.phx2.fedoraproject.org +koschei_koji_web: koji.fedoraproject.org koschei_koji_tag: f23 koschei_openid_provider: id.fedoraproject.org +koschei_bugzilla: bugzilla.redhat.com tcp_ports: [ 80, 443, - # These 9 are for fedmsg right now, but we need to check with the koschei - # devs if this is enough or too much. See also /etc/fedmsg.d/endpoints.py - 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, + # These 3 are for fedmsg. See also /etc/fedmsg.d/endpoints.py + 3000, 3001, 3002, ] custom_rules: [ diff --git a/inventory/group_vars/koschei-stg b/inventory/group_vars/koschei-stg index fb1bd9116c..956ffb15ff 100644 --- a/inventory/group_vars/koschei-stg +++ b/inventory/group_vars/koschei-stg @@ -7,16 +7,19 @@ num_cpus: 2 # for systems that do not match the above - specify the same parameter in # the host_vars/$hostname file +koschei_topurl: https://apps.stg.fedoraproject.org/koschei koschei_pgsql_hostname: db01.stg.phx2.fedoraproject.org koschei_koji_hub: koji01.stg.phx2.fedoraproject.org koschei_kojipkgs: koji01.stg.phx2.fedoraproject.org +koschei_koji_web: koji.stg.fedoraproject.org koschei_koji_tag: f23 -koschei_openid_provider: id.fedoraproject.org +koschei_openid_provider: id.stg.fedoraproject.org +koschei_bugzilla: partner-bugzilla.redhat.com + tcp_ports: [ 80, 443, - # These 9 are for fedmsg right now, but we need to check with the koschei - # devs if this is enough or too much. See also /etc/fedmsg.d/endpoints.py - 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, + # These 3 are for fedmsg. See also /etc/fedmsg.d/endpoints.py + 3000, 3001, 3002, ] custom_rules: [ diff --git a/playbooks/hosts/fed-cloud09.cloud.fedoraproject.org.yml b/playbooks/hosts/fed-cloud09.cloud.fedoraproject.org.yml index 73fe85a41a..36fe153b2c 100644 --- a/playbooks/hosts/fed-cloud09.cloud.fedoraproject.org.yml +++ b/playbooks/hosts/fed-cloud09.cloud.fedoraproject.org.yml @@ -626,6 +626,7 @@ - { name: twisted, email: 'buildbot@twistedmatrix.com', tenant: pythonbots, password: "{{twisted_password}}" } - { name: vgologuz, email: 'vgologuz@redhat.com', tenant: copr, password: "{{vgologuz_password}}" } - { name: roshi, email: 'roshi@fedoraproject.org', tenant: qa, password: "{{roshi_password}}" } + - { name: maxamillion, email: 'maxamillion@fedoraproject.org', tenant: infrastructure, password: "{{maxamillion_password}}" } - name: upload SSH keys for users nova_keypair: auth_url="https://{{controller_hostname}}:35357/v2.0" @@ -642,6 +643,7 @@ - { username: gholms, name: gholms, tenant: cloudintern, password: "{{gholms_password}}", public_key: "{{ lookup('pipe', '/srv/web/infra/ansible/scripts/auth-keys-from-fas gholms') }}" } - { username: jskladan, name: jskladan, tenant: qa, password: "{{jskladan_password}}", public_key: "{{ lookup('pipe', '/srv/web/infra/ansible/scripts/auth-keys-from-fas jskladan') }}" } - { username: kevin, name: kevin, tenant: infrastructure, password: "{{kevin_password}}", public_key: "{{ lookup('pipe', '/srv/web/infra/ansible/scripts/auth-keys-from-fas kevin') }}" } + - { username: maxamillion, name: maxamillion, tenant: infrastructure, password: "{{maxamillion_password}}", public_key: "{{ lookup('pipe', '/srv/web/infra/ansible/scripts/auth-keys-from-fas maxamillion') }}" } - { username: laxathom, name: laxathom, tenant: infrastructure, password: "{{laxathom_password}}", public_key: "{{ lookup('pipe', '/srv/web/infra/ansible/scripts/auth-keys-from-fas laxathom') }}" } - { username: mattdm, name: mattdm, tenant: infrastructure, password: "{{mattdm_password}}", public_key: "{{ lookup('pipe', '/srv/web/infra/ansible/scripts/auth-keys-from-fas mattdm') }}" } - { username: msuchy, name: msuchy, tenant: copr, password: "{{msuchy_password}}", public_key: "{{ lookup('pipe', '/srv/web/infra/ansible/scripts/auth-keys-from-fas msuchy') }}" } diff --git a/playbooks/hosts/koschei.cloud.fedoraproject.org.yml b/playbooks/hosts/koschei.cloud.fedoraproject.org.yml index b2e686328d..c66ceea4df 100644 --- a/playbooks/hosts/koschei.cloud.fedoraproject.org.yml +++ b/playbooks/hosts/koschei.cloud.fedoraproject.org.yml @@ -23,13 +23,16 @@ - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml vars: + - koschei_topurl: http://koschei.cloud.fedoraproject.org - koschei_pgsql_hostname: localhost - koscheiuser_db_password: "{{ koschei_pgsql_password }}" - koscheiadmin_db_password: "{{ koschei_pgsql_password }}" - koschei_koji_hub: koji.fedoraproject.org - koschei_kojipkgs: kojipkgs.fedoraproject.org + - koschei_koji_web: koji.fedoraproject.org - koschei_koji_tag: f23 - koschei_openid_provider: id.fedoraproject.org + - koschei_bugzilla: bugzilla.redhat.com roles: - koschei diff --git a/roles/apps-fp-o/files/apps.yaml b/roles/apps-fp-o/files/apps.yaml index 42a0309d77..b313079b7e 100644 --- a/roles/apps-fp-o/files/apps.yaml +++ b/roles/apps-fp-o/files/apps.yaml @@ -7,140 +7,115 @@ data: huge; this page details only the public facing portion of it all. Explore! children: -- name: In Development +- name: Accounts data: description: > - These are the apps that we're working on, but that aren't quite - ready for prime-time yet. Try and use them, and report bugs when - they're broken -- it's a big help!. - Check back here from time to time, as this section will change. + Tools for everybody -- use these things to manage your Fedora + Account. children: - - name: Koschei + - name: Ambassadors Map data: - url: http://koschei.cloud.fedoraproject.org - package_url: http://koschei.cloud.fedoraproject.org/package/{package} + url: http://fedoraproject.org/membership-map/ambassadors.html description: > - Koschei is a continuous integration system for RPM packages. It - tracks dependency changes done in Koji repositories and rebuilds - packages whose dependencies change. It can help packagers to - detect failures early and provide relevant information to narrow - down the cause. - - name: Release Monitoring - data: - url: http://release-monitoring.org - package_url: https://release-monitoring.org/projects/search/?pattern={package} - description: > - Code named anitya, this - project is slated to replace the - old wiki page for Upstream Release Monitoring. It will - track upstream tarball locations and publish notifications to - the fedmsg bus when new ones are found. Other daemons will - then be responsible for filing bugs, attempting to - automatically build packages, perform some preliminary QA - checks, etc.. - - name: Jenkins - data: - url: http://jenkins.cloud.fedoraproject.org - description: > - Our own continuous integration (CI) service! It works now and - you can use it.. we just don't yet give it the same kind of - guarantees that we give our other apps. Look forwards to us - promoting it soon.. - - name: faitout - data: - url: http://209.132.184.152/faitout/ - description: > - Provides access to temporary postgresql databases. This - database can be used for unit-test thus reducing the - differences between testing and production environment. + Ambassadors are the representatives of Fedora. Ambassadors + ensure the public understand Fedora's principles and the work + that Fedora is doing. Additionally Ambassadors are responsible + for helping to grow the contributor base, and to act as a + liaison between other FLOSS projects and the Fedora community. -- name: Infrastructure - data: - description: > - Tools for sysadmins -- the people who run the servers that run - Fedora (and otherwise). - children: - - name: GeoIP + This thing is a map of where all the Fedora + Ambassadors live showing just how vibrant the Fedora + Community really is. (It's easy to add + yourself to the map too, if you can't find yourself on it.) + - name: FedoraPeople data: - url: https://geoip.fedoraproject.org + url: https://fedorapeople.org + user_url: https://{user}.fedorapeople.org + status_mappings: ['people'] description: > - A simple web service running geoip-city-wsgi - that will return geoip information to you. - - name: Easyfix + Being a community member you gain access to fedorapeople which + provides you with a space on the web where you can upload + files to share them with the community. + - name: FAS data: - url: http://fedoraproject.org/easyfix + url: http://admin.fedoraproject.org/accounts + user_url: https://admin.fedoraproject.org/accounts/view/{user} + status_mappings: ['fas'] description: > - A list of easy-to-fix problems for the different projects in - Fedora. Interested in getting into helping out with sysadmin - work or web application development? This should be useful - to you. - - name: DataGrepper + The Fedora Account System. Update your profile + information and apply for membership in groups. + - name: Notifications data: icon: fedmsg.png - url: https://apps.fedoraproject.org/datagrepper - package_url: https://apps.fedoraproject.org/datagrepper/raw?package={package} - user_url: https://apps.fedoraproject.org/datagrepper/raw?user={user} + url: https://apps.fedoraproject.org/notifications status_mappings: ['fedmsg'] description: > - DataGrepper is an HTTP API for querying the datanommer - database. You can use it to dig into the history of the - fedmsg message bus. You - can grab events by username, by package, by message - source, by topic... you name it. - - - name: Status + Centrally managed preferences for Fedora Infrastructure + notifications to your inbox, irc client, and mobile device. + - name: Badges + status_mappings: ['badges'] data: - icon: status-good.png - url: http://status.fedoraproject.org + icon: badges.png + url: https://badges.fedoraproject.org + user_url: https://badges.fedoraproject.org/user/{user} description: > - Sometimes the Fedora Infrastructure team messes up (or - lightning strikes our datacenter(s)). Sorry about that. - You can use this website to check the status. Is it - "down for everyone, or just me?"
Notice the favicon - in your browser tab. It changes based on the status, - so if you keep this open you can check back to it at a - glance. - - name: MirrorManager + An achievements system for Fedora Contributors! "Badges" + are awarded based on activity in the community. Can you + unlock them all? + You can export your badges to Mozilla's + Open Badges + Infrastructure +- name: Content + data: + description: > + Tools for wordsmiths -- the apps that store and archive the troves + of content that Fedora authors produce. Blog posts, the wiki, and + more.. + children: + - name: Ask Fedora data: - icon: downloads.png - url: http://mirrors.fedoraproject.org - status_mappings: ['mirrormanager', 'mirrorlist'] + icon: ask_fedora.png + url: https://ask.fedoraproject.org/ + status_mappings: ['ask'] description: > - Fedora is distributed to millions of systems globally. - This would not be possible without the donations of time, - disk space, and bandwidth by hundreds of volunteer system - administrators and their companies or institutions. Your - fast download experience is made possible by these - donations. The list on the MirrorManager - site is dynamically generated every hour, listing only - up-to-date mirrors. - - name: Nagios + Any question at all about Fedora? Ask it here. + - name: The Wiki data: - icon: nagios-logo.png - url: http://admin.fedoraproject.org/nagios + icon: mediawiki.png + url: http://fedoraproject.org/wiki + user_url: https://fedoraproject.org/wiki/User:{user} + status_mappings: ['wiki'] description: > - "Is telia down?" The answer can most definitively be - found here (and in detail). The Fedora Infrastructure - team uses Nagios to monitor the servers that serve - Fedora. Accessing most details requires membership - in the sysadmin group. - - name: Collectd + Maintain your own user profile page, contribute to + documents about features, process, and governance. + - name: Fedora Magazine data: - icon: collectd.png - url: http://admin.fedoraproject.org/collectd/ + icon: magazine.png + url: http://fedoramagazine.org description: > - Tracks and displays statistics on the Fedora - Infrastructure machines over time. Useful for debugging - ineffeciencies and problems. - - name: HAProxy + Fedora Magazine is a WordPress-based site which delivers all + the news of the Fedora Community. (It replaces the previous + Fedora Weekly News.) + - name: The Planet data: - url: http://admin.fedoraproject.org/haproxy/proxy1 + icon: planet_logo.png + url: http://planet.fedoraproject.org description: > - Shows the health of our proxies. How many bytes? - Concurrent sessions? Health checks? + The planet is a blog aggregator, a space accessible to you + as a community member where you can express your opinion and + talk about what you are doing for Fedora. + - name: Docs + data: + url: https://docs.fedoraproject.org + status_mappings: ['docs'] + description: > + RTFM! Everything you could ever want to know. + Probably the best place to find documentation about Fedora, + including the changes between releases (and a big kudos to + the translation teams to keep this resource up to date in + the different languages!) - name: QA data: description: > @@ -271,148 +246,6 @@ children: Among its many and varied functions is logging IRC meetings, the archives of which you can find here. -- name: Upstream - data: - description: > - Tools for upstream - developers -- because we love you. - - children: - - name: github2fedmsg - data: - icon: github.png - url: https://apps.fedoraproject.org/github2fedmsg - status_mappings: ['fedmsg'] - description: > - github2fedmsg is a web service that bridges upstream - development activity from GitHub into the Fedora Infrastructure message - bus. Visit the self-service dashboard to toggle the - status of your repositories. - - name: Fedora Hosted - data: - icon: trac.png - url: http://fedorahosted.org - status_mappings: ['fedorahosted'] - description: > - Fedora is dedicated to open source software. This - commitment can extend beyond regular Fedora offerings.
- Fedora Hosted is our most feature rich - hosting solution. It includes an scm, trac instance, - release dir, account system for access control, etc. - This is our most common hosting option. When most groups - want hosting, this is what they want. -- name: Accounts - data: - description: > - Tools for everybody -- use these things to manage your Fedora - Account. - children: - - name: Ambassadors Map - data: - url: http://fedoraproject.org/membership-map/ambassadors.html - description: > - Ambassadors are the representatives of Fedora. Ambassadors - ensure the public understand Fedora's principles and the work - that Fedora is doing. Additionally Ambassadors are responsible - for helping to grow the contributor base, and to act as a - liaison between other FLOSS projects and the Fedora community. - - This thing is a map of where all the Fedora - Ambassadors live showing just how vibrant the Fedora - Community really is. (It's easy to add - yourself to the map too, if you can't find yourself on it.) - - name: FedoraPeople - data: - url: https://fedorapeople.org - user_url: https://{user}.fedorapeople.org - status_mappings: ['people'] - description: > - Being a community member you gain access to fedorapeople which - provides you with a space on the web where you can upload - files to share them with the community. - - name: FAS - data: - url: http://admin.fedoraproject.org/accounts - user_url: https://admin.fedoraproject.org/accounts/view/{user} - status_mappings: ['fas'] - description: > - The Fedora Account System. Update your profile - information and apply for membership in groups. - - name: Notifications - data: - icon: fedmsg.png - url: https://apps.fedoraproject.org/notifications - status_mappings: ['fedmsg'] - description: > - Centrally managed preferences for Fedora Infrastructure - notifications to your inbox, irc client, and mobile device. - - name: Badges - status_mappings: ['badges'] - data: - icon: badges.png - url: https://badges.fedoraproject.org - user_url: https://badges.fedoraproject.org/user/{user} - description: > - An achievements system for Fedora Contributors! "Badges" - are awarded based on activity in the community. Can you - unlock them all? - You can export your badges to Mozilla's - Open Badges - Infrastructure -- name: Content - data: - description: > - Tools for wordsmiths -- the apps that store and archive the troves - of content that Fedora authors produce. Blog posts, the wiki, and - more.. - children: - - name: Ask Fedora - data: - icon: ask_fedora.png - url: https://ask.fedoraproject.org/ - status_mappings: ['ask'] - description: > - Any question at all about Fedora? Ask it here. - - name: The Wiki - data: - icon: mediawiki.png - url: http://fedoraproject.org/wiki - user_url: https://fedoraproject.org/wiki/User:{user} - status_mappings: ['wiki'] - description: > - Maintain your own user profile page, contribute to - documents about features, process, and governance. - - name: Fedora Magazine - data: - icon: magazine.png - url: http://fedoramagazine.org - description: > - Fedora Magazine is a WordPress-based site which delivers all - the news of the Fedora Community. (It replaces the previous - Fedora Weekly News.) - - name: The Planet - data: - icon: planet_logo.png - url: http://planet.fedoraproject.org - description: > - The planet is a blog aggregator, a space accessible to you - as a community member where you can express your opinion and - talk about what you are doing for Fedora. - - name: Docs - data: - url: https://docs.fedoraproject.org - status_mappings: ['docs'] - description: > - RTFM! Everything you could ever want to know. - Probably the best place to find documentation about Fedora, - including the changes between releases (and a big kudos to - the translation teams to keep this resource up to date in - the different languages!) - name: Packaging data: description: > @@ -511,3 +344,169 @@ children: You can read more about why you might want to use it or you can just click below to... +- name: Upstream + data: + description: > + Tools for upstream + developers -- because we love you. + + children: + - name: Release Monitoring + data: + url: http://release-monitoring.org + package_url: https://release-monitoring.org/projects/search/?pattern={package} + description: > + Code named anitya, this + project is slated to replace the + old wiki page for Upstream Release Monitoring. It will + track upstream tarball locations and publish notifications to + the fedmsg bus when new ones are found. Other daemons will + then be responsible for filing bugs, attempting to + automatically build packages, perform some preliminary QA + checks, etc.. + - name: github2fedmsg + data: + icon: github.png + url: https://apps.fedoraproject.org/github2fedmsg + status_mappings: ['fedmsg'] + description: > + github2fedmsg is a web service that bridges upstream + development activity from GitHub into the Fedora Infrastructure message + bus. Visit the self-service dashboard to toggle the + status of your repositories. + - name: Fedora Hosted + data: + icon: trac.png + url: http://fedorahosted.org + status_mappings: ['fedorahosted'] + description: > + Fedora is dedicated to open source software. This + commitment can extend beyond regular Fedora offerings.
+ Fedora Hosted is our most feature rich + hosting solution. It includes an scm, trac instance, + release dir, account system for access control, etc. + This is our most common hosting option. When most groups + want hosting, this is what they want. +- name: Infrastructure + data: + description: > + Tools for sysadmins -- the people who run the servers that run + Fedora (and otherwise). + children: + - name: GeoIP + data: + url: https://geoip.fedoraproject.org + description: > + A simple web service running geoip-city-wsgi + that will return geoip information to you. + - name: Easyfix + data: + url: http://fedoraproject.org/easyfix + description: > + A list of easy-to-fix problems for the different projects in + Fedora. Interested in getting into helping out with sysadmin + work or web application development? This should be useful + to you. + - name: DataGrepper + data: + icon: fedmsg.png + url: https://apps.fedoraproject.org/datagrepper + package_url: https://apps.fedoraproject.org/datagrepper/raw?package={package} + user_url: https://apps.fedoraproject.org/datagrepper/raw?user={user} + status_mappings: ['fedmsg'] + description: > + DataGrepper is an HTTP API for querying the datanommer + database. You can use it to dig into the history of the + fedmsg message bus. You + can grab events by username, by package, by message + source, by topic... you name it. + + - name: Status + data: + icon: status-good.png + url: http://status.fedoraproject.org + description: > + Sometimes the Fedora Infrastructure team messes up (or + lightning strikes our datacenter(s)). Sorry about that. + You can use this website to check the status. Is it + "down for everyone, or just me?"
Notice the favicon + in your browser tab. It changes based on the status, + so if you keep this open you can check back to it at a + glance. + - name: MirrorManager + data: + icon: downloads.png + url: http://mirrors.fedoraproject.org + status_mappings: ['mirrormanager', 'mirrorlist'] + description: > + Fedora is distributed to millions of systems globally. + This would not be possible without the donations of time, + disk space, and bandwidth by hundreds of volunteer system + administrators and their companies or institutions. Your + fast download experience is made possible by these + donations. The list on the MirrorManager + site is dynamically generated every hour, listing only + up-to-date mirrors. + - name: Nagios + data: + icon: nagios-logo.png + url: http://admin.fedoraproject.org/nagios + description: > + "Is telia down?" The answer can most definitively be + found here (and in detail). The Fedora Infrastructure + team uses Nagios to monitor the servers that serve + Fedora. Accessing most details requires membership + in the sysadmin group. + - name: Collectd + data: + icon: collectd.png + url: http://admin.fedoraproject.org/collectd/ + description: > + Tracks and displays statistics on the Fedora + Infrastructure machines over time. Useful for debugging + ineffeciencies and problems. + - name: HAProxy + data: + url: http://admin.fedoraproject.org/haproxy/proxy1 + description: > + Shows the health of our proxies. How many bytes? + Concurrent sessions? Health checks? +- name: In Development + data: + description: > + These are the apps that we're working on, but that aren't quite + ready for prime-time yet. Try and use them, and report bugs when + they're broken -- it's a big help!. + Check back here from time to time, as this section will change. + children: + - name: Koschei + data: + url: http://koschei.cloud.fedoraproject.org + package_url: http://koschei.cloud.fedoraproject.org/package/{package} + description: > + Koschei is a continuous integration system for RPM packages. It + tracks dependency changes done in Koji repositories and rebuilds + packages whose dependencies change. It can help packagers to + detect failures early and provide relevant information to narrow + down the cause. + - name: Jenkins + data: + url: http://jenkins.cloud.fedoraproject.org + description: > + Our own continuous integration (CI) service! It works now and + you can use it.. we just don't yet give it the same kind of + guarantees that we give our other apps. Look forwards to us + promoting it soon.. + - name: faitout + data: + url: http://209.132.184.152/faitout/ + description: > + Provides access to temporary postgresql databases. This + database can be used for unit-test thus reducing the + differences between testing and production environment. diff --git a/roles/easyfix/gather/files/gather_easyfix.py b/roles/easyfix/gather/files/gather_easyfix.py index 948df806de..4511cc36d8 100755 --- a/roles/easyfix/gather/files/gather_easyfix.py +++ b/roles/easyfix/gather/files/gather_easyfix.py @@ -252,7 +252,7 @@ def main(): ticketobj.id = ticket[0] ticketobj.title = ticket[3]['summary'] ticketobj.url = 'https://fedorahosted.org/%s/ticket/%s' %( - project, ticket[0]) + project.name, ticket[0]) ticketobj.status = ticket[3]['status'] ticketobj.type = ticket[3]['type'] ticketobj.component = ticket[3]['component'] diff --git a/roles/easyfix/gather/tasks/main.yml b/roles/easyfix/gather/tasks/main.yml index d3883f8b98..506768b497 100644 --- a/roles/easyfix/gather/tasks/main.yml +++ b/roles/easyfix/gather/tasks/main.yml @@ -6,11 +6,15 @@ action: file state=directory path=/srv/web/easyfix owner=apache group=apache mode=0755 + tags: + - easyfix - name: Create the easyfix configuration folder action: file state=directory path=/etc/fedora-gather-easyfix/ owner=root group=root mode=0755 + tags: + - easyfix ## Install packages @@ -23,6 +27,7 @@ - python-bugzilla tags: - packages + - easyfix ## Install all files @@ -37,6 +42,7 @@ - jquery.ui.widget.js tags: - files + - easyfix - name: Install the easyfix template copy: > @@ -44,6 +50,7 @@ owner=root group=root mode=0644 tags: - files + - easyfix - name: Install the easyfix script copy: > @@ -51,6 +58,7 @@ owner=root group=root mode=0755 tags: - files + - easyfix ## Install the cron job @@ -60,3 +68,4 @@ owner=root group=root mode=0644 tags: - files + - easyfix diff --git a/roles/fedmsg/base/templates/endpoints.py.j2 b/roles/fedmsg/base/templates/endpoints.py.j2 index 787c7fc9cc..c4ad687e99 100644 --- a/roles/fedmsg/base/templates/endpoints.py.j2 +++ b/roles/fedmsg/base/templates/endpoints.py.j2 @@ -89,14 +89,13 @@ config = dict( for i in range(2) ], - # I'm not sure how many endpoints koschei needs. There are four backend - # processes.. i'm not sure how many of them publish messages and how - # many threads each of them might have. And there's a wsgi frontend - # with 5 threads, but I don't think it publishes any messages. - # TODO -- update this after talking with the koschei devs. + # mizdebsk says he thinks we'll need three sockets. Two services + # (koschei-resolver and koschei-polling) are only sending messages, one + # service (koschei-watcher) can both send and receive them. The wsgi + # webapp doesn't use fedmsg at all and all services are single-threaded "koschei.koschei01": [ "tcp://koschei01.%s:30%02i" % (suffix, i) - for i in range(9) + for i in range(3) ], # koji is not listed here since it publishes to the fedmsg-relay diff --git a/roles/koschei/files/koschei.py b/roles/koschei/files/koschei.py new file mode 100644 index 0000000000..5839a3212a --- /dev/null +++ b/roles/koschei/files/koschei.py @@ -0,0 +1,7 @@ +import socket + +hostname = socket.gethostname().split('.', 1)[0] + +config = { + "name": "koschei.%s" % hostname, +} diff --git a/roles/koschei/tasks/main.yml b/roles/koschei/tasks/main.yml index 76f824852d..b739a1af8f 100644 --- a/roles/koschei/tasks/main.yml +++ b/roles/koschei/tasks/main.yml @@ -26,6 +26,18 @@ - koschei - config +- name: install koschei fedmsg config + copy: src=koschei.py dest=/etc/fedmsg.d/koschei.py + notify: + - restart koschei-polling + - restart koschei-resolver + - restart koschei-scheduler + - restart koschei-watcher + tags: + - koschei + - config + - fedmsgdconfig + - name: install koji key and cert copy: > src="{{ private }}/files/koschei/koschei.pem" diff --git a/roles/koschei/templates/config-admin.cfg.j2 b/roles/koschei/templates/config-admin.cfg.j2 index a15a70c4cb..81f0eaf9ba 100644 --- a/roles/koschei/templates/config-admin.cfg.j2 +++ b/roles/koschei/templates/config-admin.cfg.j2 @@ -2,9 +2,9 @@ config = { "database_config": { "username": "koscheiadmin", - "unpriv_username": "koscheiuser", "password": "{{ koscheiadmin_db_password }}", - } + }, + "unpriv_db_username": "koscheiuser", } # Local Variables: diff --git a/roles/koschei/templates/config.cfg.j2 b/roles/koschei/templates/config.cfg.j2 index d893920d37..4a570d1a32 100644 --- a/roles/koschei/templates/config.cfg.j2 +++ b/roles/koschei/templates/config.cfg.j2 @@ -12,7 +12,7 @@ config = { "koji_config": { "server": "http://{{ koschei_koji_hub }}/kojihub", "topurl": "http://{{ koschei_kojipkgs }}", - "weburl": "http://{{ koschei_koji_hub }}/koji", + "weburl": "http://{{ koschei_koji_web }}/koji", "cert": "/etc/koschei/koschei.pem", "ca": "/etc/koschei/fedora-ca.cert", "server_ca": "/etc/koschei/fedora-ca.cert", @@ -46,7 +46,11 @@ config = { }, "services": { "watcher": { + {% if env == 'staging' %} + "watchdog_interval": None, # there are almost no messages in stg + {% else %} "watchdog_interval": 600, # in seconds + {% endif %} }, "polling": { "interval": 20 * 60, @@ -107,6 +111,29 @@ config = { "openid": { "openid_provider": "{{ koschei_openid_provider }}", }, + "bugreport": { + "url": "https://{{ koschei_bugzilla }}/enter_bug.cgi?%s", + "template": { + "product": "Fedora", + "component": "{name}", + "version": "rawhide", + "short_desc": "{name}: FTBFS in rawhide", + "bug_file_loc": "{{ koschei_topurl }}/package/{name}", + "comment": """ + Description of problem: + Package {name} fails to build from source in rawhide. + + Version-Release number of selected component (if applicable): + {version}-{release} + + Steps to Reproduce: + koji build --scratch {{ koschei_koji_tag }} {nvr}.{arch}.rpm + + Additional info: + This package is tracked by Koschei. See: + {{ koschei_topurl }}/package/{name}""" + }, + }, } # Local Variables: diff --git a/roles/nfs/server/files/koji01.stg.phx2.fedoraproject.org-exports b/roles/nfs/server/files/koji01.stg.phx2.fedoraproject.org-exports index 4cbd50c95b..0b96bedd89 100644 --- a/roles/nfs/server/files/koji01.stg.phx2.fedoraproject.org-exports +++ b/roles/nfs/server/files/koji01.stg.phx2.fedoraproject.org-exports @@ -1 +1 @@ -/mnt/fedora_koji 10.5.126.90(rw,no_root_squash) 10.5.126.14(rw,no_root_squash) 10.5.126.6(rw,no_root_squash) +/mnt/fedora_koji 10.5.126.90(rw,no_root_squash) 10.5.126.14(rw,no_root_squash) 10.5.126.6(rw,no_root_squash) 10.5.126.221(ro,no_root_squash) diff --git a/roles/pagure/tasks/main.yml b/roles/pagure/tasks/main.yml index 43a0825ecb..180f3e24e2 100644 --- a/roles/pagure/tasks/main.yml +++ b/roles/pagure/tasks/main.yml @@ -12,6 +12,14 @@ - pagure - packages +- name: Initialize postgres if necessary + command: /usr/bin/postgresql-setup initdb + creates=/var/lib/pgsql/data + notify: + - restart postgresql + tags: + - pagure + # Set-up gitolite