Re: Fedora 40 beta freeze now over

2024-04-03 Thread Jonathan Dieter
On Tue, 2024-04-02 at 16:55 -0700, Kevin Fenzi wrote:
> On Tue, Apr 02, 2024 at 09:28:31PM +0100, Jonathan Dieter wrote:
> >  * Alternatively, we could update whatever's calling createrepo_c
> > to add the `f` prefix to all non-rawhide builds.
> 
> I like this option. ;) 
> 
> https://pagure.io/pungi-fedora/pull-request/1269

That looks perfect! :)

Jonathan
--
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Fedora 40 beta freeze now over

2024-04-02 Thread Jonathan Dieter
On Sat, 2024-03-30 at 09:39 -0700, Kevin Fenzi wrote:
> On Fri, Mar 29, 2024 at 11:32:10PM +0000, Jonathan Dieter wrote:
> > On Wed, 2024-03-27 at 09:12 -0700, Kevin Fenzi wrote:
> > > Our next freeze is for Fedora 40 Final, currently scheduled for
> > > 2024-04-02, which is NEXT TUESDAY!
> > 
> > Could you please update fedora-repo-zdicts to 2403.1 on the server(s)
> > used to generate the metadata?  This will reduce the size of the zchunk
> > metadata for the fedora repo.
> 
> Yeah, I already updated the rawhide composer the other day... will get
> the rest today. 
> 
> Thanks for the reminder. 

Hey Kevin, thanks for looking into this.  I've just checked today's
compose and it's still not using the dictionaries.  Looking at the logs
at 
https://kojipkgs.fedoraproject.org/compose/branched/Fedora-40-20240402.n.0/logs/x86_64/createrepo-Everything.rpm.x86_64.log
, it looks like it's not using the expected dictionary path:

The dictionaries are in:
/usr/share/fedora-repo-zdicts/f40

But createrepo_c is looking in:
/usr/share/fedora-repo-zdicts/40

Our options are:
 * I can push out a new build of fedora-repo-zdicts with paths added
that strip out the `f`, but we'll need to get a final freeze exception.
 
 * Alternatively, we could update whatever's calling createrepo_c to
add the `f` prefix to all non-rawhide builds.

 * Finally, we can just ignore this and Fedora 40 will have 50% larger
zchunk metadata.

I'd prefer one of the first two options (whichever is easier), but it's
not the end of the world if we go with option 3.  I think we're already
there with F39.

Thanks,

Jonathan
--
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Fedora 40 beta freeze now over

2024-03-29 Thread Jonathan Dieter
On Wed, 2024-03-27 at 09:12 -0700, Kevin Fenzi wrote:
> Our next freeze is for Fedora 40 Final, currently scheduled for
> 2024-04-02, which is NEXT TUESDAY!

Could you please update fedora-repo-zdicts to 2403.1 on the server(s)
used to generate the metadata?  This will reduce the size of the zchunk
metadata for the fedora repo.

Thanks,

Jonathan
--
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Adding Passim as a Fedora 40 feature?

2023-09-06 Thread Jonathan Dieter
On Wed, 2023-09-06 at 22:33 +0100, Jonathan Dieter wrote:
> On Fri, 2023-08-25 at 12:42 +0100, Richard Hughes wrote:
> > The tl;dr: is I want to add a mDNS server that reshares the public
> > firmware update metadata from the LVFS on your LAN. The idea is that
> > rather than 25 users in an office downloading the same ~2MB file from
> > the CDN every day, the first downloads from the CDN and the other 24
> > download from the first machine. All machines still download the
> > [tiny] jcat file from the CDN still so we know the SHA256 to search
> > for and verify.
> 
> I realize I'm late to the conversation, but what about compressing the
> metadata using zchunk, like we do for the DNF metadata?  Assuming we
> keep a cache of the file locally and that changes (as a percentage of
> the whole file) are minimal, this allows you to download only the
> differences.  The only requirement is that the CDN supports HTTP range
> requests.
> 
And, of course, after posting, I realize that I'd missed a chunk of the
thread where you explained that you're not a fan of deltas.  FWIW,
zchunk doesn't do static deltas, so the only file you need to worry
about on the server/CDN is the latest one.

If this is something you'd be interested in, I'd be happy to help get
it working.  If not, I'm happy to fade back into the background. :)

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Adding Passim as a Fedora 40 feature?

2023-09-06 Thread Jonathan Dieter
On Fri, 2023-08-25 at 12:42 +0100, Richard Hughes wrote:
> The tl;dr: is I want to add a mDNS server that reshares the public
> firmware update metadata from the LVFS on your LAN. The idea is that
> rather than 25 users in an office downloading the same ~2MB file from
> the CDN every day, the first downloads from the CDN and the other 24
> download from the first machine. All machines still download the
> [tiny] jcat file from the CDN still so we know the SHA256 to search
> for and verify.

I realize I'm late to the conversation, but what about compressing the
metadata using zchunk, like we do for the DNF metadata?  Assuming we
keep a cache of the file locally and that changes (as a percentage of
the whole file) are minimal, this allows you to download only the
differences.  The only requirement is that the CDN supports HTTP range
requests.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Orphaning lizardfs

2023-01-29 Thread Jonathan Dieter
That's wonderful news!  I've moved roles since adding it to Fedora and
no longer use it in my day job, so I'm more than happy to let you have
it!

Thanks,

Jonathan

On Sat, 2023-01-28 at 21:25 -0500, JT wrote:
> I can pick this package up if you're stepping back.  The lizards devs
> are planning on a new release sometime this year, but there's still a
> few things they're trying to finish up first before releasing v3.13.
> Last I heard they wanted it to be out before summer.
> JT
> 
> On January 28, 2023 10:14:14 AM Jonathan Dieter 
> wrote:
> 
> > I've just orphaned lizardfs.  Lizardfs is a clustered network
> > filesystem that has very efficient small file / metadata
> > performance,
> > but hasn't seen any upstream point releases since the end of 2017
> > and
> > now FTBFS in the latest mass rebuild.
> > 
> > Jonathan
> > ___
> > devel mailing list -- devel@lists.fedoraproject.org
> > To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> > Fedora Code of Conduct: https://docs.fedoraproject.org/en-
> > US/project/code-of-conduct/
> > List Guidelines:
> > https://fedoraproject.org/wiki/Mailing_list_guidelines
> > List Archives:
> > https://lists.fedoraproject.org/archives/list/devel@lists.fedorapro
> > ject.org
> > Do not reply to spam, report it: https://pagure.io/fedora-
> > infrastructure/new_issue
> > 
> 

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Orphaning lizardfs

2023-01-28 Thread Jonathan Dieter
I've just orphaned lizardfs.  Lizardfs is a clustered network
filesystem that has very efficient small file / metadata performance,
but hasn't seen any upstream point releases since the end of 2017 and
now FTBFS in the latest mass rebuild.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: musings on rust packaging [was Re: F38 proposal: RPM Sequoia (System-Wide Change proposal)]

2022-12-04 Thread Jonathan Dieter
On Thu, 2022-12-01 at 00:41 +, Daniel Alley wrote:
> 
> * zchunk and deltarpm both reimplement / "bundle" multiple different
> hashing algorithms

zchunk does have bundled versions of various hashing algorithms, but,
if it's compiled against OpenSSL (as it is in Fedora), it uses the
OpenSSL hashing algorithms rather than the bundled versions.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Intent to retire: novacom-client, novacom-server

2022-08-17 Thread Jonathan Dieter
On Tue, 2022-08-16 at 22:28 -0500, Maxwell G via devel wrote:
> On Tuesday, August 16, 2022 Jonathan Dieter wrote:
> > So, unless I hear from someone who wants it within the next week and
> > has a plan on how to fix the current FTBFS bug[2], on August 23, I will
> > retire novacom-client[3] and novacom-server[4].
> 
> I would suggest just orphaning the packages. This way, anyone can pick up the 
> packages themself through the src.fp.o web interface. The packages will get 
> automatically retired in six weeks if nobody claims them.
> 

Ok, that's done now.  I've orphaned both novacom-client and novacom-
server.  If someone wants them, they're all yours.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Intent to retire: novacom-client, novacom-server

2022-08-16 Thread Jonathan Dieter
In the deep mists of time, I managed to get a HP Touchpad in the Great
Fire Sale of 2011[1] and got to experiment with the Glorious System of
Operation that was webOS.  Next, naturally, was packaging up novacom,
the webOS USB management tool (think the WebOS equivalent of adb), for
Fedora.  Despite selling my Touchpad a couple of years later, I've
continued to maintain novacom, mainly due to the fact that there was
very little work involved.

Unfortunately, this state of affairs has ended.  Libusb, one of
novacom's dependencies has been retired, and it's not clear to me that
it's worthwhile (or even possible) to keep novacom alive.

So, unless I hear from someone who wants it within the next week and
has a plan on how to fix the current FTBFS bug[2], on August 23, I will
retire novacom-client[3] and novacom-server[4].

Jonathan

[1] https://tedium.co/2020/03/31/hp-touchpad-history/
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2113552
[3] https://src.fedoraproject.org/rpms/novacom-client
[4] https://src.fedoraproject.org/rpms/novacom-server
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Orphaning deltarpm

2022-03-06 Thread Jonathan Dieter
Hi everyone,

I'm orphaning deltarpm because, as it's currently used in Fedora, it's
not very effective, bugs keep getting opened against it because it's
not working as well as it should (mostly an infra issue as opposed to a
problem with the tool itself), and I no longer have the time or
motivation to deal with these tickets when it seems like there's not
much benefit.

The main problem with deltarpms is that we don't keep them from compose
to compose, so we're only getting the previous day's deltarpms when we
download updates.  This means that the only way you'll be able to truly
take advantage of deltarpms is if you get updates after every compose.

For more details, see:
https://pagure.io/releng/issue/7215

Bugs that need to be looked into:

https://bugzilla.redhat.com/show_bug.cgi?id=1873876 - This is mostly
two different problems: 1) when the zstd algorithm changes, deltarpms
cannot be rebuilt to the exact same RPM, and 2) deltarpms for the
kernel package seem to be impossible to rebuild to the exact same RPM
due to the compression format used on the kernel RPMs

https://bugzilla.redhat.com/show_bug.cgi?id=2058477 - No idea why 100+
MB of packages failed to build correctly (no logs in the ticket), but
it's probably related to (1) above.

A brief history of how deltarpms came to be added to Fedora:
https://www.jdieter.net/posts/2013/05/31/eulogy-for-yum-presto/

Finally, I want to say a huge thank you to Michael Schroeder, who wrote
deltarpm.  The tool itself still works beautifully well, and the issues
we're seeing are all infrastructure related.  I also want to say thank
you to everyone who worked on getting deltarpms into Fedora in the
first place and who have helped keep them running this long.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Failed OpenQA tests for zchunk update - how to troubleshoot?

2022-02-21 Thread Jonathan Dieter
On Sun, 2022-02-20 at 15:37 -0800, Adam Williamson wrote:
> On Sun, 2022-02-20 at 20:26 +0000, Jonathan Dieter wrote:
> > I've just pushed zchunk-1.2.0 to all active Fedora branches, and
> > it's
> > passed the (admittedly non-comprehensive) zchunk test suite, but
> > I'm
> > seeing 2 OpenQA failed tests in Bodhi:
> > 
> > https://bodhi.fedoraproject.org/updates/FEDORA-2022-e4bcaeea7a
> > https://bodhi.fedoraproject.org/updates/FEDORA-2022-a3da9e6213
> > 
> > Looking through
> > https://openqa.fedoraproject.org/tests/1138503#step/_do_install_and_reboot/5
> > it's not clear where the problem is in the screenshots that show as
> > failed, especially since zchunk has nothing to do with the UI.
> > 
> > Is this some unrelated OpenQA error, or am I missing something?
> 
> You're missing that I'm an idiot and JSON is awful. Sorry!
> 
> https://pagure.io/fedora-qa/os-autoinst-distri-fedora/c/9bc039b26de4779f74d5da146889779b2a55b111?branch=master
> 
> Should be all good in an hour or so, after I hit a bunch of restart
> buttons.

Thanks so much for looking into this!  That fixed the F34 build, but
I'm still seeing a failed test in F35:
https://openqa.fedoraproject.org/tests/1138994

Is there some way I can restart it, or does that require special
permission?

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Failed OpenQA tests for zchunk update - how to troubleshoot?

2022-02-20 Thread Jonathan Dieter
I've just pushed zchunk-1.2.0 to all active Fedora branches, and it's
passed the (admittedly non-comprehensive) zchunk test suite, but I'm
seeing 2 OpenQA failed tests in Bodhi:

https://bodhi.fedoraproject.org/updates/FEDORA-2022-e4bcaeea7a
https://bodhi.fedoraproject.org/updates/FEDORA-2022-a3da9e6213

Looking through
https://openqa.fedoraproject.org/tests/1138503#step/_do_install_and_reboot/5
it's not clear where the problem is in the screenshots that show as
failed, especially since zchunk has nothing to do with the UI.

Is this some unrelated OpenQA error, or am I missing something?

Thanks for any insight,

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: SQLAlchemy integration in Flask

2021-12-13 Thread Jonathan Dieter
Sorry for taking so long to reply.  I'm afraid I don't check this
mailing list as often as I should. :)

On Tue, 2021-12-07 at 08:52 +0100, Aurelien Bompard wrote:
> Thanks for your input!
> 
> > 1. We're using a clustered database (CockroachDB, for those who
> > care)
> > that uses optimistic concurrency, so automatic transaction retries
> > are
> > a must, and we need control over how those retries are done.
> > 
> 
> 
> Interesting, we don't use that, but then again we've recently started
> using more funky stuff on the database side (TimescaleDB) so maybe
> one day...

Unfortunately CockroachDB has gone the route of MongoDB in its
licensing, so it's not really open.  YugabyteDB looks like it has most
of the same features and is Apache 2.0 licensed, so would probably be a
better fit for Fedora (and, if it wasn't for the fact that it's missing
GIN indexes, we would probably be using it too).
>  
> > 2. We are using the same models for a couple of different projects
> > (the
> > API itself and a script that is synchronizing between the old
> > database
> > and the new), and not all the projects are built on Flask. 
> > Initially,
> > I was able to get the sync script working with Flask-SQLAlchemy,
> > but
> > things got ugly quickly when I started doing multithreading, so I
> > abandoned it and am now using Flask and SQLAlchemy separately.
> > 
> 
> 
> When I thought about that use case, I supposed it would be OK to
> instantiate the app and start the app context from within the script,
> as it would also give you access to Flask's config file. But I did
> not think about multithreading. Would you recommend against creating
> the app instance and the app context in a command-line script?

Well, that was what I tried to do first, but, as I said, everything
broke down when I tried to do multithreading (and got worse when I
tried to setup multiprocessing).  The problem is that Flask-SQLAlchemy
tries to manage the DB session for you, and, since SQLAlchemy sessions
aren't thread-safe, my command-line script kept crashing, and a few
hours of poking around couldn't fix it.  If I'd been willing to poke
around more in Flask-SQLAlchemy's, I might have figured something out,
but it just didn't seem to be worth the effort, when manually managing
my sessions fixed the problem completely.

> Is the code you wrote to integrate Flask and SQLAlchemy opensource,
> and available somewhere?

Unfortunately not, but there was actually very little integration code
written.

Our code follows the following pattern (we're using Flask-RESTX, and
I've omitted serializers to keep it simple):

endpoint:
import business
from util import run_transaction

@ns.route("/user/")
class UserLink:
    def get(self, id):
        return run_transaction(lambda s: business.get_user(s, id))

business:
from database.model import *

def get_user(session, id):
   return session.query(User).filter(User.id == id).one()

util:
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
import sqlalchemy_cockroachdb

engine = create_engine('postgresql://admin:swordfish@localhost/')

SessionMaker = sessionmaker(engine)

def run_transaction(func):
sqlalchemy_cockroachdb.run_transaction(SessionMaker, func)

The purpose of the run_transaction function is to repeat transactions
if there's a conflict, rather than trying to lock the record, which is
a CockroachDB paradigm.

I hope the above is at least somewhat helpful in explaining how we're
working without Flask-SQLAlchemy

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: SQLAlchemy integration in Flask

2021-12-06 Thread Jonathan Dieter
On Mon, 2021-12-06 at 18:36 +0100, Aurelien Bompard wrote:

> Anyway, this long email is about finding a common ground for
> SQLAlchemy integration in Flask, while taking into account our
> difficult experiences with webframewoks in the past, but not being
> locked in them. Is there something that I misrepresented here? Do you
> have opinions? Preferences?

So, full disclosure, I'm normally just lurking on this list and am not
currently writing or maintaining code for the infrastructure team, so
my 2¢ probably isn't worth much more than that.

Having said that, in my day job, I've been writing a Flask API to
correspond with a massive database restructure using SQLAlchemy.  When
I started writing the API, I originally used Flask-SQLAlchemy for all
the reasons you listed above.  However, a couple of months ago I
stripped it out for a couple of reasons.

1. We're using a clustered database (CockroachDB, for those who care)
that uses optimistic concurrency, so automatic transaction retries are
a must, and we need control over how those retries are done.
2. We are using the same models for a couple of different projects (the
API itself and a script that is synchronizing between the old database
and the new), and not all the projects are built on Flask.  Initially,
I was able to get the sync script working with Flask-SQLAlchemy, but
things got ugly quickly when I started doing multithreading, so I
abandoned it and am now using Flask and SQLAlchemy separately.

In short, Flask-SQLAlchemy does a great job of tying together Flask and
SQLAlchemy if you're 100% sure that your project models will never be
required outside of Flask.  The minute you step outside of the Flask-
SQLAlchemy way of doing things, things start to go very wrong very
quickly.

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Freeze break request: Re: Can we update fedora-repo-zdicts on the branched and rawhide composers?

2021-09-09 Thread Jonathan Dieter
On Wed, 2021-09-08 at 09:14 -0700, Kevin Fenzi wrote:
> 
> I've updated it. 
> 
> kevin

I can confirm that the latest F35 repodata has the dictionaries now. 
Thanks so much!

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Can we update fedora-repo-zdicts on the branched and rawhide composers?

2021-08-31 Thread Jonathan Dieter
Since branching, I've put out a new version of fedora-repo-zdicts with
dictionaries for F35 and updated dictionaries for Rawhide.  This
version (2108.1) is now available in all active Fedora/EPEL branches, I
think.

Can we update fedora-repo-zdicts on the branched and rawhide composers
so they get the latest dictionaries when creating the repodata?  Or do
we need to wait until the beta freeze ends?

Thanks,
Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Please don't update zchunk to 1.1.14 on servers where createrepo_c is run

2021-06-03 Thread Jonathan Dieter
On Wed, 2021-06-02 at 09:35 -0700, Kevin Fenzi wrote:
> On Tue, Jun 01, 2021 at 09:13:30PM +0100, Jonathan Dieter wrote:
> > A major bug in zchunk-1.1.14 was flagged up to me today.  If zchunk-
> > 1.1.14 (on a system with zstd 1.5.0+) is used to create a zck file with
> > a zdict, the file will be impossible to decompress.  Embarrassingly,
> > the tests weren't testing this combination.
> > 
> > The good news is that this doesn't affect decompression at all, so this
> > is only a problem for the server that's used to generate the zchunked
> > metadata, which is using zdicts.
> > 
> > I've just finished building zchunk-1.1.15 which fixes this bug (and
> > adds tests to make sure it never happens again), but please make sure
> > that zchunk doesn't get updated to 1.1.14 on the servers that generate
> > the metadata.
> > 
> > Thanks, and apologies for the inconvenience.
> 
> I updated all of them to 1.1.15 yesterday. 
> Many of them were on 1.1.14, so I figured it was better to move forward
> than move back. :) 

That sounds good to me!  Thanks so much!

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Please don't update zchunk to 1.1.14 on servers where createrepo_c is run

2021-06-01 Thread Jonathan Dieter
A major bug in zchunk-1.1.14 was flagged up to me today.  If zchunk-
1.1.14 (on a system with zstd 1.5.0+) is used to create a zck file with
a zdict, the file will be impossible to decompress.  Embarrassingly,
the tests weren't testing this combination.

The good news is that this doesn't affect decompression at all, so this
is only a problem for the server that's used to generate the zchunked
metadata, which is using zdicts.

I've just finished building zchunk-1.1.15 which fixes this bug (and
adds tests to make sure it never happens again), but please make sure
that zchunk doesn't get updated to 1.1.14 on the servers that generate
the metadata.

Thanks, and apologies for the inconvenience.

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Can we please update fedora-repo-zdicts on the metadata generation servers for F34 zchunk dictionaries?

2021-04-05 Thread Jonathan Dieter
On Sat, 2021-04-03 at 21:46 +0100, Jonathan Dieter wrote:
> On Sat, 2021-04-03 at 11:09 -0700, Kevin Fenzi wrote:
> > ok. I've installed fedora-repo-zdicts on both branched and rawhide
> > composers. 
> > 
> > Lets see if that works in tomorrow's compose. 
> 
> Thanks so much!  Fingers crossed. :)

I've just checked the latest compose and the repodata now has zdicts. 
Thanks again Kevin for getting that package into the composers.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Can we please update fedora-repo-zdicts on the metadata generation servers for F34 zchunk dictionaries?

2021-04-03 Thread Jonathan Dieter
On Sat, 2021-04-03 at 11:09 -0700, Kevin Fenzi wrote:
> ok. I've installed fedora-repo-zdicts on both branched and rawhide
> composers. 
> 
> Lets see if that works in tomorrow's compose. 

Thanks so much!  Fingers crossed. :)

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Can we please update fedora-repo-zdicts on the metadata generation servers for F34 zchunk dictionaries?

2021-04-02 Thread Jonathan Dieter
Right now, we're not using zdicts for the F34 zchunk metadata because
they were only added in fedora-repo-zdicts-2103.1-2 (which should now
be in the updates repo in all current Fedora releases).

If we could update fedora-repo-zdicts to 2103.1-2 on whichever servers
generate the metadata (preferably before the 34 GA metadata is
generated), that should significantly reduce the size of the metadata.

Thanks,

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: [ipxe-devel] [ipxe/ipxe] Initial support for automatically choosing resolution based on EDID (#48)

2021-03-21 Thread Jonathan Dieter
Closed #48.

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/ipxe/ipxe/pull/48#event-4487171917___
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel


Re: [ipxe-devel] [ipxe/ipxe] Initial support for automatically choosing resolution based on EDID (#48)

2021-03-21 Thread Jonathan Dieter
Sure.  Closing now.

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/ipxe/ipxe/pull/48#issuecomment-803655541___
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel


Re: Starting raid-check.timer renders system unusable

2021-03-21 Thread Jonathan Dieter
On Sun, 2021-03-21 at 17:52 +, Jonathan Dieter wrote:
> I'm really hoping that I'm missing something obvious here, but I fear
> that a good chunk of our Fedora systems will be unbootable if they're
> rebooted without disabling raid-check.timer.

Just to follow up on this, it appears that the problem is limited to
systems in the Europe/Dublin time zone.  Not good, but not the disaster
I was fearing.  Never been so glad to miss something obvious. ;)

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Starting raid-check.timer renders system unusable

2021-03-21 Thread Jonathan Dieter
On Sun, 2021-03-21 at 17:52 +, Jonathan Dieter wrote:
> There is a workaround: disabling raid-check.timer, but, if you can't
> boot due to this bug, you have to boot into single-user mode (which
> requires a root password to have been set).

As Tom Hughes just pointed out to me, if you're stuck with an
unbootable system, you can add systemd.mask=raid-check.timer to the
kernel command line.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Starting raid-check.timer renders system unusable

2021-03-21 Thread Jonathan Dieter
Hey everyone,

For reference, a bug report has been filed at
https://bugzilla.redhat.com/show_bug.cgi?id=1941335

I just wanted to give a heads up that I came across a bug today that
renders Fedora 33 systems unbootable, even after a clean install.  If
systemd starts raid-check.timer, it gets stuck in what looks like a
busy loop, is unable to start new services, systemctl stops responding
to commands, and we end up with a lot of zombie processes.

The problem is that raid-check.timer (a part of mdadm) is part of the
default boot process in Fedora Workstation, and the bug also exists on
the version of systemd installed with F33 GA.

I've tested on four different systems, each running F33 installed in
different ways (some upgrades, some fresh F33 installs), and on each of
them, starting raid-check.timer makes the system unusable.

There is a workaround: disabling raid-check.timer, but, if you can't
boot due to this bug, you have to boot into single-user mode (which
requires a root password to have been set).

Manually experimenting with dates seems to indicate that this bug is
triggered if the current date is after March 3rd, 2021 at 1:00AM, which
is why we haven't seen this bug before today.

I'm really hoping that I'm missing something obvious here, but I fear
that a good chunk of our Fedora systems will be unbootable if they're
rebooted without disabling raid-check.timer.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Delta RPMs in Fedora 34

2021-01-05 Thread Jonathan Dieter
On Tue, 2021-01-05 at 08:49 -0500, Neal Gompa wrote:
> To be blunt, I would have never done Zchunk metadata if it was going
> to be used as a tool to kill DeltaRPMs. I firmly believe we need both
> to have a comprehensive offering that accommodates the needs of
> Fedora users across the world.

Hey Neal, I'm not sure where you're going with that first sentence, but
I think it's pretty obvious that zchunk and deltarpms solve different
problems and, following this thread, I don't think anyone has suggested
that we should kill deltarpms *because* we have zchunk metadata.

When we first brought deltarpms into Fedora, a savings of 60-90% when
doing updates was normal.  Now that we're losing the deltarpms after
each push (as we have been for the last three years), the savings is
significantly lower (I normally see less than 10%) and that makes it
hard to be motivated to fix the bugs that inevitably arise.

It sounds like there might be a plan to keep deltarpms beyond a single
push, and, if that happens, I will be more than happy to keep on
dealing with deltarpm bugs. :)

Thanks,
Jonathan


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Fedora 34 Change: DNF/RPM Copy on Write enablement for all variants (System-Wide Change)

2021-01-02 Thread Jonathan Dieter
On Sat, 2021-01-02 at 18:12 +, Jonathan Dieter wrote:
> FWIW, I also think it's time for drpms to go.  Aside from any potential
> issues with the proposed change, they haven't been useful in Fedora for
> three years, (see https://pagure.io/releng/issue/7215), and nobody's
> been able to put in the time to fix it yet.  If that changed and
> someone was willing to step up and commit to fixing this, I'd feel very
> differently.
> 
> In addition, drpms aren't even working at the moment.  Something has
> changed during the last week or so that's broken them (see
> https://bugzilla.redhat.com/show_bug.cgi?id=1911828).  I'll take a
> look, but, being honest, there's not much motivation to investigate
> this when drpms are of such marginal use in Fedora at the moment.
> 
> Jonathan

Apologies for the odd quoting in the previous email; Evolution decided
that what you see isn't what you get. :)  I've trimmed out everything
but my response here.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Fedora 34 Change: DNF/RPM Copy on Write enablement for all variants (System-Wide Change)

2021-01-02 Thread Jonathan Dieter
On Sat, 2021-01-02 at 13:42 +, Zbigniew Jędrzejewski-Szmek wrote:
On Wed, Dec 30, 2020 at 10:10:27AM -0800, Kevin Fenzi wrote:
> 
> This is most likely because we are only making drpms against the most
> recent updates. So, we are making very few drpms and only against
> things
> that recently updated. 

So... people who actually care about the total download are likely not
to update all the time, which also means that drpms will not work for
them.

> For example:
> https://dl.fedoraproject.org/pub/fedora/linux/updates/33/Everything/x86_64/drpms/
> (126 drpms for all of f33 updates). 
> 
So... that means that drpms wouldn't even make a difference for people
who update often.

...and the proposed Change would require additional contortions to
allow
drpms to work. It sounds like drpms are not worth the trouble anymore.
The effort to make them work properly would be large. I think the
crucial bit is that we have more packages and updates than ever, and
at the same time more people update at custom schedules, so any
reasonable
subset of drpms will cover a shrinking subset of upgrades.

Zbyszek

> > Maybe the time has come to just disable DRPM entirely for F34.
> 
> We could. Or try and make them more usefull again. 


FWIW, I also think it's time for drpms to go.  Aside from any potential
issues with the proposed change, they haven't been useful in Fedora for
three years, (see https://pagure.io/releng/issue/7215), and nobody's
been able to put in the time to fix it yet.  If that changed and
someone was willing to step up and commit to fixing this, I'd feel very
differently.

In addition, drpms aren't even working at the moment.  Something has
changed during the last week or so that's broken them (see
https://bugzilla.redhat.com/show_bug.cgi?id=1911828).  I'll take a
look, but, being honest, there's not much motivation to investigate
this when drpms are of such marginal use in Fedora at the moment.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Updated zdicts for F33 zchunk metadata

2020-10-08 Thread Jonathan Dieter
Thanks Dusty for the pointers on the Freeze Exception process.  I've
created https://bugzilla.redhat.com/show_bug.cgi?id=1886581 blocked
the Final Freeze Exception bug.

Jonathan

On Thu, Oct 8, 2020 at 8:32 PM Jonathan Dieter  wrote:
>
> I'm afraid I'm late to the party on updating the zstd dictionaries
> used by zchunk for F33.  I've just built fedora-repo-zdicts-2010.1,
> which now includes the F33 dictionaries, but we're obviously past
> final freeze.
>
> I would appreciate karma on the following update so it can go in as a
> zero-day update:
> https://bodhi.fedoraproject.org/updates/FEDORA-2020-a9a5b96259
>
> Additionally, if there's any way we can get the GA metadata generated
> on a system with this update installed, the zchunk metadata will be
> significantly smaller.  Just to be clear, it won't cause any breakage
> if we can't, but it would be nice to get the 20-30% reduction in
> zchunk metadata size.
>
> Thanks, and apologies for any inconvenience,
>
> Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Updated zdicts for F33 zchunk metadata

2020-10-08 Thread Jonathan Dieter
I'm afraid I'm late to the party on updating the zstd dictionaries
used by zchunk for F33.  I've just built fedora-repo-zdicts-2010.1,
which now includes the F33 dictionaries, but we're obviously past
final freeze.

I would appreciate karma on the following update so it can go in as a
zero-day update:
https://bodhi.fedoraproject.org/updates/FEDORA-2020-a9a5b96259

Additionally, if there's any way we can get the GA metadata generated
on a system with this update installed, the zchunk metadata will be
significantly smaller.  Just to be clear, it won't cause any breakage
if we can't, but it would be nice to get the 20-30% reduction in
zchunk metadata size.

Thanks, and apologies for any inconvenience,

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Failed Delta RPMs observed in repo

2020-02-10 Thread Jonathan Dieter
On Sun, 2020-02-09 at 09:36 -0500, John Mellor wrote:
> Question for the repo managers,
> 
> Why do I sometimes see invalid checksums for drpm downloads?  E.g:
> This excerpt from the update this morning:
> 
> > /var/cache/dnf/updates-7fc4c739b3909d9f/packages/selinux-policy-
> > targeted-3.14.4-46.fc31_3.14.4-47.fc31.noarch.drpm: md5 mismatch of
> > result
> > Some packages were not downloaded. Retrying.
> > selinux-policy-targeted-3.14.4-47.fc31.noarch.r  14 MB/s |  13
> > MB 00:00 
> 
> It almost always causes the total download size to be larger than any
> savings from using the drpm format:
> 
> > Failed Delta RPMs increased 41.3 MB of updates to 43.3 MB (-4.1%
> > wasted)
> > 
> 
> Is this a repo bug?  

This is not a repo bug, but rather a (small) bug in how selinux-policy-
targeted is packaged.  A drpm is assembled by taking the parts of the
old installed rpm that haven't changed from the local system and then
only downloading the parts that have changed.

The problem is that a file in selinux-policy-targeted changes *after*
it's installed, but dnf doesn't detect that the old installed rpm has
changed until after downloading and attempting to apply the drpm.

As you can see on my local system, there are four files that have
changed after selinux-policy-targeted was installed:
$ sudo rpm -V selinux-policy-targeted
S.5T.  c /etc/selinux/targeted/contexts/files/file_contexts.local
..5T./var/lib/selinux/targeted/active/commit_num
S.5T./var/lib/selinux/targeted/active/file_contexts
...T./var/lib/selinux/targeted/active/homedir_template
S.5T./var/lib/selinux/targeted/active/policy.kern
.M...  g /var/lib/selinux/targeted/active/policy.linked
...T./var/lib/selinux/targeted/active/seusers
...T./var/lib/selinux/targeted/active/users_extra

The file in /etc is marked as a config file, so won't cause the
deltarpm to fail, but the changes to the other three will.  Arguably,
any files that may change on the local system should be marked as
config files.

Jonathan
___
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org


Re: Why Must I Do "dnf clean all" Before Updating Will Proceed?

2019-06-07 Thread Jonathan Dieter
On Tue, 2019-06-04 at 18:54 -0700, Samuel Sieb wrote:
> On 6/1/19 5:27 AM, Garry T. Williams wrote:
> > On Friday, May 31, 2019 11:05:20 PM EDT Tim via users wrote:
> > > On Fri, 2019-05-31 at 17:18 -0400, Garry Williams wrote:
> > > > But, of course, the issue is why this happens in the first place.
> > > 
> > > Does your ISP insert a transparent proxy between you and the
> > > internet?  They're well known to cause caching problems.
> > 
> > Ah, ha!  That is a difference between the problem system and the
> > others I have that do not experience the problem.
> > 
> > My employer does eavesdrop on everything.
> 
> I think I found the answer to this.  I ran into the same problem with my 
> simple custom proxy.  Starting in F30, the repo uses zchunk.  This means 
> that dnf requests lots of byte ranges.  If the proxy doesn't support 
> this, then librepo fails.  According to the http specs, a client MUST 
> support getting more (or less) data than asked for when requesting 
> ranges.  However, librepo does not.  I'm about to file a bug for this.

Please do, and please file it against zchunk when you do, but please
first make sure you've updated to the latest versions if libdnf,
librepo and zchunk-libs.  librepo is supposed to automatically reduce
the number of zchunk byte ranges it requests if there's a failure, so,
if it's not, it's most likely a bug.

It would also be really helpful to see how your proxy responds to a
request for too many byte ranges.  And please make sure to attach
dnf.librepo.log when you file the bug.

Jonathan
___
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org


Re: Fedora 31 System-Wide Change proposal: Switch RPMs to zstd compression

2019-05-30 Thread Jonathan Dieter
On Wed, 2019-05-29 at 18:05 -0400, Neal Gompa wrote:
> On Wed, May 29, 2019 at 5:53 PM Josh Boyer  wrote:
> > 
> > If we did this, wouldn't it make it very difficult to use tools like
> > mock on RHEL / CentOS 7 to build for Fedora 3x?  Or does RHEL 7 RPM
> > support zstd?
> > 
> 
> We're pretty much screwed here. Also, since RHEL 8's rpm package does
> not have zstd support compiled in, it too cannot handle the RPMs.
> 
> Cf. https://git.centos.org/rpms/rpm/blob/c8/f/SPECS/rpm.spec#_17-18

I just wanted to point out my post[1] in November where I suggested
using zchunk as the compression format for rpm.  IIRC, the main concern
with that proposal was compatibility with RHEL.

The one main advantage using zchunk would have over zstd would be the
ability to completely eliminated drpms, but, as mentioned in that
thread, it would require some changes to the RPM format.

Jonathan

 1: 
https://lists.fedorahosted.org/archives/list/devel@lists.fedoraproject.org/thread/YHKXMJHZW3O6EWA2WYMFWOC22KTVTPLB/
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Fedora 31 System-Wide Change proposal: Switch RPMs to zstd compression

2019-05-30 Thread Jonathan Dieter
On Wed, 2019-05-29 at 18:32 -0400, James Cassell wrote:
> 
> Would this help with drpms similar to how it helps with faster yum
> repo metadata downloads? My biggest problem with drpms is the slow
> rebuild speed which is usually slower than my download bandwidth.  It
> would be a big win if zstd helps here.

Unfortunately not.  The drpm rebuild process involves recompressing the
rpm, so we'd be affected by the compression speed, not the
decompression speed.  With zstd compression level > 15, the drpm
rebuild speed would actually slow down (possibly quite significantly).

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Fedora 31 System-Wide Change proposal: Switch RPMs to zstd compression

2019-05-30 Thread Jonathan Dieter
On Wed, 2019-05-29 at 20:15 -0600, Chris Murphy wrote:
> 'dnf info deltarpm' says
> URL  : http://gitorious.org/deltarpm/deltarpm
> which has an expired certificate, but pushing passed that it says
> current version 3.6 is 5 years old. Is this really maintained or
> updatabled?

Upstream has changed to 
https://github.com/rpm-software-management/deltarpm.  The code is still
maintained, but there's not much active development.  I can't speak for
the upstream maintainer, but I would guess that a PR that adds zstd
support would probably be welcomed.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: [PATCH] bodhi-backend: Make sure zchunk dicts are installed

2019-05-23 Thread Jonathan Dieter
On Thu, 2019-05-23 at 17:01 -0400, Randy Barlow wrote:
> On Thu, 2019-05-23 at 10:33 -0700, Kevin Fenzi wrote:
> > Applied. Thanks.
> 
> One note: The patch to do zchunking is part of Bodhi 4.0.0, which is
> not yet in production; we plan to deploy it on Tuesday.

Unless I'm mistaken, that patch is specific to updateinfo.xml.  The
other metadata in updates and updates-testing is currently zchunked,
just without a zdict at the moment.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: [PATCH] bodhi-backend: Make sure zchunk dicts are installed

2019-05-19 Thread Jonathan Dieter
On Sun, 2019-05-19 at 21:25 +0100, Jonathan Dieter wrote:
> The zchunk dictionaries used to reduce the size of zchunk metadata seems to
> not currently be installed on the bodhi server.  This patch makes sure they
> are installed.
> 
> Signed-off-by: Jonathan Dieter 
> ---
>  roles/bodhi2/backend/tasks/main.yml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/roles/bodhi2/backend/tasks/main.yml
> b/roles/bodhi2/backend/tasks/main.yml
> index 32da678db..3ab6ec809 100644
> --- a/roles/bodhi2/backend/tasks/main.yml
> +++ b/roles/bodhi2/backend/tasks/main.yml
> @@ -18,6 +18,7 @@
>- bodhi-composer
>- python3-pyramid_sawing
>- sigul
> +  - fedora-repo-zdicts
># Are these still needed?
>- compose-utils
>- pungi-utils

Just to be clear, I'm not 100% sure this is the right way or the right
place to install the zchunk dictionaries, but having them installed
should reduce the size of the zchunk metadata by a significant amount.

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


[PATCH] bodhi-backend: Make sure zchunk dicts are installed

2019-05-19 Thread Jonathan Dieter
The zchunk dictionaries used to reduce the size of zchunk metadata seems to
not currently be installed on the bodhi server.  This patch makes sure they
are installed.

Signed-off-by: Jonathan Dieter 
---
 roles/bodhi2/backend/tasks/main.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/roles/bodhi2/backend/tasks/main.yml 
b/roles/bodhi2/backend/tasks/main.yml
index 32da678db..3ab6ec809 100644
--- a/roles/bodhi2/backend/tasks/main.yml
+++ b/roles/bodhi2/backend/tasks/main.yml
@@ -18,6 +18,7 @@
   - bodhi-composer
   - python3-pyramid_sawing
   - sigul
+  - fedora-repo-zdicts
   # Are these still needed?
   - compose-utils
   - pungi-utils
-- 
2.21.0
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: Can we use SCLs for building for EPEL 6?

2019-04-15 Thread Jonathan Dieter
On Sun, 2019-04-14 at 16:01 -0400, Stephen John Smoogen wrote:
> On Sat, 13 Apr 2019 at 21:06, Todd Zullinger  wrote:
> > Neal Gompa wrote:
> > > If devtoolset is available for EPEL6 (which I think it is?)
> > 
> > I don't believe devtoolset was enabled for el6 in koji.
> > When it was added to the mock configs for el6/el7, the
> > consensus on the epel list was that it would be added to el6
> > if there was sufficient demand.  I've only seen it come up
> > once (or maybe twice) since then on the epel list.
> > 
> > I'm not familiar enough with the koji commands to confirm
> > it.  I can see that rhel7-server-rhscl-7 is listed in the
> > external repos, but I don't see a similar rhel6 SCL.
> > 
> > Apologies if I simply missed an announcement on the epel
> > lists and am passing on outdated data.
> > 
> 
> I believe Todd is correct. At the time there was the package needing
> SCL's was chromium and the owner had no interest for making the
> package in EL6. If zchunk needs it, we can put it in.

That's ok.  I've gone with Kevin Kofler's suggestion and just fixed the
build to work with the old version of GCC.

Thanks, all, for the help!

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Can we use SCLs for building for EPEL 6?

2019-04-13 Thread Jonathan Dieter
On Sat, 2019-04-13 at 13:11 -0700, John Reiser wrote:
> >  Unfortunately, the gcc in EL6 is too old to build zchunk
> 
> In what specific way(s)?  Can the complaints from gcc [which version?],
> or other tools in the toolchain, be listed here?
> Other developers may have faced the same or similar problems,
> and may have tools to help.

Sorry, I should have shared that the first time around.

The version of gcc that comes with EL6 is 4.4.7.

When building zchunk, I get a number of messages that look like:
$ ninja-build 
[1/178] Compiling C object 'src/lib/zck@sha/comp_zstd_zstd.c.o'.
FAILED: src/lib/zck@sha/comp_zstd_zstd.c.o 
cc  -Isrc/lib/zck@sha -Isrc/lib -I../src/lib -Iinclude -I../include -pipe 
-D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -O0 -g -DZCHUNK_ZSTD 
-DZCHUNK_OPENSSL -fvisibility=hidden -fPIC -MMD -MQ 
'src/lib/zck@sha/comp_zstd_zstd.c.o' -MF 'src/lib/zck@sha/comp_zstd_zstd.c.o.d' 
-o 'src/lib/zck@sha/comp_zstd_zstd.c.o' -c ../src/lib/comp/zstd/zstd.c
In file included from ../src/lib/comp/zstd/zstd.c:34:
../src/lib/zck_private.h:92: error: redefinition of typedef 'zckCtx'
include/zck.h:49: note: previous declaration of 'zckCtx' was here
../src/lib/zck_private.h:106: error: redefinition of typedef 'zck_log_type'
include/zck.h:47: note: previous declaration of 'zck_log_type' was here
../src/lib/zck_private.h:117: error: redefinition of typedef 'zckHash'
include/zck.h:50: note: previous declaration of 'zckHash' was here
../src/lib/zck_private.h:150: error: redefinition of typedef 'zckDL'
include/zck.h:54: note: previous declaration of 'zckDL' was here
../src/lib/zck_private.h:165: error: redefinition of typedef 'zckChunk'
include/zck.h:51: note: previous declaration of 'zckChunk' was here
../src/lib/zck_private.h:177: error: redefinition of typedef 'zckIndex'
include/zck.h:52: note: previous declaration of 'zckIndex' was here
../src/lib/zck_private.h:193: error: redefinition of typedef 'zckRange'
include/zck.h:53: note: previous declaration of 'zckRange' was here
../src/lib/zck_private.h:224: error: redefinition of typedef 'zckComp'
../src/lib/zck_private.h:91: note: previous declaration of 'zckComp' was here
../src/lib/zck_private.h:298: error: redefinition of typedef 'zckCtx'
../src/lib/zck_private.h:92: note: previous declaration of 'zckCtx' was here

For reference, you can find zck.h.in (which gets processed into zck.h
with the version added) at:
https://github.com/zchunk/zchunk/blob/master/include/zck.h.in

and zck_private.h at:
https://github.com/zchunk/zchunk/blob/master/src/lib/zck_private.h

As far as I can see, gcc-4.7 doesn't like that I'm typedefing the same
struct to the same type twice.  Later versions don't see it as a
problem at all.

(Just to be clear, this still happens if I change zck_private.h to say:
typedef struct zckCtx zckCtx;)

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Can we use SCLs for building for EPEL 6?

2019-04-13 Thread Jonathan Dieter
So, the background is that I'd like to build zchunk for EPEL 6 (it's
already built for EPEL 7).  Unfortunately, the gcc in EL6 is too old to
build zchunk, so I'd prefer to use a newer version from an SCL, rather
than rewrite zchunk to be compatible with an ancient version of gcc.

I noticed that SCLs are available for EPEL 7 (note the final repository
in the list at https://koji.fedoraproject.org/koji/taginfo?tagID=259),
but not for EPEL 6 (see 
https://koji.fedoraproject.org/koji/taginfo?tagID=140).

So, is there any way we can use SCLs for building on EPEL 6, or should
I stop tilting at windmills and just say EL6 is too old for zchunk?

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: [PATCH] bodhi-backend: Add zchunk support to updates and updates-testing repositories

2019-04-12 Thread Jonathan Dieter
On Thu, 2019-04-11 at 18:08 -0700, Kevin Fenzi wrote:
> On 4/9/19 11:20 AM, Jonathan Dieter wrote:
> > On Tue, 2019-04-09 at 19:14 +0100, Jonathan Dieter wrote:
> > > This re-adds zchunk support for the updates and updates-testing 
> > > repositories
> > > for both rpms and modularity.
> > > 
> > > Zchunk metadata was turned off due to a broken version of librepo that 
> > > made it
> > > out to stable, but a fixed version has been pushed and FESCo has 
> > > decided[1] to
> > > go ahead and turn this back on.
> > > 
> > >  1: https://pagure.io/fesco/issue/2116
> > 
> > In that ticket, we didn't really specify when to turn it back on, so if
> > we want to sit on this patch for a few days, that's fine with me.
> > 
> > Once we've decided when this should be applied, I'll send a message to
> > devel-announce with an explanation on how to workaround the segfault
> > for anyone still using librepo-1.9.6-1.
> 
> I think we should apply it asap.
> 
> However, if I save your email and try and git am it, it doesn't apply at
> all.
> 
> Can you resend with the patch as attachment?
> 
> I am not sure what thunderbird is doing here. ;(
> 
> kevin

Ok, here it is, freshly rebased, as an attachment.

Jonathan
From 4c53d3fba04b1bbbfdb8a7dc1d350e75dd5efd5d Mon Sep 17 00:00:00 2001
From: Jonathan Dieter 
Date: Sat, 30 Mar 2019 22:29:33 +
Subject: [PATCH] bodhi-backend: Add zchunk support to updates and
 updates-testing repositories

This re-adds zchunk support for the updates and updates-testing repositories
for both rpms and modularity.

Zchunk metadata was turned off due to a broken version of librepo that made it
out to stable, but a fixed version has been pushed and FESCo has decided[1] to
go ahead and turn this back on.

 1: https://pagure.io/fesco/issue/2116

Signed-off-by: Jonathan Dieter 
---
 roles/bodhi2/backend/templates/pungi.module.conf.j2 | 3 +++
 roles/bodhi2/backend/templates/pungi.rpm.conf.j2| 3 +++
 2 files changed, 6 insertions(+)

diff --git a/roles/bodhi2/backend/templates/pungi.module.conf.j2 b/roles/bodhi2/backend/templates/pungi.module.conf.j2
index 43c6a7e5f..b5bb0c1fb 100644
--- a/roles/bodhi2/backend/templates/pungi.module.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.module.conf.j2
@@ -61,6 +61,9 @@ greedy_method = 'build'
 createrepo_c = True
 createrepo_checksum = 'sha256'
 createrepo_deltas = False
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', '--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 #jigdo
 create_jigdo = False
diff --git a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2 b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
index 8d9e9a3f2..020736aee 100644
--- a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
@@ -66,6 +66,9 @@ createrepo_deltas = [
 ('^Everything$', {'*': True})
 ]
 createrepo_database = True
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', '--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 # CHECKSUMS
 media_checksums = ['sha256']
-- 
2.21.0



signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


How to fix dnf segmentation fault (zchunk metadata is re-enabled)

2019-04-10 Thread Jonathan Dieter
FESCo has given us the go-ahead to turn zchunk metadata on again[1] for
the F30 fedora repository after the librepo segmentation fault bug[2]
was fixed.  An updated librepo[3] was built a week ago and was pushed
to stable five days ago, so most beta users should have the new
version.

If you're using F30 and have librepo-1.9.6-1.fc30, please update to
librepo-1.9.6-2.fc30 as soon as possible!  If you don't, you will once
again get a segmentation fault when running dnf.

If you find yourself getting a segmentation fault when running dnf on a
system with librepo-1.9.6-1.fc30, you can temporarily work around it by
doing the following:

1. Edit /etc/dnf/dnf.conf and add the following line:

   zchunk=False

2. Run:
   dnf update librepo

   Verify that you got librepo-1.9.6-2.fc30 or later in the update

3. Remove the 'zchunk=False' line you added to /etc/dnf/dnf.conf

4. Run:
   dnf update

At this point, dnf should download the repository metadata without any
segmentation faults, and any further repository metadata downloads
should be significantly smaller.

Jonathan

 1. https://pagure.io/fesco/issue/2116
 2. 
https://lists.fedoraproject.org/archives/list/devel-annou...@lists.fedoraproject.org/thread/RHZ6V6MFVFAIJ6OEXZ5VL7BPPLHJE4GF/
 3. https://bodhi.fedoraproject.org/updates/FEDORA-2019-07c3e09858
___
devel-announce mailing list -- devel-annou...@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-annou...@lists.fedoraproject.org
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


How to fix dnf segmentation fault (zchunk metadata is re-enabled)

2019-04-10 Thread Jonathan Dieter
FESCo has given us the go-ahead to turn zchunk metadata on again[1] for
the F30 fedora repository after the librepo segmentation fault bug[2]
was fixed.  An updated librepo[3] was built a week ago and was pushed
to stable five days ago, so most beta users should have the new
version.

If you're using F30 and have librepo-1.9.6-1.fc30, please update to
librepo-1.9.6-2.fc30 as soon as possible!  If you don't, you will once
again get a segmentation fault when running dnf.

If you find yourself getting a segmentation fault when running dnf on a
system with librepo-1.9.6-1.fc30, you can temporarily work around it by
doing the following:

1. Edit /etc/dnf/dnf.conf and add the following line:

   zchunk=False

2. Run:
   dnf update librepo

   Verify that you got librepo-1.9.6-2.fc30 or later in the update

3. Remove the 'zchunk=False' line you added to /etc/dnf/dnf.conf

4. Run:
   dnf update

At this point, dnf should download the repository metadata without any
segmentation faults, and any further repository metadata downloads
should be significantly smaller.

Jonathan

 1. https://pagure.io/fesco/issue/2116
 2. 
https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/RHZ6V6MFVFAIJ6OEXZ5VL7BPPLHJE4GF/
 3. https://bodhi.fedoraproject.org/updates/FEDORA-2019-07c3e09858
___
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org


Re: [PATCH] bodhi-backend: Add zchunk support to updates and updates-testing repositories

2019-04-09 Thread Jonathan Dieter
On Tue, 2019-04-09 at 19:14 +0100, Jonathan Dieter wrote:
> This re-adds zchunk support for the updates and updates-testing repositories
> for both rpms and modularity.
> 
> Zchunk metadata was turned off due to a broken version of librepo that made it
> out to stable, but a fixed version has been pushed and FESCo has decided[1] to
> go ahead and turn this back on.
> 
>  1: https://pagure.io/fesco/issue/2116

In that ticket, we didn't really specify when to turn it back on, so if
we want to sit on this patch for a few days, that's fine with me.

Once we've decided when this should be applied, I'll send a message to
devel-announce with an explanation on how to workaround the segfault
for anyone still using librepo-1.9.6-1.

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


[PATCH] bodhi-backend: Add zchunk support to updates and updates-testing repositories

2019-04-09 Thread Jonathan Dieter
This re-adds zchunk support for the updates and updates-testing repositories
for both rpms and modularity.

Zchunk metadata was turned off due to a broken version of librepo that made it
out to stable, but a fixed version has been pushed and FESCo has decided[1] to
go ahead and turn this back on.

 1: https://pagure.io/fesco/issue/2116

Signed-off-by: Jonathan Dieter 
---
 roles/bodhi2/backend/templates/pungi.module.conf.j2 | 3 +++
 roles/bodhi2/backend/templates/pungi.rpm.conf.j2| 3 +++
 2 files changed, 6 insertions(+)

diff --git a/roles/bodhi2/backend/templates/pungi.module.conf.j2 
b/roles/bodhi2/backend/templates/pungi.module.conf.j2
index 43c6a7e5f..b5bb0c1fb 100644
--- a/roles/bodhi2/backend/templates/pungi.module.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.module.conf.j2
@@ -61,6 +61,9 @@ greedy_method = 'build'
 createrepo_c = True
 createrepo_checksum = 'sha256'
 createrepo_deltas = False
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', 
'--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 #jigdo
 create_jigdo = False
diff --git a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2 
b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
index 8d9e9a3f2..020736aee 100644
--- a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
@@ -66,6 +66,9 @@ createrepo_deltas = [
 ('^Everything$', {'*': True})
 ]
 createrepo_database = True
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', 
'--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 # CHECKSUMS
 media_checksums = ['sha256']
-- 
2.21.0
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


PSA: workaround for segfault when running dnf update in F30

2019-03-31 Thread Jonathan Dieter

librepo-1.9.6 has a major bug that will cause a segfault when a
repository has zchunk metadata.  To temporarily work around the
problem, set zchunk=False in /etc/dnf/dnf.conf or wait until the next
updates push comes out


About a week ago, we disabled zchunk metadata in the main F30
repository because of arm-specific compose problems[1].  The problems
were fixed and we enabled zchunk metadata in F30 updates-testing
yesterday, but, in the interval when there were no zchunk-enabled
repositories, librepo-1.9.6 was released, and it has a major bug where
it segfaults whenever dnf update is run on a repository with zchunk
metadata.

We've disabled zchunk metadata for F30 updates-testing and doing a new
push now.

I have submitted a fix[2] for the bug, but for now any F30 users need
to do one of the following:
 * Wait until the next updates push is out.  It won't have zchunk
   metadata, so updates will work normally again.
 * Set zchunk=False in /etc/dnf/dnf.conf.  This will force dnf to fall
   back to non-zchunk metadata, bypassing the bug.

Many apologies for the inconvenience.

Jonathan

[1] https://pagure.io/dusty/failed-composes/issue/1703
[2] https://github.com/rpm-software-management/librepo/pull/148

___
devel-announce mailing list -- devel-annou...@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-annou...@lists.fedoraproject.org
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


PSA: workaround for segfault when running dnf update in F30

2019-03-31 Thread Jonathan Dieter

librepo-1.9.6 has a major bug that will cause a segfault when a
repository has zchunk metadata.  To temporarily work around the
problem, set zchunk=False in /etc/dnf/dnf.conf or wait until the next
updates push comes out


About a week ago, we disabled zchunk metadata in the main F30
repository because of arm-specific compose problems[1].  The problems
were fixed and we enabled zchunk metadata in F30 updates-testing
yesterday, but, in the interval when there were no zchunk-enabled
repositories, librepo-1.9.6 was released, and it has a major bug where
it segfaults whenever dnf update is run on a repository with zchunk
metadata.

We've disabled zchunk metadata for F30 updates-testing and doing a new
push now.

I have submitted a fix[2] for the bug, but for now any F30 users need
to do one of the following:
 * Wait until the next updates push is out.  It won't have zchunk
   metadata, so updates will work normally again.
 * Set zchunk=False in /etc/dnf/dnf.conf.  This will force dnf to fall
   back to non-zchunk metadata, bypassing the bug.

Many apologies for the inconvenience.

Jonathan

[1] https://pagure.io/dusty/failed-composes/issue/1703
[2] https://github.com/rpm-software-management/librepo/pull/148

___
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org


Re: [Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-31 Thread Jonathan Dieter
On Sun, 2019-03-31 at 10:37 -0700, Kevin Fenzi wrote:
> On 3/31/19 10:35 AM, Jonathan Dieter wrote:
> > On Sun, 2019-03-31 at 10:28 -0700, Kevin Fenzi wrote:
> > > On 3/31/19 1:56 AM, Jonathan Dieter wrote:
> > > > On Sun, 2019-03-31 at 09:09 +0100, Jonathan Dieter wrote:
> > > > > Due to an unrelated *major* bug in the latest librepo update (
> > > > > https://bugzilla.redhat.com/show_bug.cgi?id=1694411), I'd like to
> > > > > request that we disable zchunk metadata generation in updates and
> > > > > updates-testing until it's fixed.
> > > > 
> > > > Just to be clear, until either:
> > > >  * We get a new updates compose out without zchunk metadata, or
> > > >  * The user sets zchunk=False in /etc/dnf/dnf.conf
> > > > 
> > > > dnf update is broken for anybody using F30
> > > > 
> > > > Should I send an email to -devel explaining the above?
> > > 
> > > Please do, perhaps devel-announce ?
> > > 
> > > I have reverted things and am working on a new f30-updates-testing push.
> > > There was a failed f29-updates-testing last night so I have to finish
> > > that first, but hopefully we will have it out in a few hours.
> > 
> > I've sent it out to devel-announce, but it was rejected as I'm not in
> > the right group.  Will I send it to you and let you forward it?
> 
> Yeah, you have to be subscribed to devel-announce to post there... if
> you just subscribe and resend it should go to moderation and I can pass it.
> 
> Or if you want, just send it my way and I can post it...

Ok, I've subscribed, sent the message, and it's awaiting moderation.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: [Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-31 Thread Jonathan Dieter
On Sun, 2019-03-31 at 10:28 -0700, Kevin Fenzi wrote:
> On 3/31/19 1:56 AM, Jonathan Dieter wrote:
> > On Sun, 2019-03-31 at 09:09 +0100, Jonathan Dieter wrote:
> > > Due to an unrelated *major* bug in the latest librepo update (
> > > https://bugzilla.redhat.com/show_bug.cgi?id=1694411), I'd like to
> > > request that we disable zchunk metadata generation in updates and
> > > updates-testing until it's fixed.
> > 
> > Just to be clear, until either:
> >  * We get a new updates compose out without zchunk metadata, or
> >  * The user sets zchunk=False in /etc/dnf/dnf.conf
> > 
> > dnf update is broken for anybody using F30
> > 
> > Should I send an email to -devel explaining the above?
> 
> Please do, perhaps devel-announce ?
> 
> I have reverted things and am working on a new f30-updates-testing push.
> There was a failed f29-updates-testing last night so I have to finish
> that first, but hopefully we will have it out in a few hours.

I've sent it out to devel-announce, but it was rejected as I'm not in
the right group.  Will I send it to you and let you forward it?

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: [Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-31 Thread Jonathan Dieter
On Sun, 2019-03-31 at 09:09 +0100, Jonathan Dieter wrote:
> Due to an unrelated *major* bug in the latest librepo update (
> https://bugzilla.redhat.com/show_bug.cgi?id=1694411), I'd like to
> request that we disable zchunk metadata generation in updates and
> updates-testing until it's fixed.

Just to be clear, until either:
 * We get a new updates compose out without zchunk metadata, or
 * The user sets zchunk=False in /etc/dnf/dnf.conf

dnf update is broken for anybody using F30

Should I send an email to -devel explaining the above?

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: [Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-31 Thread Jonathan Dieter
On Sun, 2019-03-31 at 05:13 +, Peter Robinson wrote:
> On Sun, Mar 31, 2019 at 6:01 AM Kevin Fenzi  wrote:
> > On 3/30/19 9:50 PM, Peter Robinson wrote:
> > > > Great, thanks!  I'll be keeping an eye on the composes to see if there
> > > > are any issues.
> > > 
> > > Wasn't this disabled in the main Fedora branched compose? If so why
> > > would we want to enable it only on updates?
> > 
> > There's no updates in f30 indeed, but updates-testing should be there
> > and available for testing. Nearer release we will enable updates and if
> > we didn't enable this for them now we might well not remember to do so,
> > so it seemed like a good idea to just do them both.
> 
> I was referring to commits 6c392f16 and 96adf9a in pungi-fedora, if
> it's disabled in the base fedora repo why enable it in
> updates/testing?

Hey Peter, the zchunk metadata generation was disabled in the base repo
because of a bug that popped up in a combination that the compose
process happened to hit: using a single baseurl and downloading a
zchunk file with tens of thousands of chunks on a slow processor.

The bug has been fixed with updates to both zchunk and libcurl (see 
https://bugzilla.redhat.com/show_bug.cgi?id=1690971) and it shouldn't
affect beta users because the number of chunks in updates and updates-
testing is a magnitude lower than the base repo.

*However*

Due to an unrelated *major* bug in the latest librepo update (
https://bugzilla.redhat.com/show_bug.cgi?id=1694411), I'd like to
request that we disable zchunk metadata generation in updates and
updates-testing until it's fixed.

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: [Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-30 Thread Jonathan Dieter
On Sat, 2019-03-30 at 16:00 -0700, Kevin Fenzi wrote:
> On 3/30/19 3:32 PM, Jonathan Dieter wrote:
> > On Sat, 2019-03-30 at 15:13 -0700, Kevin Fenzi wrote:
> > > On 3/30/19 11:35 AM, Jonathan Dieter wrote:
> > > 
> > > > Stephen and Kevin, thanks so much!
> > > 
> > > Can you rebase and attach the patch?
> > > 
> > > It's not applying cleanly for me... if not I can try and manually
> > > poke
> > > it later.
> > > 
> > > kevin
> > 
> > I've just rebased and posted the updated patch.  There were no
> > conflicts when I rebased it against master, so please let me know
> > if I
> > should be rebasing against a different branch.
> 
> Not sure why it was complaining, but its applied and pushed now.
> 
> kevin

Great, thanks!  I'll be keeping an eye on the composes to see if there
are any issues.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: [Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-30 Thread Jonathan Dieter
On Sat, 2019-03-30 at 15:13 -0700, Kevin Fenzi wrote:
> On 3/30/19 11:35 AM, Jonathan Dieter wrote:
> 
> > Stephen and Kevin, thanks so much!
> 
> Can you rebase and attach the patch?
> 
> It's not applying cleanly for me... if not I can try and manually poke
> it later.
> 
> kevin

I've just rebased and posted the updated patch.  There were no
conflicts when I rebased it against master, so please let me know if I
should be rebasing against a different branch.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


[Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-30 Thread Jonathan Dieter
Rebased patch against master
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


[PATCH] Add zchunk support to updates and updates-testing repositories

2019-03-30 Thread Jonathan Dieter
This adds zchunk support for the updates and updates-testing repositories
for both rpms and modularity

Signed-off-by: Jonathan Dieter 
---
 roles/bodhi2/backend/templates/pungi.module.conf.j2 | 3 +++
 roles/bodhi2/backend/templates/pungi.rpm.conf.j2| 3 +++
 2 files changed, 6 insertions(+)

diff --git a/roles/bodhi2/backend/templates/pungi.module.conf.j2 
b/roles/bodhi2/backend/templates/pungi.module.conf.j2
index 43c6a7e5f..b5bb0c1fb 100644
--- a/roles/bodhi2/backend/templates/pungi.module.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.module.conf.j2
@@ -61,6 +61,9 @@ greedy_method = 'build'
 createrepo_c = True
 createrepo_checksum = 'sha256'
 createrepo_deltas = False
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', 
'--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 #jigdo
 create_jigdo = False
diff --git a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2 
b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
index 8d9e9a3f2..020736aee 100644
--- a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
@@ -66,6 +66,9 @@ createrepo_deltas = [
 ('^Everything$', {'*': True})
 ]
 createrepo_database = True
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', 
'--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 # CHECKSUMS
 media_checksums = ['sha256']
-- 
2.21.0
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: [Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-30 Thread Jonathan Dieter
On Sat, 2019-03-30 at 14:05 -0400, Stephen John Smoogen wrote:
> +1
> 
> On Sat, 30 Mar 2019 at 13:53, Kevin Fenzi  wrote:
> > On 3/29/19 1:33 PM, Jonathan Dieter wrote:
> > > On Mon, 2019-03-11 at 20:23 +, Jonathan Dieter wrote:
> > > > On Mon, 2019-03-11 at 11:24 -0700, Kevin Fenzi wrote:
> > > > > On 3/11/19 12:26 AM, Jonathan Dieter wrote:
> > > > > > This adds zchunk support for the updates and updates-testing
> > > > > > repositories for both rpms and modularity.  We already have zchunk
> > > > > > metadata being generated for the fedora repository.  I'd like to
> > > > > > get this in before Beta comes out so Beta users will have zchunk-
> > > > > > enabled updates-testing repositories when Beta is released.
> > > > > 
> > > > > yeah, hopefilly not too much pain since it's been in rawhide a while 
> > > > > now.
> > > > > 
> > > > > > I am making the assumption that a zchunk-enabled createrepo_c 
> > > > > > (0.12.0-2
> > > > > > or later) is available on the builders (I think I'm safe making that
> > > > > > assumption, since zchunk metadata is already being generated for 
> > > > > > some
> > > > > > repos).
> > > > > 
> > > > > Well, bodhi-backend01 (where the updates process/pungi runs for these)
> > > > > has a newer one, so yes. It's all run on bodhi-backend01, not 
> > > > > builders.
> > > > > 
> > > > > > I have *not* tested this patch, because I'm not sure how I'd go 
> > > > > > about
> > > > > > doing so.  If we don't have any test builders, my suggestion would 
> > > > > > be
> > > > > > to wait until no compose is running, and then run this play on a
> > > > > > builder, verifying that the generated pungi configuration is valid 
> > > > > > for
> > > > > > both f29 and f30, with no createrepo_extra_args in f29.
> > > > > 
> > > > > yeah, we can commit this, run the playbook then examine the results.
> > > > 
> > > > Great.  I'm on UTC time right now, so hopefully I'll be off of work and
> > > > available if there are any issues whenever we get another +1 and you
> > > > run it.  I do expect that it will go fine.
> > > 
> > > Since we never got the extra +1 to get this in before Beta, are we at a
> > > point where we can turn this on now?
> > 
> > Nope, we are still frozen until the day after beta release. ;(
> > 
> > But I will try and scare up another +1
> > 
> > kevin
> > 
> 
> -- 
> Stephen J Smoogen.

Stephen and Kevin, thanks so much!

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: [Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-29 Thread Jonathan Dieter
On Mon, 2019-03-11 at 20:23 +, Jonathan Dieter wrote:
> On Mon, 2019-03-11 at 11:24 -0700, Kevin Fenzi wrote:
> > On 3/11/19 12:26 AM, Jonathan Dieter wrote:
> > > This adds zchunk support for the updates and updates-testing
> > > repositories for both rpms and modularity.  We already have zchunk
> > > metadata being generated for the fedora repository.  I'd like to
> > > get this in before Beta comes out so Beta users will have zchunk-
> > > enabled updates-testing repositories when Beta is released.
> > 
> > yeah, hopefilly not too much pain since it's been in rawhide a while now.
> > 
> > > I am making the assumption that a zchunk-enabled createrepo_c (0.12.0-2 
> > > or later) is available on the builders (I think I'm safe making that
> > > assumption, since zchunk metadata is already being generated for some
> > > repos).
> > 
> > Well, bodhi-backend01 (where the updates process/pungi runs for these)
> > has a newer one, so yes. It's all run on bodhi-backend01, not builders.
> > 
> > > I have *not* tested this patch, because I'm not sure how I'd go about
> > > doing so.  If we don't have any test builders, my suggestion would be
> > > to wait until no compose is running, and then run this play on a
> > > builder, verifying that the generated pungi configuration is valid for
> > > both f29 and f30, with no createrepo_extra_args in f29.
> > 
> > yeah, we can commit this, run the playbook then examine the results.
> 
> Great.  I'm on UTC time right now, so hopefully I'll be off of work and
> available if there are any issues whenever we get another +1 and you
> run it.  I do expect that it will go fine.

Since we never got the extra +1 to get this in before Beta, are we at a
point where we can turn this on now?

Thanks
Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: Switching from GCC to llvm-clang for building chromium(vaapi)

2019-03-16 Thread Jonathan Dieter
On Sat, 2019-03-16 at 12:20 -0500, Michael Cronenworth wrote:
> On 3/16/19 7:10 AM, Akarshan Biswas wrote:
> > With the above stated reasons, I am willing to know your 
> > suggestions/opinions on this. 
> > Building with GCC has become quite a headache for me. If it goes against 
> > the packaging 
> > rules, I think we can make an exception for this particular package. 
> 
> There is no guideline that says "you must build with gcc" so feel free to 
> change to the 
> compiler of your choice.
> 
> I know it's trendy to use clang, and you have little choice in the matter, 
> but it's sad 
> that upstreams would rather use an unstable compiler instead of working with 
> gcc to 
> implement the features they want.

Just to clarify, there actually is 
https://docs.fedoraproject.org/en-US/packaging-guidelines/#compiler,
which states that packages must build with gcc if upstream supports GCC
as a compiler.

Having said that, if the package doesn't build on GCC, that may be an
argument that upstream doesn't support it.

Jonathan
___
rpmfusion-developers mailing list -- rpmfusion-developers@lists.rpmfusion.org
To unsubscribe send an email to rpmfusion-developers-le...@lists.rpmfusion.org


Re: [Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-11 Thread Jonathan Dieter
On Mon, 2019-03-11 at 11:24 -0700, Kevin Fenzi wrote:
> On 3/11/19 12:26 AM, Jonathan Dieter wrote:
> > This adds zchunk support for the updates and updates-testing
> > repositories for both rpms and modularity.  We already have zchunk
> > metadata being generated for the fedora repository.  I'd like to
> > get this in before Beta comes out so Beta users will have zchunk-
> > enabled updates-testing repositories when Beta is released.
> 
> yeah, hopefilly not too much pain since it's been in rawhide a while now.
> 
> > I am making the assumption that a zchunk-enabled createrepo_c (0.12.0-2 
> > or later) is available on the builders (I think I'm safe making that
> > assumption, since zchunk metadata is already being generated for some
> > repos).
> 
> Well, bodhi-backend01 (where the updates process/pungi runs for these)
> has a newer one, so yes. It's all run on bodhi-backend01, not builders.
> 
> > I have *not* tested this patch, because I'm not sure how I'd go about
> > doing so.  If we don't have any test builders, my suggestion would be
> > to wait until no compose is running, and then run this play on a
> > builder, verifying that the generated pungi configuration is valid for
> > both f29 and f30, with no createrepo_extra_args in f29.
> 
> yeah, we can commit this, run the playbook then examine the results.

Great.  I'm on UTC time right now, so hopefully I'll be off of work and
available if there are any issues whenever we get another +1 and you
run it.  I do expect that it will go fine.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


[Freeze Break Request] Add zchunk support to updates and updates-testing repositories

2019-03-11 Thread Jonathan Dieter
This adds zchunk support for the updates and updates-testing
repositories for both rpms and modularity.  We already have zchunk metadata 
being generated for the fedora repository.  I'd like to get this in before Beta 
comes out so Beta users will have zchunk-enabled updates-testing repositories 
when Beta is released.

I am making the assumption that a zchunk-enabled createrepo_c (0.12.0-2 
or later) is available on the builders (I think I'm safe making that
assumption, since zchunk metadata is already being generated for some
repos).

I have *not* tested this patch, because I'm not sure how I'd go about
doing so.  If we don't have any test builders, my suggestion would be
to wait until no compose is running, and then run this play on a
builder, verifying that the generated pungi configuration is valid for
both f29 and f30, with no createrepo_extra_args in f29.

Signed-off-by: Jonathan Dieter 
---
 roles/bodhi2/backend/templates/pungi.module.conf.j2 | 3 +++
 roles/bodhi2/backend/templates/pungi.rpm.conf.j2| 3 +++
 2 files changed, 6 insertions(+)

diff --git a/roles/bodhi2/backend/templates/pungi.module.conf.j2 
b/roles/bodhi2/backend/templates/pungi.module.conf.j2
index bb021eb13..7dad35403 100644
--- a/roles/bodhi2/backend/templates/pungi.module.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.module.conf.j2
@@ -59,6 +59,9 @@ greedy_method = 'build'
 createrepo_c = True
 createrepo_checksum = 'sha256'
 createrepo_deltas = False
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', 
'--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 #jigdo
 create_jigdo = False
diff --git a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2 
b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
index 8d9e9a3f2..020736aee 100644
--- a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
@@ -66,6 +66,9 @@ createrepo_deltas = [
 ('^Everything$', {'*': True})
 ]
 createrepo_database = True
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', 
'--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 # CHECKSUMS
 media_checksums = ['sha256']
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: How do we turn zchunk on for updates-testing for F30?

2019-03-10 Thread Jonathan Dieter
On Sun, 2019-03-10 at 15:47 +, Peter Robinson wrote:
> git send-email so it's inline on the list for easy review.

Thanks for the tip!  Just sent it using git send-email.

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


[PATCH] Add zchunk support to updates and updates-testing repositories

2019-03-10 Thread Jonathan Dieter
This adds zchunk support for the updates and updates-testing repositories
for both rpms and modularity

Signed-off-by: Jonathan Dieter 
---
 roles/bodhi2/backend/templates/pungi.module.conf.j2 | 3 +++
 roles/bodhi2/backend/templates/pungi.rpm.conf.j2| 3 +++
 2 files changed, 6 insertions(+)

diff --git a/roles/bodhi2/backend/templates/pungi.module.conf.j2 
b/roles/bodhi2/backend/templates/pungi.module.conf.j2
index bb021eb13..7dad35403 100644
--- a/roles/bodhi2/backend/templates/pungi.module.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.module.conf.j2
@@ -59,6 +59,9 @@ greedy_method = 'build'
 createrepo_c = True
 createrepo_checksum = 'sha256'
 createrepo_deltas = False
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', 
'--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 #jigdo
 create_jigdo = False
diff --git a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2 
b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
index 8d9e9a3f2..020736aee 100644
--- a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
@@ -66,6 +66,9 @@ createrepo_deltas = [
 ('^Everything$', {'*': True})
 ]
 createrepo_database = True
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', 
'--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 # CHECKSUMS
 media_checksums = ['sha256']
-- 
2.20.1
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: How do we turn zchunk on for updates-testing for F30?

2019-03-09 Thread Jonathan Dieter
On Sat, 2019-03-09 at 21:29 +0100, Mikolaj Izdebski wrote:
> On Sat, Mar 9, 2019 at 2:29 PM Jonathan Dieter 
> wrote:
> > Hey, I just noticed that, while we have zchunked metadata for the
> > F30
> > base repository, it's not enabled to for updates-testing.
> > 
> > I've looked in the ansible repo and in pungi, but I can't see where
> > createrepo_c is actually called for updates-testing.  Can someone
> > please point me in the right direction?
> 
> createrepo for updates-testing is ran by pungi. I believe you need to
> enable zchunk in pungi.conf (createrepo_extra_args option). For
> non-modular updates-testing the config is
> roles/bodhi2/backend/templates/pungi.rpm.conf.j2 in ansible.git.
> Similarly, for modular equivalent, pungi config is located at
> roles/bodhi2/backend/templates/pungi.module.conf.j2

Thanks for pointing me in the right direction.  I think I've got it,
complete with a conditional so we don't start generating zchunk
metadata for F29 updates.

There doesn't seem to be a way to generate pull requests on 
https://infrastructure.fedoraproject.org/cgit/ansible.git, so I'm
attaching the support as a patch.  If there's a better way for me to
send it in, please let me know.

Jonathan

P.S. It may be a small and simple patch, but I haven't actually tested
it and am not sure how to go about doing so.
From 17eefaa1cefb624afa0cf95d04e7f337ba70cb42 Mon Sep 17 00:00:00 2001
From: Jonathan Dieter 
Date: Sat, 9 Mar 2019 22:52:48 +
Subject: [PATCH] Add zchunk support to updates and updates-testing
 repositories

This adds zchunk support for the updates and updates-testing repositories
for both rpms and modularity

Signed-off-by: Jonathan Dieter 
---
 roles/bodhi2/backend/templates/pungi.module.conf.j2 | 3 +++
 roles/bodhi2/backend/templates/pungi.rpm.conf.j2| 3 +++
 2 files changed, 6 insertions(+)

diff --git a/roles/bodhi2/backend/templates/pungi.module.conf.j2 b/roles/bodhi2/backend/templates/pungi.module.conf.j2
index bb021eb13..7dad35403 100644
--- a/roles/bodhi2/backend/templates/pungi.module.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.module.conf.j2
@@ -59,6 +59,9 @@ greedy_method = 'build'
 createrepo_c = True
 createrepo_checksum = 'sha256'
 createrepo_deltas = False
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', '--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 #jigdo
 create_jigdo = False
diff --git a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2 b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
index 8d9e9a3f2..020736aee 100644
--- a/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
+++ b/roles/bodhi2/backend/templates/pungi.rpm.conf.j2
@@ -66,6 +66,9 @@ createrepo_deltas = [
 ('^Everything$', {'*': True})
 ]
 createrepo_database = True
+[% if release.version_int >= 30 %]
+createrepo_extra_args = ['--zck', '--zck-dict-dir=/usr/share/fedora-repo-zdicts/f[[ release.version_int ]]']
+[% endif %]
 
 # CHECKSUMS
 media_checksums = ['sha256']
-- 
2.20.1

___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: How do we turn zchunk on for updates-testing for F30?

2019-03-09 Thread Jonathan Dieter
On Sat, 2019-03-09 at 09:43 -0500, Neal Gompa wrote:
> On Sat, Mar 9, 2019 at 8:28 AM Jonathan Dieter 
> wrote:
> > Hey, I just noticed that, while we have zchunked metadata for the
> > F30
> > base repository, it's not enabled to for updates-testing.
> > 
> > I've looked in the ansible repo and in pungi, but I can't see where
> > createrepo_c is actually called for updates-testing.  Can someone
> > please point me in the right direction?
> > 
> 
> Updates repos are handled by Bodhi, so you'll want to look there.

If I'm reading the code correctly looks like Bodhi creates the repodata
using pungi.  Currently, fedora.conf in the pungi-fedora repo is set to
create zchunk metadata for the branches f30 and master.  Could updates-
testing maybe be using a different branch?

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


How do we turn zchunk on for updates-testing for F30?

2019-03-09 Thread Jonathan Dieter
Hey, I just noticed that, while we have zchunked metadata for the F30
base repository, it's not enabled to for updates-testing.

I've looked in the ansible repo and in pungi, but I can't see where
createrepo_c is actually called for updates-testing.  Can someone
please point me in the right direction?

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: Shredding a removable drive (OT)

2019-01-26 Thread Jonathan Dieter
On Fri, 2019-01-25 at 20:24 -0800, Gordon Messmer wrote:
> On 1/25/19 6:45 PM, Jonathan Ryshpan wrote:
> > Is there a quicker way to protect my data when I give the drives away, 
> > other than smashing the drives to bits?
> 
> The quickest would be to encrypt the drives from the beginning. When you 
> want to discard the drives, you just need to wipe the LUKS header.  With 
> the key wiped out, the rest of the drive is just random bits.

This, 100 times over!

Jonathan
___
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org


Re: Call for zchunk repodata testers

2019-01-17 Thread Jonathan Dieter
On Thu, 2019-01-17 at 00:48 +0100, Björn 'besser82' Esser wrote:
> Am Mittwoch, den 16.01.2019, 22:08 + schrieb Jonathan Dieter:
> > Just a heads up Rawhide has had zchunked metadata for almost three
> > weeks, and I'd greatly appreciate some more testing on the client side
> > before we finish pushing the client changes to Rawhide.
> > 
> > …
> > 
> > If the second day's repository download size for Rawhide is less than
> > 54MB, you'll know everything's working correctly.
> 
> I've just tested updating from yesterday's metadata and it took me about
> 2.9 MBytes (vs. about 61 MBytes without zchunk support) to download.
> 
> Seems to be working as it should.  LGTM  =)

Thanks for the feedback!  That sounds about right for a normal day's
updates.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Call for zchunk repodata testers

2019-01-16 Thread Jonathan Dieter
Just a heads up Rawhide has had zchunked metadata for almost three
weeks, and I'd greatly appreciate some more testing on the client side
before we finish pushing the client changes to Rawhide.

If you're running Rawhide, are willing to test, and have backups of
libdnf and librepo, please enable the COPR by running:

dnf copr enable jdieter/dnf-zchunk
dnf update librepo libdnf

At this point all tools using libdnf will default to zchunked metadata
if it's available.

If the second day's repository download size for Rawhide is less than
54MB, you'll know everything's working correctly.

--- Details, feel free to ignore ---

I've been testing it on Rawhide for the last three weeks or so, and the
minimum I've downloaded has been about 1.2MB (updating every day),
while the max today was about 7.9MB (haven't updated for over a week). 
So far, I haven't hit any bugs, but I've only been regularly testing
DNF in the terminal.  I did do initial testing with PackageKit and
microdnf, and they worked fine too.

Currently only primary.xml, filelists.xml and other.xml are zchunked,
but I've just finished extending zchunk support to all metadata types
in createrepo_c, and the changes should be making their way to Rawhide
sometime in the not-to-distant future.

Again, a huge thank you to everyone who's helped with this, and
especially to Daniel Mach for reviewing the large invasive patches
required to make all this work, Neal Gompa for helping push this
change, and Kevin Fenzi for flipping the switch to start generating
zchunked metadata in Rawhide.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Enabling zchunk metadata generation in F30

2018-12-14 Thread Jonathan Dieter
On Fri, 2018-12-14 at 15:15 -0500, Randy Barlow wrote:
> On Fri, 2018-12-14 at 19:02 +0000, Jonathan Dieter wrote:
> > Hey Randy, at the moment the --zck option *only* applies to
> > primary.xml, filelists.xml and other.xml.  It should be pretty
> > straightforward to add it to the others, but I wanted to get those
> > three working first.
> 
> Cool, sounds good to me.
> 
> > As for python bindings, they can read zchunk metadata just fine, but I
> > don't think I hooked up creating the metadata.  Where exactly does it
> > generate updateinfo in bodhi?  I'd like to see how the function is
> > used so I can implement it.
> 
> Bodhi's updateinfo code lives here:
> 
> https://github.com/fedora-infra/bodhi/blob/3.11.3/bodhi/server/metadata.py

Thanks for this.  I'll take a look at it and see what it will take to
make zchunk generation work in there.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: Enabling zchunk metadata generation in F30

2018-12-14 Thread Jonathan Dieter
On Fri, 2018-12-14 at 19:24 +, Jonathan Dieter wrote:
> On Fri, 2018-12-14 at 11:13 -0800, Kevin Fenzi wrote:
> > On 12/14/18 10:52 AM, Jonathan Dieter wrote:
> > > I suspect that the maintainers would like to see this feature tested
> > > more before pushing it to F29, but I can ask them, if you'd like.
> > 
> > No, I am not suggesting we implement it now in F29, I am saying that the
> > rawhide-composer and bodhi-backend01 machines that run pungi are Fedora
> > 29 hosts. The rawhide-composer runs in a chroot, so that should just
> > work, but the bodhi-backend01 updates pungi I don't think does, or if it
> > does it's a f29 chroot, not rawhide. So we will need a build for it.
> 
> Ok, makes sense.

While I'm thinking about it, fedora-repo-zdicts was just added to
Fedora yesterday and hasn't even been pushed to the testing
repositories yet.  It should be available in Rawhide though...

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: Enabling zchunk metadata generation in F30

2018-12-14 Thread Jonathan Dieter
On Fri, 2018-12-14 at 11:13 -0800, Kevin Fenzi wrote:
> On 12/14/18 10:52 AM, Jonathan Dieter wrote:
> > On Thu, 2018-12-13 at 16:42 -0800, Kevin Fenzi wrote:
> > > Cool.
> > > 
> > > I see the new createrepo_c only has a rawhide build... any chance for a
> > > f29 update? Or should we look at building a newer in our infra repo?
> > 
> > I suspect that the maintainers would like to see this feature tested
> > more before pushing it to F29, but I can ask them, if you'd like.
> 
> No, I am not suggesting we implement it now in F29, I am saying that the
> rawhide-composer and bodhi-backend01 machines that run pungi are Fedora
> 29 hosts. The rawhide-composer runs in a chroot, so that should just
> work, but the bodhi-backend01 updates pungi I don't think does, or if it
> does it's a f29 chroot, not rawhide. So we will need a build for it.

Ok, makes sense.

> > If you do a F29 rebuild for the infra repo, you'll want to make sure to
> > pass --with zchunk to rpmbuild, as it defaults to off for anything F29
> > and below.
> 
> Well, we cannot do that with a koji build, but I guess we could just
> change the source.

It's just a conditional in the spec that's currently set to off for <=
F29, so easy enough to change.

> Anyhow, perhaps we just target rawhide for now...

That works for me.  Thanks so much!  If there's anything else I can do
to help with this, please let me know.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: Enabling zchunk metadata generation in F30

2018-12-14 Thread Jonathan Dieter
On Fri, 2018-12-14 at 11:20 -0500, Randy Barlow wrote:
> On Thu, 2018-12-13 at 22:56 +0000, Jonathan Dieter wrote:
> > The call to createrepo_c or mergerepo_c
> > (whichever is run last to generate the final metadata) would need to
> > be
> > run with the new zchunk arguments:
> > 
> > --zck --zck-dict-dir=/usr/share/fedora-repo-zdicts/f30
> 
> Hey Jonathan!
> 
> Bodhi uses createrepo_c both through pungi (to create the bulk of the
> repository) and through the createrepo_c Python bindings (to generate
> the updateinfo.xml file). Is there a way to ask the Python bindings to
> do this? The Fedora 29 updateinfo.xml file looks like it's only about 1

Hey Randy, at the moment the --zck option *only* applies to
primary.xml, filelists.xml and other.xml.  It should be pretty
straightforward to add it to the others, but I wanted to get those
three working first.

As for python bindings, they can read zchunk metadata just fine, but I
don't think I hooked up creating the metadata.  Where exactly does it
generate updateinfo in bodhi?  I'd like to see how the function is used
so I can implement it.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: Enabling zchunk metadata generation in F30

2018-12-14 Thread Jonathan Dieter
On Thu, 2018-12-13 at 16:42 -0800, Kevin Fenzi wrote:
> On 12/13/18 3:34 PM, Jonathan Dieter wrote:
> > On Thu, 2018-12-13 at 15:12 -0800, Kevin Fenzi wrote:
> > > pungi calls createrepo_c for us (in both rawhide/branched and updates)
> > > so we need a pungi patch (probibly with a config option?) to enable
> > > this. If it's added as a optional thing we would need to add that
> > > setting to our pungi-fedora config and set it to on.
> > > 
> > > Can you file a pungi issue on that?
> > 
> > I've just checked the pungi issues, and it looks like Lubomír took care
> > of this at Flock last summer by adding an arbitrary createrepo_c
> > commands option: createrepo_extra_args
> > 
> > I've done a PR for the pungi-fedora config here, but it's untested and
> > I'm not sure if I did the variable substitution correctly.
> > 
> > https://pagure.io/pungi-fedora/pull-request/678
> 
> Cool.
> 
> I see the new createrepo_c only has a rawhide build... any chance for a
> f29 update? Or should we look at building a newer in our infra repo?

I suspect that the maintainers would like to see this feature tested
more before pushing it to F29, but I can ask them, if you'd like.

If you do a F29 rebuild for the infra repo, you'll want to make sure to
pass --with zchunk to rpmbuild, as it defaults to off for anything F29
and below.

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: Orphaning pykka

2018-12-13 Thread Jonathan Dieter
On Wed, 2018-12-12 at 06:10 +, Raphael Groner wrote:
> > I've just orphaned pykka (
> > https://admin.fedoraproject.org/pkgdb/package
> > /rpms/pykka/) as I'm no longer using it.
> 
> Hi Jonathan,
> what do you use instead?
> Regards, Raphael

MPD with local music.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Enabling zchunk metadata generation in F30

2018-12-13 Thread Jonathan Dieter
On Thu, 2018-12-13 at 15:12 -0800, Kevin Fenzi wrote:
> pungi calls createrepo_c for us (in both rawhide/branched and updates)
> so we need a pungi patch (probibly with a config option?) to enable
> this. If it's added as a optional thing we would need to add that
> setting to our pungi-fedora config and set it to on.
> 
> Can you file a pungi issue on that?

I've just checked the pungi issues, and it looks like Lubomír took care
of this at Flock last summer by adding an arbitrary createrepo_c
commands option: createrepo_extra_args

I've done a PR for the pungi-fedora config here, but it's untested and
I'm not sure if I did the variable substitution correctly.

https://pagure.io/pungi-fedora/pull-request/678

Jonathan


signature.asc
Description: This is a digitally signed message part
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Enabling zchunk metadata generation in F30

2018-12-13 Thread Jonathan Dieter
Createrepo_c in F30 has finally grown zchunk support and I've packaged
up some zdicts that we can use for F30/rawhide, so I'd love to see us
start building zchunk metadata for F30.

To enable zchunk metadata generation, whichever systems are running
createrepo_c/mergerepo_c for Rawhide would need createrepo_c-0.12 and
fedora-repo-zdicts installed.  The call to createrepo_c or mergerepo_c
(whichever is run last to generate the final metadata) would need to be
run with the new zchunk arguments:

--zck --zck-dict-dir=/usr/share/fedora-repo-zdicts/f30

Mergerepo doesn't require zchunk metadata in the source repositories to
be able to generate zchunk metadata for the merged repository.

I'm not sure who to ask to turn these flags on, so if there's an
individual I need to ping, please point me in the right direction.

A huge thank you to Daniel Mach for reviewing and merging the
createrepo_c zchunk pull request, Jaroslav Mracek for building
createrepo_c with zchunk, Robert-André Mauchin for reviewing fedora-
repo-zdicts and Neal Gompa for keeping things moving forward with the
PR reviews.

Thanks,
Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Best path for Fedora zchunk dictionaries

2018-12-08 Thread Jonathan Dieter
I'm currently in the process of packaging up fedora-repo-zdicts[1], a
package which will contain the zchunk dictionaries for all active
Fedora releases.

When running createrepo_c or mergerepo_c with zchunk support, the
directory containing the zdicts is passed in and createrepo_c will
choose the right zdict for each metadata file.  The form of that
directory is /usr/share/fedora-repo-dicts/ where  is
the release that the metadata is being generated for.

My question is what  should actually look like.  This is very
Fedora specific, so I want to choose whatever the easiest variable is
for infra to pass to createrepo_c or mergerepo_c.

Currently  is set to PLATFORM_ID in /etc/os-release (so,
platform:fedora-30 for Rawhide), but that's probably overly generic.

What would be a better pattern for ?  fedora-30? f30? Just 30?

Jonathan
___
infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-12-05 Thread Jonathan Dieter
On Mon, 2018-12-03 at 22:16 +0100, Jan Pokorný wrote:
> On 16/11/18 22:07 +0000, Jonathan Dieter wrote:
> > The core idea behind zchunk is that a file is split into independently
> > compressed chunks and the checksum of each compressed chunk is stored
> > in the zchunk header.  When downloading a new version of the file, you
> > download the zchunk header first, check which chunks you already have,
> > and then download the rest.
> 
> Just one more thought I reliazed in hindsight, there are ways to cut down
> the installed files in RPM ecosystem, currently with a request to omit
> documentation (%doc tagged files, see --nodocs/--excludedocs).
> 
> Indeed, that's a sort of files you can usually omit without hesitation
> in containers/VMs.  Perhaps there are some more bits that are de facto
> optional without losing anything from the functionality.
> 
> So with clever separation, such bits wouldn't even need to be downloaded
> when they will not eventually make it to the disk.  That might make
> things like customizing a base container image tiny bit more swift,
> e.g. in CI/CD context without many connectivity guarantees (up to
> mirrors anyway).  But might not be worth it if the trade-off
> is already predictably suboptimal in other aspects.

I think this is very interesting and definitely feasible (assuming the
core concept of zchunked rpms is reasonable).

On a tangent, I realized something else about metadata generation (and
I think someone else had picked up on it, but it hadn't quite
registered with me).  Currently generating metadata for RPMs involves
reading the full RPM to calculate the checksum.  With zchunk, the
header checksum is stored at the beginning of the file and is all you
need to verify a zchunk file. 

Jonathan


signature.asc
Description: This is a digitally signed message part
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-22 Thread Jonathan Dieter
On Thu, 2018-11-22 at 11:31 -0500, Josh Boyer wrote:
> I'm concerned that this will effectively render EL RPM unable to
> handle any Fedora RPMs at all.  That's both a practical concern, as
> many people develop Fedora using EL and vice versa, and also a broader
> ecosystem concern.  I would very much like for all of our
> distributions to be able to more easily operate together, and this
> effectively forks Fedora off into it's own space yet again.

For what very little it's worth, a zchunked rpm is still a valid zchunk
file, and you would be able to easily extract the payload and the
header from a zchunked rpm on an EL system.  In fact, because we're not
planning to change the rpm header format at all, there could easily be
a tool to convert a zchunked rpm into an xz or gzipped rpm (and vice
versa).  Having said that, there's a huge difference between this and
having EL's RPM actually be able to read Fedora's RPMs.

> Have we really looked at the wider scope of what a format change like
> this would do in the context of some of the larger picture things
> we're working on with lifecycle and cross-distro collaboration
> efforts?  I agree this would be better than delta RPMs when looking at
> that *specific* usecase, but improving that (even with compose time
> benefits) by doing a format change seems to be inflicting a very high
> cost for what is an important but relatively small usecase.

This is a really good point and I don't know know the answer.  As per
Neal's suggestion earlier in the thread, I posted this to the rpm-
ecosystem mailing list.  Michael from SUSE brought up some very valid
concerns about how well zchunk would compare with deltarpm in delta
efficiency, but apart from that, it's been pretty quiet there.

If it's already obvious that the cost for this proposal isn't worth the
gain, I do completely understand.  If we're not sure, I'll do a proof-
of-concept that converts standard rpms into zchunked rpms, so we can
compare sizes and deltas, and hopefully get some data points on speed.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-21 Thread Jonathan Dieter
On Wed, 2018-11-21 at 14:36 +0100, Kamil Paral wrote:
> On Fri, Nov 16, 2018 at 11:13 PM Jonathan Dieter  wrote:
> > For reference, this is in reply to Paul's email about lifecycle
> > objectives, specifically focusing on problem statement #1[1].
> > 
> > 
> > Have rpm use zchunk as its compression format, removing the need for
> > deltarpms, and thus reducing compose time.  This will require changes
> > to both the rpm format and new features in the zchunk format.
> > 
> 
> Hey Jonathan,
> 
> thanks for working on this. The proposed changes sound good to me.
> I'm a bit worried that zchunk is not yet a proven format, so it might
> be a good idea to use it for metadata first, see whether it works as
> expected, and then push it for RPM files. But that's for more
> technical people to judge.
> 
> I have some concrete questions, though:
> 1. I have noticed that especially with large RPMs (firefox, chrome,
> atom, game data like 0ad-data, etc), my PCs are mostly bottlenecked
> by CPU when installing them. And that's with a modern 3.5+GHz CPU.
> That's because RPM decompression runs in a single thread only, and xz
> is just unbelievably slow. I wonder, would zchunk used as an RPM
> compression algorithm improve this substantially? Can it decompress
> in multiple threads and/or does it have much faster decompression
> speeds (and how much)? I don't care about RPM size increase, but I'd
> really like to have them installed fast. (That's of course just my
> personal preference, but this also affects the speed of mock builds
> and such, so I think it's relevant.)

The zstd compression that zchunk uses internally is designed to be
faster than even gzip at decompression.  Currently zchunk is single-
threaded, but, given that each chunk is independent, making it multi-
threaded should be pretty trivial, and is on the todo list.

> 2. In our past QA efforts in Fedora, we had use cases for retrieving
> rpm header data without retrieving the actual content (the payload).
> That was for cases when we needed to check e.g. dependency issues,
> but the rpms were not placed in a repository yet (i.e. no easy access
> to their metadata) and it was slow and wasteful to download the whole
> rpm just to get the header. Will the new zchunk compression still
> make it possible to retrieve just the header without accessing all
> the payload data? (It would be great to make this accessible from
> Python and not just C, but that's a plea I should direct to rpm
> maintainers, I guess).

The zchunk format supports the concept of multiple independent streams
in a single file.  A zchunk rpm would contain two streams, the rpm
header and the rpm payload.  Since downloading a zchunk file is two
steps already (downloading the zchunk header, and then downloading the
required chunks), it should be easy enough to download only the chunks
needed for the rpm header stream.

As for a python API, I would love for zchunk to have that too, but
haven't had the time yet.

I hope that helps.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-21 Thread Jonathan Dieter
On Wed, 2018-11-21 at 11:31 -0500, Colin Walters wrote:
> After having introduced a new format (OSTree) into the ecosystem here,
> as well as working a lot on the Docker/OCI ecosystem, one thing I want
> to emphasize is:
> 
> A lot of Red Hat's customers don't connect their systems to the Internet,
> they want easy offline mirroring.  OSTree supports that, and it's
> also possible to do with OCI images of course.
> 
> But, a lot organizations use e.g. https://jfrog.com/artifactory/
> which today doesn't support OSTree (it does support RPM and Docker/OCI).
> So any format break for RPM wouldn't be usable until Artifactory gains
> support for it.  And even after that happened you'd have in some
> places a large lag time for it to be deployed.
> 
> In general, any data format break is going to impose a lot higher
> costs than you might imagine.

Thanks for bringing up these points.  You are undoubtedly correct that
there's an unknown cost associated with these changes, but hopefully
the cost will become a little clearer once we have a POC.

> (Also on this topic, I should note that the OSTree data format cleanly
>  fixes a lot of the issues being discussed here; it has deltas, and also
>  doesn't make the mistake of checksumming compressed data,
>  when performing updates only changed files are rewritten, not to mention
>  a whole transactional update system, etc.)

Yep.  I've experimented with OSTree and love the concepts behind it.  I
don't think we're quite ready to ditch the classic rpm systems yet,
though.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-20 Thread Jonathan Dieter
On Tue, 2018-11-20 at 12:45 +, Michael Schroeder wrote:
> On Mon, Nov 19, 2018 at 08:30:14PM +0000, Jonathan Dieter wrote:
> > Just to be clear on this, unlike deltarpm, zchunked rpms shouldn't
> > require extra CPU usage on the client side as they don't go through the
> > decompress-recompress cycle that deltarpms do.  Re-assembling a zchunk
> > file requires no compression or decompression.
> 
> Btw, we can easily do that for deltarpms as well. We only recompress
> because we want a rpm that is bit-identical to the remote one.
> 
> Having a '-u' option that makes applydeltarpm write a rpm with an
> uncompressed payload and no payload signatures is just a couple of
> lines of code.

But the problem is that you would lose the signatures.  To make this
work, we would need to create signatures of both the compressed and
uncompressed rpm (which wouldn't be a bad idea).  Is there some way we
could (ab)use the current rpm format to make this work, or would it be
a backwards-incompatible change?

Jonathan

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-20 Thread Jonathan Dieter
Hey, thanks for the detailed analysis.  Comments inline.

On Tue, 2018-11-20 at 00:47 +0100, s...@gmx.com wrote:
> Based on work I've done in this area, I'm somewhat sceptical that this
> will work out well.  I spent a decent amount of time comparing various
> approaches to data saving for both compressed data and regular binaries.
> This was done a few months ago, so a few of the algos may have changed a
> little since then, but I doubt the changes will be huge.

Do you have some examples of the data you tested?
> 
> The various things I tested were, in no particular order:
>  * xdelta3 (and a few similar VCDIFF based algos)
>  * zstd 
>  * zchunk
>  * bsdiff
>  * courgette
>  * zucchini
> And a few others which aren't interesting enough to mention here.
> 
> xdelta3 is old now, but was the standard binary delta compression tool
> for a long time.  Of the better performing algos it has reasonably good 
> generation time, and works reasonably well on compressed data (still a 
> good way behind the top of the pile), but falls far behind on binaries. 
> 
> zstd was generally disappointing for both compressed and binary data.  It's
> really a compression format, not a delta generator, and while it performed 
> very well compared to traditional compression formats, it was unable to
> compete with other tools here.
> 
> zchunk had basically the same problems as zstd,  except that the chunking
> overhead made files even larger, and small symbol changes could mean that
> a very large number of chunks needed to be transmitted.
> 
> bsdiff is a larve improvement over xdelta3 in terms of final size for
> binary data.  It is considerably more expensive in terms of memory and cpu
> to compute, but is fast to apply[0]. It works much less well on compressed
> data, and really needs to work on a binary to be at its best.
> 
> courgette is excellent at reducing binary size, and still very good at
> compressed data.  By data size alone it's the best of all of these, but is
> somewhat complex and expensive, particularly in terms of memory.  An
> over view of how it works is [1]
> 
> zucchini is an experimental delta generation tool for chromium.  I can't
> see much that's been published externally about it, but I found it to 
> compress almost as well as courgette but with greatly reduced memory use.
> Code is very much a moving target, but is located at [2].

These seem to be a bit apples-to-oranges.  xdelta3, bsdiff, courgette
and zucchini are designed to generate deltas between two specific
files.  zstd is just a compression format, while zchunk is designed to
download the smallest difference between two arbitrary files.

You are absolutely right about the cost of small symbol changes, one of
the reasons that courgette does some amount of disassembly and that
bsdiff uses what it calls an "add block".  Because of zchunk's design,
there's no way it can benefit unless we implement some kind of
disassembly, and I'm leery of going down that road.

> Overall in my tests zstd/schunk gave massively worse compression compared
> to modern delta algorithms (courgette, zucchini), and the total time to
> download, apply, install was always slowest for zstd based approaches.

I'd love to see your test methodology.  I'm not surprised about the
difference in delta size (which really isn't the same as compression),
but I am a bit surprised by the speed differences you saw, assuming
your data was compressed.

If your data wasn't, do remember that rpms are compressed, so if you're
creating a new delta method, it will have to decompress both the old
and new rpms before generating the delta (as deltarpm does).

zchunk is able to get around this extra step because it is the
compression format.

> So, then, the only time this would work is if the changed-chunk detection
> feature of zchunk actually works effectively for RPMs.  Unfortunately,
> when binaries change (and when RPMs as a whole change) it's not unusual
> for this to manifest as adding/removing significant chunks of data from
> near the beginning of the file, which means that the chunk matching fails
> and you end up with a huge and slow download.

Thats... not how the chunk matching works.  The chunking function uses
the buzhash algorithm to try to break on consistent patterns, no matter
where data is added or removed.  If you remove x bytes from the
beginning of the file and then add y bytes, at most one or two chunks
should be affected.

> If you care only about making the 50th %ile case better, then zchunk is
> probably at least not any worse than what we have now.  However this
> will, I believe, come at the cost of making the 95th %ile case pretty
> unpleasant for end users.
> 
> I think it'd be far better to explore Howard's proposal, for per-file
> delta generation (as opposed to per-RPM), and use modern delta
> generation (probably courgette) to compute the delta.

Maybe I misunderstood Howard's proposal, but I understood him to be
suggesting that rebuilding a full rpm 

Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-19 Thread Jonathan Dieter
On Mon, 2018-11-19 at 16:29 -0500, Simo Sorce wrote:
> On Mon, 2018-11-19 at 21:02 +0000, Jonathan Dieter wrote:
> > On Mon, 2018-11-19 at 15:18 -0500, Simo Sorce wrote:

> > > I do not think you can just trust random metadata somewhere, one of the
> > > points of a rpm reinstall is to fix damaged files for example. It does
> > > no good if you skip those because some file somewhere says they are
> > > "OK". (If I understood your comment about "just downloading changed
> > > chunks).
> > 
> > Yes, this is the crux of the problem.  As I see it, dnf should verify
> > the checksums on the local files before downloading the missing chunks,
> > but that doesn't guarantee that the data won't be changed between the
> > download step and the install step.  RPM would also need to verify the
> > checksums before starting the install phase, and would need to bail out
> > if the checksums had changed.
> > 
> > My biggest concern, though, is what happens if package A needs a
> > specific chunk in /usr/bin/foo and package B changes /usr/bin/foo while
> > being installed.  The chunk was there when the install phase started,
> > but disappeared before package A was actually installed.
> 
> Is this different in a normal install ?
> What if package A installs /usr/bin/foo and then package B overwrites
> it ?
> 
> Or are you concerned about the case where there may be an identical
> chunk in different files ? Are chunks "global" to the host ?

This.  If we stored the checksums in the rpm database, then, yes they
would be global to the host.

> This problem could be addressed by copying all uncompressed chunks in a
> staging area before installing the rpm, failing in a clean way (ie not
> half way through a package install). The penalty is the need for enough
> space to copy the uncompressed files though. more clever things could
> be done with proper filesystem support and snapshotting and copy-on-
> write, but not sure it is worth optimizing for what is normally a
> relatively small scratch area (if you do it one package at a time
> only).

What about just copying any uncompressed chunks required for the
current package or any packages still in the install queue?  That might
reduce the scratch area even further.

> > > 2) what are the chunks sizes ?
> > 
> > The chunk sizes vary because you don't want inserting or removing a few
> > bytes to completely change all the following chunks.  The current
> > default average size is 32KB, but that can be adjusted.
> 
> Is this a compromise between compression performance and granularity ?
> Anything else went into the decision to settle around 32k ?
> Some filesystems seem to gravitate around 64k extents so I am
> wondering.

Yes, this is just a compromise.  The larger the chunk size, the larger
the delta you need to download, but the better the compression.  We
could experiment with this to see if 64k would give us significantly
better compression.

I would also chunk on file borders in the rpm payload, so we don't end
up having a chunk span multiple files.  That would get messy fast when
trying to rebuild from local files.

> > > Finally what signature scheme where you planning to use ? And how do
> > > you deal with the data you want to "exclude" from signing, omit it or
> > > feed in blank "sectors" ?
> > 
> > I was planning to use GPG signatures, and was planning to just omit the
> > data I want excluded.  Having said that, while the format supports
> > signatures, the code hasn't been written and if either of those answers
> > are bad/dangerous, we can change that.
> 
> We use GPG signatures right now, can't be any more dangerous than that
> :-)
> 
> The omission vs blanking has no ill effect, but was not explicitly
> mentioned, it should. Esp around places where the missing data is in
> the middle of a "structure" in your diagrams, or it may be ambiguous
> and lead to incompatible implementations if someone is ever going to
> build another (and if zchunk is going to be adopted in rpm I bet there
> will be some other implementation to do some crazy thing :-)

Yep.  Let me clarify that in the format definition (and add the new
checksum types, I noticed they're missing).

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-19 Thread Jonathan Dieter
On Mon, 2018-11-19 at 22:18 +0100, Nicolas Mailhot wrote:
> Le lundi 19 novembre 2018 à 20:30 +0000, Jonathan Dieter a écrit :
> > The zchunk advantage over deltarpms is much less CPU usage, while its
> > disadvantages are slightly larger network usage and increased disk
> > usage.
> 
> Unfortunately, that's a bad compromise for most limited clients. A
> limited client can trade time for CPU or network performance, swap for
> memory. What it can absolutely not make more of is storage, both install
> and staging storage. Install storage requirements do not depend on rpm
> tech level, but will generally go up over a system lifetime, adding
> pressure on staging storage.
> 
> So you absolutely need to keep staging storage on par or less than
> existing rpm/dnf if you do not want to obsolete classes of Fedora
> hardware.
> 
> And Google released a huge quantity of cheap storage-deficient hardware
> with its chromebooks. People do install Fedora on those.

The only way we can keep staging storage down (and it would actually be
less than deltarpm/normal rpm) is to use the local chunks at install
time rather than download time.  This comes with its own risks though,
see the other emails in this thread, specifically the ones following
Jan Pokorný's message.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-19 Thread Jonathan Dieter
On Mon, 2018-11-19 at 21:14 +, Tom Hughes wrote:
> On 19/11/2018 20:30, Jonathan Dieter wrote:
> 
> > On the client:
> > The zchunk advantage over regular rpm is decreased network usage, while
> > its disadvantage is increased disk usage (since the local chunks will
> > be uncompressed).
> > 
> > The zchunk advantage over deltarpms is much less CPU usage, while its
> > disadvantages are slightly larger network usage and increased disk
> > usage.
> > 
> > Note that for most users the increased disk usage is temporary, since
> > rpms are deleted after install.
> 
> If they're deleted after install then surely next time there is an
> update there won't be any local chunks and everything will have to
> be downloaded?
> 
> That's what has been confusing me about this whole thing - as I
> understand it the idea is to only download new chunks and to reuse
> chunks that are unchanged from earlier revisions, but it seems
> that doing that would require keeping a local copy of every
> installed rpm which would be a big change that nobody seems to
> have mentioned.

The idea is to use the locally installed files as the local chunks, the
same way that deltarpm does.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-19 Thread Jonathan Dieter
On Mon, 2018-11-19 at 15:18 -0500, Simo Sorce wrote:
> On Mon, 2018-11-19 at 19:58 +0000, Jonathan Dieter wrote:

> > That's an interesting thought.  I was picturing using the zchunk
> > library in the dnf download stage to build a local rpm from the
> > verified locally installed files and the downloaded changed chunks,
> > but, if I understand your suggestions correctly, you're saying we
> > could
> > just download the changed chunks and have RPM automatically get the
> > rpm-integrity verified chunks during the *install* stage.
> 
> How do you know which chunks to download w/o having a stored (or
> recomputed) list of existing chunks ?

I thought we should store the chunk checksums of installed files in the
rpm database.  Something like file, offset, length, checksum type,
checksum?

> > The advantage of this method is that you don't need to store the local
> > data twice, but the danger is that the local files get changed
> > elsewhere during the install process.
> > 
> > It's an interesting thought, though, and I wonder if there's a way we
> > could work around that danger?
> 
> I do not think you can just trust random metadata somewhere, one of the
> points of a rpm reinstall is to fix damaged files for example. It does
> no good if you skip those because some file somewhere says they are
> "OK". (If I understood your comment about "just downloading changed
> chunks).

Yes, this is the crux of the problem.  As I see it, dnf should verify
the checksums on the local files before downloading the missing chunks,
but that doesn't guarantee that the data won't be changed between the
download step and the install step.  RPM would also need to verify the
checksums before starting the install phase, and would need to bail out
if the checksums had changed.

My biggest concern, though, is what happens if package A needs a
specific chunk in /usr/bin/foo and package B changes /usr/bin/foo while
being installed.  The chunk was there when the install phase started,
but disappeared before package A was actually installed.

> A couple more questions.
> I skimmed quickly at the format and I have two questions I did not
> immediately see an answer for.
> 1) why are you still supporting SHA-1 in a new format ?

Zchunk cares about two types of checksums, the chunk checksums, used to
determine if two chunks are the same, and the full data checksum (which
currently defaults to SHA-25), used to actually validate the data.

Originally, SHA-1 was supposed to be used *only* for the chunk
checksums, but, somewhere along the way, it was pointed out that using
the first 128 bits of a SHA-512 hash would be faster and more secure,
so the default for the chunk checksums is now SHA-512/128.

The only reason SHA-1 support is still in zchunk is because I don't
want to break backwards compatibility for the (probably five) zchunk
files created before this change.

Having said that, zchunked rpms won't be able to depend on the full
data checksum (because the local chunks will be uncompressed), so we'd
need to use SHA-256 at minimum for the chunk checksums.

> 2) what are the chunks sizes ?

The chunk sizes vary because you don't want inserting or removing a few
bytes to completely change all the following chunks.  The current
default average size is 32KB, but that can be adjusted.

> Sorry if this is already answered somewhere.
> 
> Finally what signature scheme where you planning to use ? And how do
> you deal with the data you want to "exclude" from signing, omit it or
> feed in blank "sectors" ?

I was planning to use GPG signatures, and was planning to just omit the
data I want excluded.  Having said that, while the format supports
signatures, the code hasn't been written and if either of those answers
are bad/dangerous, we can change that.

> Thanks for any answer.
> Simo.

Thank you for looking at this!

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-19 Thread Jonathan Dieter
On Sun, 2018-11-18 at 13:19 -0500, Stephen John Smoogen wrote:
> On Sun, 18 Nov 2018 at 12:49, Neal Gompa  wrote:
> > On Sun, Nov 18, 2018 at 11:54 AM Jonathan Dieter  > > wrote:
> > > On Sat, 2018-11-17 at 22:30 +0100, Kevin Kofler wrote:
> > > > Jonathan Dieter wrote:
> > > > > My proposal would be to make zchunk the rpm compression
> > > > > format for
> > > > > Fedora.
> > > > 
> > > > Given that:
> > > > 1. zchunk is based on zstd, which is typically less efficient
> > > > in terms of
> > > >compression ratio than xz, depending on settings
> > > >(see, e.g., https://github.com/inikep/lzbench), and
> > > > 2. zchunk can by design only compress chunks individually and
> > > > not benefit
> > > >from the space savings of a solid archive with a global
> > > > dictionary,
> > > > I fear that this is going to significantly increase the size of
> > > > the RPMs,
> > > > which matters:
> > > > * for the initial downloads,
> > > > * for storage (e.g., keepcache=1, local mirrors, etc.), and
> > > > * for the people not using deltas for whatever reason.
> > > > 
> > > > I think zchunk makes a lot of sense for the metadata, but I am
> > > > not convinced
> > > > that it is the right choice for the RPMs themselves.
> > > 
> > > I suspect the first is true, but zchunk does actually allow for a
> > > global (per-file) dictionary that can be used to compress each
> > > chunk.
> > > The difficulty is that the dictionary has to stay the same
> > > between file
> > > versions, or the chunk checksums won't match.  There would have
> > > to be
> > > some thought put into how to generate and store the dictionaries.
> > > 
> > > As for how much bigger a zchunked rpm will be compared to an xz
> > > rpm, at
> > > the moment it's a bit hand-wavy.  Based on zchunked repodata work
> > > I've
> > > done, I think we might be looking at a size that's slightly
> > > smaller
> > > than a gzipped rpm.  I won't know for sure until I put together a
> > > proof-of-concept, but I want to make sure that there aren't any
> > > gaping
> > > holes in the proposal before I do that.
> > > 
> > 
> > I did some work several months ago to evaluate zstd compression for
> > RPMs for Fedora, because of the lower memory and CPU usage for
> > (de)compression. However, the average size increase from xz was
> > pretty
> > large (~20% or more on average, and nothing ever was either the
> > same
> > or smaller), even with heavier compression settings. That might
> > have
> > changed a bit with newer zstd releases that offer some more
> > tunables,
> > but I think it'll remain a tough sell on disk space.
> 
> So there are at least 4 legs here:
> CPU usage (in both uncompression install and deltarpm)
> Memory usage per transaction
> Network amount
> Disk amount
> 
> I expect that the best we are going to get in any 'improvement' is
> going to be 3 out of the 4. The xz compression and delta-rpm has a
> cpu/memory tradeoff for disk and network in comparison to gzip but it
> is mostly acceptable if you have fairly modern desktops. However for
> older hardware or lower power systems that tradeoff may not be good.

Just to be clear on this, unlike deltarpm, zchunked rpms shouldn't
require extra CPU usage on the client side as they don't go through the
decompress-recompress cycle that deltarpms do.  Re-assembling a zchunk
file requires no compression or decompression.

On the client:
The zchunk advantage over regular rpm is decreased network usage, while
its disadvantage is increased disk usage (since the local chunks will
be uncompressed).

The zchunk advantage over deltarpms is much less CPU usage, while its
disadvantages are slightly larger network usage and increased disk
usage.

Note that for most users the increased disk usage is temporary, since
rpms are deleted after install.

In our infrastructure:
The zchunk advantage over deltarpms is that they are created in the
build stage and shouldn't take any longer than building a normal rpm,
while deltarpms take quite a while to build.

The disadvantage is that our current rpms use xz compression which is
more efficient at compressing a whole file than zchunk is, so zchunked
rpms will require more disk space.

Hope that helps clarify things.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-19 Thread Jonathan Dieter
On Mon, 2018-11-19 at 20:16 +0100, Jan Pokorný wrote:
> On 19/11/18 13:13 +0100, Nicolas Mailhot wrote:
> > Le 2018-11-19 12:28, Martin Kolman a écrit :
> > 
> > > Many people might think RAM would not be an issue in 2018, but in
> > > practice there are
> > > and likely always will be memory constrained installation targets,
> > > such as massive deployments
> > > of "small" VMs or the IoT use cases mentioned above.
> > 
> > Sure, that’s the artificial small vm case
> > 
> > The average old/limited hardware is limited in memory, cpu and storage.
> > Therefore if you have one factor to sacrifice it's cpu time because you can
> > always let the CPU run a little longer, but a limited system won't magically
> > grow more memory or more storage.
> > 
> > Storage would not be such a problem is dnf was smart enough to auto
> > partition big upgrades in lots of small partial upgrades, before downloading
> > gigs of data that do not fit on disk.
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1609824
> 
> Also, not familiar with zchunk way of doing things, but couldn't
> rpm-integrity-verified installed files be mapped back to "chunks"
> to further aleviate space concerns for the machine receiving
> updates in some cases?

That's an interesting thought.  I was picturing using the zchunk
library in the dnf download stage to build a local rpm from the
verified locally installed files and the downloaded changed chunks,
but, if I understand your suggestions correctly, you're saying we could
just download the changed chunks and have RPM automatically get the
rpm-integrity verified chunks during the *install* stage.

The advantage of this method is that you don't need to store the local
data twice, but the danger is that the local files get changed
elsewhere during the install process.

It's an interesting thought, though, and I wonder if there's a way we
could work around that danger?

Jonathan


signature.asc
Description: This is a digitally signed message part
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-19 Thread Jonathan Dieter
On Sun, 2018-11-18 at 07:02 +, Leigh Scott wrote:
> +1 to anything to rid me of deltarpms, I currently have to disable
> this lame default.

The irony is that getting deltarpms into Fedora was largely my
fault.  ;)  Sorry, Leigh.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-19 Thread Jonathan Dieter
On Mon, 2018-11-19 at 14:57 +0100, Miroslav Suchý wrote:
> Dne 16. 11. 18 v 23:07 Jonathan Dieter napsal(a):
> >1. Downloading a new release of a zchunked rpm would be larger than
> >   downloading the equivalent deltarpm.  This is offset by the fact
> >   that the client is able to work out which chunks it needs no matter
> >   what the original rpm is, rather than needing a specific original
> >   rpm as deltarpm does.
> 
> Does this means bigger requirements for copies of RPMs too? I mean
> for all our repos mirros, for RH Satellites, Spacewalk, Koji, Copr,
> Retrace...

Yes, and that should actually be item 3 in drawbacks.  Zchunked rpms
will be larger than the current xz-compressed rpms, but the actual size
increase is still unknown.  I think we can shoot for roughly the same
size as a gzip-compressed rpm, but I'm not sure.

Mirror storage *might* actually go down, since we no longer need to
store deltarpms, but anything that only stores rpms will definitely
require more space.

Jonathan

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-18 Thread Jonathan Dieter
On Sat, 2018-11-17 at 22:30 +0100, Kevin Kofler wrote:
> Jonathan Dieter wrote:
> > My proposal would be to make zchunk the rpm compression format for
> > Fedora.
> 
> Given that:
> 1. zchunk is based on zstd, which is typically less efficient in terms of
>compression ratio than xz, depending on settings
>(see, e.g., https://github.com/inikep/lzbench), and
> 2. zchunk can by design only compress chunks individually and not benefit
>from the space savings of a solid archive with a global dictionary,
> I fear that this is going to significantly increase the size of the RPMs, 
> which matters:
> * for the initial downloads,
> * for storage (e.g., keepcache=1, local mirrors, etc.), and
> * for the people not using deltas for whatever reason.
> 
> I think zchunk makes a lot of sense for the metadata, but I am not convinced 
> that it is the right choice for the RPMs themselves.

I suspect the first is true, but zchunk does actually allow for a
global (per-file) dictionary that can be used to compress each chunk. 
The difficulty is that the dictionary has to stay the same between file
versions, or the chunk checksums won't match.  There would have to be
some thought put into how to generate and store the dictionaries.

As for how much bigger a zchunked rpm will be compared to an xz rpm, at
the moment it's a bit hand-wavy.  Based on zchunked repodata work I've
done, I think we might be looking at a size that's slightly smaller
than a gzipped rpm.  I won't know for sure until I put together a
proof-of-concept, but I want to make sure that there aren't any gaping
holes in the proposal before I do that.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-17 Thread Jonathan Dieter
On Sat, 2018-11-17 at 14:43 -0600, Chris Adams wrote:
> Once upon a time, Jonathan Dieter  said:
> > The benefit of zchunked rpms is that, when downloading an updated rpm,
> > you would only need to download the chunks that have changed from
> > what's on your system.
> 
> How well do web servers and caches handle range requests?  I haven't
> really paid attention to range requests in a long time; at one point
> IIRC mirrors would often disable them because of "download accelerators"
> that would open multiple connections to download parts of the same ISO
> in parallel (hogging server resources).

When I did the original POC testing, out of Fedora's 150 mirrors, 3
didn't support range requests at all and 3 supported a limited number
of ranges in a single http request.

Zchunk doesn't open extra connections to the server, but instead
combines as many ranges as the server supports into a single request. 
Currently, if a server doesn't support ranges, zchunk will just
download the full file, but this could be changed to try a different
server.

Jonathan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-17 Thread Jonathan Dieter
On Sat, 2018-11-17 at 14:36 -0500, Neal Gompa wrote:
> On Sat, Nov 17, 2018 at 1:15 PM Jonathan Dieter  wrote:
> > Neal, thanks so much for your thoughts on this.  Responses inline:
> > 
> > On Sat, 2018-11-17 at 09:53 -0500, Neal Gompa wrote:
> > 
> > > If we're really considering changing the RPM file format, then we need
> > > a proper discussion on rpm-maint@ and rpm-ecosystem@ mailing lists on
> > > rpm.org. Can you please start a targeted discussion there?
> > 
> > Sure.
> > 
> > > But addressing the specific concrete suggestion here, there's a few
> > > concerns I have:
> > > 
> > > 1. This is a huge format break, which means that for the first time in
> > > a _very_ long time, it would not be possible to reuse RHEL for Fedora
> > > infrastructure _at all_. That's going to be a difficult problem.
> > > There's a large legacy of systems that won't be able to handle that
> > > new format, and unfortunately, rpm is not parallel installable in the
> > > same manner as something like GCC or Python currently. Making it
> > > parallel installable *is* possible (I've done it, and there have been
> > > other attempts before), but it's not a supported thing. This is
> > > probably the thing that would trigger a major version bump for RPM,
> > > since it's a new archive format.
> > 
> > Agreed, that this would be a massive format change and should therefore
> > be a major version bump for RPM.  New versions of RPM should still be
> > able to read and install old-format rpms, but, as you point out, old
> > versions of RPM won't be able to read or install new-format rpms.
> > Unfortunately, I don't see any way around this.
> > 
> 
> I don't think there's a way around it either. I just hope we do better
> than the last time someone tried to do this...

+1

> > > 2. This also means the _entire_ ecosystem of RPM archive parsers will
> > > break. This is not particularly insurmountable, actually, as the RPM
> > > file format was not particularly well documented, and a new format is
> > > an opportunity to revisit some of those old issues and try to do a
> > > better job this go around. But it's still a challenge to deal with.
> > 
> > Yes, this is going to be quite a bit of work.
> > 
> > > 3. When you refer to the rpm cpio, I assume you're referring to only
> > > the archive payload, right? Typically the payload is what is
> > > compressed, and the headers are not. It sounds like you're proposing
> > > both aspects to be compressed, and compressed differently. If we made
> > > the RPM header an uncompressed zchunk stream and the RPM payload a
> > > zstd-compressed zchunk stream, would we be able to support fetching
> > > header deltas for retrieving extra information on the fly? Say, for
> > > example, attributes like arch color, filecap properties, and so on,
> > > that aren't in the rpm-md data for things like transaction tests
> > > without the whole RPM?
> > 
> > Yes, I'm referring the the archive payload as the cpio.  The zchunk
> > format supports the idea of separate data streams, and I was planning
> > to use that to put the headers in one stream and the archive payload in
> > another.  If the header chunks are first in the zchunk file, then they
> > could be read without needing to read any of the rest of the file.
> > And, yes, we could make the header stream uncompressed if that made it
> > easier to parse.
> > 
> 
> Whether it's compressed or not isn't terribly important, but what is
> important is being able to validate the correctness before beginning
> any processing, including decompression.

Absolutely!  This includes both the rpm header and the rpm archive
data, and that's why we store both the compressed and uncompressed
checksums of the chunks.

> > > 4. I'd actually rather make it easier for the header streams to be
> > > fetched instead of trying to make specific attributes easier in the
> > > header payload. History has shown that any attempt at foresight here
> > > tends to fail miserably, and common attributes are already specified
> > > in the rpm-md primary.xml anyway, so if you're fetching the header to
> > > retrieve an attribute, you *need* to do something weird anyway.
> > 
> > The main purpose of putting separate attributes in the zchunk header is
> > so programs like 'file' can determine some basic information about an
> > rpm without needing to parse the full rpm header.  This data would also
> > be in the rpm header, so programs that read t

Re: Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-17 Thread Jonathan Dieter
Neal, thanks so much for your thoughts on this.  Responses inline:

On Sat, 2018-11-17 at 09:53 -0500, Neal Gompa wrote:

> If we're really considering changing the RPM file format, then we need
> a proper discussion on rpm-maint@ and rpm-ecosystem@ mailing lists on
> rpm.org. Can you please start a targeted discussion there?

Sure.

> But addressing the specific concrete suggestion here, there's a few
> concerns I have:
> 
> 1. This is a huge format break, which means that for the first time in
> a _very_ long time, it would not be possible to reuse RHEL for Fedora
> infrastructure _at all_. That's going to be a difficult problem.
> There's a large legacy of systems that won't be able to handle that
> new format, and unfortunately, rpm is not parallel installable in the
> same manner as something like GCC or Python currently. Making it
> parallel installable *is* possible (I've done it, and there have been
> other attempts before), but it's not a supported thing. This is
> probably the thing that would trigger a major version bump for RPM,
> since it's a new archive format.

Agreed, that this would be a massive format change and should therefore
be a major version bump for RPM.  New versions of RPM should still be
able to read and install old-format rpms, but, as you point out, old
versions of RPM won't be able to read or install new-format rpms. 
Unfortunately, I don't see any way around this.

> 2. This also means the _entire_ ecosystem of RPM archive parsers will
> break. This is not particularly insurmountable, actually, as the RPM
> file format was not particularly well documented, and a new format is
> an opportunity to revisit some of those old issues and try to do a
> better job this go around. But it's still a challenge to deal with.

Yes, this is going to be quite a bit of work.

> 3. When you refer to the rpm cpio, I assume you're referring to only
> the archive payload, right? Typically the payload is what is
> compressed, and the headers are not. It sounds like you're proposing
> both aspects to be compressed, and compressed differently. If we made
> the RPM header an uncompressed zchunk stream and the RPM payload a
> zstd-compressed zchunk stream, would we be able to support fetching
> header deltas for retrieving extra information on the fly? Say, for
> example, attributes like arch color, filecap properties, and so on,
> that aren't in the rpm-md data for things like transaction tests
> without the whole RPM?

Yes, I'm referring the the archive payload as the cpio.  The zchunk
format supports the idea of separate data streams, and I was planning
to use that to put the headers in one stream and the archive payload in
another.  If the header chunks are first in the zchunk file, then they
could be read without needing to read any of the rest of the file. 
And, yes, we could make the header stream uncompressed if that made it
easier to parse.

> 4. I'd actually rather make it easier for the header streams to be
> fetched instead of trying to make specific attributes easier in the
> header payload. History has shown that any attempt at foresight here
> tends to fail miserably, and common attributes are already specified
> in the rpm-md primary.xml anyway, so if you're fetching the header to
> retrieve an attribute, you *need* to do something weird anyway.

The main purpose of putting separate attributes in the zchunk header is
so programs like 'file' can determine some basic information about an
rpm without needing to parse the full rpm header.  This data would also
be in the rpm header, so programs that read the rpm header wouldn't
care about the attributes in the zchunk header.

> 5. I'm not exactly sure what you mean by zchunk signing...

The zchunk format supports signing, but just for the zchunk header. 
Because the header contains the checksums for each chunk, this
establishes a chain of trust for verifying the whole file.  Which
brings me to...

> 6. I'm wondering why we can't do a perfect reconstruction of the
> original RPM, given two RPM sources that are both zchunked? We can
> pull it off with repodata, so what's different about RPM that makes
> that not doable?

The problem is that, unlike the repodata, once an rpm is installed, the
package file is deleted and the data is only available on the system in
its uncompressed installed form.  If we're trying to use that data to
rebuild an rpm, we have two options.

   1. Compress the data using the same method that was used to create the
  original rpm.  This is what applydeltarpm does, and is why it's so
  heavy on the CPU.
   2. Store the data uncompressed in the rebuilt rpm.  This isn't feasible
  with deltarpm, but, if we store both compressed hashes and
  uncompressed hashes in the zchunk header, we can do this in zchunk. 
  When running checking the signature, zchunk verifies the header
  against the signature first, and then checks each chunk to see if it
  passes *either* the compressed or uncompressed 

Proposal: Faster composes by eliminating deltarpms and using zchunked rpms instead

2018-11-16 Thread Jonathan Dieter
For reference, this is in reply to Paul's email about lifecycle
objectives, specifically focusing on problem statement #1[1].


Have rpm use zchunk as its compression format, removing the need for
deltarpms, and thus reducing compose time.  This will require changes
to both the rpm format and new features in the zchunk format.


*deltarpm background*
As part of the compose process, deltarpms are generated between each
new rpm and both the GA version of the rpm and the previous version. 
This process is very CPU and memory intensive, especially for large
rpms.

This also means that deltarpms are only useful for an end user if they
are either updating from GA or have been diligent about keeping their
system up-to-date.  If a user is updating a package from N-2 to N,
there will be no deltarpm and the full rpm will be downloaded.

*zchunk background*
As some are aware, I've been working on zchunk[2], a compression format
that's designed for highly efficient deltas, and using it minimize
metadata downloads[3].

The core idea behind zchunk is that a file is split into independently
compressed chunks and the checksum of each compressed chunk is stored
in the zchunk header.  When downloading a new version of the file, you
download the zchunk header first, check which chunks you already have,
and then download the rest.

*Proposal*
My proposal would be to make zchunk the rpm compression format for
Fedora.  This would involve a few additions to the zchunk format[4]
(something the format has been designed to accommodate), and would
require some changes to the rpm file format.

*Benefit*
The benefit of zchunked rpms is that, when downloading an updated rpm,
you would only need to download the chunks that have changed from
what's on your system.

The uncompressed local chunks would be combined with the downloaded
compressed chunks to create a local rpm that will pass signature
verification without needing to recompress the uncompressed local
chunks, making this computationally much faster than rebuilding a
deltarpm, a win for users.

The savings wouldn't be as good as what deltarpm can achieve, but
deltarpms would be redundant and could be removed, completely
eliminating a large step from the compose process.

*Drawbacks*
   1. Downloading a new release of a zchunked rpm would be larger than
  downloading the equivalent deltarpm.  This is offset by the fact
  that the client is able to work out which chunks it needs no matter
  what the original rpm is, rather than needing a specific original
  rpm as deltarpm does.
   2. The rebuilt rpm may not be byte-for-byte identical to the original,
  but will be able to be validated without decompression, as explained
  in the next section

*Changes*
The zchunk format would need to be extended to allow for a zchunked rpm
to contain both the uncompressed chunks that were already on the local
system and the newly downloaded compressed chunks while still passing
signature verification.  This would also require moving signature
verification to zchunk.
 
The rpm file format has to be changed because the zchunk header needs
to be at the beginning of the file in order for the zchunk library
figure out which chunks it needs to download.  My suggestions for
changes to the rpm file format are as follows:

   1. Signing should be moved to the zchunk format as described at the
  beginning of this section
   2. The rpm header should be stored in one stream inside the zchunk
  file.  This allows it to be easily extracted separately from the
  data
   3. The rpm cpio should be stored in a second stream inside the zchunk
  file.
   4. At minimum, an optional zchunk element should be set to identify
  zchunk rpms as rpms rather than regular zchunk files.  If desired,
  optional elements could also be set containing %{name}, %[version},
  %{release}, %{arch} and %{epoch}.  This would allow this information
  to be read easily without needing to extract the rpm header stream.

*Final notes*
I realize this is a massive proposal, zchunk is still very young, and
we're still working on getting the dnf zchunk pull requests reviewed. 
I do think it's feasible and provides an opportunity to eliminate a
pain point from our compose process while still reducing the download
size for our users.

[1]: 
https://fedoraproject.org/wiki/Objectives/Lifecycle/Problem_statements#Challenge_.231:_Faster.2C_more_scalable_composes
[2]: https://github.com/zchunk/zchunk
[3]: https://fedoraproject.org/wiki/Changes/Zchunk_Metadata
[4]: https://github.com/zchunk/zchunk/blob/master/zchunk_format.txt
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 

Re: Introducing new koji rpmfusion namespace : rpi

2018-11-08 Thread Jonathan Dieter
On Thu, 2018-11-08 at 20:35 +0100, Nicolas Chauvet wrote:
> Le jeu. 8 nov. 2018 à 19:43, Jonathan Dieter  a
> écrit :
> > On Thu, 2018-11-08 at 16:57 +, Andrew Bauer wrote:
> > > I'll create a new package request for the raspberry-vc libs. I'm
> > > not
> > > as fast as some of you, so give me a few days. I will get this
> > > done.
> > > 
> > > I plan to use this specfile as a starting point:
> > > https://github.com/fedberry/raspberrypi-vc/blob/master/raspberrypi-vc.spec
> > 
> > Just out of curiosity, does this work with aarch64 or just armhfp?
> No it's only armv6hl/armv7hl so far.
> (As a side note, I hope aarch64 and fedora side will have better api
> such as v4l2-requests and all for the long run).

Great, thanks.

Jonathan
___
rpmfusion-developers mailing list -- rpmfusion-developers@lists.rpmfusion.org
To unsubscribe send an email to rpmfusion-developers-le...@lists.rpmfusion.org


  1   2   3   4   5   6   >