Re: F21 System Wide Change: Smaller Cloud Image Footprint
On Tue, Apr 22, 2014 at 06:01:31AM +0200, Lennart Poettering wrote: Note that it should be relatively straight-forward to implement a generator (even in shell...) that generates native systemd-networkd configuration snippets from ifcfg files at runtime (or upgrade-time), similar to how we convert fstab or crypttab to systemd units. With that in place it a smooth transition from the old networking scripts to networkd should be possible. That said, there are some things ifcfg supports (ISDN, IPX, ...) that we'll never support in networkd, hence we couldn't claim 100% compat with such a scheme. Yeah, I think that's fine -- the generator should log a warning (or error, depending on the option, I guess) and possibly the suggestion to use NetworkManager or legacy initscripts. https://bugzilla.redhat.com/show_bug.cgi?id=1090090 -- Matthew Miller-- Fedora Project--mat...@fedoraproject.org Tepid change for the somewhat better! -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
2014-04-21 16:18 GMT+02:00 Matthew Miller mat...@fedoraproject.org: On Thu, Apr 17, 2014 at 10:30:48PM +0200, Miloslav Trmač wrote: Writing too fast... you were actually arguing for a situation 2 used by default + 1 used but not used by default I think. In that case your argument is right but it's my turn to not accept your premise :) networkd was introduced in systemd-209, and F20 ships with -208, I.e. it has never shipped in a Fedora release, so it is not 1 used but not used by default; it's entirely new to Fedora *in F21*. Okay, fair enough. :) On reflecting, I think a generator which reads ifcfg-* format, and ifup/ifdown compat scripts should probably be considered hard prerequisites for using systemd-networkd by default. That gives a common language, keeps current tooling working, and makes an easy path for a user to switch if a particular need isn't covered. That might work: note that it still means that any applications depending on NetworkManager APIs are unusable on the cloud images: I suppose you don't want much intelligence inside the cloud image anyway, so that's not a blocker (but *would* be a blocker for any non-cloud uses). Mirek -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
On Thu, Apr 17, 2014 at 10:30:48PM +0200, Miloslav Trmač wrote: Writing too fast... you were actually arguing for a situation 2 used by default + 1 used but not used by default I think. In that case your argument is right but it's my turn to not accept your premise :) networkd was introduced in systemd-209, and F20 ships with -208, I.e. it has never shipped in a Fedora release, so it is not 1 used but not used by default; it's entirely new to Fedora *in F21*. Okay, fair enough. :) On reflecting, I think a generator which reads ifcfg-* format, and ifup/ifdown compat scripts should probably be considered hard prerequisites for using systemd-networkd by default. That gives a common language, keeps current tooling working, and makes an easy path for a user to switch if a particular need isn't covered. -- Matthew Miller-- Fedora Project--mat...@fedoraproject.org Tepid change for the somewhat better! -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
On Thu, 17.04.14 01:24, Miloslav Trmač (m...@volny.cz) wrote: I don't think we can, or should, have three separate network configuration systems in Fedora at the same time. We already know how long and painful the migration to NetworkManager has been—and AFAICS networkd doesn't support any of the icfg-* files, unlike NetworkManager, so it would mean a *more* painful migration. Note that it should be relatively straight-forward to implement a generator (even in shell...) that generates native systemd-networkd configuration snippets from ifcfg files at runtime (or upgrade-time), similar to how we convert fstab or crypttab to systemd units. With that in place it a smooth transition from the old networking scripts to networkd should be possible. That said, there are some things ifcfg supports (ISDN, IPX, ...) that we'll never support in networkd, hence we couldn't claim 100% compat with such a scheme. environment (say, everything via DHCP, no VPNs, no IPSec, no bridges, nothing else), and telling both users and application developers not to Note that networkd supports static configuration, bridges and some forms of tunnels just fine. Lennart -- Lennart Poettering, Red Hat -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
On Tue, 22.04.14 06:01, Lennart Poettering (mzerq...@0pointer.de) wrote: environment (say, everything via DHCP, no VPNs, no IPSec, no bridges, nothing else), and telling both users and application developers not to Note that networkd supports static configuration, bridges and some forms of tunnels just fine. Also, to my knoweledge NetworkManager doesn't even work inside of a container, it gets confused by the weak device virtualization of Linux containers. networkd has been designed with this in mind since day 1. Lennart -- Lennart Poettering, Red Hat -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
2014-04-17 1:42 GMT+02:00 Matthew Miller mat...@fedoraproject.org: On Thu, Apr 17, 2014 at 01:24:50AM +0200, Miloslav Trmač wrote: I don't think we can, or should, have three separate network configuration systems in Fedora at the same time. We already know how long and painful I think we'd stay at two, basically -- right now, we have two in use (NetworkManager and initscripts) and one that's available but not used by default anywhere (systemd-networkd). This would simply swap the status of systemd-networkd and initscripts. Is NetworkManager already at the *100% complete* feature parity that would make this possible? (Keeping in mind that possible and a good idea are still not the same...) the migration to NetworkManager has been—and AFAICS networkd doesn't support any of the icfg-* files, unlike NetworkManager, so it would mean a *more* painful migration. Yeah, as I've said elsewhere, I'd love to see a network unit generator which takes traditional ifcfg-* files as input. I think we need ifup/ifdown compatibility scripts, too. Would these be prerequisites to making the change? With what I know so far, this would only make sense to me if the Cloud images were explicitly designed to run in a very specific network environment (say, everything via DHCP, no VPNs, no IPSec, no bridges, nothing else), and telling both users and application developers not to touch the configuration in any way. It is _largely_ the case that complex networking is done outside of the guests and presented to the guests as simple interfaces. Usually that's one device with DHCP, but there may be additional interfaces with DHCP or static interfaces. Well, this particular possibility is strictly black/white—either the completely different configuration and API is exposed, or it isn't; if there are any alternatives to configure at all, it is exposed. Mirek -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
On Thu, Apr 17, 2014 at 09:47:21PM +0200, Miloslav Trmač wrote: (NetworkManager and initscripts) and one that's available but not used by default anywhere (systemd-networkd). This would simply swap the status of systemd-networkd and initscripts. Is NetworkManager already at the *100% complete* feature parity that would make this possible? (Keeping in mind that possible and a good idea are still not the same...) I don't think I accept your premise here. 100% (possibly spread between networkd and NetworkManager) would be necessary for dropping initscripts completely, but that's not being proposed. Yeah, as I've said elsewhere, I'd love to see a network unit generator which takes traditional ifcfg-* files as input. I think we need ifup/ifdown compatibility scripts, too. Would these be prerequisites to making the change? ifup/ifdown are probably real prerequisites (some of the ec2 tools assume their presence), and an ifcfg generator a high-value nice-to-have. It is _largely_ the case that complex networking is done outside of the guests and presented to the guests as simple interfaces. Usually that's one device with DHCP, but there may be additional interfaces with DHCP or static interfaces. Well, this particular possibility is strictly black/white—either the completely different configuration and API is exposed, or it isn't; if there are any alternatives to configure at all, it is exposed. Not following you. -- Matthew Miller-- Fedora Project--mat...@fedoraproject.org Tepid change for the somewhat better! -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
2014-04-17 21:54 GMT+02:00 Matthew Miller mat...@fedoraproject.org: On Thu, Apr 17, 2014 at 09:47:21PM +0200, Miloslav Trmač wrote: (NetworkManager and initscripts) and one that's available but not used by default anywhere (systemd-networkd). This would simply swap the status of systemd-networkd and initscripts. Is NetworkManager already at the *100% complete* feature parity that would make this possible? (Keeping in mind that possible and a good idea are still not the same...) I don't think I accept your premise here. 100% (possibly spread between networkd and NetworkManager) would be necessary for dropping initscripts completely, but that's not being proposed. You were arguing that we would be going from 2 used + 1 unused systems to a different set of 2 used + 1 unused; for that to happen, users of initscripts must have somewhere to migrate to. It is _largely_ the case that complex networking is done outside of the guests and presented to the guests as simple interfaces. Usually that's one device with DHCP, but there may be additional interfaces with DHCP or static interfaces. Well, this particular possibility is strictly black/white—either the completely different configuration and API is exposed, or it isn't; if there are any alternatives to configure at all, it is exposed. Not following you. As a background, I *really* don't want the fragmentation; I don't see the benefits, and I very much see the costs. In the original mail I have tried to outline a scenario in which there would technically be fragmentation, but only in a setup that users would never touch so it would be invisible. But as soon as this is something users need to interact with, it's no longer invisible and we are in the, for me undesirable, full fragmentation scenario. Mirek -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
2014-04-17 22:27 GMT+02:00 Miloslav Trmač m...@volny.cz: 2014-04-17 21:54 GMT+02:00 Matthew Miller mat...@fedoraproject.org: On Thu, Apr 17, 2014 at 09:47:21PM +0200, Miloslav Trmač wrote: (NetworkManager and initscripts) and one that's available but not used by default anywhere (systemd-networkd). This would simply swap the status of systemd-networkd and initscripts. Is NetworkManager already at the *100% complete* feature parity that would make this possible? (Keeping in mind that possible and a good idea are still not the same...) I don't think I accept your premise here. 100% (possibly spread between networkd and NetworkManager) would be necessary for dropping initscripts completely, but that's not being proposed. You were arguing that we would be going from 2 used + 1 unused systems to a different set of 2 used + 1 unused; for that to happen, users of initscripts must have somewhere to migrate to. Writing too fast... you were actually arguing for a situation 2 used by default + 1 used but not used by default I think. In that case your argument is right but it's my turn to not accept your premise :) networkd was introduced in systemd-209, and F20 ships with -208, I.e. it has never shipped in a Fedora release, so it is not 1 used but not used by default; it's entirely new to Fedora *in F21*. Mirek -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
2014-04-14 22:56 GMT+02:00 Matthew Miller mat...@fedoraproject.org: ** Replace NetworkManager, etc. with systemd-networkd. snip Also, I know you know this but just as a general clarification: the cloud image isn't currently using NetworkManager anyway but is using the good ol' network initscripts. I don't think we can, or should, have three separate network configuration systems in Fedora at the same time. We already know how long and painful the migration to NetworkManager has been—and AFAICS networkd doesn't support any of the icfg-* files, unlike NetworkManager, so it would mean a *more* painful migration. Also see the recent caching DNS / DNSSEC discussions, which effectively move the DNS resolver configuration away from /etc/resolv.conf to a NetworkManager API. With what I know so far, this would only make sense to me if the Cloud images were explicitly designed to run in a very specific network environment (say, everything via DHCP, no VPNs, no IPSec, no bridges, nothing else), and telling both users and application developers not to touch the configuration in any way. Mirek -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
On Thu, Apr 17, 2014 at 01:24:50AM +0200, Miloslav Trmač wrote: I don't think we can, or should, have three separate network configuration systems in Fedora at the same time. We already know how long and painful I think we'd stay at two, basically -- right now, we have two in use (NetworkManager and initscripts) and one that's available but not used by default anywhere (systemd-networkd). This would simply swap the status of systemd-networkd and initscripts. the migration to NetworkManager has been—and AFAICS networkd doesn't support any of the icfg-* files, unlike NetworkManager, so it would mean a *more* painful migration. Yeah, as I've said elsewhere, I'd love to see a network unit generator which takes traditional ifcfg-* files as input. I think we need ifup/ifdown compatibility scripts, too. Also see the recent caching DNS / DNSSEC discussions, which effectively move the DNS resolver configuration away from /etc/resolv.conf to a NetworkManager API. I have seen that. I'm not quite done thinking about the implications for cloud guests, though. With what I know so far, this would only make sense to me if the Cloud images were explicitly designed to run in a very specific network environment (say, everything via DHCP, no VPNs, no IPSec, no bridges, nothing else), and telling both users and application developers not to touch the configuration in any way. It is _largely_ the case that complex networking is done outside of the guests and presented to the guests as simple interfaces. Usually that's one device with DHCP, but there may be additional interfaces with DHCP or static interfaces. -- Matthew Miller-- Fedora Project--mat...@fedoraproject.org Tepid change for the somewhat better! -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
F21 System Wide Change: Smaller Cloud Image Footprint
= Proposed System Wide Change: Smaller Cloud Image Footprint = https://fedoraproject.org/wiki/Changes/Smaller_Cloud_Image_Footprint Change owner(s): Sandro Mathys r...@fedoraproject.org Cloud SIG Shrink the footprint of our cloud images as far as reasonably, and within the given timeframe, possible. == Detailed Description == Space is precious in the cloud, therefore the Cloud SIG tries to keep the images' footprint as small as reasonably possible. Several approaches are ongoing in this regard and while they are hardly worth mentioning individually, the combined effort is going to be noticeable. == Scope == As mentioned, there's really various changes that are quite independent of each other but share the common goal. * Proposal owners: ** Replace NetworkManager, etc. with systemd-networkd. ** Make sure only just kernel-core, not kernel and kernel-drivers, is installed (see the related change: Modular Kernel Packaging for Cloud [1]). ** Make sure only the packages really required are installed. ** Use %packages --excludedocs to to skip installing docs. ** Use %packages --instLangs= to ship only just English. ** Tweak the locales (in %post) so that local-archive ships with only just English instead of all languages. We might skip this one if it seems too much tinkering. Work is going on to have proper support for this in the glibc package (see rhbz#156477 [2] - also, c#30 shows the necessary tinkering). * Other developers: ** Packages that are part of any cloud image (and in the long run all packages) must use %license instead of %doc for the license file(s) so we can skip shipping docs but still ship licenses. (See separate change Use license macro in RPMs for packages in Cloud Image [3] ** cloud-init should no longer require python-cheetah and needs to be refactored (upstream) accordingly. * Release engineering: Nothing. * Policies and guidelines: ** Packaging Guidelines need to reflect that license files must be tagged with %license instead of %docs (FPC#411 [4]). [1] https://fedoraproject.org/wiki/Changes/Modular_Kernel_Packaging_for_Cloud [2] https://bugzilla.redhat.com/show_bug.cgi?id=156477 [3] https://fedoraproject.org/wiki/Changes/Use_license_macro_in_RPMs_for_packages_in_Cloud_Image packages in Cloud Image [4] https://fedorahosted.org/fpc/ticket/411 ___ devel-announce mailing list devel-annou...@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
Jaroslav Reznik (jrez...@redhat.com) said: == Scope == As mentioned, there's really various changes that are quite independent of each other but share the common goal. * Proposal owners: ** Replace NetworkManager, etc. with systemd-networkd. ** Make sure only just kernel-core, not kernel and kernel-drivers, is installed (see the related change: Modular Kernel Packaging for Cloud [1]). ** Make sure only the packages really required are installed. ** Use %packages --excludedocs to to skip installing docs. ** Use %packages --instLangs= to ship only just English. ** Tweak the locales (in %post) so that local-archive ships with only just English instead of all languages. We might skip this one if it seems too much tinkering. Work is going on to have proper support for this in the glibc package (see rhbz#156477 [2] - also, c#30 shows the necessary tinkering). How do these changes (especially the first two) work in terms of the cattle-to-pets feature? Bill -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Re: F21 System Wide Change: Smaller Cloud Image Footprint
On Mon, Apr 14, 2014 at 04:15:50PM -0400, Bill Nottingham wrote: ** Replace NetworkManager, etc. with systemd-networkd. ** Make sure only just kernel-core, not kernel and kernel-drivers, is installed (see the related change: Modular Kernel Packaging for Cloud [1]). ** Make sure only the packages really required are installed. ** Use %packages --excludedocs to to skip installing docs. ** Use %packages --instLangs= to ship only just English. ** Tweak the locales (in %post) so that local-archive ships with only just English instead of all languages. We might skip this one if it seems too much tinkering. Work is going on to have proper support for this in the glibc package (see rhbz#156477 [2] - also, c#30 shows the necessary tinkering). How do these changes (especially the first two) work in terms of the cattle-to-pets feature? Good question. That script may have options to undo some of this; generally, this kind of minimization isn't so interesting for pets, and some aspects (lack of man pages!) are probably actively unwanted. Also, I know you know this but just as a general clarification: the cloud image isn't currently using NetworkManager anyway but is using the good ol' network initscripts. -- Matthew Miller-- Fedora Project--mat...@fedoraproject.org Tepid change for the somewhat better! -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct