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

Cosmos DB patch and multi-api support #7336

Merged
merged 8 commits into from
Oct 30, 2019
Merged

Conversation

shurd
Copy link
Contributor

@shurd shurd commented Sep 26, 2019

This change introduces patch support in the new API version and splits "createOrUpdate" into "create" and "update". No SDKs have been generated based on this new version yet. The new patch properties are identical to the "update" properties except "locations" is optional and offer type is not a part of the payload.

This change also adds "locations" in the database account response to help resolve Azure/azure-sdk-for-python#6823

This change also enable multiple-api version support for python, java and go libraries. I copied the formatting from other providers, but am not sure how to validate how this works. Most importantly, python code is now generated in subdirectories of the current python project. I am not sure how that will impact the existing code (if it needs to be deleted since it will not be replaced). This change also references a preview version, which is added in #7249. This change should be merged after that.

Latest improvements:

MSFT employees can try out our new experience at OpenAPI Hub - one location for using our validation tools and finding your workflow.

Contribution checklist:

  • I have reviewed the documentation for the workflow.
  • Validation tools were run on swagger spec(s) and have all been fixed in this PR.
  • The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

  • Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
  • adding/removing APIs.
  • adding/removing properties.
  • adding/removing API-version.
  • adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

  • If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
    Please follow the link to find more details on API review process.

@shurd shurd added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Sep 26, 2019
@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Sep 26, 2019

@AutorestCI
Copy link

AutorestCI commented Sep 26, 2019

Automation for azure-sdk-for-go

The initial PR has been merged into your service PR:
Azure/azure-sdk-for-go#6190

@AutorestCI
Copy link

AutorestCI commented Sep 26, 2019

Automation for azure-sdk-for-python

Encountered a Subprocess error: (azure-sdk-for-python)

Command: ['/usr/local/bin/autorest', '/tmp/tmpbkuv84jh/rest/specification/cosmos-db/resource-manager/readme.md', '--perform-load=false', '--swagger-to-sdk', '--output-artifact=configuration.json', '--input-file=foo', '--output-folder=/tmp/tmphh6xz913']
Finished with return code 7
and output:

AutoRest code generation utility [version: 2.0.4283; node: v8.12.0]
(C) 2018 Microsoft Corporation.
https://aka.ms/autorest
Failure:
Error: Unable to start AutoRest Core from /root/.autorest/@microsoft.azure_autorest-core@2.0.4405/node_modules/@microsoft.azure/autorest-core
Error: Unable to start AutoRest Core from /root/.autorest/@microsoft.azure_autorest-core@2.0.4405/node_modules/@microsoft.azure/autorest-core
    at main (/opt/node_modules/autorest/dist/app.js:232:19)
    at <anonymous>

/root/.autorest/@microsoft.azure_autorest-core@2.0.4405/node_modules/@microsoft.azure/autorest-core/dist/app.js:33
    autorest_core_1.Shutdown();
    ^
ReferenceError: autorest_core_1 is not defined
    at process.on (/root/.autorest/@microsoft.azure_autorest-core@2.0.4405/node_modules/@microsoft.azure/autorest-core/dist/app.js:33:5)
    at emitOne (events.js:121:20)
    at process.emit (events.js:211:7)
    at process.emit (/node_modules/source-map-support/source-map-support.js:439:21)
fs.js:612
  return binding.close(fd);
                 ^

Error: EBADF: bad file descriptor, close
    at Object.fs.closeSync (fs.js:612:18)
    at StaticVolumeFile.shutdown (/opt/node_modules/autorest/dist/static-loader.js:352:10)
    at StaticFilesystem.shutdown (/opt/node_modules/autorest/dist/static-loader.js:406:17)
    at process.exit.n [as exit] (/opt/node_modules/autorest/dist/static-loader.js:169:11)
    at printErrorAndExit (/node_modules/source-map-support/source-map-support.js:423:11)
    at process.emit (/node_modules/source-map-support/source-map-support.js:435:16)
    at process._fatalException (bootstrap_node.js:391:26)

@azuresdkci
Copy link
Contributor

Can one of the admins verify this patch?

Copy link
Contributor

@ravbhatnagar ravbhatnagar left a comment

Choose a reason for hiding this comment

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

@shurd - few comments

@ravbhatnagar ravbhatnagar added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Sep 28, 2019
Copy link
Member

@ArcturusZhang ArcturusZhang left a comment

Choose a reason for hiding this comment

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

Please add these new swagger files in readme corresponding to their tags, see this file for an example.
This is the reason why some SDK automation fails

@shurd
Copy link
Contributor Author

shurd commented Sep 29, 2019

@ArcturusZhang I think that I have the readme file correct, but it depends on this change - #7249. I just added the necessary changes for that new file so that we would not have to open another PR. I'll re-run the automation after that PR is merged (which it is ready to be merged).

@ArcturusZhang
Copy link
Member

@ArcturusZhang I think that I have the readme file correct, but it depends on this change - #7249. I just added the necessary changes for that new file so that we would not have to open another PR. I'll re-run the automation after that PR is merged (which it is ready to be merged).

Sure, thanks!

@shurd
Copy link
Contributor Author

shurd commented Oct 2, 2019

@ArcturusZhang, I am removing those changes so that SDKs can be generated since we want to expedite this change. @ravbhatnagar can you please re-review this? We are hesitant to leave the method named "CreateOrUpdate".

@shurd shurd requested a review from ravbhatnagar October 3, 2019 07:57
@ravbhatnagar
Copy link
Contributor

@shurd - please take a look at the response

@shurd
Copy link
Contributor Author

shurd commented Oct 18, 2019

@ravbhatnagar I have made the renaming change.

Copy link
Member

@ArcturusZhang ArcturusZhang left a comment

Choose a reason for hiding this comment

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

LGTM

@pilor pilor added ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review and removed ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Oct 29, 2019
@ArcturusZhang ArcturusZhang merged commit 86a2a68 into Azure:master Oct 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CosmosDB - Locations field missing from model
6 participants