Over the past week I have been working to change the Katello nightly RPM
release workflow to mirror that of Foreman. In the process, we have run
into an issue that requires some input with respect to our repositories [1].
Old workflow:
On every successful commit to master, a new rubygem-katello is built
Every 4 hours the repositories are mashed and pushed out to fedorapeople
on a cronjob
New workflow:
When tests pass on master after a commit, job is triggered to build
katello, rubygem-katello and hammer-cli-katello
RPMs on Koji are mashed
A systest and repoclosure job are run against the repositories on Koji
RPMs are copied to fedorapeople every 4 hours
As you can see, with the current new workflow, we still do not have control
over when the RPMs are pushed out which can result in RPMs that are broken
in some way. The reason we are currently stuck is that fedorapeople.org
requires a user to ssh into fedorapeople.org and run a script to rsync the
repositories over to it from Koji. Thus, to switch from the cronjob, we'd
have to use someone's account and SSH key to perform the copy.
Options as I see it:
Use someone's account on fedorapeople and SSH key within a Jenkins job
to ssh and run the copy script
Find a different location to house our repositories that we have more
control over and update our release RPMs and scripts for nightly and 2.1+.
Would it make sense to consolidate on http://yum.theforeman.org/ ?
The Katello team recently completed updates to our nightly release
workflow. For developers this knowledge may be useful if you need to
propagate a code change or adjust the workflow. For users of the nightlies,
this should help explain when changes will appear and process.
Changes:
The release workflow is now kicked off every 12 hours around noon and
midnight Jenkins time.
The test_katello job that is run after every commit to Katello no longer
builds RPMs.
The previous 4 hour mash has been stopped on Koji.
The script that lived on fedorapeople and rsync'd koji repos has been
updated to exit 1 given that we never isolated the cronjob running to copy
RPMs. A new script has been put in place that is triggered by Jenkins.
build RPMs (katello, rubygem-katello, hammer-cli-katello) -> mash RPMs ->
systest on el6/7 -> push RPMs to fedorapeople
-> repoclosure
Thanks,
Eric
···
On Mon, Nov 17, 2014 at 2:14 PM, Eric D Helms wrote:
Howdy,
Over the past week I have been working to change the Katello nightly RPM
release workflow to mirror that of Foreman. In the process, we have run
into an issue that requires some input with respect to our repositories [1].
Old workflow:
On every successful commit to master, a new rubygem-katello is built
Every 4 hours the repositories are mashed and pushed out to
fedorapeople on a cronjob
New workflow:
When tests pass on master after a commit, job is triggered to build
katello, rubygem-katello and hammer-cli-katello
RPMs on Koji are mashed
A systest and repoclosure job are run against the repositories on Koji
RPMs are copied to fedorapeople every 4 hours
As you can see, with the current new workflow, we still do not have
control over when the RPMs are pushed out which can result in RPMs that are
broken in some way. The reason we are currently stuck is that fedorapeople.org requires a user to ssh into fedorapeople.org and run a
script to rsync the repositories over to it from Koji. Thus, to switch from
the cronjob, we’d have to use someone’s account and SSH key to perform the
copy.
Options as I see it:
Use someone’s account on fedorapeople and SSH key within a Jenkins job
to ssh and run the copy script
Find a different location to house our repositories that we have more
control over and update our release RPMs and scripts for nightly and 2.1+.
Would it make sense to consolidate on http://yum.theforeman.org/ ?
> Howdy,
>
> The Katello team recently completed updates to our nightly release
> workflow. For developers this knowledge may be useful if you need to
> propagate a code change or adjust the workflow. For users of the nightlies,
> this should help explain when changes will appear and process.
>
> Changes:
> 1. The release workflow is now kicked off every 12 hours around noon and
> midnight Jenkins time.
>
is Jenkins time a new timezone? I tried
TZ=Jenkins date
Thu Dec 4 07:43:52 Jenkins 2014
The test_katello job that is run after every commit to Katello no longer
···
On Thu, Dec 4, 2014 at 5:31 AM, Eric D Helms wrote:
> builds RPMs.
> 3. The previous 4 hour mash has been stopped on Koji.
> 4. The script that lived on fedorapeople and rsync'd koji repos has been
> updated to exit 1 given that we never isolated the cronjob running to copy
> RPMs. A new script has been put in place that is triggered by Jenkins.
>
> The release workflow is as follows (for an outline of the process see --
> http://ci.theforeman.org/view/Katello%20Pipeline/):
>
> build RPMs (katello, rubygem-katello, hammer-cli-katello) -> mash RPMs ->
> systest on el6/7 -> push RPMs to fedorapeople
>
> -> repoclosure
>
>
> Thanks,
> Eric
>
> On Mon, Nov 17, 2014 at 2:14 PM, Eric D Helms > wrote:
>
>> Howdy,
>>
>> Over the past week I have been working to change the Katello nightly RPM
>> release workflow to mirror that of Foreman. In the process, we have run
>> into an issue that requires some input with respect to our repositories [1].
>>
>> Old workflow:
>> 1. On every successful commit to master, a new rubygem-katello is built
>> 2. Every 4 hours the repositories are mashed and pushed out to
>> fedorapeople on a cronjob
>>
>> New workflow:
>> 1. When tests pass on master after a commit, job is triggered to build
>> katello, rubygem-katello and hammer-cli-katello
>> 2. RPMs on Koji are mashed
>> 3. A systest and repoclosure job are run against the repositories on Koji
>> 4. RPMs are copied to fedorapeople every 4 hours
>>
>> As you can see, with the current new workflow, we still do not have
>> control over when the RPMs are pushed out which can result in RPMs that are
>> broken in some way. The reason we are currently stuck is that
>> fedorapeople.org requires a user to ssh into fedorapeople.org and run a
>> script to rsync the repositories over to it from Koji. Thus, to switch from
>> the cronjob, we'd have to use someone's account and SSH key to perform the
>> copy.
>>
>> Options as I see it:
>>
>> 1. Use someone's account on fedorapeople and SSH key within a Jenkins job
>> to ssh and run the copy script
>> 2. Find a different location to house our repositories that we have more
>> control over and update our release RPMs and scripts for nightly and 2.1+.
>> Would it make sense to consolidate on http://yum.theforeman.org/ ?
>>
>>
>> [1] https://fedorapeople.org/groups/katello/releases/yum/
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "foreman-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to foreman-dev+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>