Merge lp://staging/~josvaz/vmbuilder/jenkins_kvm+fix-eth1boot into lp://staging/~ubuntu-on-ec2/vmbuilder/jenkins_kvm

Proposed by Jose L. VG
Status: Merged
Merged at revision: 779
Proposed branch: lp://staging/~josvaz/vmbuilder/jenkins_kvm+fix-eth1boot
Merge into: lp://staging/~ubuntu-on-ec2/vmbuilder/jenkins_kvm
Diff against target: 124 lines (+67/-30)
1 file modified
templates/img-extra-nets.tmpl (+67/-30)
To merge this branch: bzr merge lp://staging/~josvaz/vmbuilder/jenkins_kvm+fix-eth1boot
Reviewer Review Type Date Requested Status
Robert C Jennings (community) Approve
Philip Roche (community) Approve
Review via email: mp+310047@code.staging.launchpad.net

Description of the change

Remove the ifup call that was breaking the boot

ifup should be unnecesary with allow-hotplug, but in this case it was making the first boot hung, even if invoked in the background.

I also made some improvements to the udev rule to avoid it being invoked on eth0 and use RUN instead of PROGRAM.

To post a comment you must log in.
Revision history for this message
Jose L. VG (josvaz) wrote :

Commit 774 re-applies the broken eth1+ autoconfig patch.
Commit 775 is the actual fix.
Commit 776 is a enhancement.

Revision history for this message
Jose L. VG (josvaz) wrote :

Although it looks good so far, this is still under testing.
Feel free to review and even Approve, but code won't be merged until all testing is completed succesfully.

Revision history for this message
Philip Roche (philroche) wrote :

Syntax looks good to me.

review: Approve
Revision history for this message
Jose L. VG (josvaz) wrote :

Will need more work, testing reveals that trusty fails to boot now.
This is a surprise, as the eth1+ patch tries to apply most changes to xenial, onward, leaving previous releases like trusty almost untouched, apart from using /run... for the ephemeral net devices config instead of /etc/network/interfaces/dynamic.d

Revision history for this message
Jose L. VG (josvaz) wrote :

upstart code path fixed with commit 777, please review

Revision history for this message
Jose L. VG (josvaz) wrote :

This MP has passed manual multi-nic tests for the combinations:
{Standard_DS2_v2,A8} x {precise, trusty, xenial, yakkety, zesty}

No issues or regressions found.

Revision history for this message
Robert C Jennings (rcj) wrote :

This looks good. Glad to hear that testing covered the two instance types across the full set of supported suites.

review: Approve
Revision history for this message
Jose L. VG (josvaz) wrote :

I will be merging this once I pass all AzureTests against all suites using test images

Revision history for this message
Jose L. VG (josvaz) wrote :

xenial tests:

https://cloud-images-jenkins.canonical.com/view/Azure/job/Azure-Tests/787/

Ubuntu_DAILY_BUILD-xenial-16_04-LTS-amd64-server-20161104-ethx-1478604131-en-us-30GB

Revision history for this message
Jose L. VG (josvaz) wrote :
Revision history for this message
Jose L. VG (josvaz) wrote :

Trusty tests:
Ubuntu_DAILY_BUILD-trusty-14_04_5-LTS-amd64-server-20161104-ethx-1478613062-en-us-30GB
https://cloud-images-jenkins.canonical.com/view/Azure/job/Azure-Tests/788/

Revision history for this message
Jose L. VG (josvaz) wrote :

Trusted passed

(Passed = unstable ONLY in lxd tests, success everywhere else)

Revision history for this message
Jose L. VG (josvaz) wrote :

Just discovered the precise test image is NOT properly built:
- It has the udev changes IN, instead of the upstart ones.

I checked trusty (that just passed the tests) and is ALSO using the udev change sinstead of the upstart.

I think something did not work as expected when bulding the Azure tests images. I am guessing I might have missed a build parameter setting. Precise & trusty were built as if SUITE was set to xenial or yakkety.

I can let yakkety pass the tests (as the image will be buolt correctly for it) and then repeat trusty test and add precise tests ONCE I get test images properly built for them.

Revision history for this message
Jose L. VG (josvaz) wrote :

Just a clarification, so far NOTHING is found wrong with the MP, the test images might have been misbuilt due to improper inputs. When I did test the MP manually trusty & precise where setup with upstart and no udev, as expected.

Revision history for this message
Jose L. VG (josvaz) wrote :

Yakkety tests:
Ubuntu_DAILY_BUILD-yakkety-16_10-amd64-server-20161105-ethx-1478613973-en-us-30GB
https://cloud-images-jenkins.canonical.com/view/Azure/job/Azure-Tests/789/

Revision history for this message
Jose L. VG (josvaz) wrote :

Need to setup
https://cloud-images-jenkins.canonical.com/view/Azure/job/CloudImages_Azure-Custom_or_Test_Images/configure
So that the KVM scipt ALSO gets passed the proper SUITE variable.

Right now some scripts infer SUITE from VERSION. But the value is NOT job wide scope, so if it is not detected in the script, it is NOT set.

Revision history for this message
Jose L. VG (josvaz) wrote :

Yakkety tests failed in a couple of LXD test cases:
https://cloud-images-jenkins.canonical.com/view/Azure/job/Azure-Tests/789/

Rerunning those as I think they are transients.

Revision history for this message
Jose L. VG (josvaz) wrote :

Yakkety tests passed, the issues were transient as suspected:
https://cloud-images-jenkins.canonical.com/view/Azure/job/Azure-Tests/789/
https://cloud-images-jenkins.canonical.com/view/Azure/job/Azure-Tests/790/

Pending are the precise, trusty & zesty tests, but for that I need first to fix this job:
https://cloud-images-jenkins.canonical.com/view/Azure/job/CloudImages_Azure-Custom_or_Test_Images/configure
To make sure the test images are generated with a proper SUITE setting.

Revision history for this message
Jose L. VG (josvaz) wrote :
Revision history for this message
Jose L. VG (josvaz) wrote :

For some reason, the KVM builds of precise & trusty is STILL not getting my SUITE setting right.

Revision history for this message
Jose L. VG (josvaz) wrote :

Turns out that inside KVM the SUITE var used is in lowercase "suite"!

So instead of fixing the lack of consistency I should probably just fix this MP instead and use ${suite} instead of ${SUITE}

Revision history for this message
Jose L. VG (josvaz) wrote :

Suite variable used now by this MP is lowercase, so lets try it...

Revision history for this message
Jose L. VG (josvaz) wrote :

precise test image created correctly now:

Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20161109-ethx-1479204698-en-us-30GB

https://cloud-images-jenkins.canonical.com/view/Azure/job/CloudImages_Azure-Custom_or_Test_Images/307/console

Revision history for this message
Jose L. VG (josvaz) wrote :
Revision history for this message
Jose L. VG (josvaz) wrote :

trusty test image createc correctly:
Ubuntu_DAILY_BUILD-trusty-14_04_5-LTS-amd64-server-20161111-ethx-1479205498-en-us-30GB

https://cloud-images-jenkins.canonical.com/view/Azure/job/CloudImages_Azure-Custom_or_Test_Images/308/console

Revision history for this message
Jose L. VG (josvaz) wrote :
Revision history for this message
Jose L. VG (josvaz) wrote :

trusty test image passed AzureTests as expected (only unstable at lxd tests):
https://cloud-images-jenkins.canonical.com/job/Azure-Tests/792/

precise test experienced a single failure, a transient:
https://cloud-images-jenkins.canonical.com/view/Azure/job/Azure-Tests/791/

Rerun of the failed precise test passed at:
https://cloud-images-jenkins.canonical.com/view/Azure/job/Azure-Tests/793/

Revision history for this message
Jose L. VG (josvaz) wrote :

This MP right now passes all AzureTests for all supported suites.

Zesty is missing but I fear I will continue to have issues creating a test image for it.

Please review and approve, also let me know if we should or not wait for zesty tests to marge this MP.

Revision history for this message
Jose L. VG (josvaz) wrote :

Might have fixed the zesty test image building for Azure, testing it here:
https://cloud-images-jenkins.canonical.com/view/Azure/job/CloudImages_Azure-Custom_or_Test_Images/311/console

Revision history for this message
Jose L. VG (josvaz) wrote :

zesty test image produced:
https://cloud-images-jenkins.canonical.com/view/Azure/job/CloudImages_Azure-Custom_or_Test_Images/311/console

Ubuntu_DAILY_BUILD-zesty-17_04-amd64-server-20161111-ethx-1479217570-en-us-30GB

Now I need to validate is probably built with this MP changes applied to the image.

Revision history for this message
Jose L. VG (josvaz) wrote :

Zesty image is good, it has the MP changes as expected.

Testing now at:
https://cloud-images-jenkins.canonical.com/view/Azure/job/Azure-Tests/794/

Revision history for this message
Jose L. VG (josvaz) wrote :

Zesty passed:
https://cloud-images-jenkins.canonical.com/view/Azure/job/Azure-Tests/794/

As zesty can pass right now in Azure, which is azure-general fails due to a known issue, which bug I can't find at the moment.

Revision history for this message
Jose L. VG (josvaz) wrote :

Please, review, all test passed this is ready to go!

Revision history for this message
Jose L. VG (josvaz) wrote :

BTW, the zesty azure-general issue is:
https://bugs.launchpad.net/cloud-images/+bug/1638964

Revision history for this message
Philip Roche (philroche) wrote :

LGTM

review: Approve
Revision history for this message
Robert C Jennings (rcj) wrote :

+1 on the SuItE change.

Revision history for this message
Robert C Jennings (rcj) :
review: Approve
775. By Jose L. VG

Re-apply eth1+ changes to be fixed

776. By Jose L. VG

Remove the ifup call that was breaking the boot

ifup should be unnecesary with allow-hotplug, but in this case it was
making the first boot hung, even if invoked in the background.

777. By Jose L. VG

Enhance udev rule: skip eth0 and do RUN

The udev expressions are not full regex, eth[1-9]* just means:
'eth' followed by a number 1-9 and 'zero or more chars'
That will NOT match eth0 (or eth0something) but will match eth1 to eth99
(and will also match things like eth2xd)

Also looking at udev man RUN is more appropriate as it is an action,
while PROGRAM is still part of the matching filters.

778. By Jose L. VG

Place mkdir at the proper time for upstart

The mkdir was was misplaced for upstart code path, as the new directory
we use under /run is already mounted by the OS we don't need to create it
at image preparation time, BUT we do need it to be there for autoconfig
eth1+ to work.

779. By Jose L. VG

Fix ${SUITE} to ${suite}

Turns out that KVM templates in general (and Azure ones specifically) use the
variable name $suite} lowercase instead of the more common uppercase ${SUITE}
in jenkins and jerff env variables.

Revision history for this message
Jose L. VG (josvaz) wrote :

This has been "git pull --rebase"d so that now they can be mergen cleanly

Revision history for this message
Jose L. VG (josvaz) wrote :

merged cleanly I meant

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches