Skip to content
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

Tank API Version 2.0 Implementation Release #234

Merged
merged 1 commit into from
Mar 17, 2023

Conversation

Zakaria-Kofiro
Copy link
Collaborator

@Zakaria-Kofiro Zakaria-Kofiro commented Mar 6, 2023

Tank API Version 2.0 Implementation Release

  • This PR encapsulates the entirety of Tank V2 API, including:
    • All new routes that are grouped under 6 main services (with default endpoint to ping service):
      • Scripts
      • Projects
      • Agent
      • Jobs
      • Filters
      • Datafiles
    • Implemented in Spring MVC using current Rest API Standards (Initial Design Doc)
    • Swagger UI Documentation with generated HTML via annotation (allows for easier updates to documentation)
    • Unit Testing w/ JUnit and Mockito
    • Works alongside V1 API, which will eventually be sunset
    • This PR also includes the removal of two problematic Tank tests, with no significant effect on code cov:

Please make sure these check boxes are checked before submitting

  • ** Squashed Commits **
  • ** All Tests Passed ** - mvn clean test -P default

** PR review process **

  • Requires one +1 from a reviewer
  • Repository owners will merge your PR once it is approved.

@Zakaria-Kofiro Zakaria-Kofiro marked this pull request as ready for review March 6, 2023 20:44
@shawn-h-park shawn-h-park self-requested a review March 6, 2023 23:28
Copy link
Collaborator

@shawn-h-park shawn-h-park left a comment

Choose a reason for hiding this comment

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

Minor changes

@shawn-h-park shawn-h-park self-requested a review March 7, 2023 21:09
Copy link
Collaborator

@shawn-h-park shawn-h-park left a comment

Choose a reason for hiding this comment

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

Lgtm

@shawn-h-park shawn-h-park self-requested a review March 9, 2023 18:42
@@ -11,7 +11,7 @@
import com.intuit.tank.vm.agent.messages.AgentTestStartData;
import com.intuit.tank.vm.agent.messages.AgentData;
import com.intuit.tank.api.model.v1.cloud.CloudVmStatus;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Fixed: Import is referencing the right data model, it's returned by V1 CloudController which Agent Service still depends on for agent instance operations. Replicating JobController and CloudController caused a lot of issues in job/agent instance operations, so they are the only V1 references left, and will be moved over as V1 is sunset.

Removed the unused data models to be replaced with new data models in future PR.

@shawn-h-park shawn-h-park self-requested a review March 17, 2023 00:08
fix: resources and tests not needed on remote yet

feat: Tank V2 API Main Routes Done/QA Validation

fix: clean up and fixing deps

fix: removing tests

fix: updating application.yml

feat: New routes + changes to config

fix: commenting out failing test for now to test endpoints

fix: fixing port

feat: final resources config

feat: new routes + clean up

feat: Added project update endpoint, final tests, and documentation

Updating documentation, removing unneeded script update, and fixing tests

feat: Added workloadType and terminationPolicy to project payload + cleaned up docs

feat: fleshed out project, job, script payload + example values, updated ns + swagger UI

feat: Updating dependencies and removing unneeded job route (group by project)

fix: should fix the try it out in swagger ui

fix: reverting namespaces, updating pauseRamp and resumeRamp to pause and resume

fix: removing unused tests

fix: updated parent pom

fix: should fix jackson databind and servlet errors

feat: updated location header, agent/job error codes, api docs link to swagger

Moved data models + util files from V1 to V2, updated pom

fix: reverting depr msgs (sunsetting V1 as a whole) + formatting

fix: formatting

fix: final formatting

feat: Add datafile service and tests to V2, cleaned up imports + documentation

fix: /datafiles/content now correctly applies offset if no numlines provided

Updated request body and resource deletion exception handling, cleaned up poms and swagger docs

formatting + new lines

fix: removing cloudvmstatus models for now

small QOL changes to swagger ui
@Zakaria-Kofiro Zakaria-Kofiro merged commit 7c080f7 into master Mar 17, 2023
@Zakaria-Kofiro Zakaria-Kofiro deleted the zkofiro/tank-api-V2 branch March 17, 2023 17:46
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.

None yet

3 participants