Skip to content

Conversation

@vjayaramrh
Copy link
Contributor

@vjayaramrh vjayaramrh commented Apr 25, 2025

This PR adds step by step instructions to deploy the metal3, baremetal and ironic operator components.

@nephio-prow nephio-prow bot requested review from efiacor and timop62 April 25, 2025 18:34
@vjayaramrh vjayaramrh requested review from arora-sagar, dkosteck and liamfallon and removed request for efiacor and timop62 April 25, 2025 18:34
@netlify
Copy link

netlify bot commented Apr 25, 2025

Deploy Preview for nephio ready!

Name Link
🔨 Latest commit 37e5720
🔍 Latest deploy log https://app.netlify.com/projects/nephio/deploys/686554d2d37a22000882116b
😎 Deploy Preview https://deploy-preview-230--nephio.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@vjayaramrh vjayaramrh changed the title documents steps to install components to support baremetal clusters d… documents steps to install components to support baremetal clusters deploy Apr 25, 2025
@vjayaramrh
Copy link
Contributor Author


{{% alert title="Note" color="primary" %}}

If you want to use a version other than that of v3.0.0 of Nephio *catalog* repo, then replace the *@origin/v3.0.0*
Copy link
Contributor

Choose a reason for hiding this comment

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

Why can't we give an example of v4.0.0?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I just used the template at https://docs.nephio.org/docs/guides/install-guides/optional-components/ to create this document and left the Note as is. No plans to update the document everytime there is a new release is done. The content in the Note is an example.

Copy link
Contributor

Choose a reason for hiding this comment

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

Okay it is fine.

internal.kpt.dev/upstream-identifier: '|ConfigMap|baremetal-operator-system|baremetal-operator-ironic-bmo-configmap-6cf9t7484b'
```

The IP address 172.22.0.2 that is present in the fields DEPLOY_KERNEL_URL, DEPLOY_RAMDISK_URL, IRONIC_BASE_URL,
Copy link
Contributor

Choose a reason for hiding this comment

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

@vjayaramrh Can you make a diagram for networking? How the actual network connection look like? This helps people to understand what is needed before installation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@arora-sagar I am not sure what network diagram would look like for installing the Metal3, Baremetal Operator(BMO) and ironic on a management cluster. I did look up the BMO and ironic documentation and could not find any network diagrams to refer. However, I am willing to collaborate with you to come up with the diagram if you have an idea.

@vjayaramrh vjayaramrh requested a review from gkumar78 April 29, 2025 16:09
mkdir -p /tmp/baremetal_kpt
cd /tmp/baremetal_kpt

kpt pkg get https://github.com/nephio-project/catalog/infra/capi/cluster-capi-infrastructure-metal3@main metal3
Copy link
Contributor

Choose a reason for hiding this comment

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

I believe it would definitely help to create a simple diagram showing the setup with Nephio mgmt cluster along with ironic, metal3 and bmo hosted on a VM/Physical machine and connected to a LAN network (172.22.0.1 subnet over eth2 interface) also having connections to other VM/Physical machines which needs to be provisioned

Also, would be better to define kpt get and apply steps for each of 3 packages separately one-by-one with some validation steps if possible

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@gkumar78 Thanks for the feedback, please do share any diagrams that you may have that I could re-use, Thanks

Copy link
Contributor

Choose a reason for hiding this comment

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

@vjayaramrh As discussed, let us wait for addition of network diagram in the upcoming set of PRs on this topic. More details will be clear as well as the approach will get validated. And we can add network diagram thereafter.

But I would stick to my other comment that it would be better to define kpt get and apply steps for each of 3 packages separately one-by-one with some validation steps

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@vjayaramrh As discussed, let us wait for addition of network diagram in the upcoming set of PRs on this topic. More details will be clear as well as the approach will get validated. And we can add network diagram thereafter.

But I would stick to my other comment that it would be better to define kpt get and apply steps for each of 3 packages separately one-by-one with some validation steps

FYI The kpt get is called out for each of the packages, the kpt eval is applied across the packages (where applicable) instead of apply customizations to one package at a time. The kpt live init and kpt live apply are applied across packages as well at the same time due to CAPI Metal3 dependent on CRDs installed by BMO and ironic.

@vjayaramrh vjayaramrh requested a review from kispaljr June 4, 2025 17:09
@vjayaramrh vjayaramrh force-pushed the capm3-bmo-ironic branch 2 times, most recently from 6e07eed to 8b27e15 Compare June 13, 2025 23:31
Co-authored-by: Gergely Csatari <gergely.csatari@nokia.com>
vjayaramrh and others added 2 commits June 30, 2025 09:57
Co-authored-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
```bash
kpt fn render --truncate-output=false

# Sample output of above command below
Copy link
Collaborator

Choose a reason for hiding this comment

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

Better to put the sample output into a separate bash block

```bash
kubectl get pods --all-namespaces | grep -E '^(capm3-system|baremetal-operator-system)'

baremetal-operator-system baremetal-operator-controller-manager-5c55b458cf-bcbkd 1/1 Running 0 28d
Copy link
Collaborator

Choose a reason for hiding this comment

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

Break the sample out to a separate block

Copy link
Contributor Author

@vjayaramrh vjayaramrh Jul 2, 2025

Choose a reason for hiding this comment

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

you mean separate out the command and its output?

capm3-system ipam-controller-manager-69f4dd4cdf-zgl55 1/1 Running 0 28d
```

## Baremetal cluster creation .
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should this be a separate doc?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am not sure, open for suggestions.


## Baremetal cluster creation .

Note that only a single node cluster with IPv4 static IP addressing is supported at this time.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Wrap the NOTEs with the common tpl

kubectl get clusters
```

NOTE: The network diagram highlights simple connection between Nephio management cluster (provisioning cluster) and workload cluster (target). The diagram does not consider switches or routers. If you are using switches then make sure the connectivity is properly configured.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Wrap the NOTEs in the common tpl

vjayaramrh and others added 2 commits July 2, 2025 10:17
Co-authored-by: Gergely Csatari <gergely.csatari@nokia.com>
Co-authored-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
@sonarqubecloud
Copy link

sonarqubecloud bot commented Jul 2, 2025

@efiacor
Copy link
Collaborator

efiacor commented Jul 2, 2025

/approve
/lgtm

@nephio-prow nephio-prow bot added the lgtm label Jul 2, 2025
@nephio-prow
Copy link
Contributor

nephio-prow bot commented Jul 2, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: efiacor

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

The pull request process is described here

Details 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

@nephio-prow nephio-prow bot added the approved label Jul 2, 2025
@efiacor efiacor merged commit 73ccd50 into nephio-project:main Jul 2, 2025
9 checks passed
@efiacor
Copy link
Collaborator

efiacor commented Jul 2, 2025

pushed in due to prow failure

@vjayaramrh vjayaramrh deleted the capm3-bmo-ironic branch July 4, 2025 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants