= The New Hotness

https://github.com/fedora-infra/the-new-hotness/[the-new-hotness] is a
https://fedora-messaging.readthedocs.io/en/stable/[fedora messaging
consumer] that subscribes to
https://release-monitoring.org/[release-monitoring.org] fedora messaging
notifications to determine when a package in Fedora should be updated.
For more details on the-new-hotness, consult the
http://the-new-hotness.readthedocs.io/[project documentation].

== Contact Information

Owner::
  Fedora Infrastructure Team
Contact::
  #fedora-admin #fedora-apps
Persons::
  zlopez
Location::
  os.fedoraproject.org
Purpose::
  File issues when upstream projects release new versions of a package

== Hosts

The current deployment is made up of the-new-hotness OpenShift
namespace.

=== the-new-hotness

This OpenShift namespace runs following pods:

* A fedora messaging consumer

This OpenShift project relies on:

* xref:anitya.adoc[Anitya] as message publisher
* Fedora messaging RabbitMQ hub for consuming messages
* Koji for scratch builds
* Bugzilla for issue reporting

== Releasing

The release process is described in
https://the-new-hotness.readthedocs.io/en/stable/dev-guide.html#release-guide[the-new-hotness
documentation].

=== Deploying

Staging deployment of the-new-hotness is deployed in staging OpenShift.

To deploy staging instance of the-new-hotness you need to push changes
to staging branch on
https://github.com/fedora-infra/the-new-hotness[the-new-hotness GitHub].
GitHub webhook will then automatically deploy a new version of
the-new-hotness on staging.

Production deployment of the-new-hotness is deployed in production OpenShift.

To deploy production instance of the-new-hotness you need to push
changes to production branch on
https://github.com/fedora-infra/the-new-hotness[the-new-hotness GitHub].
GitHub webhook will then automatically deploy a new version of
the-new-hotness on production.

==== Configuration

To deploy the new configuration, you need
xref:sshaccess.adoc[ssh
access] to _batcave01.rdu3.fedoraproject.org_ and
xref:ansible.adoc[permissions
to run the Ansible playbook].

All the following commands should be run from batcave01.

First, ensure there are no configuration changes required for the new
update. If there are, update the Ansible anitya role(s) and optionally
run the playbook:

....
$ sudo rbac-playbook openshift-apps/the-new-hotness.yml
....

The configuration changes could be limited to staging only using:

....
$ sudo rbac-playbook openshift-apps/the-new-hotness.yml -l staging
....

This is recommended for testing new configuration changes.

==== Upgrading

===== Staging

To deploy new version of the-new-hotness you need to push changes to
staging branch on
https://github.com/fedora-infra/the-new-hotness[the-new-hotness GitHub].
GitHub webhook will then automatically deploy a new version of
the-new-hotness on staging.

===== Production

To deploy new version of the-new-hotness you need to push changes to
production branch on
https://github.com/the-new-hotness/anitya[the-new-hotness GitHub].
GitHub webhook will then automatically deploy a new version of
the-new-hotness on production.

Congratulations! The new version should now be deployed.

== Monitoring Activity

It can be nice to check up on the-new-hotness to make sure its behaving
correctly. You can see all the Bugzilla activity using the
https://bugzilla.redhat.com/page.cgi?id=user_activity.html[user activity
query] (staging uses
https://bugzilla.stage.redhat.com//page.cgi?id=user_activity.html[bugzilla.stage.redhat.com])
and querying for the `upstream-release-monitoring@fedoraproject.org`
user.

You can also view all the Koji tasks dispatched by the-new-hotness. For
example, you can see the
https://koji.fedoraproject.org/koji/tasks?state=failed&owner=hotness[failed
tasks] it has created.

To monitor the pods of the-new-hotness you can connect to Fedora infra
OpenShift and look at the state of pods.

For staging look at the [.title-ref]#the-new-hotness# namespace in
https://os.stg.fedoraproject.org/console/project/release-monitoring/overview[staging
OpenShift instance].

For production look at the [.title-ref]#the-new-hotness# namespace in
https://os.fedoraproject.org/console/project/release-monitoring/overview[production
OpenShift instance].
