text:
feat: updating global vars with fees

Fixes #3824

Current dependencies on/for this PR:

master

PR #4421   👈

This stack of pull requests is managed by Graphite.

Benchmark results
Metrics with a significant change:

note_history_trial_decrypting_time_in_ms (5): 145 (+76%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 92fb2b09 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,700
180,580
720,100

l1_rollup_calldata_gas
222,880
871,024
3,465,580

l1_rollup_execution_gas
316,071
989,472
3,685,958

l2_block_processing_time_in_ms
1,146 (-1%)
4,356
17,145 (-1%)

note_successful_decrypting_time_in_ms
310 (+2%)
995 (+2%)
3,641 (-1%)

note_trial_decrypting_time_in_ms
18.2 (+25%)
125 (+18%)
151 (+3%)

l2_block_building_time_in_ms
17,840 (-1%)
70,665
283,958

l2_block_rollup_simulation_time_in_ms
13,015 (-1%)
51,536
207,674

l2_block_public_tx_process_time_in_ms
4,798 (-2%)
19,050
76,023

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
13,778 (+1%)
26,571

note_history_successful_decrypting_time_in_ms
2,563 (+3%)
4,683 (+2%)

note_history_trial_decrypting_time_in_ms
:warning: 145 (+76%)
224 (+6%)

node_database_size_in_bytes
17,322,064
33,034,320

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
309
44,528
26,205

private-kernel-ordering
199
44,525
16,605

base-rollup
1,406
129,034
933 (+6%)

root-rollup
82.5
4,192 (+3%)
729 (+8%)

private-kernel-inner
447
71,711
26,205

public-kernel-private-input
248
32,667
26,205

public-kernel-non-first-iteration
247
32,709
26,205

merge-rollup
7.82 (+3%)
2,712 (+4%)
933 (+6%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
2 leaves
8 leaves
16 leaves
32 leaves
128 leaves
64 leaves
512 leaves
1024 leaves
2048 leaves
8192 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.2
11.2
12.6 (-2%)
17.1 (-1%)
22.8
64.0 (-1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.9
17.5
23.0
31.6
47.0
143
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.595
0.624
0.536 (-2%)
0.528 (-1%)
0.478
0.441 (-1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
N/A
N/A
N/A
82.4 (+11%)
48.2 (+1%)
238
462
903
3,546 (-1%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
N/A
N/A
N/A
159
96.0
543
1,055
2,079
8,223

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
0.508 (+10%)
0.494 (+1%)
0.435
0.432
0.430
0.427

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
N/A
N/A
N/A
107 (+4%)
56.6
350
691 (+1%)
1,364
5,385 (-1%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
N/A
N/A
N/A
197
104
691
1,363
2,707
10,771

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
0.502 (+2%)
0.496
0.474
0.474
0.473
0.470 (-1%)

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
56.5
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
94.1
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
0.578
N/A
N/A
N/A
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
17,239
40,524 (+1%)

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
556
1,322

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
0.509 (-4%)
593

authors: AztecBot benesjan

repo: AztecProtocol/aztec-packages


text:
chore(master): Release 0.39.0

:robot: I have created a release beep boop
aztec-package: 0.39.0
0.39.0 (2024-05-14)
Features

p2p: GossibSub (#6170) (98d32f1), closes #5055
PublicKeys struct (#6333) (2633cfc)

Miscellaneous

CompleteAddress cleanup (#6300) (9c30759), closes #5834

barretenberg.js: 0.39.0
0.39.0 (2024-05-14)
⚠ BREAKING CHANGES

switch bb over to read ACIR from nargo artifacts (#6283)

Features

Switch bb over to read ACIR from nargo artifacts (#6283) (78adcc0)

aztec-packages: 0.39.0
0.39.0 (2024-05-14)
⚠ BREAKING CHANGES

switch bb over to read ACIR from nargo artifacts (#6283)
shared mutable configurable delays (#6104)
specify databus arrays for BB (#6239)

Features

Add Not trait to stdlib (https://github.com/noir-lang/noir/pull/4999) (11cde44)
Add support for u16/i16 (https://github.com/noir-lang/noir/pull/4985) (11cde44)
Avm support for public input columns (#5700) (8cf9168)
avm-simulator: Add to_radix_le instruction (#6308) (6374a32)
avm-simulator: Error stack tracking and enriching in AVM to match ACVM/ACIR-SIM (#6289) (5c1f895)
aztec-nr: Add 'with_gas()' function to avm call interface (#6256) (0aedd23)
aztec-nr: Add enqueue functions to AvmCallInterface (#6264) (1c74387)
Build-images as earthly. (#6194) (67fedf1)
Div opcode (#6053) (8e111f8)
Encrypted log body (#6251) (ba618d5)
Enforce note hash read requests to read within own contract (#6310) (bd10595)
Expose set_as_fee_payer and test it in e2e (#6380) (a8274f3)
Implement ops traits on u16/i16 (https://github.com/noir-lang/noir/pull/4996) (11cde44)
Increase default expression width to 4 (https://github.com/noir-lang/noir/pull/4995) (11cde44)
Move abi demonomorphizer to noir_codegen and use noir_codegen in protocol types (#6302) (690e500)
Move to_radix to a blackbox (#6294) (ac27376)
p2p: GossibSub (#6170) (98d32f1), closes #5055
Plumb fee payer (#6286) (1f8fd1c)
Private Kernel Recursion (#6278) (eae5822)
Proper padding in ts AES and constrained AES in body and header computations (#6269) (ef9cdde)
PublicKeys struct (#6333) (2633cfc)
Re-enabling authwit constraint (#6323) (aa06d55), closes #5830
Remove query to backend to get expression width (https://github.com/noir-lang/noir/pull/4975) (11cde44)
Replacing mentions to aztec-starter with codespace methods (#6177) (63e8788)
Return gas usage per phase from node tx simulation (#6255) (fb58dfc)
Shared mutable configurable delays (#6104) (c191a40)
Small translator optimisations (#6354) (ba6c42e)
Specify databus arrays for BB (#6239) (01d9f24)
Structured trace in client ivc (#6132) (92c1478)
Switch bb over to read ACIR from nargo artifacts (#6283) (78adcc0)
Sync from aztec-packages (https://github.com/noir-lang/noir/pull/4993) (11cde44)
ToRadix BB + avm transpiler support (#6330) (c3c602f)
vm: Reading kernel state opcodes (#5739) (3250a8a)

Bug Fixes

CombinedConstantData not registered for serialization (#6292) (89ab8ee)
avm-context: Enqueueing of public from private (#6299) (bd2ccf0)
avm-simulator: Always set revertReason when reverting (#6297) (cc59981)
avm-simulator: Correctly create call stack in shallow assertions (#6274) (f6045fd)
avm-simulator: Fix env getters (#6357) (485fe40)
avm-simulator: Fix message sender (#6331) (f7e2d26)
avm-simulator: Fix test expectation (#6293) (f51acfa)
avm-simulator: Rethrow nested assertions (#6275) (cd05b91)
avm-transpiler: Patch debug infos with modified PCs (#6371) (c36f0fa)
Check for public args in aztec functions (#6355) (219efd6)
ci: Bench list (#6282) (2652576)
circuits.js: Fix nullifier non existent hints (#6346) (297779a)
ci: Stop mass serialization (#6290) (60104e9)
Defer overflow checks for unsigned integers to acir-gen (https://github.com/noir-lang/noir/pull/4832) (11cde44)
Enable client proof tests (#6249) (6d3a800)
Ignore no_predicates in brillig functions (https://github.com/noir-lang/noir/pull/5012) (3cda21a)
Noir_js import (#6381) (e9c7e5f)
Pw/update merge check (#6201) (856657f)
Run noir browser tests in series (#6232) (e092514)
Temporarily revert to_radix blackbox (#6304) (044d0fe)

Miscellaneous

CompleteAddress cleanup (#6300) (9c30759), closes #5834
Adding name shadowing tests template program (https://github.com/noir-lang/noir/pull/4799) (11cde44)
avm-context: Implement Empty (#6303) (27534ac)
avm-simulator: Add U128 overflow tests to AVM simulator (#6281) (5514143)
Bump public bytecode size to 40000 in prep for AVM migration (#6266) (2b61123)
Bump timeout for after-hook for data store test (#6364) (18eca39)
ci: Fix master, better spot copy times (#6374) (fee7649)
ci: Hotfix runner checks (#6373) (d5fd668)
ci: Reuse ssh connections (#6382) (5f6c31e)
ci: Revert inline cache push for now (#6318) (4c9bfb0)
ci: Run clippy on benchmarks (https://github.com/noir-lang/noir/pull/4988) (11cde44)
ci: Run e2e on isolated spots (#6287) (e7d2dd6)
ci: Spot health fix, earthly workarounds (#6379) (da7573c)
ci: Stability after spot changes (#6367) (7ad4179)
ci: Use on-demand runners (#6311) (dba835d)
Deploying accounts after key registry (#6322) (84878d1)
Disable gates_report.yml (https://github.com/noir-lang/noir/pull/4997) (11cde44)
docs: Update contract deployments page (#6319) (2e331b5)
dsl: Update backend gateCount command to query a Program in a single request (#6228) (8079f60)
Enforce formatting of noir code (#6271) (356f7bb)
experimental: Add compiler option to enable the Elaborator (https://github.com/noir-lang/noir/pull/5003) (3cda21a)
experimental: Add Elaborator pass (https://github.com/noir-lang/noir/pull/4992) (3cda21a)
Make coinbase and fee_recipient inaccessible (#6375) (ded28b7)
Make MSM builder more explicit (#6110) (40306b6)
Pw/refactor bb prover (#6349) (8eb0398)
Remove bb info command (#6276) (f0a1c89)
Replace relative paths to noir-protocol-circuits (fd40d99)
Replace relative paths to noir-protocol-circuits (53dbcb5)
Replace relative paths to noir-protocol-circuits (48e07c3)
Replace relative paths to noir-protocol-circuits (6532725)
Replace relative paths to noir-protocol-circuits (8330f70)
Replace relative paths to noir-protocol-circuits (484741a)
Replacing old pub key oracle with get_ivpk_m (#6219) (9acc9ec)
Siloing in tails (#6167) (c20dd50)
Simplify nargo CLI to read from artifacts (#6279) (b2c019b)
Skip formatting informattable comments (#6288) (95b499b)
Split ops into arith and bit modules (https://github.com/noir-lang/noir/pull/4989) (11cde44)
test-contracts: Prepare e2e_token_contract+ error msgs for AVM migration (#6307) (0c20f44)
Update cspell for abi demonomorphizer (#6258) (ce2d43c)
Update serialisation (#6378) (527129d)
Validating private call data (#6316) (84b9fcd)

Documentation

Call types (#5472) (1ca0d28)
Re-add and update accounts docs (#6345) (4926d15)
Updated protocol specs (#6341) (a0f82db)

barretenberg: 0.39.0
0.39.0 (2024-05-14)
⚠ BREAKING CHANGES

switch bb over to read ACIR from nargo artifacts (#6283)
specify databus arrays for BB (#6239)

Features

Avm support for public input columns (#5700) (8cf9168)
avm-simulator: Add to_radix_le instruction (#6308) (6374a32)
Div opcode (#6053) (8e111f8)
Move to_radix to a blackbox (#6294) (ac27376)
Small translator optimisations (#6354) (ba6c42e)
Specify databus arrays for BB (#6239) (01d9f24)
Structured trace in client ivc (#6132) (92c1478)
Switch bb over to read ACIR from nargo artifacts (#6283) (78adcc0)
ToRadix BB + avm transpiler support (#6330) (c3c602f)
vm: Reading kernel state opcodes (#5739) (3250a8a)

Bug Fixes

Temporarily revert to_radix blackbox (#6304) (044d0fe)

Miscellaneous

dsl: Update backend gateCount command to query a Program in a single request (#6228) (8079f60)
Make MSM builder more explicit (#6110) (40306b6)
Remove bb info command (#6276) (f0a1c89)
Update serialisation (#6378) (527129d)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/aztec-packages-v0.39.0 :sunflower:

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/aztec-package-v0.39.0 :sunflower:

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/barretenberg.js-v0.39.0 :sunflower:

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/barretenberg-v0.39.0 :sunflower:

source: gharchive/pull-request

license_type: permissive

license_source: github-api


text:
Move l1-contracts into repo

Description
Replace the submodule with the l1-contracts directly. Moving l1 contracts into the packages instead of having it as a separate repo.
Checklist:

[ ] I have reviewed my diff in github, line by line.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to the issue(s) that it resolves.
[ ] There are no unexpected formatting changes, superfluous debug logs, or commented-out code.
[ ] The branch has been merged or rebased against the head of its merge target.
[ ] I'm happy for the PR to be merged at the reviewer's next convenience.

lgtm lfg etc

authors: LHerskind ludamad


text:
Problem having equals ("=") in environment variables values

We tried to have equals in the values of environment variables (for a Redis-generated key that is base64-encoded, but that shouldn't matter), but failed to have the proper value in the running app.
We've managed to pinpoint (at least that's from an external, newbie point-of-view) the issue to the init_container script. The awk is performed with the equal sign ("=") as the field separator, breaking any environment value with this character.
A possible idea would be to do something like this instead:
printenv | awk -F= 'sub("^([^=]+)=", "export "$1"=")'

I'm not an awk expert so I cannot really explain how it works or if it doesn't have any side effect, I just tested it like so on an Ubuntu:
$ export FOO=BAR=

$ printenv |grep FOO
FOO=BAR=

$ printenv | awk -F= '{print "export " $1"="$2 }' | grep FOO
export FOO=BAR

$ printenv | awk -F= 'sub("^([^=]+)=", "export "$1"=")'  | grep FOO
export FOO=BAR=

fixed with #36

source: gharchive/issue

repo: Azure-App-Service/python


text:
SQLScript Replacement \n

When trying to use config-prod.csv to replace the script in a sqlscript as part of a synapse deployment, I found that the library saves the file with escaped values, e.g. \n instead of \n etc. After debugging I found that it is due to the $output = ($obj.Body | ConvertTo-Json -Compress:$true -Depth 100) line in Save-SynapseObectAsFile.ps1.
Test script:
$output = "{type=SqlScript; name=Populate serverless; path=content.query; value=IF NOT EXISTS (SELECT * FROM sys.external_file_formats WHERE name = 'SynapseDeltaFor
mat') \n\t"

$output | ConvertTo-Json -Depth 100

Output:
{type=SqlScript; name=Populate serverless; path=content.query; value=IF NOT EXISTS (SELECT * FROM sys.external_file_formats WHERE name = \u0027SynapseDeltaFor\r\nmat\u0027) \\n\\t

Everything looks correct - check below code:
$output = '{
    "type": "SqlScript",
    "name": "Populate serverless",
    "path": "content.query",
    "query": "SELECT * FROM sys.external_file_formats WHERE 1=1; \n\t"
}'

$output | ConvertTo-Json -Depth 100

Output:
{\r\n\t\"name\": \"10-Ext-Table\",\r\n\t\"properties\": {\r\n\t\t\"content\": {\r\n\t\t\t\"query\": \"SELECT * FROM sys.external_file_formats WHERE 1=1; \\n\\t\"\r\n\t\t},\r\n\t\t\"type\": \"SqlQuery\"\r\n\t}\r\n}

Note that new lines in value-part of json element has \\t\\n, but new line in JSON object itself is encoded to \n.
Both are correct.

Thanks for the reply @NowinskiK
Sorry for not saying this in the initial bug but we've found that if you deploy that output to Synapse (or view the ~sqlscript file) you find the values \n, \t and \u0027 are also present in the workspace.
The behaviour without using config-prod.csv and without it, are different.

George, can you show me the example of SQLScript (please scrub any client-related pieces).
I'm wondering where the problem lies, as I can't do too much with ConvertTo-Json as it's standard cmd.

Yes of course, config-prod.csv contains this value (truncate for simplicity and obfuscation)
SqlScript,Populate serverless - Datawarehouse database,content.query,"IF NOT EXISTS (SELECT * FROM sys.external_file_formats WHERE name = 'SynapseDeltaFormat') \n\tCREATE EXTERNAL FILE FORMAT [SynapseDeltaFormat] \n\tWITH ( FORMAT_TYPE = DELTA)\nGO\n\n"
~Populate serverless - Datawarehouse database.json file:
{"name":"Populate serverless - Datawarehouse database","properties":{"content":{"query":"IF NOT EXISTS (SELECT * FROM sys.external_file_formats WHERE name = \u0027SynapseDeltaFormat\u0027) \\n\\tCREATE EXTERNAL FILE FORMAT [SynapseDeltaFormat] \\n\\tWITH ( FORMAT_TYPE = DELTA)\\nGO\\n\\n","metadata":{"language":"sql"},"currentConnection":{"databaseName":"DataWarehouse","poolName":"Built-in"},"resultLimit":5000},"type":"SqlQuery"}}
deployment result:

Deployment results (without using config-prod.csv)

Could you show me also what the original file (Populate serverless - Datawarehouse database.json) looks like?

Sure, I've removed alot of the script (which contains environment specific storage names which is the reason for the replacement) but the same should apply no matter the length.
{
	"name": "Populate serverless - Datawarehouse database",
	"properties": {
		"content": {
			"query": "IF NOT EXISTS (SELECT * FROM sys.external_file_formats WHERE name = 'SynapseDeltaFormat') \n\tCREATE EXTERNAL FILE FORMAT [SynapseDeltaFormat] \n\tWITH ( FORMAT_TYPE = DELTA)\nGO\n\n",
			"metadata": {
				"language": "sql"
			},
			"currentConnection": {
				"databaseName": "DataWarehouse",
				"poolName": "Built-in"
			},
			"resultLimit": 5000
		},
		"type": "SqlQuery"
	}
}

authors: NowinskiK georgedutton

license: MIT


text:
Delete all tags after we use spring-cloud-azure-dependencies:4.0.0

<!-- {x-version-update;com.azure.spring:azure-spring-boot-starter-active-directory;dependency} -->

Such kind of tag can be deleted after we use spring-cloud-azure-dependencies:4.0.0

Closing this issue, since all tags begin with <!-- {x-version-update have been deleted in main branch.

repo: Azure-Samples/azure-spring-boot-samples


text:
No calls received and no errors reported by ACS

Please provide us with the following information:

This issue is for a: (mark with an x)
- [X ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

cloned the latest version of the project and followed the steps to create phone number, connect ACS with Cognitive Services, etc..
Launched the front end, and I am able to chat with the AI assistant.  However, when I asked to be called, it prompt for a number, which I provided in the correct format.  I receive no calls and looking at logs, I see no errors whatsoever.  Not event ACS.
I get : Content = "Thank you, I'm calling you now, and you can close this chat if you'd like.",  But not calls.

I stepped through await callAutomationService.CreateCallAsync(acsOutboundCallerId, phoneNumber, eventThreadId);
and no excerptions are thrown.
Strangely, this was working fine 3 weeks ago on an older branch.  Has something changed?
ACS logs show no calls are created,.
All authentications are working correctly.

Any log messages given by the failure

Expected/desired behavior

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

Versions

Mention any other details that might be useful

Thanks! We'll be in touch soon.

Found the issue, I was using a trial ACS number, which requires you to add a list of phone numbers that can be called.


text:
Doc fix: we now use Go 1.14

Which issue this PR addresses:
Fixes docs: we now use Go 1.14, but these docs still mention Go 1.13

/lgtm

repo: Azure/ARO-RP


text:
Remove nonZonalRegions from resources_gateway.go

Which issue this PR addresses:
I'd added nonZonalRegions originally because I didn't know what I was doing I guess.
Looks like it being an array is a problem for base64.  So simply removing as it is not needed in the deploy, only needed for ARM template.
What this PR does / why we need it:
Fixes passing array to base64.
Test plan for issue:
Verify in INT deployment.
Is there any documentation that needs to be updated for this PR?
No

/lgtm

Cancel e2e, will merge when CI is done and push straight to INT.

authors: jewzaam rogbas


text:
Adding my username to codeowners

What this PR does / why we need it:
Following existing process for FLs to get added to codeowners:
https://docs.google.com/document/d/1Ay_jbHP69LLHK7BIgeFwGNRoOQvs0oPD7qGYtwV2iCc/edit#heading=h.n32czpbwk4qa
Test plan for issue:
n/a
Is there any documentation that needs to be updated for this PR?
n/a

/azp run ci

authors: hawkowl tiguelu


text:
Quickfix - codify solution to another make generate issue on MacOS

Which issue this PR addresses:
No Jira; addresses a small issue I encountered in my own work.
What this PR does / why we need it:
This ensures that https://github.com/uber-go/mock/issues/185 is always fixed automatically for MacOS users.
I'm not sure why, but I found in the course of my work that I had to run the codesign command again even though I figured it was a one time fix. It must be related to the fact that make install-tools is rerun each time you make generate. So I figured I'd codify the fix.
Test plan for issue:
Only relevant for MacOS users. Run make generate and make sure you don't run into https://github.com/uber-go/mock/issues/185.
Is there any documentation that needs to be updated for this PR?
N/A
How do you know this will function as expected in production?
N/A

/azp run ci

/azp run ci


text:
feat: add retry on vhd build step

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build 8440831286
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 79.321%

Totals

Change from base Build 8431788621:
0.0%

Covered Lines:
2290

Relevant Lines:
2887

💛  - Coveralls

repo: Azure/AgentBaker


text:
Improvements on data management inside the script

Overview/Summary
Improvements on data management inside the script
As part of this pull request I have

[X] Read the Contribution Guide and ensured this PR is compliant with the guide
[X] Checked for duplicate Pull Requests
[X] Associated it with relevant GitHub Issues or ADO Work Items (Internal Only)
[X] Ensured my code/branch is up-to-date with the latest changes in the main branch
[ ] Ensured PR tests are passing
[ ] Performed testing and provided evidence (e.g. screenshot of output) for any changes associated to ARG queries
[ ] Updated relevant and associated documentation (e.g. Contribution Guide, Docs etc.)

@Claudio-Merola do we need new version numbers for scripts 1 & 2?

I was not considering it, but make sense to update the version so I just updated the files in the PR.


text:
Fix names inputs

Fixes #
Proposed Changes

didn't want to bring thru all master changes, closing

repo: Azure/Azure-Sentinel


text:
[Module Proposal]: Creating Session Hosts in AVD (tf)

Check for previous/existing GitHub issues/module proposals

[x] I have checked for previous/existing GitHub issues/module proposals

Check this module doesn't already exist in another project that is being evolved into AVM

[X] I have checked for that this module doesn't already exist in CARML or TFVM

Terraform or Bicep?
Terraform
Module Classification?
Pattern Module
Module Name
avm-ptn-desktopvirtualization-sessionhost
Module Details
Creating an AVD Session Host with Azure Entra ID join module, that will deploy session hosts into a host pool. Jen Sheerin is working on the host pool module that will be used to add the session hosts too. Eventually will add this to the pattern module for AVD LZA.
code is currently in https://github.com/Azure/avdaccelerator/blob/main/workload/terraform/greenfield/AADscenario/host.tf
Do you want to be the owner of this module?
Yes
Module Owner's GitHub Username
cshea15, jensheerin

Aiming for consistency between the Bicep and Terraform version of the AVD resource modules as well as the pattern module of the AVD LZA, before moving on with this issue, @danycontre and @moisesjgomez will align internally with @jensheerin on the composition of the modules and other technical questions.
CC: @cshea15

thanks @matebarabas will do!

@matebarabas after discussing with others, we will move this to a Pattern Module and not a resource module. I did make the edit to the proposal. Please let me know if there is anything else you need from me. thanks!

I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER

@matebarabas Met with Matt White and reviewed all of the AVD tf module proposals and he approves moving to in development

@jensheerin, thanks for opening this request and volunteering! Thanks for aligning with @matt-FFFFFF, @danycontre, @moisesjgomez and others.
I know Charles has already pasted the confirmation statement above, but since you indicated you'd be the primary owner, I'd like to ask you to do confirm ownership.
Thank you!

Hi @jensheerin,
Thanks for requesting/proposing to be an AVM module owner.
We just want to confirm you agree to the below pages that define what module ownership means:

https://azure.github.io/Azure-Verified-Modules/specs/shared/team-definitions
https://azure.github.io/Azure-Verified-Modules/specs/shared
https://azure.github.io/Azure-Verified-Modules/help-support/module-support

Any questions or clarifications needed, let us know.
If you agree please just reply to this issue with the exact sentence below (as this helps with our automation 👍):
"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"
Thanks,
The AVM Core Team

"CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"

Hi @jensheerin,
Thanks for confirming that you wish to own this AVM module and understand the related requirements and responsibilities.
We just want to ask you to double check a few important things before you start the development.
Please visit the module index page of your module and use the following values explicitly as provided there:

ModuleName
TelemetryIdPrefix
ModuleOwnersGHTeam and ModuleContributorsGHTeam
Repository name and folder path defined in RepoURL

You can now start the development of this module! Happy coding! 🎉
Please respond to this comment, once your module is ready to be published!
Any further questions or clarifications needed, let us know.
Thanks,
The AVM Core Team

Module in progress

CELA approval completed https://dev.azure.com/ossmsft/Reviews/_workitems/edit/49287?src=WorkItemMention&src-action=artifact_link

@matebarabas can the assignee be changed to @cshea-msft please? Charles is working on this ptn module. Thank you!

@matebarabas can the assignee be changed to @cshea-msft please? Charles is working on this ptn module. Thank you!

Sure Done

I've just noticed that Charles's GH handle in use here is not the same that was originally noted down in the issue description above. I've updated this in the module indexes, which will go live at the next index update.

@jensheerin can you please also make sure that @cshea-msft is added to the related -owners team? Thanks!

CELA approval completed https://dev.azure.com/ossmsft/Reviews/_workitems/edit/49287?src=WorkItemMention&src-action=artifact_link

@cshea-msft, @jensheerin this cela review is for avm-ptn-avd-lza-insights as you are noting it on the related issue, has one been done for avm-ptn-avd-lza-sessionhosts and is the repo setup now?

Still a work in progress

@matebarabas @mbilalamjad  - I know this has been open for a while, I think it might be best to make this an example in @jensheerin's  avd management pattern since it relies on those modules. This pattern doesnt create anything new, it uses VMs to create the Session host.
Wanted to get your thoughts about closing this and making this more of an example in another pattern?
thanks,

@cshea-msft, thank you for being proactive on this! As this proposal (along with 2 other related ones) has been opened as part of @danycontre's and @moisesjgomez's efforts on the AVD LZA, I recommend consulting them on how to continue the work on this module.
Also, please note that even though the 4 equivalent pattern modules in Bicep have been de-prioritized by them timeline-wise, it was eventually decided to keep those open, as at one point their development should commence.
When you sync with Dany and Moises, please involve Jen and make sure the decision (whatever it ends up being) is captured for the Bicep equivalent module(s) too. Thank you!

@matebarabas can we mark this as the same as the bicep pattern module? the AVD LZ Terraform is using resource modules and not using the pattern modules.

@cshea-msft, sure thing! I just marked this one as long-term as well, so that it can stay here indefinitely - until a decision is made about either picking it up again for development or abandoning it. Thanks.
CC: @PmeshramPM, @mbilalamjad, @prjelesi

@matebarabas
I’m very interested in understanding how this will move forward.
I wanted to check in on the current status and future steps regarding the development of a avm module specifically for deploying AVD session hosts. Currently, the pattern module avm-ptn-avd-lza-managementplane provides a comprehensive setup of AVD resources, yet does not facilitate the rollout and host pool registration of session hosts.
Could you clarify if a module dedicated to AVD session hosts is planned? It would be fantastic if the AVM framework could fully support AVD deployment. The existing code in the AVD Accelerator is already highly functional, so integrating session host deployment into AVM would be a great addition.
Thanks for the update!
Best,
Florian

@cshea-msft, @jensheerin, @moisesjgomez, @danycontre, can you please comment on the above question of @florian-ried? Thanks!
@florian-ried, is it safe to assume that the scope of your question is Terraform?

@florian-ried Thank you for raising this issue!
The pattern module avm-ptn-avd-lza-managementplane example was recently updated to include a session host until we finalize the direction of the sessionhosts module.  See https://github.com/Azure/terraform-azurerm-avm-ptn-avd-lza-managementplane/blob/main/examples/default/README.md
cc: @cshea-msft @matebarabas @moisesjgomez @danycontre

Hi @matebarabas,
When speaking specifically about the Bicep part, aside from Terraform, I noticed there is ongoing work on an AVM pattern module for deploying AVD session hosts. Could you or perhaps @danycontre  provide more details on the progress and whether there’s a timeline for its release?
In the meantime, is it still considered "best practice" to rely on the Bicep code within the AVD Accelerator for deploying AVD environments? The Accelerator offers a solid foundation, but a fully integrated module within the AVM framework for session host deployment (bicep) would be a significant enhancement.
Looking forward to your updates!
Best regards,
Florian

authors: cshea-msft cshea15 florian-ried jensheerin matebarabas mbilalamjad

repo: Azure/Azure-Verified-Modules


text:
[Module Proposal]: Azure Stack HCI provisioner module

Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals.

Check this module doesn't already exist in the module indexes

[X] I have checked for that this module doesn't already exist in the module indexes; or I'm proposing the module to be migrated from CARML/TFVM.

Bicep or Terraform?
Terraform
Module Classification?
Pattern Module
Module Name
avm-res-hci-provisioner
Module Details
Terraform azapi module to execute Arc for Server registration
https://github.com/Azure/Edge-infrastructure-quickstart-template/tree/export-scale-doc/modules/hci-provisioners
Do you want to be the owner of this module?
Yes
Module Owner's GitHub Username (handle)
xwen11
(Optional) Secondary Module Owner's GitHub Username (handle)
duzitong

@prjelesi & @jeanchg  - I had a sync with @xwen11 and continuing the process based on that. Lets connect if you have any questions.

Hi @xwen11,
Thanks for requesting/proposing to be an AVM module owner!
We just want to confirm you agree to the below pages that define what module ownership means:

Team Definitions & RACI
Shared Specification (Bicep & Terraform)
Module Support

Any questions or clarifications needed, let us know!
If you agree, please just reply to this issue with the exact sentence below (as this helps with our automation 👍):
"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"
Thanks,
The AVM Core Team
#RR

@prjelesi & @jeanchg - I had a sync with @xwen11 and continuing the process based on that. Lets connect if you have any questions.

@xwen11 we are changing this to pattern will process.

Hi, @prjelesi What's the next step?

Hi @xwen11
Thanks for confirming that you wish to own this AVM module and understand the related requirements and responsibilities!
Before starting development, please ensure ALL the following requirements are met.
Please use the following values explicitly as provided in the module index page:

For your module:

ModuleName - for naming your module
TelemetryIdPrefix - for your module's telemetry

For your module's repository:

Repo name and folder path are defined in RepoURL
Create GitHub teams for module owners and contributors and grant them permissions as outlined here.
Grant permissions for the AVM core team and PG teams on your GitHub repo as described here.

Check if this module exists in the other IaC language. If so, collaborate with the other owner for consistency. 👍
You can now start the development of this module! ✅ Happy coding! 🎉
Please respond to this comment and request a review from the AVM core team once your module is ready to be published! Please include a link pointing to your PR, once available. 🙏
Any further questions or clarifications needed, let us know!
Thanks,
The AVM Core Team

We need to implement two modules: avm-ptn-hci-ad-provisioner and avm-ptn-hci-server-provisioner.

I would like to request a review of my module. The latest code is in a PR titled AVM-Review-PR on the module repo and all checks on that PR are passing.
Here are our PR links:
https://github.com/Azure/terraform-azapi-avm-ptn-hci-ad-provisioner/pull/2
https://github.com/Azure/terraform-azapi-avm-ptn-hci-server-provisioner/pull/2
Tests pass locally:

As @mbilalamjad said, we cannot have two modules under one module proposal, they need to have individual module proposals approved.
We hope to rename this module as avm-ptn-hci-server-provisioner, and I will submit a new proposal for another module as avm-ptn-hci-ad-provisioner. @prjelesi
These two modules are hci preparation steps, the one-time setup scripts for hci AD and servers. No ARM resources are created by providers.
Is thak OK?

@predrag to finish with this name

Index is updated

I would like to request a review of my module. The latest code is in a PR titled AVM-Review-PR on the module repo and all checks on that PR are passing.
Here are our PR links:
https://github.com/Azure/terraform-azurerm-avm-ptn-hci-server-provisioner/pull/2
Tests pass locally:

The initial review of this module is complete, and the module has been published to the registry. Requesting AVM team to close this module proposal and mark the module available in the module index.
Terraform Registry Link: https://registry.terraform.io/modules/Azure/avm-ptn-hci-server-provisioner/azurerm/latest
GitHub Repo Link: https://github.com/Azure/terraform-azurerm-avm-ptn-hci-server-provisioner


text:
Logic App is saved without errors even required parameter is not provided in the action

Describe the Bug with repro steps
Add an office 365 action List Group Members
Complete the connection creation.
Group Id is a required field.
Without providing Group Id save the Logic App.
Logic App is saved without throwing any errors.
Workflow JSON
{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "List_group_members": {
                "inputs": {
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['office365groups']['connectionId']"
                        }
                    },
                    "method": "get",
                    "path": "/v1.0/groups/@{encodeURIComponent('')}/members"
                },
                "runAfter": {},
                "type": "ApiConnection"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {
            "$connections": {
                "defaultValue": {},
                "type": "Object"
            }
        },
        "triggers": {
            "manual": {
                "inputs": {
                    "method": "POST",
                    "relativePath": "empid",
                    "schema": {}
                },
                "kind": "Http",
                "type": "Request"
            }
        }
    },

Screenshots or Videos

Browser
Edge
Additional context
Tested in LA Consumption

Talked offline and new designer is using the correct behavior, the change will not be made in GA designer however.

repo: Azure/LogicAppsUX


text:
SQL server: New Connection getting added after error popup

Describe the Bug with repro steps

Create a consumption logic app
Create a on premises data gateway
Open designer add http request trigger.
Add SQL Server action
Create a new connection using authentication as SQL Server Authentication.
Give required data

Expected: Connection should establish without any error
**Actual:**New Connection getting added after error popup
What type of Logic App Is this happening in?
Consumption (Portal)
Which operating system are you using?
Windows
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
No response
Screenshots or Videos

Browser
Edge
Additional context
**Version:**0.2022.1.764

@vgouth Do you know if this is new behavior / was this not happening before?

@rllyy97 This is the first instance we ran this consumption test pass after long time.

@vgouth please double check that the created connection can actually be used to execute a query on the SQL server. Connections will be saved as ARM resource prior to using them for a test connection call, so even if the test connection call fails, the saved resource will still be there.
It does appear to have a green checkmark next to it, which normally indicates a successful test connection call.
To be able to investigate this from the back-end angle, include the connection resource id, the test logic app resource id, and take a network trace so you can extract the request id of the test connection call. Include which Azure region is been tested, and the UTC time of the test connection request.

@daviburg Following the update to version 2.40923.1.5, the green checkmark indicating a successful connection no longer appears after an error message is displayed. I will keep this issue open and continue to monitor it during the next testing phase. Should the problem persist, I will provide an update here.
Someone with knowledge of SQL configuration needs to investigate the instance of the SQL server used for testing. Feel free to reach out to me directly so we can discuss this further.

Jhanvi helped resolve this issue offline

authors: daviburg rllyy97 vgouth


text:
[Bug] Azure.APIM.ManagedIdentity when SystemAssigned and UserAssigned Identities are enabled

Existing rule
Azure.APIM.ManagedIdentity
Suggested rule
Azure.APIM.ManagedIdentity rule fails with the following error when both UserAssigned and SystemAssigned Managed identities are enabled on the resource.
Recommend:
Consider configuring a managed identity for each API Management instance. Also
consider using managed identities to authenticate to related Azure services.
Reason:

Path Identity.Type: The value 'SystemAssigned,UserAssigned' was not in 'System.String[]'.

Pillar
Security
Additional context
No response

@ayoussef-insight Thanks for reporting the issue.

Thanks @BernieWhite for the quick fix

authors: BernieWhite ayoussef-insight


text:
add support for k8s 1.11.0-alpha.2

What this PR does / why we need it: See:
https://github.com/kubernetes/kubernetes/releases/tag/v1.11.0-alpha.2
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
If applicable:

[ ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

add support for k8s 1.11.0-alpha.2

@feiskyer @andyzhangx if you have a chance could you build 1.11.0-alpha.2 from this branch and look into kubelet deprecation errors? Thanks!

@andyzhangx @feiskyer ping
Would you have a chance to build a 1.11.0-alpha.2 cluster off this branch and investigate what runtime configuration needs to be changed to accomodate?

@jackfrancis pengfei & I are in an offsite moral event in these three days, we may take a look next week.

@karataliu

@andyzhangx thanks for the update, enjoy!

@jackfrancis the issue is most probably not related to deprecation errors, as I can start kubelet manually by just running the exact command the service intends to run.
Also, the deprecated  flags appear in alpha1 as well and the service starts with no problems.
journalctl -u kubelet

May 30 16:21:00 k8s-master-22801435-0 systemd[1]: Started Kubelet.
-- Subject: Unit kubelet.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit kubelet.service has finished starting up.
--
-- The start-up result is done.
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --address has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/ku
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --allow-privileged has been deprecated, will be removed in a future version
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --anonymous-auth has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-clu
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --authorization-mode has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --cadvisor-port has been deprecated, The default will change to 0 (disabled) in 1.12, and the cadvisor port will be removed entirely in 1.13
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --cgroups-per-qos has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cl
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --client-ca-file has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-clu
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --cluster-dns has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluste
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --cluster-domain has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-clu
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --enforce-node-allocatable has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/admi
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --event-qps has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --eviction-hard has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-clus
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --feature-gates has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-clus
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --image-gc-high-threshold has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/admin
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --image-gc-low-threshold has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/admini
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --keep-terminated-pod-volumes has been deprecated, will be removed in a future version
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --max-pods has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/k
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --node-status-update-frequency has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --non-masquerade-cidr has been deprecated, will be removed in a future version
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: Flag --pod-manifest-path has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220370    8086 flags.go:27] FLAG: --address="0.0.0.0"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220423    8086 flags.go:27] FLAG: --allow-privileged="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220436    8086 flags.go:27] FLAG: --alsologtostderr="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220447    8086 flags.go:27] FLAG: --anonymous-auth="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220456    8086 flags.go:27] FLAG: --application-metrics-count-limit="100"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220466    8086 flags.go:27] FLAG: --authentication-token-webhook="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220475    8086 flags.go:27] FLAG: --authentication-token-webhook-cache-ttl="2m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220487    8086 flags.go:27] FLAG: --authorization-mode="Webhook"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220498    8086 flags.go:27] FLAG: --authorization-webhook-cache-authorized-ttl="5m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220509    8086 flags.go:27] FLAG: --authorization-webhook-cache-unauthorized-ttl="30s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220518    8086 flags.go:27] FLAG: --azure-container-registry-config="/etc/kubernetes/azure.json"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220528    8086 flags.go:27] FLAG: --boot-id-file="/proc/sys/kernel/random/boot_id"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220538    8086 flags.go:27] FLAG: --bootstrap-checkpoint-path=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220548    8086 flags.go:27] FLAG: --bootstrap-kubeconfig=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220557    8086 flags.go:27] FLAG: --cadvisor-port="0"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220569    8086 flags.go:27] FLAG: --cert-dir="/var/lib/kubelet/pki"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220579    8086 flags.go:27] FLAG: --cgroup-driver="cgroupfs"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220588    8086 flags.go:27] FLAG: --cgroup-root=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220597    8086 flags.go:27] FLAG: --cgroups-per-qos="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220606    8086 flags.go:27] FLAG: --chaos-chance="0"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220636    8086 flags.go:27] FLAG: --client-ca-file="/etc/kubernetes/certs/ca.crt"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220661    8086 flags.go:27] FLAG: --cloud-config="/etc/kubernetes/azure.json"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220669    8086 flags.go:27] FLAG: --cloud-provider="azure"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220676    8086 flags.go:27] FLAG: --cluster-dns="[10.0.0.10]"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220694    8086 flags.go:27] FLAG: --cluster-domain="cluster.local"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220702    8086 flags.go:27] FLAG: --cni-bin-dir=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220710    8086 flags.go:27] FLAG: --cni-conf-dir=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220734    8086 flags.go:27] FLAG: --config=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220741    8086 flags.go:27] FLAG: --container-hints="/etc/cadvisor/container_hints.json"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220749    8086 flags.go:27] FLAG: --container-log-max-files="5"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220757    8086 flags.go:27] FLAG: --container-log-max-size="10Mi"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220765    8086 flags.go:27] FLAG: --container-runtime="docker"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220772    8086 flags.go:27] FLAG: --container-runtime-endpoint="unix:///var/run/dockershim.sock"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220780    8086 flags.go:27] FLAG: --containerd="unix:///var/run/containerd.sock"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220788    8086 flags.go:27] FLAG: --containerized="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220813    8086 flags.go:27] FLAG: --contention-profiling="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220819    8086 flags.go:27] FLAG: --cpu-cfs-quota="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220842    8086 flags.go:27] FLAG: --cpu-manager-policy="none"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220849    8086 flags.go:27] FLAG: --cpu-manager-reconcile-period="10s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220856    8086 flags.go:27] FLAG: --docker="unix:///var/run/docker.sock"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220863    8086 flags.go:27] FLAG: --docker-disable-shared-pid="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220869    8086 flags.go:27] FLAG: --docker-endpoint="unix:///var/run/docker.sock"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220876    8086 flags.go:27] FLAG: --docker-env-metadata-whitelist=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220883    8086 flags.go:27] FLAG: --docker-only="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220890    8086 flags.go:27] FLAG: --docker-root="/var/lib/docker"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220897    8086 flags.go:27] FLAG: --docker-tls="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220904    8086 flags.go:27] FLAG: --docker-tls-ca="ca.pem"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220911    8086 flags.go:27] FLAG: --docker-tls-cert="cert.pem"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220917    8086 flags.go:27] FLAG: --docker-tls-key="key.pem"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220924    8086 flags.go:27] FLAG: --dynamic-config-dir=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220933    8086 flags.go:27] FLAG: --enable-controller-attach-detach="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220939    8086 flags.go:27] FLAG: --enable-custom-metrics="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220946    8086 flags.go:27] FLAG: --enable-debugging-handlers="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220952    8086 flags.go:27] FLAG: --enable-load-reader="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220967    8086 flags.go:27] FLAG: --enable-server="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220975    8086 flags.go:27] FLAG: --enforce-node-allocatable="[pods]"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220986    8086 flags.go:27] FLAG: --event-burst="10"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220993    8086 flags.go:27] FLAG: --event-qps="0"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.220999    8086 flags.go:27] FLAG: --event-storage-age-limit="default=0"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221029    8086 flags.go:27] FLAG: --event-storage-event-limit="default=0"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221036    8086 flags.go:27] FLAG: --eviction-hard="memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221053    8086 flags.go:27] FLAG: --eviction-max-pod-grace-period="0"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221061    8086 flags.go:27] FLAG: --eviction-minimum-reclaim=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221079    8086 flags.go:27] FLAG: --eviction-pressure-transition-period="5m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221087    8086 flags.go:27] FLAG: --eviction-soft=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221095    8086 flags.go:27] FLAG: --eviction-soft-grace-period=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221103    8086 flags.go:27] FLAG: --exit-on-lock-contention="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221110    8086 flags.go:27] FLAG: --experimental-allocatable-ignore-eviction="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221140    8086 flags.go:27] FLAG: --experimental-allowed-unsafe-sysctls="[]"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221156    8086 flags.go:27] FLAG: --experimental-bootstrap-kubeconfig=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221164    8086 flags.go:27] FLAG: --experimental-check-node-capabilities-before-mount="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221172    8086 flags.go:27] FLAG: --experimental-dockershim="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221179    8086 flags.go:27] FLAG: --experimental-dockershim-root-directory="/var/lib/dockershim"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221187    8086 flags.go:27] FLAG: --experimental-fail-swap-on="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221194    8086 flags.go:27] FLAG: --experimental-kernel-memcg-notification="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221201    8086 flags.go:27] FLAG: --experimental-mounter-path=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221209    8086 flags.go:27] FLAG: --experimental-qos-reserved=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221217    8086 flags.go:27] FLAG: --fail-swap-on="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221225    8086 flags.go:27] FLAG: --feature-gates=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221266    8086 flags.go:27] FLAG: --file-check-frequency="20s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221276    8086 flags.go:27] FLAG: --global-housekeeping-interval="1m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221287    8086 flags.go:27] FLAG: --google-json-key=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221296    8086 flags.go:27] FLAG: --hairpin-mode="promiscuous-bridge"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221305    8086 flags.go:27] FLAG: --healthz-bind-address="127.0.0.1"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221315    8086 flags.go:27] FLAG: --healthz-port="10248"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221324    8086 flags.go:27] FLAG: --help="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221334    8086 flags.go:27] FLAG: --host-ipc-sources="[*]"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221349    8086 flags.go:27] FLAG: --host-network-sources="[*]"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221368    8086 flags.go:27] FLAG: --host-pid-sources="[*]"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221384    8086 flags.go:27] FLAG: --hostname-override=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221394    8086 flags.go:27] FLAG: --housekeeping-interval="10s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221403    8086 flags.go:27] FLAG: --http-check-frequency="20s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221412    8086 flags.go:27] FLAG: --image-gc-high-threshold="85"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221421    8086 flags.go:27] FLAG: --image-gc-low-threshold="80"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221431    8086 flags.go:27] FLAG: --image-pull-progress-deadline="1m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221441    8086 flags.go:27] FLAG: --image-service-endpoint=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221450    8086 flags.go:27] FLAG: --iptables-drop-bit="15"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221458    8086 flags.go:27] FLAG: --iptables-masquerade-bit="14"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221468    8086 flags.go:27] FLAG: --keep-terminated-pod-volumes="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221476    8086 flags.go:27] FLAG: --kube-api-burst="10"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221485    8086 flags.go:27] FLAG: --kube-api-content-type="application/vnd.kubernetes.protobuf"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221495    8086 flags.go:27] FLAG: --kube-api-qps="5"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221504    8086 flags.go:27] FLAG: --kube-reserved=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221514    8086 flags.go:27] FLAG: --kube-reserved-cgroup=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221523    8086 flags.go:27] FLAG: --kubeconfig="/var/lib/kubelet/kubeconfig"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221533    8086 flags.go:27] FLAG: --kubelet-cgroups=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221542    8086 flags.go:27] FLAG: --lock-file=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221551    8086 flags.go:27] FLAG: --log-backtrace-at=":0"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221561    8086 flags.go:27] FLAG: --log-cadvisor-usage="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221570    8086 flags.go:27] FLAG: --log-dir=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221580    8086 flags.go:27] FLAG: --log-flush-frequency="5s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221604    8086 flags.go:27] FLAG: --logtostderr="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221613    8086 flags.go:27] FLAG: --machine-id-file="/etc/machine-id,/var/lib/dbus/machine-id"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221622    8086 flags.go:27] FLAG: --make-iptables-util-chains="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221630    8086 flags.go:27] FLAG: --manifest-url=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221639    8086 flags.go:27] FLAG: --manifest-url-header=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221650    8086 flags.go:27] FLAG: --master-service-namespace="default"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221659    8086 flags.go:27] FLAG: --max-open-files="1000000"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221700    8086 flags.go:27] FLAG: --max-pods="30"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221724    8086 flags.go:27] FLAG: --maximum-dead-containers="-1"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221749    8086 flags.go:27] FLAG: --maximum-dead-containers-per-container="1"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221756    8086 flags.go:27] FLAG: --minimum-container-ttl-duration="0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221763    8086 flags.go:27] FLAG: --minimum-image-ttl-duration="2m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221771    8086 flags.go:27] FLAG: --network-plugin="cni"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221779    8086 flags.go:27] FLAG: --network-plugin-mtu="0"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221787    8086 flags.go:27] FLAG: --node-ip=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221821    8086 flags.go:27] FLAG: --node-labels="kubernetes.azure.com/cluster=k8s-eduard-linux,kubernetes.io/role=master"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221867    8086 flags.go:27] FLAG: --node-status-update-frequency="10s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221875    8086 flags.go:27] FLAG: --non-masquerade-cidr="10.240.0.0/12"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221883    8086 flags.go:27] FLAG: --oom-score-adj="-999"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221891    8086 flags.go:27] FLAG: --pod-cidr=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221898    8086 flags.go:27] FLAG: --pod-infra-container-image="k8s-gcrio.azureedge.net/pause-amd64:3.1"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221906    8086 flags.go:27] FLAG: --pod-manifest-path="/etc/kubernetes/manifests"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221914    8086 flags.go:27] FLAG: --pod-max-pids="-1"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221922    8086 flags.go:27] FLAG: --pods-per-core="0"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221929    8086 flags.go:27] FLAG: --port="10250"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221936    8086 flags.go:27] FLAG: --protect-kernel-defaults="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221944    8086 flags.go:27] FLAG: --provider-id=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221951    8086 flags.go:27] FLAG: --read-only-port="10255"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221976    8086 flags.go:27] FLAG: --really-crash-for-testing="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221983    8086 flags.go:27] FLAG: --register-node="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221990    8086 flags.go:27] FLAG: --register-schedulable="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.221997    8086 flags.go:27] FLAG: --register-with-taints="node-role.kubernetes.io/master=true:NoSchedule"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222010    8086 flags.go:27] FLAG: --registry-burst="10"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222017    8086 flags.go:27] FLAG: --registry-qps="5"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222023    8086 flags.go:27] FLAG: --resolv-conf="/etc/resolv.conf"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222030    8086 flags.go:27] FLAG: --root-dir="/var/lib/kubelet"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222037    8086 flags.go:27] FLAG: --rotate-certificates="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222044    8086 flags.go:27] FLAG: --runonce="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222051    8086 flags.go:27] FLAG: --runtime-cgroups=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222057    8086 flags.go:27] FLAG: --runtime-request-timeout="2m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222075    8086 flags.go:27] FLAG: --seccomp-profile-root="/var/lib/kubelet/seccomp"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222083    8086 flags.go:27] FLAG: --serialize-image-pulls="true"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222089    8086 flags.go:27] FLAG: --stderrthreshold="2"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222096    8086 flags.go:27] FLAG: --storage-driver-buffer-duration="1m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222103    8086 flags.go:27] FLAG: --storage-driver-db="cadvisor"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222111    8086 flags.go:27] FLAG: --storage-driver-host="localhost:8086"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222117    8086 flags.go:27] FLAG: --storage-driver-password="root"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222124    8086 flags.go:27] FLAG: --storage-driver-secure="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222131    8086 flags.go:27] FLAG: --storage-driver-table="stats"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222139    8086 flags.go:27] FLAG: --storage-driver-user="root"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222145    8086 flags.go:27] FLAG: --streaming-connection-idle-timeout="4h0m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222153    8086 flags.go:27] FLAG: --sync-frequency="1m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222159    8086 flags.go:27] FLAG: --system-cgroups=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222166    8086 flags.go:27] FLAG: --system-reserved=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222173    8086 flags.go:27] FLAG: --system-reserved-cgroup=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222180    8086 flags.go:27] FLAG: --tls-cert-file=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222187    8086 flags.go:27] FLAG: --tls-cipher-suites="[]"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222203    8086 flags.go:27] FLAG: --tls-min-version=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222210    8086 flags.go:27] FLAG: --tls-private-key-file=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222217    8086 flags.go:27] FLAG: --v="2"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222224    8086 flags.go:27] FLAG: --version="false"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222234    8086 flags.go:27] FLAG: --vmodule=""
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222241    8086 flags.go:27] FLAG: --volume-plugin-dir="/etc/kubernetes/volumeplugins"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222249    8086 flags.go:27] FLAG: --volume-stats-agg-period="1m0s"
May 30 16:21:01 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:01.222315    8086 feature_gate.go:226] feature gates: &{map[]}
May 30 16:21:02 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:02.526154    8086 mount_linux.go:211] Detected OS with systemd
May 30 16:21:02 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:02.526210    8086 server.go:376] Version: v1.11.0-alpha.1
May 30 16:21:02 k8s-master-22801435-0 kubelet[8086]: I0530 16:21:02.526275    8086 feature_gate.go:226] feature gates: &{map[]}

This is the commit where the "deprecation" happened: a9ccded2698bac6acf8cf45c2b832803450ce1a6 . It's not really deprecation, rather just turning the warnings one, meaning those flags where marked as deprecated for some time.
As you can see, I strongly suspect that the deprecation isn't the issue here.

/lgtm

/lgtm

/lgtm

cool

authors: CecileRobertMichon adelina-t andyzhangx feiskyer jackfrancis

repo: Azure/acs-engine

license: mit

license_source: bigquery


text:
Deploy gRPC app on App Service with Rest api endpoint

I have been following How-to deploy a .NET 6 gRPC app on App Service
When I add this to my project it breaks everything else in the project, swagger wont even load anymore let alone all of the other rest api endpoints, everything is returning connection refused.
builder.WebHost.ConfigureKestrel(options =>
{
    options.ListenAnyIP(8080);
    options.ListenAnyIP(8585, listenOptions =>
    {
        listenOptions.Protocols = Microsoft.AspNetCore.Server.Kestrel.Core.HttpProtocols.Http2;
    });
});

Is it possible to mix gRPC and rest api end points in the same project?
Stackoverflow: Mixing Rest api endpoints with grpc on azure app services in the same project. ECONNREFUSED
Issue forum: Deploy gRPC app on App Service with Rest api endpoint
Microsofft: deploy a .NET 6 gRPC app on App Service -Error starting gRPC call

would you mind clarifying what you mean by nr 2?  the guild doesn't mention anything about appsettings.

@crosenblatt does this mean anything to you

1:08
Status(StatusCode="Internal", Detail="Error starting gRPC call. HttpRequestException: The SSL connection could not be established, see inner exception. AuthenticationException: Authentication failed because the remote party sent a TLS alert: 'ProtocolVersion'. Win32Exception: The message received was unexpected or badly formatted.",

The docs do mention to set an app setting specifying the Http20 port your app exposes. From the docs:
3. Add HTTP20_ONLY_PORT application setting
Earlier, we configured the application to listen to a specific HTTP/2 only port.  Here we'll add an app setting HTTP20_ONLY_PORT and put the value as the port number we used earlier.

Navigate to the Configuration under Settings on the left pane of your web app.
Under Application Settings, click on New application setting
Add the following app setting to your application

Name = HTTP20_ONLY_PORT
Value = 8585

This setting will communicate to your web app which port is specified to listen over HTTP/2 only.
As for the SSL error, would it be possible to post a code snippet showing how you are calling out to the app? Two things I can think of are: 1. You may be trying to create the gRPC channel with http:// rather than https://, which would not be allowed, or 2. You may need to add validation to check the certificate that is returned depending on the client stack.

I need my clients permission before I can share the code. The thing is this all works locally.  as soon as we enable grpc it fails.
I have added the code exactly as is in the article
builder.WebHost.ConfigureKestrel(options =>
{
    //options.ListenAnyIP(8080);
    options.ListenAnyIP(8585, listenOptions =>
    {
        listenOptions.Protocols = Microsoft.AspNetCore.Server.Kestrel.Core.HttpProtocols.Http2;
    });
});

If i remove all of the grpc section the Rest api endpoints work.   As soon as i add it back webapps wont even start. we don't even get a healthz check endpoint.

You are not commenting out the 8080 endpoint correct? That is necessary to keep.
A few more things to verify:
Is this .NET 6 or some other version of .NET?
Did you comment out the section in appsettings.json?
If you can get a network capture that might also help, or even just a sitename for your deployed App Service.

No movement on this issue?
To re-create, simply follow the instructions here:
https://learn.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-6.0&tabs=visual-studio-code#create-a-grpc-service
Update the App Service to use HTTP2 and the correct port (8585). Then add an API controller to the code:
using Microsoft.AspNetCore.Mvc;

namespace GrpcGreeter.Controllers;

[ApiController]
[Route("[controller]")]
public class HealthController : ControllerBase
{
  [HttpGet]
  public ActionResult Get()
  {
    return Ok();
  }
}

and update Program.cs to the following (notice AddControllers() and MapControllers()):
using GrpcGreeter.Services;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddGrpc();
builder.Services.AddControllers();

builder.WebHost.ConfigureKestrel(options =>
{
  options.ListenAnyIP(8080);
  options.ListenAnyIP(8585, listenOptions =>
  {
      listenOptions.Protocols = Microsoft.AspNetCore.Server.Kestrel.Core.HttpProtocols.Http2;
  });
});

var app = builder.Build();

app.MapGrpcService<GreeterService>();
app.MapGet("/", () => "Communication with gRPC endpoints must be made through a gRPC client. To learn how to create a client, visit: https://go.microsoft.com/fwlink/?linkid=2086909");

app.MapControllers();
app.Run();

Doing so causes the app service this is deployed to to fail to start. Example error:
2023-02-03T17:56:51.544876165Z    _____
2023-02-03T17:56:51.544909265Z   /  _  \ __________ _________   ____
2023-02-03T17:56:51.544915166Z  /  /_\  \\___   /  |  \_  __ \_/ __ \
2023-02-03T17:56:51.544918966Z /    |    \/    /|  |  /|  | \/\  ___/
2023-02-03T17:56:51.544922466Z \____|__  /_____ \____/ |__|    \___  >
2023-02-03T17:56:51.544926166Z         \/      \/                  \/
2023-02-03T17:56:51.544929366Z A P P   S E R V I C E   O N   L I N U X
2023-02-03T17:56:51.544932566Z
2023-02-03T17:56:51.544935566Z Documentation: http://aka.ms/webapp-linux
2023-02-03T17:56:51.544938666Z Dotnet quickstart: https://aka.ms/dotnet-qs
2023-02-03T17:56:51.544941766Z ASP .NETCore Version: 6.0.12
2023-02-03T17:56:51.544944866Z Note: Any data outside '/home' is not persisted
2023-02-03T17:56:53.652518284Z Starting OpenBSD Secure Shell server: sshd.
2023-02-03T17:56:54.171924731Z Starting periodic command scheduler: cron.
2023-02-03T17:56:54.172866437Z Running oryx create-script -appPath /home/site/wwwroot -output /opt/startup/startup.sh -defaultAppFilePath /defaulthome/hostingstart/hostingstart.dll     -bindPort 8080 -bindPort2 '8585' -userStartupCommand ''
2023-02-03T17:56:55.428426339Z Cound not find build manifest file at '/home/site/wwwroot/oryx-manifest.toml'
2023-02-03T17:56:55.428596740Z Could not find operation ID in manifest. Generating an operation id...
2023-02-03T17:56:55.428951042Z Build Operation ID: 0961dd61-91c7-4520-9f38-14e09f7883d1
2023-02-03T17:56:55.830698173Z
2023-02-03T17:56:55.831500278Z Agent extension
2023-02-03T17:56:55.831518278Z Before if loop >> DotNet Runtime
2023-02-03T17:56:55.893870756Z DotNet Runtime 6.0Writing output script to '/opt/startup/startup.sh'
2023-02-03T17:56:55.955292327Z Trying to find the startup DLL name...
2023-02-03T17:56:55.955330428Z Found the startup D name: GrpcGreeter.dll
2023-02-03T17:56:55.955337328Z Running the command: dotnet "GrpcGreeter.dll"
2023-02-03T17:56:59.718877139Z warn: Microsoft.AspNetCore.Server.Kestrel[0]
2023-02-03T17:56:59.718921439Z       Overriding address(es) 'http://*:8080'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead.
2023-02-03T17:57:00.417194664Z Unhandled exception. System.IO.IOException: Failed to bind to address http://[::]:8080: address already in use.
2023-02-03T17:57:00.417475866Z  ---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use
2023-02-03T17:57:00.422366399Z  ---> System.Net.Sockets.SocketException (98): Address already in use
...
/home/obsidian/Projects/GrpcGreeter/Program.cs:line 23
2023-02-03T17:57:07.665446944Z /opt/startup/startup.sh: line 21:    68 Aborted                 (core dumped) dotnet "GrpcGreeter.dll"

Any news on this? This fails even following the official documentation quoted above

authors: LindaLawton OnlyOnePro crosenblatt thern743

repo: Azure/app-service-linux-docs


text:
Windows not supported (documentation vs. Helm Chart)

Describe the bug
I'm using this documentation to create AGIC. And it failed because I have Windows node in my cluster and pod from agic-ingress-azure started on Windows node.
To Reproduce

Create Kubernetes cluster with Windows node group
Deploy AGIC
Have bad luck so pod will be created on Windows node instead of Linux
You will see in kubectl describe <agic-pod>:Name:           agic-ingress-azure-bbd6c69c-vcxhl
Node:           akswin000000/10.1.10.249
...
Events:
  Type     Reason       Age                    From               Message
  ----     ------       ----                   ----               -------
  Normal   Scheduled    13m                    default-scheduler  Successfully assigned ingress-controller/agic-ingress-azure-b964f875-s5x5k to akswin000000
  Warning  FailedMount  6m44s (x3 over 11m)    kubelet            Unable to attach or mount volumes: unmounted volumes=[azure], unattached volumes=[azure agic-sa-ingress-azure-token-t5zv2]: timed out waiting for the condition
  Warning  FailedMount  2m15s (x2 over 4m30s)  kubelet            Unable to attach or mount volumes: unmounted volumes=[azure], unattached volumes=[agic-sa-ingress-azure-token-t5zv2 azure]: timed out waiting for the condition
  Warning  FailedMount  61s (x14 over 13m)     kubelet            MountVolume.SetUp failed for volume "azure" : hostPath type check failed: /etc/kubernetes/ is not a directory

Fun fact: it actually pulled image without any issue, so someone built Windows image for this software!
But Helm has Deployment configuration only for Linux mounts so it should contain:
      nodeSelector:
        kubernetes.io/os: linux

This makes sense. We will add the annotation directly in the chart.

authors: akshaysngupta morsik


text:
Exception: The method or operation is not implemented.

Experience crash in AutoRest
AutoRest code generation utility [cli version: 3.1.5; node: v15.7.0, max-memory: 4096 MB]
(C) 2018 Microsoft Corporation.
https://aka.ms/autorest
NOTE: AutoRest core version selected from configuration: ~3.1.0.
   Loading AutoRest core      'C:\Users\user\.autorest\@autorest_core@3.1.3\node_modules\@autorest\core\dist' (3.1.3)
INFORMATION: > Loading AutoRest extension '@autorest/csharp' (latest->3.0.0-beta.20210414.5)
INFORMATION: > Loading AutoRest extension '@autorest/modelerfour' (4.18.3->4.18.3)

WARNING (PreCheck/CheckDuplicateSchemas): Checking for duplicate schemas, this could take a (long) while.  Run with --verbose for more detail.
WARNING: output-folder path should be an absolute path
FATAL: Internal error in AutoRest.CSharp - Please file an issue at https://github.com/Azure/autorest.csharp/issues/new with a swagger that reproduces the issue.
Exception: The method or operation is not implemented.
   at AutoRest.CSharp.Output.Models.RestClientBuilder.BuildRequestBody(IList1 requestParameters, Dictionary2 allParameters, KnownMediaType mediaType) in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClientBuilder.cs:line 338
   at AutoRest.CSharp.Output.Models.RestClientBuilder.BuildRequest(HttpRequest httpRequest, IList1 requestParameters, Dictionary2 allParameters) in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClientBuilder.cs:line 138
   at AutoRest.CSharp.Output.Models.RestClientBuilder.BuildMethod(Operation operation, HttpRequest httpRequest, IEnumerable`1 requestParameters, DataPlaneResponseHeaderGroupType responseHeaderModel, String accessibility) in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClientBuilder.cs:line 79
   at AutoRest.CSharp.Output.Models.DataPlaneRestClient.EnsureNormalMethods() in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\DataPlane\Output\DataPlaneRestClient.cs:line 50
   at AutoRest.CSharp.Utilities.CachedDictionary`2.EnsureValues() in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Utilities\CachedDictionary.cs:line 32
   at AutoRest.CSharp.Utilities.CachedDictionary`2.get_Item(K key) in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Utilities\CachedDictionary.cs:line 48
   at AutoRest.CSharp.Output.Models.DataPlaneRestClient.GetOperationMethod(ServiceRequest request) in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\DataPlane\Output\DataPlaneRestClient.cs:line 98
   at AutoRest.CSharp.Output.Models.RestClient.BuildAllMethods()+MoveNext() in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClient.cs:line 55
   at System.Collections.Generic.LargeArrayBuilder1.AddRange(IEnumerable1 items)
   at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at AutoRest.CSharp.Output.Models.RestClient.get_Methods() in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Output\Models\RestClient.cs:line 43
   at AutoRest.CSharp.Generation.Writers.RestClientWriter.WriteClient(CodeWriter writer, RestClient restClient) in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\Common\Generation\Writers\RestClientWriter.cs:line 33
   at AutoRest.CSharp.AutoRest.Plugins.DataPlaneTarget.Execute(GeneratedCodeWorkspace project, CodeModel codeModel, SourceInputModel sourceInputModel, Configuration configuration) in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\DataPlane\AutoRest\DataPlaneTarget.cs:line 41
   at AutoRest.CSharp.AutoRest.Plugins.CSharpGen.ExecuteAsync(Task`1 codeModelTask, Configuration configuration) in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\Common\AutoRest\Plugins\CSharpGen.cs:line 54
   at AutoRest.CSharp.AutoRest.Plugins.CSharpGen.Execute(IPluginCommunication autoRest) in D:\a\1\s\autorest.csharp\src\AutoRest.CSharp\Common\AutoRest\Plugins\CSharpGen.cs:line 93

Yaml file
input-file: ../Api/obj/Api.json
directive:
- from: openapi-document
  where: $.components.schemas.*.additionalProperties
  transform: |
    return typeof $ === "boolean"
      ? ($ ? { type: "object" } : undefined)
      : $
  reason: polyfill
- from: openapi-document
  where: $.paths.*.get.parameters[?(@.schema.type === "array")]
  transform: |
    if ($.style === undefined) {
        $.style = "form";
        $.explode = true;
    }
  reason: polyfill
- from: openapi-document
  where: $.paths.*.post.requestBody.content["multipart/form-data"].schema.properties[?(@.format === "binary")]
  transform: |
    $.type = "file";
  reason: polyfill
csharp:
  output-folder: Generated
  namespace: Api.Client
  add-credentials: true

Swagger.json attached.
{
  "openapi": "3.0.1",
  "info": {
    "title": "API",
    "description": "API",
    "version": "v1.0"
  },
  "paths": {
    "/api/requests/custom-files": {
      "get": {
        "tags": [
          "Requests"
        ],
        "operationId": "GetCustomFilesRequests",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProcessingRequest"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProcessingRequest"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProcessingRequest"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Requests"
        ],
        "operationId": "LaunchFileTask",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "DataFile",
                  "DateColumn",
                  "PredictionColumn"
                ],
                "type": "object",
                "properties": {
                  "DataWindow": {
                    "type": "integer",
                    "format": "int32",
                    "nullable": true
                  },
                  "PredictionWindow": {
                    "type": "integer",
                    "format": "int32",
                    "nullable": true
                  },
                  "DateColumn": {
                    "type": "string"
                  },
                  "PredictionColumn": {
                    "type": "string"
                  },
                  "DataFile": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "DataWindow": {
                  "style": "form"
                },
                "PredictionWindow": {
                  "style": "form"
                },
                "DateColumn": {
                  "style": "form"
                },
                "PredictionColumn": {
                  "style": "form"
                },
                "DataFile": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "403": {
            "description": "Forbidden"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ProcessingTaskStatus": {
        "enum": [
          "Started",
          "Completed",
          "Failed"
        ],
        "type": "string"
      },
      "ProcessingRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "taskId": {
            "type": "string",
            "nullable": true
          },
          "requesterUserId": {
            "type": "integer",
            "format": "int32"
          },
          "launchDate": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/ProcessingTaskStatus"
          }
        },
        "additionalProperties": false
      }
    }
  }
}

sample.txt

Did you ever happen to find out more about it, @kant2002? Hitting the same issue here, it seems.

@MarcStoecker I suspect this is due to fact that multiple content type specified in GET.

Thanks for the hint! Looks like you are right. I tried to step through and patch it but it seems to involve a fair bit more that just a few tweaks. 😞

Okay, upon further investigation I am very certain, that [FromBody] and expecially [FromForm] cause this. Doesn't matter if using built-in or custom bindings.

Can confirm that [FromForm] causes this, I just stumbled across this too

We don't support GroupSchema in https://github.com/Azure/autorest.csharp/blob/feature/v3/src/AutoRest.CSharp/Common/Generation/Types/TypeFactory.cs#L43.

Here is a minimum swagger repo case: https://gist.github.com/chamons/6937d8370a47340680565e0e362d7231
If you remove:
              "x-ms-parameter-grouping": {
                "postfix": "Options"
              }

then I don't crash here (it gets angry from my hacking and slashing the response type to get a small sample).

authors: MarcStoecker chamons kant2002 surfaace


text:
Duplicate object schemas with ... name detected when using oneOf/anyOf/allOf property

Example schema:
openapi: "3.0.0"
info:
  version: 1.0.0
  title: Swagger Petstore
servers:
  - url: http://petstore.swagger.io/v1
paths:
  /pet:
    get:
      summary: Returns a pet
      operationId: getPet
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Pet"
components:
  schemas:
    Pet:
      properties:
        owner:
          anyOf:
          - $ref: "#/components/schemas/PetOwner"
      required:
        - owner
    PetOwner:
      properties:
        name:
          type: string
      required:
        - name

Although there are no duplicate schema names, it will still result in the following error:
> autorest --input-file=schema.yaml --csharp
...
error   | Duplicate object schemas with 'PetOwner' name  detected.

The issue seems to be coming from combining schema name (Pet) and property name (owner) resulting in auto-generated property schema PetOwner that collides with the existing schema.

Renaming property "owner" to something else solves the issue
Changing property from anyOf to a regular (e.g. single schema) property solves the issue
Error does not exist in autorest.python but it does trigger a similar warning

The error is quite ambiguous and does not indicate where the issue is coming from.

Hi @leonidumanskiy sorry but openapi v3 is not fully supported in our current implementation of the generator, namely the anyOf and oneOf part.
Therefore it is possible that the generator could have funny behavior when it gets the input of those.
The swagger part of the generator is in maintenance model right now therefore we do not have a plan to support that.
If possible, your case looks like a discriminator case, please refine your swagger to define it in a way of regular discriminator and I  believe the generator could support now.

authors: ArcturusZhang leonidumanskiy


text:
x-ms-parameter-grouping

If used, should create a Schema in the YAML file with the necessary information to build that grouping.

4.6+ has this.

Fixed

authors: fearthecowboy lmazuel


text:
[DPG] Mypy fails on list methods

List method signature returns (Async)Iterable[T] (incorrectly) whereas it actually returns (Async)ItemPaged[T] (correctly). This cause mypy type checker to fail.
cc: @kristapratico

@sarkar-rajarshi this issue is tracked in https://github.com/Azure/autorest.python/issues/2262

Okay, in that closing this since this is duplicate

authors: kristapratico sarkar-rajarshi


text:
[typespec-python] typespec-python emitter seems to hang when generating

I was recently testing cross-language generation and noticed that the typespec-python emitter takes a long time to generate a client library compared to the other language emitters (compared with C# and TypeScript). This behavior is consistent even when attempting to generate different specifications.
Version used: "@azure-tools/typespec-python": "0.22.4"
Specifications to test out:

Content Safety
Document Intelligence
Purview DataMap

A good comparison would be with the typespec-ts emitter. While the typespec-python emitter seems to hang for a few moments, the typespec-ts emitter completes generation almost immediately.

Also, something that seems to be adding to the amount of time it takes to generate with the typespec-python emitter, is that dependency installation for this package also takes longer than others.

Following up on this, I was doing some testing on my end and it seems generating is not what takes a long time. Installing the package takes the bulk of the time when generating with the typespec-python emitter.


text:
error serializing empty arm objects

I'm using autorest.python 3.0.6.2 to generate the code for az-vmware-cli.
autorest --input-file=$spec --python --output-folder=azext_vmware --namespace=vendored_sdks --azure-arm=true --override-client-name=AVSClient --use=@microsoft.azure/autorest.python@3.0.62

I get this error:
azext_vmware/vendored_sdks/operations/authorizations_operations.py:204: in _create_or_update_initial
    body_content = self._serialize.body(authorization, 'ExpressRouteAuthorization')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <msrest.serialization.Serializer object at 0x7f8e52b92390>, data = None, data_type = 'ExpressRouteAuthorization', kwargs = {}

    def body(self, data, data_type, **kwargs):
        """Serialize data intended for a request body.

        :param data: The data to be serialized.
        :param str data_type: The type to be serialized from.
        :rtype: dict
        :raises: SerializationError if serialization fails.
        :raises: ValueError if data is None
        """
        if data is None:
>           raise ValidationError("required", "body", True)
E           msrest.exceptions.ValidationError: Parameter 'body' can not be None.

Which I tracked down to this generated code:
    def _create_or_update_initial(
            self, resource_group_name, private_cloud_name, authorization_name, custom_headers=None, raw=False, **operation_config):
        authorization = None

If I add a settable property to the object, it then becomes:
    def _create_or_update_initial(
            self, resource_group_name, private_cloud_name, authorization_name, authorization, custom_headers=None, raw=False, **operation_config):

There are no settable properties in two of the new APIs. They both require just the name, which is passed in the URL. ARM does require an empty object of {} to be passed in.
Microsoft employees, this is the work-a-round I added:
https://github.com/Azure/azure-rest-api-specs-pr/pull/1205/commits/19b97045d676c8aa7823f60bf0bc1c206ed72dce
Which resulted in this valid code generation:
https://github.com/Azure/az-vmware-cli/pull/31/commits/159f682d0196474814e441eb0280ecc85fd2c413
That workaround shouldn't be in the spec. What are the options.

You can't use flattening if the properties are optional, removing that line would solve the problem:
https://github.com/Azure/azure-rest-api-specs-pr/commit/19b97045d676c8aa7823f60bf0bc1c206ed72dce#diff-af746ebd35d755d9dede114e799b6465R1314
Flattening by definition removes a lot of granularity and expressiveness (with the benefits of being less verbose).
Just to confirm one thing, your PUT calls required a body {} ? All the time? Why are you even putting a complex body definition then?

@lmazuel, yes, the PUT calls require a body of {}. What would you recommend using to get that?

I would create a class ExpressRouteAuthorizationCreateParameters that contains no properties, and use this one input of the method. When output and input are not consistent, that's the kind of approach we try to take (example)
At least you get your settable property (even if it's always set to {} which is not super user-friendly
There might be a way to make it a constant and remove it from the signature, but I would have to try and I can't right now, I'll add a note to try that early next week.

authors: ctaggart lmazuel


text:
Feature: task affinity to master node

Fix #412

Approved but have one final comment... what happens if the task doesn't affinitize to the master? (I know what actually happens, but what does the customer see? Will it affect them at all? Should we block?)

The customer won't see anything if the task does not affinitize to the master. It could potential affect them if they expect the driver to execute on the master node only, but we don't claim that the driver always executes on the node (yet, at least). This was just meant to be a patch to unblock people who submit 1 application Jobs.
A real fix for establishing a known location for the driver is still in the works.

Ok, that makes sense. I think that it's good that we don't advertise it since we don't guarantee it right now.

authors: jafreck paselem

repo: Azure/aztk