metal3-io / metal3-dev-env

Metal³ Development Environment
Apache License 2.0
112 stars 118 forks source link

[WIP] PoC Hostnetworkless Ironic with VirtualMedia Using NodePorts #1433

Open mboukhalfa opened 3 months ago

mboukhalfa commented 3 months ago

:warning: Do not merge this is only to demonstrate a PoC

This is a small PoC part of the short focus discussion https://github.com/metal3-io/baremetal-operator/discussions/1739. It demonstrate running Ironic without hostNetwork, limited to the virtualMedia use case, using a nodePort service.

Changes Needed

  1. Edit Ironic Deployment:

    • Remove hostNetwork: true.
    • Remove dnsmasq container.
    • Remove security restrictions to allow root access for debugging inside the containers.
  2. Add NodePort Service:

    • Map the following ports:
      - ironic
      30085:6385
      - inspector
      30050:5050
      - httpd
      30080:30080
    • Changed the httpd internal port because the HTTP_PORT variable from the dev-env is used in both internal and external configurations, which would require more changes to configure only the external port.
  3. Edit Ironic ConfigMap:

    • Remove PROVISIONING_IP so that the runironic script uses the pod's IP from the eth0 interface.
    • Add external Ironic IPs to be published to external components like IPA.
  4. Provisioning Networks:

    • Remove keepalived since it cannot access the ironicendpoint bridge and instead use manual commands to configure the bridge with the Ironic external IP.
    • Manually remove the IP from minikube and add it to the CP node when pivoting.

/hold

metal3-io-bot commented 3 months ago

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please ask for approval from mboukhalfa. For more information see the Kubernetes Code Review Process.

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

Needs approval from an approver in each of these files: - **[OWNERS](https://github.com/metal3-io/metal3-dev-env/blob/main/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
mboukhalfa commented 3 months ago

/test metal3-dev-env-integration-test-centos-main

mboukhalfa commented 3 months ago

/metal3-dev-env-integration-test-ubuntu-main

mboukhalfa commented 3 months ago

/test metal3-dev-env-integration-test-centos-main

mboukhalfa commented 3 months ago

/test metal3-dev-env-integration-test-centos-main

zaneb commented 3 months ago

See https://github.com/metal3-io/ironic-standalone-operator/issues/21#issuecomment-2208165986

metal3-io-bot commented 15 hours ago

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