Skip to content

WIP Set host_ip for ironic API bind address#56

Closed
hardys wants to merge 1 commit intometal3-io:masterfrom
hardys:bind_ip
Closed

WIP Set host_ip for ironic API bind address#56
hardys wants to merge 1 commit intometal3-io:masterfrom
hardys:bind_ip

Conversation

@hardys
Copy link
Copy Markdown
Member

@hardys hardys commented Jun 13, 2019

This ensures we only listen on the provisioning network, not
0.0.0.0

Fixes: #55

This ensures we only listen on the provisioning network, not
0.0.0.0

Fixes: metal3-io#55
Copy link
Copy Markdown
Member

@dtantsur dtantsur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change looks good. Do we need to change the instructions for accessing ironic API using openstackclient?

@hardys
Copy link
Copy Markdown
Member Author

hardys commented Jun 13, 2019

The change looks good. Do we need to change the instructions for accessing ironic API using openstackclient?

Hmm good point, dev-scripts says export OS_URL=http://localhost:6385/ but pretty soon I'm going to move ironic to the bootstrap VM, so that was going to change to the API VIP, which won't work with this new setup.

Hmm.

@hardys
Copy link
Copy Markdown
Member Author

hardys commented Jun 13, 2019

I think having this traffic internal and not accessible via the public network is correct from a security perspective, so perhaps we'll just set up some port forwarding via SSH in dev-scripts to make the move to the bootstrap VM transparent, and in the interim we could setup an iptables rule to forward from localhost to the provisioning nic?

@hardys hardys changed the title Set host_ip for ironic API bind address WIP Set host_ip for ironic API bind address Jun 13, 2019
@hardys
Copy link
Copy Markdown
Member Author

hardys commented Jun 13, 2019

Marking this WIP until we figure out the best way to not break existing deployments/testing.

@hardys
Copy link
Copy Markdown
Member Author

hardys commented Jun 13, 2019

Actually there is some complexity here;

  • On the bootstrap VM we need to access ironic from the installer, e.g via the public/baremetal nic, and the deployed nodes need to reach ironic via the provisioning network

  • On the cluster we really don't want to bind to all interfaces, or tenant users connecting to the k8s API will be able to see it, modulo firewall rules which I've not yet checked.

I think the safest option is to bind to a specific network in the container config, then when needed (e.g on the bootstrap VM) set up a forwarding rule to enable the necessary access.

@derekhiggins
Copy link
Copy Markdown
Member

Build SUCCESS, see build http://10.8.144.11:8080/job/dev-tools/740/

@derekhiggins
Copy link
Copy Markdown
Member

I think having this traffic internal and not accessible via the public network is correct from a security perspective, so perhaps we'll just set up some port forwarding via SSH in dev-scripts to make the move to the bootstrap VM transparent, and in the interim we could setup an iptables rule to forward from localhost to the provisioning nic?

An easier path might be to add an IP to the provisioning bridge on the virt host and then set a route for provisioning traffic to use it.

@imain
Copy link
Copy Markdown
Contributor

imain commented Jun 14, 2019

Yeah I've noticed that the baremetal operator uses localhost for the ironic and ironic-inspector endpoints as well.

@hardys hardys mentioned this pull request Oct 18, 2019
elfosardo pushed a commit to elfosardo/ironic-image that referenced this pull request Mar 4, 2020
Bug 1807634: Copy iPXE images to tftpboot directory including snponly.efi
@metal3-io-bot
Copy link
Copy Markdown
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues will close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@metal3-io-bot metal3-io-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 4, 2020
@hardys hardys removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 2, 2020
@hardys
Copy link
Copy Markdown
Member Author

hardys commented Apr 2, 2020

Removed the lifecycle/stale as this is still and issue which should be fixed IMO, we just need to figure out how to do it without breaking things that depend on the current behavior

@metal3-io-bot
Copy link
Copy Markdown
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues will close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@metal3-io-bot metal3-io-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 1, 2020
@metal3-io-bot
Copy link
Copy Markdown
Contributor

Stale issues close after 30d of inactivity. Reopen the issue with /reopen. Mark the issue as fresh with /remove-lifecycle stale.

/close

@metal3-io-bot
Copy link
Copy Markdown
Contributor

@metal3-io-bot: Closed this PR.

Details

In response to this:

Stale issues close after 30d of inactivity. Reopen the issue with /reopen. Mark the issue as fresh with /remove-lifecycle stale.

/close

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ironic listening on all interfaces, not only my_ip

5 participants