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

Integrate Availability Zone from private repository #4523

Merged
merged 26 commits into from
Sep 22, 2017
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8f5ef2b
Initial support for VM and single zone VMSS (#14)
yugangw-msft Aug 4, 2017
7436a62
use a private copy of network sdk with zone support (#15)
yugangw-msft Aug 4, 2017
9e79e60
Support for zoned public IP. Make global zone_type and zones_type. (#16)
tjprescott Aug 7, 2017
9f071df
apply api version range on vm zone test (#19)
yugangw-msft Aug 8, 2017
1b2bcc2
show zone in the table output (#20)
yugangw-msft Aug 8, 2017
1db07c3
install: support to build out a msi installer from local sources (#17)
yugangw-msft Aug 8, 2017
4ec859c
doc:add command examples using availability zones (#21)
yugangw-msft Aug 9, 2017
9757370
resolve conflicts with master
yugangw-msft Aug 10, 2017
cebafe6
Merge branch 'master' into az
yugangw-msft Aug 11, 2017
157ca06
Installer: build debian bundle from a local clone (#28)
yugangw-msft Aug 14, 2017
6d751d3
resolve conflicts caused by zone support
yugangw-msft Sep 7, 2017
e505c66
skip a few expeneive travis builds
yugangw-msft Sep 7, 2017
881353c
test: update tests to work with new azure-mgmt-compute with zone support
yugangw-msft Sep 8, 2017
1bb2ef0
network: support zone in network lb create (#37)
yugangw-msft Sep 13, 2017
64afaa3
resolve conflicts from public master branch
yugangw-msft Sep 14, 2017
7458d24
VNet peering examples. (#51)
tjprescott Sep 18, 2017
e82f1d0
Add BrazilUS and Dogfood cloud config files. (#50)
tjprescott Sep 18, 2017
0baf2c1
resolve conflicts with public master
yugangw-msft Sep 18, 2017
2aa24b8
merge conflicts with public master
yugangw-msft Sep 19, 2017
ceb0d44
resolve conflicts with public master
yugangw-msft Sep 20, 2017
6577c45
Merge branch 'master' into az
yugangw-msft Sep 21, 2017
493d42a
Merge branch 'master' into az
yugangw-msft Sep 21, 2017
d205eb1
undo all changes specifically for private repository
yugangw-msft Sep 22, 2017
b0d81f8
fix help per review feedback
yugangw-msft Sep 22, 2017
c396c1c
fix lint error
yugangw-msft Sep 22, 2017
d7586ad
use newer nrp sdk version
yugangw-msft Sep 22, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
merge conflicts with public master
  • Loading branch information
yugangw-msft committed Sep 19, 2017
commit 2aa24b8e1c9a7c3346e2ab2730a1f431485ae8eb
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
include:
- stage: build
script: ./scripts/ci/build.sh
python: 3.6
- stage: verify
env: PURPOSE='Automation'
script: ./scripts/ci/test_automation.sh
Expand Down
28 changes: 12 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ A list of common install issues and their resolutions are available at [install
### Developer Installation (see below)

- [Docker](#docker)
- [Nightly Builds](#nightly-builds)
- [Edge Builds](#edge-builds)
- [Developer Setup](#developer-setup)

## Usage
Expand Down Expand Up @@ -131,30 +131,26 @@ $ docker run -v ${HOME}:/root -it azuresdk/azure-cli-python:<version>

See our [Docker tags](https://hub.docker.com/r/azuresdk/azure-cli-python/tags/) for available versions.

### Nightly Builds
### Edge Builds

Install nightly builds with pip in a virtual environment.
If you want to get the latest build from the master branch, you can use our "edge" builds feed. Here's an example of
installing edge dev builds with pip in a virtual environment.

```bash
$ pip install --pre azure-cli --extra-index-url https://azureclinightly.blob.core.windows.net/packages
$ virtualenv env
$ . env/bin/activate
$ pip install --pre azure-cli --extra-index-url https://azurecliprod.blob.core.windows.net/edge
```

To upgrade your current nightly build pass the `--upgrade` option.
To upgrade your current edge build pass the `--upgrade` option. The `--no-cache-dir` option is also recommended since
the feed is frequently updated.

```bash
$ pip install --upgrade --pre azure-cli --extra-index-url https://azureclinightly.blob.core.windows.net/packages
$ pip install --upgrade --pre azure-cli --extra-index-url https://azurecliprod.blob.core.windows.net/edge --no-cache-dir
```

- Builds happen at 21:00:00 PDT each night. They are published shortly afterwards.
- Whilst all command modules are built each night, not all are included on install.
- Install additional components with:
```
$ export AZURE_COMPONENT_PACKAGE_INDEX_URL=https://azureclinightly.blob.core.windows.net/packages
```
```
$ az component update --add <component_name> --private
```
- To view the list of installed packages, run ``az component list``
The edge build is generated for each push to the `master` branch as a part of the Travis CI build. The version of the edge build follows


## Developer Setup
If you would like to setup a development environment and contribute to the CLI, see
Expand Down
21 changes: 0 additions & 21 deletions azure-cli.pyproj
Original file line number Diff line number Diff line change
Expand Up @@ -497,20 +497,6 @@
</Compile>
<Compile Include="command_modules\azure-cli-role\azure\cli\command_modules\role\_validators.py" />
<Compile Include="command_modules\azure-cli-role\azure_bdist_wheel.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\cluster_auth.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\commands.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\config.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\custom.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\test_sf_app.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\test_sf_node.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\test_sf_scenarios.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\test_sf_select.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\test_sf_service.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\_factory.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\_help.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\_params.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\__init__.py" />
<Compile Include="command_modules\azure-cli-sf\setup.py" />
<Compile Include="command_modules\azure-cli-sql\azure\cli\command_modules\sql\commands.py" />
<Compile Include="command_modules\azure-cli-sql\azure\cli\command_modules\sql\custom.py" />
<Compile Include="command_modules\azure-cli-sql\azure\cli\command_modules\sql\params.py" />
Expand Down Expand Up @@ -836,12 +822,6 @@
<Folder Include="command_modules\azure-cli-resource\azure\cli\command_modules\resource\tests\" />
<Folder Include="command_modules\azure-cli-role\azure\cli\command_modules\role\tests\" />
<Folder Include="command_modules\azure-cli-role\tests\" />
<Folder Include="command_modules\azure-cli-sf\" />
<Folder Include="command_modules\azure-cli-sf\azure\" />
<Folder Include="command_modules\azure-cli-sf\azure\cli\" />
<Folder Include="command_modules\azure-cli-sf\azure\cli\command_modules\" />
<Folder Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\" />
<Folder Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\" />
<Folder Include="command_modules\azure-cli-sql\" />
<Folder Include="command_modules\azure-cli-sql\azure\" />
<Folder Include="command_modules\azure-cli-sql\azure\cli\" />
Expand Down Expand Up @@ -1023,7 +1003,6 @@
<Content Include="command_modules\azure-cli-resource\azure\cli\command_modules\resource\tests\test-template.json" />
<Content Include="command_modules\azure-cli-resource\HISTORY.rst" />
<Content Include="command_modules\azure-cli-role\HISTORY.rst" />
<Content Include="command_modules\azure-cli-sf\HISTORY.rst" />
<Content Include="command_modules\azure-cli-sql\HISTORY.rst" />
<Content Include="command_modules\azure-cli-rdbms\HISTORY.rst" />
<Content Include="command_modules\azure-cli-storage\HISTORY.rst" />
Expand Down
24 changes: 0 additions & 24 deletions azure-cli2017.pyproj
Original file line number Diff line number Diff line change
Expand Up @@ -488,20 +488,6 @@
<Compile Include="command_modules\azure-cli-servicefabric\azure\cli\__init__.py" />
<Compile Include="command_modules\azure-cli-servicefabric\azure\__init__.py" />
<Compile Include="command_modules\azure-cli-servicefabric\setup.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\cluster_auth.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\commands.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\config.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\custom.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\test_sf_app.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\test_sf_node.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\test_sf_scenarios.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\test_sf_select.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\test_sf_service.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\_factory.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\_help.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\_params.py" />
<Compile Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\__init__.py" />
<Compile Include="command_modules\azure-cli-sf\setup.py" />
<Compile Include="command_modules\azure-cli-sql\azure\cli\command_modules\sql\commands.py" />
<Compile Include="command_modules\azure-cli-sql\azure\cli\command_modules\sql\custom.py" />
<Compile Include="command_modules\azure-cli-sql\azure\cli\command_modules\sql\params.py" />
Expand Down Expand Up @@ -832,12 +818,6 @@
<Folder Include="command_modules\azure-cli-servicefabric\azure\cli\command_modules\servicefabric\Template\Linux\" />
<Folder Include="command_modules\azure-cli-servicefabric\azure\cli\command_modules\servicefabric\Template\Windows\" />
<Folder Include="command_modules\azure-cli-servicefabric\azure\cli\command_modules\servicefabric\tests\" />
<Folder Include="command_modules\azure-cli-sf\" />
<Folder Include="command_modules\azure-cli-sf\azure\" />
<Folder Include="command_modules\azure-cli-sf\azure\cli\" />
<Folder Include="command_modules\azure-cli-sf\azure\cli\command_modules\" />
<Folder Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\" />
<Folder Include="command_modules\azure-cli-sf\azure\cli\command_modules\sf\tests\" />
<Folder Include="command_modules\azure-cli-sql\" />
<Folder Include="command_modules\azure-cli-sql\azure\" />
<Folder Include="command_modules\azure-cli-sql\azure\cli\" />
Expand Down Expand Up @@ -1040,10 +1020,6 @@
<Content Include="command_modules\azure-cli-servicefabric\azure\cli\command_modules\servicefabric\Template\Windows\template.json" />
<Content Include="command_modules\azure-cli-servicefabric\HISTORY.rst" />
<Content Include="command_modules\azure-cli-servicefabric\README.rst" />
<Content Include="command_modules\azure-cli-sf\HISTORY.rst" />
<Content Include="command_modules\azure-cli-sf\MANIFEST.in" />
<Content Include="command_modules\azure-cli-sf\README.rst" />
<Content Include="command_modules\azure-cli-sf\setup.cfg" />
<Content Include="command_modules\azure-cli-sql\HISTORY.rst" />
<Content Include="command_modules\azure-cli-storage\HISTORY.rst" />
<Content Include="command_modules\azure-cli-taskhelp\HISTORY.rst" />
Expand Down
12 changes: 11 additions & 1 deletion doc/authoring_command_modules/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,11 +178,21 @@ This will be the release notes for the next release.

e.g.:
```
.. :changelog:

Release History
===============

unreleased
----------
++++++++++

* This is my change.

0.0.1 (YYYY-MM-DD)
++++++++++++++++++

* This is the changelog from a prev. release.

```

Packaging/Publishing
Expand Down
1 change: 0 additions & 1 deletion doc/sphinx/azhelpgen/doc_source_map.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
"redis": "src/command_modules/azure-cli-redis/azure/cli/command_modules/redis/_help.py",
"resource": "src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_help.py",
"role": "src/command_modules/azure-cli-role/azure/cli/command_modules/role/_help.py",
"sf": "src/command_modules/azure-cli-sf/azure/cli/command_modules/sf/_help.py",
"sql": "src/command_modules/azure-cli-sql/azure/cli/command_modules/sql/_help.py",
"storage": "src/command_modules/azure-cli-storage/azure/cli/command_modules/storage/_help.py",
"tag": "src/command_modules/azure-cli-resource/azure/cli/command_modules/resource/_help.py",
Expand Down
2 changes: 1 addition & 1 deletion packaged_releases/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ python -m automation.release.packaged --version 0.2.3 -f ~/cli-components.json
OR

```
python -m automation.release.packaged --version 2.0.9 --components azure-cli=2.0.9 azure-cli-acr=2.0.7 azure-cli-acs=2.0.9 azure-cli-appservice=0.1.9 azure-cli-batch=3.0.2 azure-cli-billing=0.1.2 azure-cli-cdn=0.0.5 azure-cli-cloud=2.0.5 azure-cli-cognitiveservices=0.1.5 azure-cli-command_modules-nspkg=2.0.0 azure-cli-component=2.0.6 azure-cli-configure=2.0.9 azure-cli-consumption=0.1.2 azure-cli-core=2.0.10 azure-cli-cosmosdb=0.1.9 azure-cli-dla=0.0.9 azure-cli-dls=0.0.9 azure-cli-feedback=2.0.5 azure-cli-find=0.2.5 azure-cli-interactive=0.3.5 azure-cli-iot=0.1.8 azure-cli-keyvault=2.0.7 azure-cli-lab=0.0.7 azure-cli-monitor=0.0.7 azure-cli-network=2.0.9 azure-cli-nspkg=3.0.0 azure-cli-profile=2.0.7 azure-cli-rdbms=0.0.4 azure-cli-redis=0.2.6 azure-cli-resource=2.0.9 azure-cli-role=2.0.7 azure-cli-sf=1.0.4 azure-cli-sql=2.0.6 azure-cli-storage=2.0.9 azure-cli-vm=2.0.9
python -m automation.release.packaged --version 2.0.9 --components azure-cli=2.0.9 azure-cli-acr=2.0.7 azure-cli-acs=2.0.9 azure-cli-appservice=0.1.9 azure-cli-batch=3.0.2 azure-cli-billing=0.1.2 azure-cli-cdn=0.0.5 azure-cli-cloud=2.0.5 azure-cli-cognitiveservices=0.1.5 azure-cli-command_modules-nspkg=2.0.0 azure-cli-component=2.0.6 azure-cli-configure=2.0.9 azure-cli-consumption=0.1.2 azure-cli-core=2.0.10 azure-cli-cosmosdb=0.1.9 azure-cli-dla=0.0.9 azure-cli-dls=0.0.9 azure-cli-feedback=2.0.5 azure-cli-find=0.2.5 azure-cli-interactive=0.3.5 azure-cli-iot=0.1.8 azure-cli-keyvault=2.0.7 azure-cli-lab=0.0.7 azure-cli-monitor=0.0.7 azure-cli-network=2.0.9 azure-cli-nspkg=3.0.0 azure-cli-profile=2.0.7 azure-cli-rdbms=0.0.4 azure-cli-redis=0.2.6 azure-cli-resource=2.0.9 azure-cli-role=2.0.7 azure-cli-sql=2.0.6 azure-cli-storage=2.0.9 azure-cli-vm=2.0.9
```

2 - Upload release archive
Expand Down
17 changes: 12 additions & 5 deletions packaged_releases/homebrew/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,26 @@ Homebrew Packaging

Updating the formula
--------------------
1. Change the `url` in the formula to point to the new release (e.g. `azure-cli_packaged_2.0.14.tar.gz`).
2. Modify any checksums as required.
1. Change the `url` in the formula to point to the new release and change the `sha256` value also.
2. Update the resources list in the formula (see below).
3. Run the formula verification commands (see below).
4. Submit a PR to https://github.com/Homebrew/homebrew-core.


Updating the resources list
---------------------------
```
# Create a new virtual environment first
pip install azure-cli homebrew-pypi-poet; poet -r azure-cli
```

Verification
------------

```
$ brew install --build-from-source ./azure-cli@2.0.rb
$ brew test azure-cli@2.0
$ brew audit --strict --online azure-cli@2.0
brew install --build-from-source azure-cli.rb
brew test azure-cli.rb
brew audit --strict --online azure-cli.rb
```

More Information
Expand Down
Binary file not shown.
17 changes: 17 additions & 0 deletions scripts/batch/app/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/env bash

# install the product and test builds to a virtual environment

rm -rf $AZ_BATCH_NODE_SHARED_DIR/env
rm -rf $AZ_BATCH_NODE_SHARED_DIR/venv
rm -rf $AZ_BATCH_NODE_SHARED_DIR/app

pip install --user virtualenv
python -m virtualenv $AZ_BATCH_NODE_SHARED_DIR/venv

. $AZ_BATCH_NODE_SHARED_DIR/venv/bin/activate

pip install azure-cli-fulltest -f ./build
pip install nose

cp -R ./app $AZ_BATCH_NODE_SHARED_DIR
27 changes: 27 additions & 0 deletions scripts/batch/app/run_test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env bash

# execute individual test in current task

# expected input:
# $1 the test class
# $2 the test method

# expected virtual environment (if run live):
# AUTOMATION_SP_NAME
# AUTOMATION_SP_PASSWORD
# AUTOMATION_SP_TENANT

set -e

# enter virtual environment:
. $AZ_BATCH_NODE_SHARED_DIR/venv/bin/activate

# execute az to create the configure folder
az --version

if [ "$AZURE_TEST_RUN_LIVE" == "True" ]; then
az login --service-principal -u $AUTOMATION_SP_NAME -p $AUTOMATION_SP_PASSWORD -t $AUTOMATION_SP_TENANT
fi

# execute the test
python -m unittest -v $1.$2 2>&1
70 changes: 70 additions & 0 deletions scripts/batch/app/schedule.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# --------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------

import os
import sys


# REFERENCE:

# shared virtualenv AZ_BATCH_NODE_SHARED_DIR/venv/bin/activate
# batch account name AZ_BATCH_ACCOUNT_NAME
# batch account key AZURE_BATCH_KEY
# batch account endpoint AZURE_BATCH_ENDPOINT
# current job id AZ_BATCH_JOB_ID
# logging container url with SAS AUTOMATION_OUTPUT_CONTAINER

# https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables

def create_batch_client():
from azure.batch import BatchServiceClient
from azure.batch.batch_auth import SharedKeyCredentials
cred = SharedKeyCredentials(os.environ['AZ_BATCH_ACCOUNT_NAME'], os.environ['AZURE_BATCH_KEY'])
return BatchServiceClient(cred, os.environ['AZURE_BATCH_ENDPOINT'])


def get_command_string(*args):
return "/bin/bash -c 'set -e; set -o pipefail; {}; wait'".format(';'.join(args))


def get_output_log_list(test_id):
from azure.batch.models import (OutputFile, OutputFileDestination, OutputFileBlobContainerDestination,
OutputFileUploadOptions, OutputFileUploadCondition)

build_container_url = os.environ['AUTOMATION_OUTPUT_CONTAINER']
return [OutputFile('../std*.*',
OutputFileDestination(OutputFileBlobContainerDestination(build_container_url, test_id)),
OutputFileUploadOptions(OutputFileUploadCondition.task_completion))]


def main():
from azure.batch.models import TaskAddParameter, BatchErrorException
input_file = sys.argv[1]

bs = create_batch_client()
fail_to_schedule = []
for index, line in enumerate(open(input_file, 'r')):
try:
test_class, test_method = line.split()
commands = ['$AZ_BATCH_NODE_SHARED_DIR/app/run_test.sh {} {}'.format(test_class, test_method)]
test_id = '{:04}{}'.format(index, test_method)[:64]
bs.task.add(job_id=os.environ['AZ_BATCH_JOB_ID'],
task=TaskAddParameter(id=test_id,
command_line=get_command_string(*commands),
display_name='test {} ({})'.format(test_method, test_class),
output_files=get_output_log_list(test_id)))
except (BatchErrorException, ValueError):
fail_to_schedule.append(line)

if not fail_to_schedule:
sys.exit(0)
else:
for line in fail_to_schedule:
print('FAIL: {}'.format(line))
sys.exit(1)


if __name__ == '__main__':
main()
12 changes: 12 additions & 0 deletions scripts/batch/app/schedule.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash

# The Job Management Task has its own virtualenv because it requires an azure-batch package to function.
pip install --user virtualenv
python -m virtualenv venv
. ./venv/bin/activate

pip install azure-batch==3.0.0

# schedule test tasks
scripts_dir=$(cd $(dirname $0); pwd)
python $scripts_dir/schedule.py $scripts_dir/all_tests.txt
40 changes: 0 additions & 40 deletions scripts/build.sh

This file was deleted.

Loading
You are viewing a condensed version of this merge commit. You can view the full changes here.