Re: F21 System Wide Change: Smaller Cloud Image Footprint

2014-04-22 Thread Matthew Miller
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-22 Thread Miloslav Trmač
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

2014-04-21 Thread Matthew Miller
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

2014-04-21 Thread Lennart Poettering
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

2014-04-21 Thread Lennart Poettering
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 Thread Miloslav Trmač
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

2014-04-17 Thread Matthew Miller
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 Thread Miloslav Trmač
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 Thread Miloslav Trmač
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-16 Thread Miloslav Trmač
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

2014-04-16 Thread Matthew Miller
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

2014-04-14 Thread Jaroslav Reznik
= 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

2014-04-14 Thread Bill Nottingham
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

2014-04-14 Thread Matthew Miller
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