/srv/irclogs.ubuntu.com/2017/08/01/#cloud-init.txt

larskssmoser: fyi, this just merged in openstack nova: https://review.openstack.org/#/c/467699/13:25
larsksThat has implications for how cloud-init handles nameservers from openstack data sources.13:25
smoserlarsks, thanks for the heads up.. .reading.13:27
smoserinteresting.13:27
smoserfwiw, no linux networking configuration system that i'im aware of actually does dns servers specific to interfaces very well.13:27
larsksI dunno, my fedora environment seems to handle it pretty well (I have vpn-specific nameservers that are only used when the vpn is up).13:28
larsksAlthough I'm using a local dnsmasq proxy, which means that nothing ever touches /etc/resolv.conf.13:28
smoserand you send queries for *.<internal> and network/prefix correctly ?13:28
larsksDefinitely the former (all *.redhat.com stuff is handled by the vpn nameservers).  Haven't checked the latter, honestly.13:29
smoseri suspect you're getting all stuff sent there :)13:29
smoserand yeah, network manager does a *reasonable* job.13:30
larsksNo, only *.redhat.com goes to the vpn nameservers (as verified w/ tcpdump).13:30
larsksRequests for other domains go to my local router.13:30
smosernice.13:31
smosernote... in the bug there.13:31
larsksThis works via the dnsmasq --server option ("If one or more optional domains are given, that server is used only for those domains...")13:31
smoserit does not show any domain wildcards13:31
smoserright?13:31
smoseris there information that would say "send *.redhat.com queries here"13:31
larskssmoser: in my case, it's part of the vpn configuration.  The bigger use case w/r/t cloud-init is simply the fact that nameservers that are only reachable via a particular interface can be removed from the resolver configuration when the interface goes down, preventing hangs and other related behavior.13:32
smosersure.13:33
smoserbut if both are up?13:33
larsksThen it doesn't matter.13:33
smoseryes it does13:33
smoserif one has an answer and the other doesnt13:33
smoseror conflicting answers13:33
smoseri think cloud-init will handle this fine... have you tried ?13:34
smosercan you give me an example of the network_config.json ?13:34
larskscloud-init modifies only the global /etc/resolv.conf and does not populate dns information in the interface config files.13:34
larsksBecause until this change merged, that information simply wasn't available.,13:34
larsksThere was no way to configure it.13:34
larsksWe only received global information from openstack.13:34
smoserright... ok. it does do that for ENI (puts dns name servers on the interface that htey camne from)13:35
smoserdo you have an example ?13:35
smoserand i guess best thing to do is just make a cloud-init task for that bug13:35
smoseri can open that, unless you disagree.13:35
larsksNot handy, but the change is minimal: in addition to the global "services" section, there would be a per-network "services" section as well.13:36
larsksYeah, I was thinking of opening a cloud-init bug for it.  So go ahead.13:36
larsksI can spin up an environment running the latest nova and produce an example for a bug sometime this week.13:36
smoserlarsks, just to clarify, it almost certainly does matter which queries go to which server.13:46
smoserif you have all the same information in all the dns servers, then it seems like additional services with no value.13:46
smoseri realize there are some cases... but it seems that scoping those queries is pretty quickly goign to be important, so you can do things like *.redhat.com -> $REDHAT_DNS.13:47
larskssmoser:  assuming that all dns servers are equally able to answer questions, the value is that if you have dns servers that are only reachable via one interface, you can remove them from the resolver configuration if they are unreachable because the interface is down.13:48
smoseryeah.13:48
larsksI don't think we recieve sufficient information to make domain related decisions.13:48
smoserwe dont' in the provided network information for sure13:49
smoserthats what i'm saying :)13:49
larsksThat's not even possible to configure in openstack.13:49
larsksSo this is primarily an issue of reachability, and that is the value.13:49
smoserlarsks, http://paste.ubuntu.com/25220242/14:03
smoserthat adds a unit test that i think represents what you're change did.14:03
larsksRight, like that.14:03
smoserso if you're intereted in telling me what that *hsould* represent in sysconfig ... .patches are quite welcome :)14:03
larsksYup, I figured :)14:04
smoserlarsks, when you do make that change i suspect you'll break some of the other unit tests cases even test_small_config14:10
smoseras that has another network config format that does have dns entries per subnet14:10
larsksI think that's okay. I mean, both need to work.14:10
smoserright14:10
smoseryou'll just have to fix the expected output of those tests too14:11
smoserlarsks, hm..14:12
smoserwondering how sysconfig handles this14:12
rharperthere is per ifcfg DNS_ values14:14
smoserhttps://serverfault.com/questions/423882/configure-a-dns-server-per-nic-interface-eth0-eth114:14
rharpersomeone filed a bug about getting those in14:14
rharperDNS{1,2,3}14:15
smoserwell, we write IPV4DNS0 and IPV4DNS114:15
smoserbut that is per nic14:15
smosernot per address14:15
rharperit would need the index14:15
rharperjust like there's IPADDR1, 2, 314:15
smoserthe index of what ?14:15
larskssmoser: right now, we don't write per-nic dns servers (because they weren't available).14:15
rharperaddress index14:15
smoseri dont think it works like that :)14:15
larsksThat's what this change enabled.14:15
rharperit does14:15
smoserlarsks, right. openstack now provides per *address* dns information14:16
smoser(i think)14:16
smoserthats what i put in that patch at least.14:16
smoserie, the 'services' are now on a 'network' entry14:16
smoserand multiple networks per nic14:17
larsksSo pick 3, and have it.14:17
smoserbut the best i can tell is that sysconfig supports only per NIC dns information.14:17
larsksRight.14:17
larsksDNS config is per NIC.  And the most common config I've seen with openstack is one network/one nic, but sure, you can have multiple ones attached.14:18
larsksThe assumption there would be that they are all equally valid.14:18
larsksI don't think we receive information that would permit us to do per-prefix or per-domain routing of dns requests.14:19
smoserwell, i guess the thing that makes this ok is that sysconfig only really does things on a per NIC basis anyway14:19
larsksRight.14:19
smoserrather than a per-address-per-nic14:19
smoserso openstack is providing information that technically could represent a superset of what sysconfig can support14:19
smoserlarsks, http://paste.ubuntu.com/25220399/ . i think that includes the change for openstack.py that would be needed. but need changes in the sysconfig rendere to write the DNS* fields.14:45
smoserrather than rendering resolv.conf14:45
powersjrharper: All the errors from last night point to epel mirror issues. Was there another failure that I missed since you mentioned copr? I want to make sure I didn't miss a failure.17:43
powersj"Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again"17:44
powersjfrom all 3 failures17:44
smoserpowersj, i saw that too17:59
smoseri dont know.17:59
smoserits hard to believe that epel would be unreliable18:00
smosereven if copr was.18:00
powersjRight, re-running just now also resulted in failure18:00
smoserrharper suggested we can turn off the yum fastestmirror thing possibly to improve18:00
powersjso makes me wonder if something changed18:00
powersjI agree with that suggestion18:00
powersjas you saw we get very, very odd mirrors (e.g. japan?!)18:00
* blackboxsw pulls his head out of the AWS-init-local sand and gets onto SRU bug template writeups. The 2nd part (2 of 3) IPv6 AWS branches is up for review https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/328241. 18:12
rharperpowersj: there was one related to the copr repo timing out18:18
powersjhmm I didn't see that last night18:18
rharperTimeout on https://copr-be.cloud.fedoraproject.org/results/@cloud-init/el-stable/epel-7-x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')18:18
rharperdisabling fastmirror won't help there18:19
rharperI think copr might have been down at the time18:19
powersjoh.. I was looking at jenkins runs, we don't have one for that repo18:20
rharperright18:20
powersjsorry I heard "runs" and immediately jump to jenkins18:20
rharperno worries18:25
rharperI don't think we have much choice but to add some retries in there18:25
blackboxswsmoser: so how do we work this SRU for jsonschema optional dependency,  the upstream comit still contains the dependency defined https://git.launchpad.net/cloud-init/diff/requirements.txt?id=0a448dd034   But, I don't see a comparable filter defined in bddeb to prevent that python-jsonschema dependency from being added to the deb-requires.19:03
blackboxswdon't we need to prevent jsonschema from 'leaking' into package deps on xenial/zesty19:04
rharperblackboxsw: IIRC, the downstream packaging branch (ubuntu/xenial) will not update the debian/control file with the deps19:13
rharperor applies a patch that disabled it (removes it from a lest); but it will essentially always care some "Delta" from master19:13
rharpers/a lest/the list19:13
smoserblackboxsw, you're right.19:25
smoserthat is applied to the ubuntu packaging branches at19:25
smoser debian/patches/stable-release-no-jsonschema-dep.patch19:25
smoserah. and look at that... i actually even referenced it in the debian changelog ;)19:25
smoser(i figured i'd missed it)19:26
smoser  * debian/patches/stable-release-no-jsonschema-dep.patch:19:26
smoser    add patch to remove optional dependency on jsonschema.19:26
smoserblackboxsw, for bug 1701097, bug 1705147 and bug 1706752 i suggest we verify using tools/net-convert.py19:29
ubot5bug 1701097 in cloud-init (Ubuntu Zesty) "eni rendering of ipv6 gateways fails" [Medium,Confirmed] https://launchpad.net/bugs/170109719:29
ubot5bug 1705147 in cloud-init (Ubuntu Zesty) "cloud-init interface renaming should apply .lower() to mac_address values to match sysfs entries" [Medium,Confirmed] https://launchpad.net/bugs/170514719:29
ubot5bug 1706752 in cloud-init (Ubuntu Zesty) "eni rendering broken for bridge params that require repeated key for values" [Medium,Confirmed] https://launchpad.net/bugs/170675219:29
smosersimilar template to19:29
smoser https://bugs.launchpad.net/cloud-init/+bug/168434919:29
ubot5Ubuntu bug 1684349 in cloud-init " mask2cidr error with integer value - argument of type 'int' is not iterable" [Medium,Fix committed]19:29
smoserwe just have to come up with appropriate network config that would show these changes.19:29
rharpersmoser: blackboxsw: most of the network configs that show it are taken from curtin's vmtests19:42
rharperI think many of the bugs include an example config that's broken as well19:42
blackboxswsmoser: thanks for confirmation on the patch preventing jsonschema dep.19:52
blackboxswand agreed on using  net_convert19:52

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!