Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable IPv6 Support for Provisioning #96

Merged
merged 4 commits into from
Dec 10, 2019
Merged

Conversation

@metal3-io-bot metal3-io-bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 17, 2019
@metal3-io-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hardys

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@metal3-io-bot metal3-io-bot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Oct 17, 2019
@hardys hardys force-pushed the ipv6 branch 2 times, most recently from 6ff2acc to bcf972f Compare October 17, 2019 16:58
@metal3-io-bot metal3-io-bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Oct 17, 2019
@stbenjam
Copy link
Member

stbenjam commented Oct 17, 2019

Status:

  • BMO can deploy with custom config map
  • Sample config map with IPv6 config
  • provisioning host httpd can now start and listens on IPv6 address with correct inspector URL configured (the cluster one not yet, we'll need to add the env var to the config map)

lib/common.sh Outdated Show resolved Hide resolved
@metal3-io-bot metal3-io-bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Oct 21, 2019
@stbenjam
Copy link
Member

I've got the kustomize version of things working, and got the basics for local image support up.

Ironic API is also up and responding on IPv6 now.

@stbenjam
Copy link
Member

stbenjam commented Oct 21, 2019

The way I've been testing this is

export IRONIC_LOCAL_IMAGE=file:///home/notstack/ironic-image
export IRONIC_INSPECTOR_LOCAL_IMAGE=file:///home/notstack/ironic-inspector-image
export KUSTOMIZE_OVERLAY=$PWD/ipv6
export PROVISIONING_IPV6=true

With the PR's linked in the description checked out in those paths.

ipv6/kustomization.yaml Outdated Show resolved Hide resolved
01_prepare_host.sh Outdated Show resolved Hide resolved
02_configure_host.sh Outdated Show resolved Hide resolved
03_launch_mgmt_cluster.sh Outdated Show resolved Hide resolved
ipv6/kustomization.yaml Outdated Show resolved Hide resolved
@metal3-io-bot metal3-io-bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Oct 22, 2019
@metal3-io-bot metal3-io-bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Oct 22, 2019
@metal3-io-bot metal3-io-bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Nov 6, 2019
@derekhiggins
Copy link
Member

Changes required in the IPA image to support IPv6
Bump up ipa-ip-lookup-attempts to 6 - https://review.opendev.org/#/c/695546/ (merged in master)
Add IPv6 support in dhcp-all-interfaces - https://review.opendev.org/#/c/692110/

@hardys
Copy link
Member Author

hardys commented Nov 27, 2019

Changes required in the IPA image to support IPv6
Bump up ipa-ip-lookup-attempts to 6 - https://review.opendev.org/#/c/695546/ (merged in master)
Add IPv6 support in dhcp-all-interfaces - https://review.opendev.org/#/c/692110/

These both landed, as did the ironic-image changes - @stbenjam would you like to rebase/squash the series now so we can start a final review/test pass?

I'm thinking we could land this iteration then work on switching the BMC ips to v6 as a follow-up?

@hardys
Copy link
Member Author

hardys commented Dec 5, 2019

/test-integration

@hardys
Copy link
Member Author

hardys commented Dec 5, 2019

/test-centos-integration

@hardys
Copy link
Member Author

hardys commented Dec 9, 2019

/test-integration

@hardys
Copy link
Member Author

hardys commented Dec 9, 2019

/test-centos-integration

@hardys
Copy link
Member Author

hardys commented Dec 9, 2019

@stbenjam I tested locally and I think the CI failures are real - I see the nodes fail to start with a libvirt error starting the domain - it can't find /usr/share/OVMF/OVMF_VARS.fd

Does that sound familiar?

@stbenjam
Copy link
Member

stbenjam commented Dec 9, 2019

That'd be the OVMF firmware when doing UEFI boot, are you testing ipv6?

@stbenjam
Copy link
Member

stbenjam commented Dec 9, 2019

Looks like we forgot to explicitly installed edk2-ovmf (EL) and ovmf (Ubuntu) packages, I've added them to the Ansible roles.

@stbenjam
Copy link
Member

stbenjam commented Dec 9, 2019

/test-integration

@stbenjam
Copy link
Member

stbenjam commented Dec 9, 2019

/test-centos-integration

This adds the OVMF packages to be installed so Libvirt can boot UEFI
hosts for testing  IPv6.
@hardys
Copy link
Member Author

hardys commented Dec 9, 2019

Thanks, this worked for me locally with ipv4 so lets hope CI agrees :)

@stbenjam
Copy link
Member

stbenjam commented Dec 9, 2019

/test-integration

@stbenjam
Copy link
Member

stbenjam commented Dec 9, 2019

/test-centos-integration

@stbenjam
Copy link
Member

stbenjam commented Dec 9, 2019

Tests are green!!

@hardys
Copy link
Member Author

hardys commented Dec 9, 2019

Good to see the CI pass now, and this works fine locally on centos7 without PROVISIONING_IPV6 set, but when I enable ipv6 we fail to pxeboot the ramdisk.

I wonder if that's a centos7 vs el8 thing, I'll re-test on el8 to confirm tomorrow.

@hardys
Copy link
Member Author

hardys commented Dec 10, 2019

Ok I re-tested this on a freshly installed RHEL8 host and it worked, although the pxe boot of node-1 hung and only worked after a manual force-reset of the VM.

@stbenjam I think we should go ahead and merge this, then iterate on any remaining issues, but do you think we should either add a comment in the example config that this won't work on centos7, or raise an issue to track that?

I suspect we may want to add centos8 support and just say this is unsupported on centos7, otherwise we'll have to figure out what the problems are with the roms on centos7.

@stbenjam
Copy link
Member

Ok I re-tested this on a freshly installed RHEL8 host and it worked, although the pxe boot of node-1 hung and only worked after a manual force-reset of the VM.

@stbenjam I think we should go ahead and merge this, then iterate on any remaining issues, but do you think we should either add a comment in the example config that this won't work on centos7, or raise an issue to track that?

I suspect we may want to add centos8 support and just say this is unsupported on centos7, otherwise we'll have to figure out what the problems are with the roms on centos7.

There weren't any CentOS 8 cloud images when I looked. Today it looks like there are vagrant images in http://cloud.centos.org/centos/8/, so maybe they're getting closer to getting them all built.

The reason CentOS 7 doesn't work is because the cloud images are BIOS only. FCOS and Ubuntu both have dual BIOS/UEFI images. Hopefully when CentOS 8 images come out they will be dual boot.

@hardys
Copy link
Member Author

hardys commented Dec 10, 2019

Ok I raised #149 to track getting some support for centos w/ipv6 - lets merge this and iterate on that as a follow-up.

@hardys
Copy link
Member Author

hardys commented Dec 10, 2019

/lgtm

@metal3-io-bot
Copy link
Collaborator

@hardys: you cannot LGTM your own PR.

In response to this:

/lgtm

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@russellb
Copy link
Member

/lgtm

@metal3-io-bot metal3-io-bot added the lgtm Indicates that a PR is ready to be merged. label Dec 10, 2019
@metal3-io-bot metal3-io-bot merged commit b6d4da1 into metal3-io:master Dec 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants