Skip to content

Nova compatibility expansion#8

Draft
JSYoo5B wants to merge 14 commits into
codex/06-keystone-read-repository-statefrom
codex/07-nova-compatibility-expansion
Draft

Nova compatibility expansion#8
JSYoo5B wants to merge 14 commits into
codex/06-keystone-read-repository-statefrom
codex/07-nova-compatibility-expansion

Conversation

@JSYoo5B

@JSYoo5B JSYoo5B commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • Expands Nova-compatible APIs beyond core server CRUD.
  • Adds metadata, metadatum, server actions, keypairs, addresses, security group actions, flavor extra specs, limits, availability zones, server groups, services, hypervisors, and aggregates.
  • Fixes intermediate commit buildability around compute service test setup.

Main Review Points

  • Compute handler and DTO compatibility with Gophercloud callers.
  • App service responsibilities for server metadata and actions.
  • Test setup after repository-backed compute services.

Verification

  • go test ./...
  • Checked each commit from this slice onward with go test ./...

idGen idgen.Generator
}

func NewServiceWithRuntime(

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Compute now has several independent repositories, but the constructor keeps those dependencies explicit. This is verbose, yet useful for tests and for later disabling or replacing resource families.

})
}

func (h Handler) updateServerMetadata(w http.ResponseWriter, r *http.Request) {

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Metadata is a good representative for Nova mutation endpoints: handlers stay wire-focused while merge/reset behavior lives in the app service. The metadatum handlers below are the same pattern at single-key granularity.

return
}

key := chi.URLParam(r, "key")

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

This explicit key/body match check protects the OpenStack wire contract for single metadata updates. It is worth reviewing because Gophercloud callers will surface mismatches as client-visible bad requests.

@JSYoo5B JSYoo5B marked this pull request as draft July 2, 2026 21:09
@JSYoo5B JSYoo5B force-pushed the codex/06-keystone-read-repository-state branch from 9275327 to 7e58142 Compare July 5, 2026 12:50
@JSYoo5B JSYoo5B force-pushed the codex/07-nova-compatibility-expansion branch from 0ef73a7 to 254fa50 Compare July 5, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant