Bug 1703542 - Review Request: rust-afterburn - A simple cloud provider agent
Summary: Review Request: rust-afterburn - A simple cloud provider agent
Keywords:
Status: CLOSED DUPLICATE of bug 1703775
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Igor Gnatenko
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1698710 rust-slog-async rust-slog-term rust-openssh-keys rust-serde-xml-rs rust-pnet_datalink rust-slog-scope rust-mockito
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-04-26 16:23 UTC by Robert Fairley
Modified: 2019-05-15 03:13 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-04-28 09:58:44 UTC


Attachments (Terms of Use)
Afterburn packaging crates list (slightly outdated) (11.18 KB, text/plain)
2019-04-26 18:37 UTC, Robert Fairley
no flags Details
use-pnet-subcrates-directly.diff (24.96 KB, patch)
2019-04-27 12:46 UTC, Igor Gnatenko
no flags Details | Diff

Description Robert Fairley 2019-04-26 16:23:47 UTC
Spec URL: https://copr-be.cloud.fedoraproject.org/results/rfairley/rust-afterburn/fedora-30-x86_64/00888099-rust-afterburn/rust-afterburn.spec
SRPM URL: https://copr-be.cloud.fedoraproject.org/results/rfairley/rust-afterburn/fedora-30-x86_64/00888099-rust-afterburn/rust-afterburn-4.1.0-1.fc30.src.rpm
Description: A simple cloud provider agent. Afterburn sources metadata from cloud providers (e.g. hostname, IP address, instance ID for AWS), and applies the metadata to the system. This can include things like writing the metadata as environment variables in a file to be read by other utilities, writing SSH keys, or configuring network units. See: https://github.com/coreos/afterburn/blob/master/README.md
Fedora Account System Username: rfairley

Comment 1 Robert Fairley 2019-04-26 16:49:03 UTC
Note that the rust crate dependencies are vendored here. Initially, efforts were made to use crates packaged in Fedora, and we are close to this, however a number of dependencies still need to be packaged [1]. We would like to have Afterburn available in Fedora CoreOS and sourced from the Fedora stable repo quite soon (within the next month or so) in time to release a preview of Fedora CoreOS [2], and believe that vendoring the dependencies is easiest for now. Later on, we plan to use the RPM-packaged crates for the dependencies.

Comment 2 Robert Fairley 2019-04-26 16:55:19 UTC
(In reply to Robert Fairley from comment #1)
> Note that the rust crate dependencies are vendored here. Initially, efforts
> were made to use crates packaged in Fedora, and we are close to this,
> however a number of dependencies still need to be packaged [1]. We would
> like to have Afterburn available in Fedora CoreOS and sourced from the
> Fedora stable repo quite soon (within the next month or so) in time to
> release a preview of Fedora CoreOS [2], and believe that vendoring the
> dependencies is easiest for now. Later on, we plan to use the RPM-packaged
> crates for the dependencies.

Apologies, these should refer to:

[1] https://paste.fedoraproject.org/paste/di3MmbCetHvIE3XSetxe4A
[2] https://github.com/coreos/fedora-coreos-tracker/issues/4

Comment 3 Robert Fairley 2019-04-26 18:37:00 UTC
Created attachment 1559307 [details]
Afterburn packaging crates list (slightly outdated)

Attaching the crate dependencies list as a file [1] https://paste.fedoraproject.org/paste/di3MmbCetHvIE3XSetxe4A as the paste will expire.

Comment 4 Igor Gnatenko 2019-04-27 06:37:37 UTC
How many dependencies are we talking about?

Comment 5 Igor Gnatenko 2019-04-27 07:40:39 UTC
I think the only pieces which are missing are:

* mockito (somebody is packaging it, not sure how successful -- https://bugzilla.redhat.com/show_bug.cgi?id=1698710)
* pnet (requires porting to syn/quote, upstream would be happy to take a patch -- https://github.com/libpnet/libpnet/issues/355)
* reqwest (needs to be updated in Fedora, you can probably relax version unless you are using features from 0.9.15+)
* slog-scope (either needs to be ported to arc-swap or old crossbeam has to be added to fedora -- https://github.com/slog-rs/scope/pull/7)
* update-ssh-keys (optional, easy to package)

The rest I have packaged and added as dependencies for this bug.

---

So the only big thing is porting pnet... And I'm pretty sure you can spend some time working on it :)

Comment 6 Igor Gnatenko 2019-04-27 07:45:24 UTC
And even with pnet, there is quite easy workaround.. Just depend on pnet_datalink and pnet_base directly (since you are using functions only from those). None of those needs syntex_*.

Comment 7 Igor Gnatenko 2019-04-27 12:46:37 UTC
Created attachment 1559504 [details]
use-pnet-subcrates-directly.diff

Comment 8 Igor Gnatenko 2019-04-28 09:58:44 UTC
Folks,

I have imported this in separate bugzilla with fixed packaging (no bundling, systemd scriptlets and such). I've added Robert as an admin to the repo.

Let me know if you will need this in F28/F29/F30. In that case we will need to create a module and such.

*** This bug has been marked as a duplicate of bug 1703775 ***

Comment 9 Igor Gnatenko 2019-04-28 09:59:25 UTC
Forgot to mention Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=34505881

Comment 10 Jonathan Lebon 2019-04-29 13:58:48 UTC
@Igor, awesome thanks *so much* for getting this through quickly. :)

> Let me know if you will need this in F28/F29/F30.

Yes, we'll need this for F30.

> In that case we will need to create a module and such.

Gotcha. Should we file a separate bug for this? Is there a tool for generating the modulemd automatically?

Comment 11 Dusty Mabe 2019-05-02 13:43:42 UTC
@Igor - thank you so much!

Comment 12 Robert Fairley 2019-05-06 18:46:27 UTC
Thanks very much @Igor for getting this in to Fedora!

I requested an f30 branch for `rpms/rust-afterburn` [1], an `afterburn` module [2], and an f30 branch for that module [3]:

[1] https://pagure.io/releng/fedora-scm-requests/issue/11484
[2] https://pagure.io/releng/fedora-scm-requests/issue/11485
[3] https://pagure.io/releng/fedora-scm-requests/issue/11486

I think for a tool to generate the modulemd, we could try this: https://docs.fedoraproject.org/en-US/modularity/making-modules/defining-modules/#_using_fedmod? Will give this a go.

Comment 13 Igor Gnatenko 2019-05-07 05:26:34 UTC
Ugh. Please don't request f30 branches ever. They are not needed and you won't be able to do anything with it.

First thing you need to decide on how you are going to push updates. Are you planning to support "4.x", then "5.x" at the same time? Or you are planning to constantly update?

You can use http://pagure.io/fedora-rust/modularity-utils to generate yaml

Comment 14 Dusty Mabe 2019-05-07 14:11:19 UTC
(In reply to Igor Gnatenko from comment #13)
> Ugh. Please don't request f30 branches ever. They are not needed and you
> won't be able to do anything with it.

Talked with igor. Looks like if we are building in a module with crates from
rawhide it will auto build for f29, f30, f31 etc..

> 
> First thing you need to decide on how you are going to push updates. Are you
> planning to support "4.x", then "5.x" at the same time? Or you are planning
> to constantly update?

Just `latest` AFAIU.

> 
> You can use http://pagure.io/fedora-rust/modularity-utils to generate yaml

Comment 15 Robert Fairley 2019-05-07 14:28:07 UTC
Per discussion in IRC #fedora-rust, I requested a `rolling` branch for `modules/afterburn`: https://pagure.io/releng/fedora-scm-requests/issue/11493

Comment 16 Fedora Update System 2019-05-08 16:12:45 UTC
afterburn-rolling-3020190507144241.2c789dff has been submitted as an update to Fedora 30 Modular. https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-ca040be1f2

Comment 17 Fedora Update System 2019-05-08 16:14:07 UTC
afterburn-rolling-2920190507144241.b8a06959 has been submitted as an update to Fedora 29 Modular. https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-76aa228c64

Comment 18 Fedora Update System 2019-05-08 16:15:14 UTC
afterburn-rolling-2820190507144241.1e15db1a has been submitted as an update to Fedora 28 Modular. https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-3935c626a5

Comment 19 Fedora Update System 2019-05-09 03:14:24 UTC
afterburn-rolling-3020190507144241.2c789dff has been pushed to the Fedora 30 Modular stable repository. If problems still persist, please make note of it in this bug report.

Comment 20 Fedora Update System 2019-05-09 03:34:39 UTC
afterburn-rolling-2920190507144241.b8a06959 has been pushed to the Fedora 29 Modular stable repository. If problems still persist, please make note of it in this bug report.

Comment 21 Fedora Update System 2019-05-15 03:13:21 UTC
afterburn-rolling-2820190507144241.1e15db1a has been pushed to the Fedora 28 Modular stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.