#ident "@(#)issues 1.6 07/03/14 SAC" PSARC 2007/132: Network Auto-Magic (NWAM) Submitter: John Beck Owner: James Carlson Note: open case Issues for inception (03/14/2007): jdc-0 Big picture: what do users of existing systems see? A: No change, as early phases will be off by default, and later phases will be able to slurp up existing configuration and migrate it into the new format. What will the jurassic slaves see on upgrade? A: No change. (The feature has an "on/off" button. How does the user know when to touch that? What if nobody turns it on?) A: If nobody turns it on (the expected scenario for "servers"), then there will be no change. They will know when to touch the "on/off" button via nwamd(1m) and release notes (and anything else appropriate which we haven't though of yet). jdc-1 The 20q talks about phases, but the phases aren't clear in the rest of the materials. A: That's right: the design doc talks about "phase N". What things are not delivered in phase 0? (I assume this is "nwamcfg" -- what else?) A: Phase 0 has neither CLI nor GUI (not counting the Zenity pop-ups). Item 3 in the 20 questions otherwise explains the phased approach. jdc-2 How does (or should) the GNOME network manager application deal with NWAM? jdc-3 For DR, the question word "how" meant "in what way" -- what interfaces does it use, and what actions can it take? (Assume "very well" here refers to IFF_RUNNING and related IP ioctls ... anything else?) A: No, that's pretty much it; we will clean up the 20 questions answer. jdc-4 What do GUI pop-ups mean for servers? A: If there is no window manager with someone logged in, then pop-ups will not occur. jdc-5 Does having potentially many thousands of services/FMRIs (2*links) on some systems matter for performance or administration tasks? A: Liane assures us that the performance scalability is there, though we of course plan to test and verify this. For admin, I suggest the situation will not be that different from now in terms of complexity, just a different mechanism. eg-0 Big Picture What are the components of this project? How do they relate to one another? What existing parts of the system interact with the project (e.g. DHCP agent)? A diagram would be useful. A: There is our block diagram at http://opensolaris.org/os/project/nwam/ which partially addresses this. eg-1 20q8 How does this improve network availability? Or did you mean it just improves network configurability? A: It improves availability by detecting when a link goes away and bringing up another (e.g., cable is unplugged, wireless is brought up, or one wireless connection drops out of range, another is brought up). eg-2 20q8 What if there is no GUI? Is this applicable only to single-user systems with graphics heads? A: That part of the GUI is only applicable to systems with a graphical login. (See eg-7 for a more general answer about GUIs.) There will also be syslog messages detailing problems. What if the user logged in on the graphics console is not an administrator? Will they still be offered popups? A: Yes. What if they have insufficient privilege to make changes? A: We will look into how best to handle that. Is there a way to disable pop-ups temporarily (e.g., during a presentation)? A: not planned, but it should be pretty easy to add this. eg-3 20q8: network partition Is this really N/A? What about inability to reach the DHCP server at lease-renewal time, or similar failures? A: No, I think that was an oversight when filling out the 20 questions. The answers are "routing sockets", "DL_NOTE_LINK_UP", etc. eg-4 20q8: file corruption Are there data files that this project writes then reads (possibly when re-invoked) that might end up in an inconsistent state if there is an application or system failure? If so, what is done to recover? (Note, this is not about general file system corruption, but about inconsistent state in an application file, caused by, e.g., incomplete writes.) A: SMF(5), which uses a transactional database, is used for most storage, so we should be fine there. For other private files, we do check for consistency when reading and log an error and ignore the entry in case of inconsistency. eg-5 20q9 What subsequent cases? Are you intending to bring separate ARC cases for the phases of delivery? A: Yes, we intend to bring separate ARC cases for each phase. Is observability not part of phase 0? A: Phase 0 has a separate instance of svc:/network/physical but is otherwise little changed from Solaris networking of today, so there will be little addition observability beyond log messages from nwamd. eg-6 20q9 Again, what if there is no GUI? A: We intend to make that data available via a CLI as well. eg-7 20q11: Is there support for standard forms, e.g. "-display" for X programs? How can this be N/A for a GUI? A: There are multiple GUI pieces. For the GUI config/admin tools, we expect "-display" et al. to be supported per normal. There are also console pop-ups which only make sense for the GUI console of the host in question; the "N/A" was meant to apply only to these. eg-8 20q12 N/A for a GUI, again? A: Same as eq-7. eg-9 Design 1.2 The design document suggests that Profiles are fundamental to this design. How is it possible to defer them to Phase 1, in that case? A: We need to update the design doc so it does not suggest that. In particular, what was once called the profiled is now called nwamd to reflect its more general function. eg-10 Design 1.2 Why is there a possibility that the GUI and CLI will not be able to do the same jobs? A: our intention is that they will be able to do the same jobs; that language was chosen because we haven't written them yet. eg-11 Design 1.3 What does it mean for an Environment to be active? From the definitions, I would have expected a Profile to be active based on conditions detailed in an Environment. (Maybe this is addressed in 4.3, but if so, the document is unclear.) A: This is probably bad choices of words on our part in the design doc, as an Environment is a Profile. I.e., there are two kinds of Profiles: NCPs (which include links and IP interfaces) and Environments (which include higher-level configuration). eg-12 Design 1.3 What does "current active NCP" mean at boot time? Does this really mean "last active NCP"? A: Yes, the NCP which persistent storage says should be active. eg-13 Design 2. This seems quite vague. The descriptions say "might" for all described cases. Please describe what will be done when, in such a manner as to produce deterministic behavior. A: The use of "might" in that section is not intended to mean "we don't know; we might do A or B" but rather "situation X might occur, in which case we would do Y" eg-14 Design 2.1.1 Is NWAM the whole story, or are there other things at play? Specifically, what causes IFF_RUNNING to be set on a given interface? A: Other things are at play; drivers detect link up and send a DL_NOTE_LINK_UP to IP which sets the IFF_RUNNING flag. eg-15 Design 2.2 Ethernet broadcast domains and IP subnets are orthogonal concepts. A single IP subnet may consist of multiple Ethernet domains, and may include non-Ethernet interfaces. IP broadcast domains and Ethernet broadcast domains are not identical. A: We will get the terminology straightened out. eg-16 Design 2.3.4.1 Does NWAM manage the /etc/default/dhcpagent file? If not, who or what does? A: System administrators do: /etc/default files were a common tuning knob before SMF(5) was invented. eg-17 Design 4.3.1 This section seems to be calling for a dependency on Duckwater, but such is not indicated by the 20 questions. Is there a dependency? A: Sort of. Our job will be made easier if Duckwater exists by the time phase 1 is being developed. We will check to see if this merits a dependency in the 20 questions and update them if so. eg-18 Design 4.3.3 NWAM can or will introduce a mechanism for managing hostname changes? A: Will; we will clarify the text. eg-19 Design 4.4.2 The relationship between the phased delivery described in the 20 questions and the design that includes multiple Environments by default is unclear. Please specify. A: This is talking about Phase 1. eg-20 Design 4.5.1 How does NWAM learn that an external entity has made changes? A: Via the entity's registration, as explain in 4.5.1 and 4.5.3 . Where does NWAM store this data? A: In the SMF repository, as explained in 5.1.1 . eg-21 Design 4.6.2 "The daemon would have to perform periodic scan ..." in order to do what? Will periodic scans be done or not? Please be clear. A: Yes: s/would/will/ . eg-22 Design 4.6.2 What action is taken (if any) when NWAM discovers the availability of a higher-priority wireless network than the one that is currencly connected? A: For phase 0, when the current WLAN signal strength becomes very weak, the connection will be dropped and the user will be presented the full list of available WLANs to connect to. For phase 1, we expect to pop up a note indicating that a better preference WLAN has become available and with it a question about switching. eg-23 Design 5.1.1 How does this section relate to the 20 questions that describe the FMRIs svcadm disable svc:/network/physical:default and svcadm enable svc:/network/physical:nwam ? A: the above FMRIs are for phase 0; 5.1.1 is for phase 1. eg-24 Design 6 A diagram would be most helpful here. A: We should be able to generate such a diagram. eg-96 Design 7 All links are broken. A: I suspect you are looking at the snapshots in the materials directory. The real design doc is at http://opensolaris.org/os/project/nwam/design/ and the three links (for 7.1, 7.2 and 7.3) point to: http://opensolaris.org/os/project/nwam/clis/ http://opensolaris.org/os/project/nwam/UIDesign/ConfigUI/ http://opensolaris.org/os/project/nwam/apis/ respectively. The first and third of these also have snapshots in the materials directory. eg-97 Design 4.1.2 (nit) Typical usage is to define a term, then its abbreviation, e.g., Network Confiruration Unit (NCU), not NCU (network configuration unit). A: OK, we'll fix this. eg-98 Design 4.1 (nit) broken link A: Again, the document uses relative links; see: http://opensolaris.org/os/project/nwam/architecture/#llp eg-99 Design 1.3, grammar The use of "they" in the first sentence is a pronoun without antecedent. What interactions are being described? A: There is an antecedent: "The primary components" from the intro to 1.2 . We will clarify this. wes-1 secure by default vs. NWAM given that it's off by default in phase 0, I agree that you're ok for now, but I'd like to see a more focussed security review before you enable by default. A: OK. with respect to the question: Should automatically enabled interfaces be wrapped with an IP Filter default deny-all policy to make them "safe" until authorized? seems equivalent to say: collect a "draft configuration" but not actually enable the interface until the admin is given a chance to approve it. also seems like this might be another application for a more flexible stack instance mechanism -- you'd create a stack instance for autoconfiguration isolated from processes not involved in autoconfig, and then move the parameters to the "main" stack instance once given admin approval. A: Is there a question here, or just suggestions? If the latter, they sound reasonable. wes-2 commitment level of nwam C API's? (not clearly seen in the apis-1.0.html) A: In the old days, I would have said "Evolving". We can discuss what the new term would be such that they can be used, but we can still extend them. wes-3 commitment level of CLI? A: Same as wes-2. wes-4 design-1.0.5 section 4.3.2.1: "system_services" -> does this include non-Public interfaces consumed by other nodes, or are these local-only as well? A: Need to consult Bustos to answer this. wes-5 section 4.6.1: prioritizing of WLANs vs. prioritizing of known networks; is there a potential multi-level negotiation problem lurking here? how do you pick global "best" network for connectivity? A: If any known WLANs have sufficiently good signal, then pick the best. Otherwise, fall back to overall best signal. The "sufficiently good" threshold will be tunable. considering the typical dual-homed laptop (wired + wireless). may run just one interface, or may run wired primary snooping wireless, or run wireless primary with the wired network connected to a managed device or used as a sensor.. and conceivably my preferred wlan might be different if I have wired connectivity... A: Is there a question here, or just thinking out loud? wes-6 section 5.2 "The name of the wepkey should indicate not only the network this wepkey is associated but also the user who inputs this wepkey.". um, why? A: Good question. The network is to distinguish it from other WEP keys, but we will double-check the user part. seb-1 20q question 4 mentions D-Bus. This got me thinking, would HAL and D-Bus be a good way for NWAM to discuver networking datalinks on the system? I'm curious to know how that's done in the current NWAM design, and if there's perhaps a missing piece of architecture in the HAL/D-Bus story to allow for this sort of discovery.