-
Notifications
You must be signed in to change notification settings - Fork 17
✨ Add a command to run ironic locally using podman #382
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
Conversation
8f19525 to
575304e
Compare
The new command run-local-ironic generates a YAML file with Kubernetes manifests and then applies it using "podman kube play" with host networking. This allows easy local testing of both IrSO and ironic-image and can replace the existing bash script in BMO. Generated-By: Claude Code Signed-off-by: Dmitry Tantsur <[email protected]>
680f7f6 to
1e03ee7
Compare
tuminoid
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the idea of using k8s manifests for local ironic, removes a lot of maintenance burden. Some quick nits and questions from quick look as requested.
Signed-off-by: Dmitry Tantsur <[email protected]>
|
I haven't checked this command with dnsmasq yet, I suspect it might need a bit more work. But in the meantime, I suggest we merge the base version and expand on it if necessary. |
|
I'll give it a go next week |
Signed-off-by: Dmitry Tantsur <[email protected]>
|
So, dnsmasq was not too bad, I only had to switch to using "sudo". |
tuminoid
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested it manually, both scenarios work nicely.
Same nits reappeared, tell Claude to be consistent :)
test/local-ironic/run.sh
Outdated
| while [[ $ATTEMPT -ne 30 ]] | ||
| do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| while [[ $ATTEMPT -ne 30 ]] | |
| do | |
| while [[ "${ATTEMPT}" -ne 30 ]]; do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a bit too much of a nitpick: we know how ATTEMPT looks like :) Will fix anyway
The bash part is fully on me :D |
|
I would like to discuss the leagal background of this PR on wednesday a bit further as I beleive this is the first PR marked as AI generated that is proposed for the project. I am worried because of the potential miss match between Claude's provider Anthropics AI usage policies, the LinuxFoundations rules https://www.linuxfoundation.org/legal/generative-ai (point 1 or rule 1) and our project's license. Anthropic states here https://www.anthropic.com/legal/consumer-terms I know I am not a lawyer that is why I tried to base my reasoning on the guidelines of the LF, and it seems to me very clear cut conflict here. For me the only question is whether we follow LF guidelines or not because we are a CNCF project but AFAIK cncf has no guideline of it's own. |
Rozzii
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/hold
I would like to hold this a little bit because of my legal worries. Let's discuss this on community meeting, I will try to also find someone who is much more well versed about this topic than me.
@Rozzii and @dtantsur I took a bit more closer look at the Anthropic Terms and just to first say not a lawyer but some experience from the commercial contract parts. Here is how I read the agreement. Anthropic’s Consumer Terms are broadly compatible with the Linux Foundation’s policy for general use, but some ambiguous provisions — particularly around “non-commercial use” and conditional compliance requirements — create areas of potential risk. The “non-commercial use only” language appears in Section 11 (Disclaimer of warranties, limitations of liability, and indemnity). Read in context, it can reasonably be interpreted as a limitation on Anthropic’s liability rather than a blanket prohibition on commercial use of outputs. If that interpretation is correct, there is no conflict with the LF policy. This view aligns with Section 4 (Inputs, Outputs, and Materials), which emphasizes that outputs “may be inaccurate,” making it the user’s responsibility to validate results. In practice, that means the individual submitting a pull request based on generated output bears responsibility for ensuring its accuracy and suitability. To minimize risk and remain aligned with LF policy, it is best to:
That said, because the wording is somewhat ambiguous and open to interpretation, it would be helpful for @krook to review this and confirm whether the ambiguity falls within acceptable limits under the LF and CNCF AI policy. |
Yep, I used a paid (by my employer) account. |
|
@Rozzii @JanMkl doesn't that clause refer exclusively to the Service API ? |
|
Btw, I got a confirmation internally that these terms apply to us: https://www.anthropic.com/legal/commercial-terms |
These Commercial Terms are more aligned with LF generative AI policy than the earlier linked consumer terms. They eliminate or mitigate most ambiguities and restraints. Key changes:
|
I have checked, this license looks compatible IMO especially because of this part: So I am okay with it, would it be possible to mark specifically that the code was created by commercial Claude Code? Is there some sort of metadata that you could add @dtantsur for future reference in the git history? |
We discussed this in community meeting some time back. IIRC we agreed that we will follow the LF policy and the contributor is responsible for committed code, do we really nee to even mark anything about the use of AI? Everyone is using some sort of AI assist (code completion alone is almost 100% AI these days, and generated/assisted content is very integrated into the editor workflow), do we really want to even have it displayed? Is it RH policy to show it, or personal preference? |
Since LF policy is basically "YOLO", I'm following the OpenInfra (org. governing OpenStack) policies: https://openinfra.org/legal/ai-policy. The goal is essentially openness about AI usage since some folks find it a sensitive issue.
I think it's a dead end. As Tuomo rightfully point out, we don't verify that you, for instance, are using IDE in a way that is compliant with this IDE's license. In the end, it's on me to comply with the licensing of whatever tooling I'm using. This is why we add Sign-Off to our commits: to take legal responsibility for the contributions. |
|
I just asked to clarify the type of model because you were marking it anyway but whatever I guess the PR discussion is good enough historical record. |
|
/hold cancel |
|
Thank you for the discussion folks! Please review the patch itself when you have time. |
tuminoid
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
with one final nit. I've tested this manually for both scenarios, and it works nicely.
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tuminoid The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Signed-off-by: Dmitry Tantsur <[email protected]>
|
/lgtm |



The new command run-local-ironic generates a YAML file with Kubernetes
manifests and then applies it using "podman kube play" with host
networking. This allows easy local testing of both IrSO and ironic-image
and can replace the existing bash script in BMO.
Closes: #86
Generated-By: Claude Code
Signed-off-by: Dmitry Tantsur [email protected]