[00:09] Hi upstream folks, I realized that cloud-init recently began using pycloudlib for integration tests. Azure support for integration tests was just added in https://github.com/canonical/cloud-init/pull/604 [00:10] Do you know where the integration tests are defined in? I've looked around pycloudlib and cloud-init, but can't seem to find where the suite of integration tests are defined. [08:47] rharper, smoser how can we set IPV6_FORCE_ACCEPT_RA to no from cloudinit, for any ipv6 static configuration. I see this set to yes by default, env: RHEL8, cloudinit-19.4, power hardware. [08:49] we wanted to set IPV6_AUTOCONF=no in ipv6 interface in ifcfg-* files [09:18] above is for static configuration of ipv6 [12:55] final failing tests fixed, now it's time to start removing more duplicates and wrappers of generate_fallback_config()! [14:42] smoser: Hi it will be great help if you can review the changeset https://github.com/canonical/cloud-init/pull/584/files [15:04] vijayendra: what does your network-config look like? reading cloudinit/net/sysconfig.py: IPV6_AUTOCONF defaults to no; except if the subnet is 'ipv6_slaac' or 'ipv6_dhcpv6-stateless'; the 'accept-ra' network config key translates to IPV6_FORCE_ACCEPT_RA on rhel; [15:05] vijayendra: I suggest you work with cloud-init devel net-convert ; you can provide input config and it will render distro specific network config output to a directory so you can adjust the inputs to get your desired output [15:33] paride: minor merge conflict that will need sorting on https://github.com/canonical/cloud-init/pull/576 [15:34] paride: and since Dan is about to land another PR for Azure, might want to rebase off of tip of master once https://github.com/canonical/cloud-init/pull/590 lands [15:34] Odd_Bloke: is https://github.com/canonical/cloud-init/pull/590 ready? [15:34] blackboxsw, +1 [15:34] I'll rebase after #590 lands [15:34] CI passed on #590 now, and in approved state [15:35] BTW paride first time I've seen const used on argparse. Thanks for that [15:36] not that I knew it before using it there :P [15:54] Yep, #590 is the PR I referenced in stand-up as just waiting on CI; I've just merged it. [15:55] paride: ^ #590 has landed. [15:56] ty Odd_Bloke [16:49] what's const in python / argparse? [17:11] rharper, Looks like cloudinit did not any entry related to IPV6_AUTOCONF and IPV6FORWARDING [17:11] when no entry added IPV6_AUTOCONF seems to be yes and IPV6FORWARDING is no [17:11] If IPV6FORWARDING=yes, then IPV6_AUTOCONF will default to no. [17:11] If IPV6FORWARDING=no, then IPV6_AUTOCONF will default to yes [17:11] configdrive metadata_json: https://paste.ubuntu.com/p/8HkQtzWFyh/ [17:11] cloud.cfg: https://paste.ubuntu.com/p/KbNGjqHYYq/ [17:11] ifcfg-env3: https://paste.ubuntu.com/p/CZvP3yGBGH/ [17:13] rharper, ignore bootcmd in the cloud.cfg at the end [17:13] was added that because I couldn't figure out other way [17:54] vijayendra: I don't know if there is a bug or if you want a different configuration; but given what we have from openstack in your network config; it's not clear to me how cloud-init can make a choice about the variables you want set or unset; [17:56] rharper, I did check code here cloudinit/net/sysconfig.py, it doesn't seems to have any key I can specify in network_data.json for the same [17:58] the flow is network_data.json (parsed by cloudinit/sources/helpers/openstack.py:convert_net_json() into a network-v1 config -> (internal net state) -> sysconfig.py renders; now; looking at network_data.json input ... what in that JSON indicates to cloud-init that it should configure IPV6 the way you want it to be configured? [17:58] I don't believe network_data.json from openstack is *specific* enough to let cloud-init know that IPV6 should enable/disable RAs for static addresses; [17:58] or anything at all about forwarding [17:59] so, what can cloud-init do here? [18:02] rharper, True, I did work with few changes in network_data.json like specifying accept_ra: no and mode: link-local etc... no success , I failed to construct a right network_data.json here to tell cloudinit to configure IPV6_AUTOCONF to no and IPV6_FORCE_ACCEPT_RA to no [18:03] are you creating a custom config-drive payload? or is openstack generating this for you ? [18:07] openstack generated one(with minor changes to it), I am working with cloud-init devel convert as shown here https://paste.ubuntu.com/p/Tb5vk6SgT4/ [18:10] rharper, currently trying to construct network_data.json to so that I can have sysconfig something like shown here https://paste.ubuntu.com/p/kPVP8JrZqH/ [18:13] do none of the typical modes work? it seems like you'd want one of the DHCP modes; otherwise if you disable RA; how will you get next neighbor hop ? you have no gateway provided, no ? [18:14] typically we see, SLAAC, or DHCP6 (stateful or stateless); and if you;re purely static I'd think you'd want to accept router advertisements for getting packets to/from the instance; ? [18:15] currently no ipv6 router, ipv6 interface is used for local lan communication b/w vms [18:15] its a static configuration [18:16] ok, but what's wrong with enabling autoconf ? [18:16] if you have no routers doing advertisements, then it just sends out the request every so often; could be disabled separately from cloud-init (or in a runcmd ) [18:17] when you enable autoconf ra is enabled too. meaning without ipv6 router, ipv6 interface has few issues on RHEL [18:18] right, I know it enables RA; what issues? [18:18] it sends neighbor requests every so often and backs off ; you can also disable RA via sysctl commands [18:19] ipv6 interface ip address fluctuates every now and then [18:19] that doesn't sound right; you have a static ip; it does neighbor discovery to determine if the address is local or global ... but I wouldn't think the address actually changes; that sounds like a serious bug [18:20] in any case; network_data.json doesn't have a "ipv6_static_no_ra" network type yet; so I don;t think cloud-init is ever going to render a config the way you want; [18:22] yes true. Let me share you ip a output for you which we were monitoring using some script [18:22] fixing up the rendered config later in boot with runcmd program might not help if you networking is unreliable until you can disable RA; maybe bake a sysctl setting into the image? [18:22] vijayendra: I don't need to see it; it sounds like a RHEL bug; but maybe it is expected for ipv6 in some scenarios; I know a bit but not a ton on ipv6; [18:25] rharper, I did try sysctl settings like below but no success [18:25] net.ipv6.conf.all.autoconf=0 [18:25] net.ipv6.conf.all.accept_ra=0 [18:29] sounds like a bug or the issue isn't related to ra; or that doesn't turn off RA the way its needed; [18:30] rharper, ok. but not sure of any other way right now. if you check nmcli -o connection show System\ env5 ---> ipv6.method auto even though we have static ip address. this has to be manual or link-local [18:30] we don't configure nm directly [18:31] so that could be an nm bug as it's parsing sysconfig second hand [20:41] Hi. Looking to get this into the October SRU. Has been reviewed by AnhVoMSFT and signed off. Would appreciate review and help in getting this merged. https://github.com/canonical/cloud-init/pull/613 [21:18] we have another SRU coming up?? [21:26] I believe there's a tentative plan for an SRU end of October