-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Express Routes Cross Connection #230
Conversation
If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
|
78b5543
to
385f466
Compare
@tjprescott can you rebase off master? that will unblock the static checking in the CI from timing out. |
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.
Is it possible to shorten the name of this extensions? It's quite long.
Also, though not required, do consider adding tests.
|
||
__all__ = ['NetworkManagementClient'] | ||
|
||
__version__ = VERSION |
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.
Please put the autogenerated sdks being vendored under a folder named vendored_sdks
, this will stop static checking of those files.
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.
This did not stop static checking of the files. Static check failed because files under vendored_sdks
didn't have license headers...
from codecs import open | ||
from setuptools import setup, find_packages | ||
|
||
VERSION = "0.0.7" |
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.
You probably want 0.1.0
if this will be added to the index.
If this will be a work in progress kind of thing, 0.0.1
long_description='Support for ExpressRoute cross connection resources', | ||
license='MIT', | ||
author='Travis Prescott', | ||
author_email='[email protected]', |
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.
author='Microsoft Corporation',
author_email='[email protected]',
Definitely add yourself as the codeowner of this extension tho
license='MIT', | ||
author='Travis Prescott', | ||
author_email='[email protected]', | ||
url='https://github.com/Azure/azure-cli-extensions', |
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.
You may want to point to https://github.com/Azure/azure-cli-extensions/tree/master/src/express-route-cross-connection
, which will allow people to directly see your extension's readme.md.
6ee9aa8
to
8628c95
Compare
@williexu made the requested changes. I'm not adding tests because I could only test this manually on a special subscription that I would not have access to for re-recording tests. I'm open to shortening the name if it doesn't sacrifice clarity. @karthikananth do you have a preference or suggestion? |
a67d2e2
to
32a4913
Compare
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.
Why does this patch include changes for several other network features : express route circuit, route filter, nsg, vpn gateway etc ? Can you please clarify ? We cannot merge such a big change in one commit. Please break it into manageable commits based on the resource type
helps['network cross-connection'] = """ | ||
type: group | ||
short-summary: Manage customers' dedicated private network fiber connections to Azure. | ||
long-summary: > |
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.
Would be better to use consistent terminology. Lets use Express Route Circuit.
short-summary: Show the current Address Resolution Protocol (ARP) table of an ExpressRoute circuit. | ||
examples: | ||
- name: Show the current Address Resolution Protocol (ARP) table of an ExpressRoute circuit. | ||
text: | |
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.
Summary should be ExpressRoute circuit peering
short-summary: List available ExpressRoute service providers. | ||
examples: | ||
- name: List available ExpressRoute service providers. | ||
text: az network cross-connection list-service-providers |
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.
This command seems incorrect. I dont think there is a rest api for this in the backend
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.
You're right. This was copy-pasta from the normal ER commands' help.
c.argument('sku_family', sku_family_type) | ||
c.argument('sku_tier', sku_tier_type) | ||
c.argument('bandwidth_in_mbps', options_list=('--bandwidth',), help="Bandwidth in Mbps of the circuit.") | ||
c.argument('service_provider_name', options_list=('--provider',), help="Name of the ExpressRoute Service Provider.") |
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.
service_provider_name should not be an argument for the cross connection
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.
the list of arguments for cross connection here seem incorrect. Where did you get this from ?
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.
They are simply copied from the relevant section of the base ExpressRoute commands to ensure consistency. If a command does not have the argument in question, the CLI ignores it.
However, I believe I have removed the irrelevant entries.
|
||
def update_express_route_cross_connection(instance, provisioning_state=None, notes=None, bandwidth_in_mbps=None): | ||
|
||
if bandwidth_in_mbps is not None: |
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.
The provider is not allowed to change the bandwidth for the circuit.
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.
@karthikananth from our discussion I was left with the impression that the provider could change this parameter.
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.
Karthik clarified and I have removed this parameter.
@girishmotwani the files you are referring to are the vendored SDK files that are autogenerated. You don't need to review any of that. |
32a4913
to
7bcfa90
Compare
@williexu please re-review. Your comments have been addressed. I'm not inclined to shorten the extension name without the concurrence of the ExpressRoutes team. |
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.
LGTM, I'll let the network team comment about the extension contents
7bcfa90
to
f5d6890
Compare
f5d6890
to
adb4e70
Compare
adb4e70
to
09e1271
Compare
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.
thank you for addressing review comments.
* Kubernetes Data Protection Extension CLI (#173) * First draft for Data Protection K8s backup extension (Pending internal review) * Removing tracing * Minor changes to improve azdev style * Internal PR review feedback Co-authored-by: Rishabh Raj <[email protected]> * {AKS - ARC} fix: Update DCR creation to Clusters resource group instead of workspace (#175) * fix: Update DCR creation to Clusters resource group instead of workspace * . * . * casing check * Add self-signed cert to fix PR gate for azureml extension * adding the api version to the operation definition in the client factory * bump k8s-extension version to 1.3.6 * adding tests for all 4 extension types calls * adding to test config file * updating the api version for extension types to be the correct version expected by the service * add test case for flux extension (#184) * bump k8s-extension version to 1.3.6 * bump k8s-extension version to 1.3.6 * adding upstream test for extension types * updating history.rst * [Dapr] Prompt user for existing Dapr installation during extension create (#188) * Add more validations and user prompt for existing installation scenario Signed-off-by: Shubham Sharma <[email protected]> * Add Dapr test' Signed-off-by: Shubham Sharma <[email protected]> * Handle stateful set Signed-off-by: Shubham Sharma <[email protected]> * Update default handling Signed-off-by: Shubham Sharma <[email protected]> * Fix HA handling Signed-off-by: Shubham Sharma <[email protected]> * Add placement service todo Signed-off-by: Shubham Sharma <[email protected]> * Add non-interactive mode Signed-off-by: Shubham Sharma <[email protected]> * Fix lint Signed-off-by: Shubham Sharma <[email protected]> * Update tests Signed-off-by: Shubham Sharma <[email protected]> * Reset configuration for StatefulSet during k8s upgrade Signed-off-by: Shubham Sharma <[email protected]> * Fix lint Signed-off-by: Shubham Sharma <[email protected]> * Retrigger tests Signed-off-by: Shubham Sharma <[email protected]> * Add changes to manage ha and placement params Signed-off-by: Shubham Sharma <[email protected]> * Update message Signed-off-by: Shubham Sharma <[email protected]> * nits Signed-off-by: Shubham Sharma <[email protected]> Signed-off-by: Shubham Sharma <[email protected]> * bump k8s-extension version to 1.3.7 * [Dapr] Disable applying CRDs during a downgrade (#193) * Add logging Signed-off-by: Shubham Sharma <[email protected]> * Lint Signed-off-by: Shubham Sharma <[email protected]> * Update log Signed-off-by: Shubham Sharma <[email protected]> * Revert applyCrds when not downgrading Signed-off-by: Shubham Sharma <[email protected]> * Update logic for removing hooks.applyCrds Signed-off-by: Shubham Sharma <[email protected]> * Revert logic Signed-off-by: Shubham Sharma <[email protected]> * Handle explicit hooks configuration Signed-off-by: Shubham Sharma <[email protected]> * Update comment Signed-off-by: Shubham Sharma <[email protected]> * re-trigger pipeline Signed-off-by: Shubham Sharma <[email protected]> Signed-off-by: Shubham Sharma <[email protected]> * ContainerInsights extension - Add dataCollectionSettings configuration settings (#200) * data collection settings * add support for dataCollectionSettings * fix indention * avoid duplicate use of json loads * remove whitespaces * fix pr feedback * Upgrade Python version from 3.6 to 3.7 (#203) * Upgrade Python version from 3.6 to 3.10 Upgrade to 3.10 for the job that runs Wheel, PyLint, Flake, etc., since 3.6 is not supported anymore by hosted-agent-software. * Upgrade to Python 3.10 from 3.6 Upgrade to 3.10 as 3.6 is not supported * Switch PyLink to 1.9.4 Switch PyLink to 1.9.4 from 1.9.5, as 1.9.5 is not supported with Python 3.10 * Use Python 3.7 for Static Analysis Use 3.7, as 3.10 does not support certain properties used by astpeephole.py that is used by Static Analysis tools * Try unpinned version of PyLint PyLint 1.9.5 doesn't work with Python 3.7. So, trying to see if it automatically pulls the latest compatible version. * Run pylint as a separate command * Update pylintrc (#204) * Update pylintrc * Update k8s-custom-pipelines.yml * Disable PyLint (#205) Disable PyLint for now, as the new version has breaking changes and requires lot more fixes * Disable PyLint on CI scripts * Fixes for script errors * Upgrade Static Analysis Python version Upgrade the Python version for Static Analysis to 3.10, from 3.7, now that PyLint is disabled * Try 3.9, as 3.10 has breaking changes for Flake8 * Remove version pinning for flake8 Try Python 3.10, without pinning flake8 to a version * Update k8s-custom-pipelines.yml * Use Python 3.8.1 & flake8 6.0.0 * Use Python 3.8 instead of 3.8.1 * Update k8s-custom-pipelines.yml * Update .flake8 Update to reflect breaking change in flake8 6.0 * Update source_code_static_analysis.py Scope static analysis tools to only k8s-extension module's source in our branch. * Update k8s-custom-pipelines.yml * Update k8s-custom-pipelines.yml * Update k8s-custom-pipelines.yml * Update pool name in StaticAnalysis To mirror what is in main of azure-cli-extensions * Update k8s-custom-pipelines.yml * Fix indentation * Update k8s-custom-pipelines.yml * Update k8s-custom-pipelines.yml * Revert changes * Revert changes * Revert changes to source_code_static_analysis.py * Update source_code_static_analysis.py * Revert changes * Use Ubuntu 20.4 for BuiltTestPublish stage * Switch to ubuntu-20.04 from latest Co-authored-by: Rishik Hombal <[email protected]> * [Dapr] Do not apply CRD hook when version is unchanged or auto-upgrade is being disabled (#201) * Update logic Signed-off-by: Shubham Sharma <[email protected]> * re-trigger pipeline Signed-off-by: Shubham Sharma <[email protected]> * re-trigger pipeline Signed-off-by: Shubham Sharma <[email protected]> Signed-off-by: Shubham Sharma <[email protected]> Co-authored-by: NarayanThiru <[email protected]> * add dummy key for amalogs as well * bump k8s-extension version to 1.3.8 * Adding GA api version 2022-11-01 exposing isSystemExtension and support for plan info * Seperate args for plan name, product and publisher * updating cassete file * updating HISTORY.rst * Deprecate longer parameter names when accepting config settings (#213) Co-authored-by: deeksha345 <[email protected]> * Release 1.3.9 * make containerinsights dcr name consistent (#211) Co-authored-by: Bavneet Singh <[email protected]> * [Dapr] Update version comparison logic to use semver based comparison (#219) * Update semver comparison Signed-off-by: Shubham Sharma <[email protected]> * Add log Signed-off-by: Shubham Sharma <[email protected]> --------- Signed-off-by: Shubham Sharma <[email protected]> * bump k8s-extension version to 1.4.0 (#220) * Revert "bump k8s-extension version to 1.4.0 (#220)" (#222) This reverts commit ffb8a95. * [k8s-extension] Update extension CLI to v1.4.0 * update release history * fix openservice mesh cli testcase issue * Zetia/fix ssl secret flag (#224) * fix bug: update operation doesn't respect sslSecret parameter * fix bug: update operation doesn't respect sslSecret parameter * fix typo * feat: public preview support for microsoft.azuremonitor.containers.metrics in ARC clusters (managed prometheus) (#227) * remove redundant extension test (#230) * ci MSI default for arc cluster (#231) * bump k8s-extension version to 1.4.2 * ContainerInsights extension - Extend dataCollectionSettings config settings with streams field (#232) * extend containerinsights datacollection settings with streams field * bug fix * fix lint issues * fix pr feedback * fix pr feedback * fix lint error * Generated files for 2023-05-01-preview * Support for 2023-05-01-preview * Rename get to show * Added ExtensionType api test cases * ContainerInsights extension - Extend dataCollectionSettings with containerlogv2 (#237) * Fix for Liniting issues * Fixing test cases * comment failing test cases * [k8s-extension] add kind tag in DCR creation (#240) * Use semver package (#241) Signed-off-by: Shubham Sharma <[email protected]> * Reverting commented test cases * Add support to skip provisioning of prerequisites for Azure Monitor K8s extensions (#234) * {ARC} fix: update logic to sanitize cluster name for dc* objects (#242) * Fix osm-arc version check for CI tags (#244) Signed-off-by: nshankar <[email protected]> Co-authored-by: nshankar <[email protected]> * New cassette file * Remove unused propeties from table format * bump k8s-extension version 1.4.3 * Add old commands back with deprecated status * Fix linting issues * Reverting changes for extensions type api * change the location for test runs and arc clusters * [k8s-extension] create new cli release - v1.4.3 (#250) * Revert "[k8s-extension] create new cli release - v1.4.3 (#250)" (#251) This reverts commit 584815d. * [k8s-extension] Update extension CLI to v1.4.3 * Drop relay sdk (#254) * update readme * remove useless snippets (#256) * [k8s-extension] Update extension CLI to v1.4.4 --------- Signed-off-by: Shubham Sharma <[email protected]> Signed-off-by: nshankar <[email protected]> Co-authored-by: Rishabh Raj <[email protected]> Co-authored-by: Rishabh Raj <[email protected]> Co-authored-by: bragi92 <[email protected]> Co-authored-by: Yue Yu <[email protected]> Co-authored-by: Deeksha Sharma <[email protected]> Co-authored-by: deeksha345 <[email protected]> Co-authored-by: Shubham Sharma <[email protected]> Co-authored-by: Bavneet Singh <[email protected]> Co-authored-by: Ganga Mahesh Siddem <[email protected]> Co-authored-by: NarayanThiru <[email protected]> Co-authored-by: Rishik Hombal <[email protected]> Co-authored-by: Amol Agrawal <[email protected]> Co-authored-by: Amol Agrawal <[email protected]> Co-authored-by: Arif Lakhani <[email protected]> Co-authored-by: Arif-lakhani <[email protected]> Co-authored-by: Zeliang Tian <[email protected]> Co-authored-by: Long Wan <[email protected]> Co-authored-by: ms-hujia <[email protected]> Co-authored-by: Niranjan Shankar <[email protected]> Co-authored-by: nshankar <[email protected]> Co-authored-by: necusjz <[email protected]>
Adds
cross-connection
commands under the Network model to allow service providers to managed customer ExpressRoute circuits.Closes Azure/azure-cli#6449
This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines
./scripts/ci/test_static.sh
locally? (pip install pylint flake8
required)python scripts/ci/test_index.py -q
locally?For new extensions: