canonical / cloud-init

Official upstream for the cloud-init: cloud instance initialization
https://cloud-init.io/
Other
2.97k stars 880 forks source link

cloud-init openstack.py code does not recognize network type 'tap' #2704

Closed ubuntu-server-builder closed 1 year ago

ubuntu-server-builder commented 1 year ago

This bug was originally filed in Launchpad as LP: #1610784

Launchpad details
affected_projects = ['cloud-init (Ubuntu)', 'cloud-init (Ubuntu Xenial)']
assignee = smoser
assignee_name = Scott Moser
date_closed = 2016-09-12T20:49:29.614831+00:00
date_created = 2016-08-08T03:14:23.967197+00:00
date_fix_committed = 2016-08-12T21:22:58.650363+00:00
date_fix_released = 2016-09-12T20:49:29.614831+00:00
id = 1610784
importance = medium
is_complete = True
lp_url = https://bugs.launchpad.net/cloud-init/+bug/1610784
milestone = None
owner = xianghui
owner_name = Xiang Hui
private = False
status = fix_released
submitter = xianghui
submitter_name = Xiang Hui
tags = ['verification-done']
duplicates = []

Launchpad user Xiang Hui(xianghui) wrote on 2016-08-08T03:14:23.967197+00:00

==== Begin SRU Template ==== [Impact] Certain versions and configurations of Openstack produce a config drive that has network devices described as 'type: tap'. Previously cloud-init would require those to be 'type: ethernet' or other.

The fix was to allow 'tap' to be considered a "physical" type from the guest VM's perspective.

[Test Case]   Boot a VM in the reporters environment,   add proposed,   rm -Rf /var/lib/cloud /var/log/cloud-init   reboot   verify working network and no WARN in /var/log/cloud-init.

[Regression Potential] This is verified fixed for the user in yakkety, and the fix understood, so likely the fix will work in xenial.

The regression potential would be if a network_config.json file actually tried to create 'tap' network interfaces and referred to them as type: tap. This would consider those to be physical interfaces. However, 'tap' type would not have been understood previously. And the bug in that case is in openstack for giving non-deterministic configuration. ==== End SRU Template ====

== System info == Xenial 16.04.1, Mitaka, MAAS 2.0 (RC2 currently), JuJu 2.0 (beta7 currently - awaiting beta14), 16.07 Charms, neutron-calico-11 (awaiting fix for another bug).

== Config drive link ==

https://gist.github.com/anonymous/ce20298b9e12e7fe77851552c2a91243

== Error log == From line 574 in https://git.launchpad.net/cloud-init/tree/cloudinit/sources/helpers/openstack.py:

if link['type'] in ['ethernet', 'vif', 'ovs', 'phy', 'bridge']:

Jul 28 10:31:38 ubuntu cloud-init[1209]: failed run of stage init-local Jul 28 10:31:38 ubuntu cloud-init[1209]: ------------------------------------------------------------ Jul 28 10:31:38 ubuntu cloud-init[1209]: Traceback (most recent call last): Jul 28 10:31:38 ubuntu cloud-init[1209]: File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 530, in status_wrapper Jul 28 10:31:38 ubuntu cloud-init[1209]: ret = functor(name, args) Jul 28 10:31:38 ubuntu cloud-init[1209]: File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 277, in main_init Jul 28 10:31:38 ubuntu cloud-init[1209]: init.apply_network_config(bring_up=bool(mode != sources.DSMODE_LOCAL)) Jul 28 10:31:38 ubuntu cloud-init[1209]: File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 631, in apply_network_config Jul 28 10:31:38 ubuntu cloud-init[1209]: netcfg, src = self._find_networking_config() Jul 28 10:31:38 ubuntu cloud-init[1209]: File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 618, in _find_networking_config Jul 28 10:31:38 ubuntu cloud-init[1209]: if self.datasource and hasattr(self.datasource, 'network_config'): Jul 28 10:31:38 ubuntu cloud-init[1209]: File "/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceConfigDrive.py", line 159, in network_config Jul 28 10:31:38 ubuntu cloud-init[1209]: self.network_json, known_macs=self.known_macs) Jul 28 10:31:38 ubuntu cloud-init[1209]: File "/usr/lib/python3/dist-packages/cloudinit/sources/helpers/openstack.py", line 599, in convert_net_json Jul 28 10:31:38 ubuntu cloud-init[1209]: 'Unknown network_data link type: %s' % link['type']) Jul 28 10:31:38 ubuntu cloud-init[1209]: ValueError: Unknown network_data link type: tap Jul 28 10:31:38 ubuntu cloud-init[1209]: ------------------------------------------------------------

ubuntu-server-builder commented 1 year ago

Launchpad user Scott Moser(smoser) wrote on 2016-08-12T21:22:57.721068+00:00

fixed in 8028c9234ec4260eda9431bffc6728ac3703e243

ubuntu-server-builder commented 1 year ago

Launchpad user Launchpad Janitor(janitor) wrote on 2016-08-12T23:12:32.199599+00:00

This bug was fixed in the package cloud-init - 0.7.7-10-gbc2c326-0ubuntu1


cloud-init (0.7.7-10-gbc2c326-0ubuntu1) yakkety; urgency=medium

ubuntu-server-builder commented 1 year ago

Launchpad user Launchpad Janitor(janitor) wrote on 2016-08-30T20:52:13.273572+00:00

Status changed to 'Confirmed' because the bug affects multiple users.

ubuntu-server-builder commented 1 year ago

Launchpad user Bert JW Regeer(bregeer-ctl) wrote on 2016-08-30T20:52:40.774105+00:00

Could we get a release for Xenial?

ubuntu-server-builder commented 1 year ago

Launchpad user Scott Moser(smoser) wrote on 2016-09-12T20:49:47.648700+00:00

fixed in 0.7.8.

ubuntu-server-builder commented 1 year ago

Launchpad user Chris J Arges(arges) wrote on 2016-09-13T20:16:22.722058+00:00

Hello Xiang, or anyone else affected,

Accepted cloud-init into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/0.7.7-31-g65ace7b-0ubuntu1~16.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

ubuntu-server-builder commented 1 year ago

Launchpad user Scott Moser(smoser) wrote on 2016-09-14T01:28:39.834012+00:00

Bert, Xiang, could you please test this ?

ubuntu-server-builder commented 1 year ago

Launchpad user Martin Pitt(pitti) wrote on 2016-09-15T14:30:15.917942+00:00

Hello Xiang, or anyone else affected,

Accepted cloud-init into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/0.7.8-1-g3705bb5-0ubuntu1~16.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

ubuntu-server-builder commented 1 year ago

Launchpad user Xiang Hui(xianghui) wrote on 2016-09-21T08:49:42.922696+00:00

@Scott

Thanks for the commit, just let you know that I am setting up the environment and do the testing.

ubuntu-server-builder commented 1 year ago

Launchpad user Scott Moser(smoser) wrote on 2016-09-22T17:05:35.894401+00:00

I've marked this as verification done. The bug opener has previously verified yakkety, and this code is the same as in yakkety. Additionally, the most likely failure would be still failure of this use case (which was broken before), so this wont make it any worse.

Xiang Hui, please do continue to verify and post results here.

ubuntu-server-builder commented 1 year ago

Launchpad user Launchpad Janitor(janitor) wrote on 2016-09-22T17:34:08.065412+00:00

This bug was fixed in the package cloud-init - 0.7.8-1-g3705bb5-0ubuntu1~16.04.1


cloud-init (0.7.8-1-g3705bb5-0ubuntu1~16.04.1) xenial-proposed; urgency=medium

cloud-init (0.7.7-31-g65ace7b-0ubuntu1~16.04.2) xenial-proposed; urgency=medium

cloud-init (0.7.7-31-g65ace7b-0ubuntu1~16.04.1) xenial-proposed; urgency=medium

ubuntu-server-builder commented 1 year ago

Launchpad user Chris J Arges(arges) wrote on 2016-09-22T17:35:20.792137+00:00

The verification of the Stable Release Update for cloud-init has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

ubuntu-server-builder commented 1 year ago

Launchpad user Xiang Hui(xianghui) wrote on 2016-10-10T12:43:59.031930+00:00

Verified with below network_data.json, no errors found out in cloud-init log.

{"services": [{"type": "dns", "address": "10.0.8.1"}], "networks": [{"network_id": "bd024b7d-a246-453c-8e72-7216d9539bae", "link": "taped13e7a8-06", "type": "ipv4_dhcp", "id": "network0"}], "links": [{"ethernet_mac_address": "fa:16:3e:6a:52:32", "mtu": 1458, "type": "tap", "id": "taped13e7a8-06", "vif_id": "ed13e7a8-065f-47a6-b068-2811abe91dd2"}]}