Skip to content

Conversation

@mattiaswal
Copy link
Contributor

@mattiaswal mattiaswal commented Jul 11, 2025

This add support for upgrading images with curl only, without FTP or
similiar. The image needs to be base64 encoded.

Example:

TEMP_JSON=/tmp/restconf.txt echo -n '{"infix-system:input":{"image":"' > "$TEMP_JSON" base64 -w 0 "image.pkg >> "$TEMP_JSON" echo '"}}' >> "$TEMP_JSON" curl -k \ -X POST \ -u "admin:admin" \ -H "Content-Type: application/yang-data+json" \ -H "Accept: application/yang-data+json" \ -d @"$TEMP_JSON" \ "https://192.168.30.1/restconf/operations/infix-system:install-bundle" 

Description

This is WiP since it uses huge amout of memory. Will take a look at that first.

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added?
  • Test changes
    • Checked in changed Readme.adoc (make test-spec)
    • Added new test to group Readme.adoc and yaml file
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
    • ChangeLog updated (for major changes)
  • Other (please describe):
This add support for upgrading images with curl only, without FTP or similiar. The image needs to be base64 encoded. Example: TEMP_JSON=/tmp/restconf.txt echo -n '{"infix-system:input":{"image":"' > "$TEMP_JSON" base64 -w 0 "$BUNDLE_FILE" >> "$TEMP_JSON" echo '"}}' >> "$TEMP_JSON" curl -k \ -X POST \ -u "admin:admin" \ -H "Content-Type: application/yang-data+json" \ -H "Accept: application/yang-data+json" \ -d @"$TEMP_JSON" \ "https://192.168.30.1/restconf/operations/infix-system:install-bundle"
@mattiaswal mattiaswal marked this pull request as draft July 11, 2025 14:34
@mattiaswal mattiaswal changed the title Upload image Upload image and upgrade Jul 11, 2025
Comment on lines +231 to +242
rpc install-upload-bundle {
nacm:default-deny-all;
description "Upgrade the system's software by installing from a supplied blob.";
input {
leaf image {
type binary;
mandatory true;
description "The image to install";
}
}
}

Copy link
Contributor

Choose a reason for hiding this comment

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

The updated install-bundle RPC (above) looks great! But what is this, looks like an earlier attempt or test code?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The updated install-bundle RPC (above) looks great! But what is this, looks like an earlier attempt or test code?

Yeah, this was for testing the concept.

@mattiaswal mattiaswal added the triage Pending investigation & classification (CCB) label Aug 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage Pending investigation & classification (CCB)

3 participants