Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/1.1] Update to latest compatible tokio and rayon releases #6134

Closed
wants to merge 349 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Nov 17, 2020

  1. Update ARM base image to 3.1.10-bionic (Azure#3979)

    Update ARM base image to 3.1.10-bionic
    yophilav committed Nov 17, 2020
    Configuration menu
    Copy the full SHA
    6603778 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2020

  1. Prepare for release 1.0.10.3 (Azure#3987)

    # 1.0.10.3 (2020-11-18)
    ## Edge Agent
    ### Bug Fixes
    * Fix vulnerability issues in ARM-based docker images [6603778](Azure@6603778)
    
    ## Edge Hub
    ### Bug Fixes
    * Fix vulnerability issues in ARM-based docker images [6603778](Azure@6603778)
    yophilav committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    95aa3cb View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2020

  1. Configuration menu
    Copy the full SHA
    2861dbc View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2020

  1. Cherry-pick Fix cleanup processor (Azure#4021)

    * Remove await from support bundle autofac construction (Azure#3453)
    
    Autofac inconsistently breaks if you await before resolving something.
    
    * adding bool.trueString to cleanup processor metrics label to fix it
    
    Co-authored-by: Lee Fitchett <lefitche@microsoft.com>
    dylanbronson and lfitchett committed Nov 25, 2020
    Configuration menu
    Copy the full SHA
    22eda5b View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2020

  1. GetModuleLogs works with http endpoints (Azure#3908) (Azure#3990)

    This was a simple fix. 
    
    ~~The new e2e tests currently do not test the http configuration for mgmt and workload sockets, so there may be a follow up to add tests.~~
    Since http is not officially supported for mgmt and workload sockets, no tests will be added.
    lfitchett committed Nov 30, 2020
    Configuration menu
    Copy the full SHA
    cf176be View commit details
    Browse the repository at this point in the history
  2. Fixing ValidateMetrics E2E (Azure#3767)

    Currently the `ValidateMetrics` parses [metric readme page](https://github.com/Azure/iotedge/blob/master/doc/BuiltInMetrics.md) to obtain all the metric keys. The test then deploy the system runtime modules and populate its metrics which then are compared against the parsed-document set.
    There are a handful of not-so-positive metrics that are not being populated if the system modules operated on a happy path during the E2E test. These not-so-positive metrics are currently causing the `ValidateMetrics` to fail since they are not being populated.
    yophilav committed Nov 30, 2020
    Configuration menu
    Copy the full SHA
    c724360 View commit details
    Browse the repository at this point in the history
  3. Fixing ValidateMetrics E2E (Azure#3767) (Azure#4029)

    Currently the `ValidateMetrics` parses [metric readme page](https://github.com/Azure/iotedge/blob/master/doc/BuiltInMetrics.md) to obtain all the metric keys. The test then deploy the system runtime modules and populate its metrics which then are compared against the parsed-document set.
    There are a handful of not-so-positive metrics that are not being populated if the system modules operated on a happy path during the E2E test. These not-so-positive metrics are currently causing the `ValidateMetrics` to fail since they are not being populated.
    
    Cherry-picked: Azure@f443dde
    yophilav committed Nov 30, 2020
    Configuration menu
    Copy the full SHA
    51fbfed View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2020

  1. Fix multiple TTL test (Azure#4037) (Azure#4039)

    Cherry-picking from main branch
    
    This PR fixes a bug in product code where the cleanup task in MessageStore.cs can potentially start before all of its settings are set, resulting in it taking default values for its settings.
    Also re-enables the MultipleTTL test in MessageStoreTest.cs and makes it run with polling vs a delay, which will speed up the test.
    dylanbronson committed Dec 3, 2020
    Configuration menu
    Copy the full SHA
    70eaf1a View commit details
    Browse the repository at this point in the history
  2. Cherry picking Fix message priorities test from main branch to releas…

    …e/1.0.10 (Azure#4042)
    
    Cherry pick Fix message priorities test (Azure#4015) from main to release/1.0.10
    
    Fixing message priorities test. It's flaky. There's a delay in it, which is likely the issue. Changing it to be a poll and making it a bit longer should improve the test.
    dylanbronson committed Dec 3, 2020
    Configuration menu
    Copy the full SHA
    fda166b View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2020

  1. Fix InMemoryDbStoreLimitsTest (Azure#4048) (Azure#4056)

    Cherry-pick from main branch to release/1.0.10
    InMemoryDbStoreLimitsTest is flaky in the CI pipeline. I believe it is because we overuse the "sender1" name. The test keeps failing on "Amqp resource is disconnected," which I think we get because we're trying to access an AMQP resource that has previously closed. This would make sense if we are using the "sender1" name somewhere else around the same time.
    
    So this pr just changes the name to be more specific to the test. I've run it ~8 times in the pipeline and haven't seen the failure, so it looks like it solves the problem.
    dylanbronson committed Dec 7, 2020
    Configuration menu
    Copy the full SHA
    fca5cb4 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2020

  1. Removing preview iothub and eventhub endpoint (Azure#4071)

    Cherry-picking part of this commit from main branch to 1.0.10: 43e8151
    
    This PR cleans up workarounds that were put in when the PlugAndPlay tests were first made.
    
    Previously, we needed to use a preview version of IoTHub that supported PnP. Since then, they've gone GA, and we can use our normal IoTHub and normal EventHub endpoint.
    dylanbronson committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    f340361 View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2020

  1. Removing bootstrap workaround for e2e tests (Azure#4066) (Azure#4077)

    Cherry-pick from main branch to 1.0.10
    Previously, we implemented a workaround for end-to-end (e2e) tests because config.yaml + iotedged was default pulling version 1.0.9 because we use the 1.0 tag, and 1.0.9 was tagged as 1.0 version. This was an issue because there was validation logic in the e2e tests that checks that EA has been deployed correctly. But this validation logic didn't work if the EA versions were incompatible. EA 1.0.10 had a change that 1.0.9 didn't have that made the two versions incompatible. So we added a custom bootstrap image to the e2e tests that would start the config.yaml with a 1.0.10 version of EA that was compatible with the newer version of EA.
    
    Once we tagged 1.0.10 with 1.0, all of these changes can no go away, since we don't need to have a bootstrap image anymore.
    This PR removes the bootstrap workaround.
    dylanbronson committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    1a0a150 View commit details
    Browse the repository at this point in the history
  2. [8403008] Add client connection related edgeHub metrics (Azure#4060)

    * added metrics for current number of connected clients, individual device connect/disconnected to/from iot edge
    * updated doc/BuiltInMetrics.md
    * modified failed connection metrics description to align with doc and added ignore disconnect in e2e test
    davilu committed Dec 10, 2020
    Configuration menu
    Copy the full SHA
    40b2de9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5a4d3bd View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2020

  1. Update base image usage

    yophilav committed Dec 11, 2020
    Configuration menu
    Copy the full SHA
    68da169 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2020

  1. Update base images for Linux ARM & Windows AMD (Azure#4085)

    1. Update ARM base image usage to version 1.0.5.6 (3.1.10-bionic-arm*)
    2. Update Windows AMD64 base image to 3.1.10-nanoserver-1809
    yophilav committed Dec 14, 2020
    Configuration menu
    Copy the full SHA
    73fa197 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2020

  1. Configuration menu
    Copy the full SHA
    19c2f3a View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2020

  1. Configuration menu
    Copy the full SHA
    a88c72e View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2020

  1. Configuration menu
    Copy the full SHA
    64f214c View commit details
    Browse the repository at this point in the history
  2. Rebase Edge on K8s to 1.0.10 branch (Azure#4052)

    This rebases all changes from Edge on K8s public preview branch into latest release/1.0.10 branch.
    Cherry-picked all commits from merge base to latest edge-on-k8s-public-preview branch into this PR, then cleaned it up.
    Most C# code is in the "Kubernetes" project, but some changes affect the "Service" and "Core" projects.
    
    Tests:
    
    TEST:
    Bring up k8s based on: https://microsoft.github.io/iotedge-k8s-doc/
    only using the images from this PR's build.
    
    [k8s] Update Helm charts to allow for correct proxy settings. (Azure#3641)
    TEST:
    Set ".Values.iotedged.data.no_proxy" on installation.
    Confirm "no_proxy" environment var is set for iotedged and agent pods.
    
    [k8s] Add all root CA certs to TLS connections (Azure#3616)
    TEST:
    Set up Edge runtime with self-signed certificate. Ensure it starts and all modules connect.
    
    [k8s] Allow Edge on K8s modules to join HostNetwork. (Azure#3618)
    TEST:
    Set "createOptions.NetworkMode=Host" in a module, ensure it starts and connects to EdgeHub.
    
    [k8s] Set resource limits and requests for Edge runtime components Azure#3666
    TEST:
    Start runtime with these Helm charts. Once pods are running, run
    kubectl get pod -n -o yaml
    For each pod.
    Confirm iotedged has resource limit & request set. and qosClass: Guaranteed
    Confirm edgagent has resource limit for all containers and qosClass: Guaranteed
    Module will have a resource limit for proxy container, and may or may not have resource for module.
    
    [k8s public preview] Have EdgeDeploymentOperator report status to Agent Azure#3232
    TEST:
    
    Set up a module with bad bind mount:
    {"image":"mcr.microsoft.com/media/live-video-analytics:1","createOptions":{"hostConfig":{"Binds":["/home/lvaadmin/samples/output:/var/media/","//:/var/lib/azuremediaservices/"],"LogConfig":{"Config":{"max-size":"10m","max-file":"10"},"Type":""}}},"auth":null}
    
    Add space at the end of the ACR user name in the deployment. Use a module that attempts to access the ACR.
    
    Both setups should not crash agent. Runtime status of device on portal should show a "500" error.
    
    [k8s] Discovered some problems with createOptions parsing. (Azure#3743)
    TEST:
    Set a module with Cmd, EntryPoint, WorkingDir with different capitalization and ensure these are parsed and assigned in pod.
    
    [k8s] Environment Variables can be null or empty. (Azure#3780)
    TEST:
    In Agent section of Helm charts, set an empty environment variable, ensure iotedged starts and launches Agent with empty variable.
    
    In any module's environment variable section, make an unset environment variable, and one that is all "=", ensure Pod is created with these environment variables present.
    darobs committed Dec 17, 2020
    Configuration menu
    Copy the full SHA
    c94bc73 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2020

  1. [8982026] fix metrics e2e test (Azure#4125)

    * added metrics for current number of connected clients, individual device connect/disconnected to/from iot edge
    
    * fixed metrics description
    
    * fixed UT ConnectionManagerTest by adding missing mock which impacted by metrics change
    
    * Update edge-hub/src/Microsoft.Azure.Devices.Edge.Hub.Core/DeviceConnectionMetrics.cs
    
    Co-authored-by: Venkat Yalla <veyalla@microsoft.com>
    
    * Update edge-hub/src/Microsoft.Azure.Devices.Edge.Hub.Core/DeviceConnectionMetrics.cs
    
    Co-authored-by: Venkat Yalla <veyalla@microsoft.com>
    
    * Update edge-hub/src/Microsoft.Azure.Devices.Edge.Hub.Core/DeviceConnectionMetrics.cs
    
    Co-authored-by: Venkat Yalla <veyalla@microsoft.com>
    
    * Update doc/BuiltInMetrics.md
    
    Co-authored-by: Venkat Yalla <veyalla@microsoft.com>
    
    * Update doc/BuiltInMetrics.md
    
    Co-authored-by: Venkat Yalla <veyalla@microsoft.com>
    
    * Update doc/BuiltInMetrics.md
    
    Co-authored-by: Venkat Yalla <veyalla@microsoft.com>
    
    * Update doc/BuiltInMetrics.md
    
    Co-authored-by: Venkat Yalla <veyalla@microsoft.com>
    
    * modified to use Array.Empty
    
    * modified failed connection metrics description to align with doc and added ignore disconnect in e2e test
    
    * fixed typo in md file
    
    Co-authored-by: Venkat Yalla <veyalla@microsoft.com>
    davilu and veyalla committed Dec 18, 2020
    Configuration menu
    Copy the full SHA
    d6ca054 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c3f8b36 View commit details
    Browse the repository at this point in the history
  3. Prepare for release 1.0.10.4 (Azure#4097)

    # 1.0.10.4 (2020-12-18)
    ## Edge Agent
    ### Bug Fixes
    * Fix vulnerability issues in ARM-based docker images [6603778](Azure@6603778)
    * GetModuleLogs works with http endpoints [cf176be](Azure@cf176be)
    
    ## Edge Hub
    ### Bug Fixes
    * Fix `edgehub_queue_length` metric [2861dbc](Azure@2861dbc)
    * Introduce new metrics [40b2de9](Azure@40b2de9)
    * Fix vulnerability issues in Linux ARM and Windows AMD docker images [73fa197](Azure@73fa197)
    yophilav committed Dec 18, 2020
    Configuration menu
    Copy the full SHA
    5777271 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ae3b408 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2020

  1. Add HostConfig properties (Azure#4080) (Azure#4133)

    cherry-pick from master Azure#4080
    ancaantochi committed Dec 21, 2020
    Configuration menu
    Copy the full SHA
    c4cee8b View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2021

  1. Configuration menu
    Copy the full SHA
    94bf850 View commit details
    Browse the repository at this point in the history
  2. Remove metrics v0 (Azure#4109) (Azure#4143)

    * Remove metrics v0 (Azure#4109)
    
    * remove metrics v0 doc (Azure#4162)
    ancaantochi committed Jan 4, 2021
    Configuration menu
    Copy the full SHA
    6945f9e View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2021

  1. Remove conflicting packages left by iiot runs (Azure#4182)

    iiot usually cleans up its packages on completion, but won't be able to do this if it crashes, times out, or is canceled. Update tests to remove these packages if encountered.
    gordonwang0 committed Jan 7, 2021
    Configuration menu
    Copy the full SHA
    a331d96 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a3fe32 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2021

  1. ARM Base Image Update Pipeline (Azure#4186)

    First take on automating ARM Base Image update.
    
    Use case scenario: 
    1. tools/BaseImageUpdate/baseImage.ps1 is a helper script that a developer can use on his powershell to update the ARM base image version.  i.e. `Update-ARM-BaseImages -NewASPNetCoreVersion "2.1.23"`.
    2. A developer send out a Pull request with base image changes.
    3. A developer uses a pipeline `builds/misc/base-images-publish.yaml` to kick off the build & base image publication.
    4. (Optional) As a good measure, once (3) is completed, a developer can run the build image pipeline to verify a successful publication.
    
    Cherry-pick: Azure@931778a
    yophilav committed Jan 8, 2021
    Configuration menu
    Copy the full SHA
    68c1a50 View commit details
    Browse the repository at this point in the history
  2. Enable package builds for Mariner (Azure#3949)

    Builds azure-iotedge and libiothsm-std RPMs for the Mariner distribution.
    Builds rust 1.45 from source for Mariner as long as the official Mariner repo does not satisfy iotedge's rust>=1.40 constraint.
    chzawist committed Jan 8, 2021
    Configuration menu
    Copy the full SHA
    d11be96 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    770df31 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2021

  1. Configuration menu
    Copy the full SHA
    6ef0958 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2021

  1. Fix Clippy for release 1.1 (Azure#4213)

    Fix Clippy "Errors" for release 1.1 branch Rust1.47.0 from Rust 1.44.1.
    The fix is a subset combination of 
    - Azure@d080373 (https://github.com/Azure/iotedge/pull/3268/files)
    - Azure@7831fc5 (https://github.com/Azure/iotedge/pull/3696/files)
    yophilav committed Jan 13, 2021
    Configuration menu
    Copy the full SHA
    5827da1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    347392d View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2021

  1. Update Base Images for Security Vulnerability (Azure#4223) (Azure#4228)

    Updating Base Images for Security Vulnerability:
    https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-1723
    
    List of Update Base Images:
    - Linux AMD64 :  3.1.4-alpine3.11 --> 3.1.11-alpine3.12
    - Linux ARM32 & ARM64 : 3.1.10-bionic-arm* --> 3.1.11-bionic-arm*
    - Windows AMD64 : 3.1.10-nanoserver-1809 --> 3.1.11-nanoserver-1809
    - Windows ARM32 : nanoserver:1809-arm32v7 (latest)
    
    Publishing ARM Base Images:
    1.0.5.7-linux-arm*
    
    Note to Reviewer: 
    Please feel free to pull the branch down to your local machine and use your favorite editor's regex to make sure the base images are updated correctly. (I wish there is an easier way to do this).
    yophilav committed Jan 14, 2021
    Configuration menu
    Copy the full SHA
    4dbaa62 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    97532d0 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2021

  1. Configuration menu
    Copy the full SHA
    edea06f View commit details
    Browse the repository at this point in the history
  2. Make ARM32 Base Image Publication Pipeline Timeout to be 2hr (Azure#4233

    ) (Azure#4236)
    
    Make ARM32 Base Image Publication Pipeline Timeout to be 2hr
    yophilav committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    ed85e30 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2021

  1. Upgrade Ubuntu hosted agents (Azure#4225)

    I took a pass though our Azure pipelines YAML files to update any Ubuntu 16.04 hosted agents to 18.04. Many of these pipelines define our Tier 1 support, and since Ubuntu 16.04 won't be supported much longer we want to pin to the OS version we support.
    
    Note that any Docker images containing our Rust components will still be built on 16.04-based agents for now, because there's some non-trivial work to update `cross` dependencies. That's okay because we aren't officially releasing any of those images for 1.1.0.
    
    This PR also fixes a problem with a setup step in the end-to-end tests pipeline on Windows; it was trying to use docker to do some cleanup before docker is actually installed (usually it will be installed from the previous run but you can't always count on that, e.g. for a new agent, or if someone logged onto the agent and uninstalled IoT Edge).
    damonbarry committed Jan 20, 2021
    Configuration menu
    Copy the full SHA
    92fb588 View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2021

  1. EFLOW on E2E test (Azure#4165) (Azure#4265)

    Introducing E2E test on EFLOW machine
    chzawist committed Jan 21, 2021
    Configuration menu
    Copy the full SHA
    9e04348 View commit details
    Browse the repository at this point in the history
  2. Don't use http proxy for Amqp/Mqtt over TCP only (Azure#4263)

     Don't use http proxy for Amqp/Mqtt over TCP
    richma-ms committed Jan 21, 2021
    Configuration menu
    Copy the full SHA
    ca2fa42 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2021

  1. message store cleanup catch exception when message is updated (Azure#…

    …4271) (Azure#4273)
    
    cherry-pick Azure#4271
    In some customer cases it happens that cleanup fails when it tries to update message store because value is not found in the db and throws InvalidOperationException. Catching the exception so it continues cleaning up otherwise it's not able to clean up messages for the endpoint.
    ancaantochi committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    4a196f0 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2021

  1. Drop Ubuntu 16.04, add 18.04 (Azure#4286)

    This change updates our YAML pipelines **for the 1.1 release** to generate and consume bits built on/for Ubuntu 18.04 instead of 16.04. Specifically:
    - Connectivity, End-to-end, Long Haul and Stress pipelines + downstream scripts: replace references to Ubuntu 16.04 artifacts with 18.04
    - Edgelet Packages pipeline + downstream scripts: don't build Ubuntu 16.04 artifacts
    - Remove Ubuntu 16.04 cross-compile scripts
    - Various markdown files, tests, comments, and schema examples: change Ubuntu 16.04 references to 18.04
    
    Note: this change does not update the arm-based docker containers that the K8s betas use for iotedged. They're still 16.04-based in this branch, and will be updated later.
    damonbarry committed Jan 26, 2021
    Configuration menu
    Copy the full SHA
    02f1832 View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2021

  1. Fix GetModules call error using RFC3339 DateTime format. (Azure#4293)

    Fix issue calling GetModuleLogs using DirectMethod with a payload that contains parameters using RF3339 DateTime format.
    pmzara committed Jan 29, 2021
    1 Configuration menu
    Copy the full SHA
    8d9a8e0 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2021

  1. Configuration menu
    Copy the full SHA
    a34e0ed View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2021

  1. Configuration menu
    Copy the full SHA
    97cde1f View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2021

  1. Set IOTEDGE_HOST before 'make install' (Azure#4396)

    After commit a34e0ed, the iotedge CLI fails in Mariner because IOTEDGE_HOST was not set during compilation, so the CLI has the wrong path to iotedged's management endpoint.
    
    To fix this, we set IOTEDGE_HOST prior to running `make install`. It was already being set prior to `make release`.
    damonbarry committed Feb 10, 2021
    Configuration menu
    Copy the full SHA
    57ede25 View commit details
    Browse the repository at this point in the history
  2. Update Base Images for Security Vulnerability 3.1.12 (Azure#4380)

    - Update ARM32/ARM64 Bionic base images to 3.1.12
    - Update AMD64 (Linux) Alpine base images to 3.1.12
    - Update AMD64 (Windows) Nanoserver base images to 3.1.12
    yophilav committed Feb 10, 2021
    Configuration menu
    Copy the full SHA
    3c569ac View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2021

  1. Update release 1.1.0 (Azure#4399)

    Update the CHANGELOG to include the latest commits.
    damonbarry committed Feb 11, 2021
    Configuration menu
    Copy the full SHA
    92ac487 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2021

  1. Config yaml 1.1 (Azure#4434)

    This change updates the default agent tag in config.yaml to 1.1.
    
    Cherry-pick a4faab5 and update 1.1-specific Windows config.yaml.
    damonbarry committed Feb 18, 2021
    Configuration menu
    Copy the full SHA
    e4c6eae View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2021

  1. Upgrade sysinfo package (Azure#4444)

    This change upgrades the sysinfo package in the iotedge CLI and iotedged. It fixes bugs called out in Azure#2747 and Azure#3746. This change was fixed in master earlier and was supposed to by ported to the 1.1 branch, but never was.
    damonbarry committed Feb 25, 2021
    Configuration menu
    Copy the full SHA
    b53cc33 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2021

  1. EFLOW: Introduce environment variables for nuget operations (Azure#4499)

    Set env variables to direct nuget caches to the data partition instead of to the rootfs
    ms-mahuber committed Feb 26, 2021
    Configuration menu
    Copy the full SHA
    1f8222a View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2021

  1. Update pipeline triggers for release/1.1 (Azure#4365)

    Update Build Images and Edgelet Packages pipelines to automatically build when commits are merged to release/1.1. Also turn off all triggers on the Images Release build (currently no effect since trigger overrides are enabled in pipeline's settings).
    damonbarry committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    0802a3b View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2021

  1. Make comments in the config.yaml for provisioning and certificates cl…

    …earer. (Azure#4542)
    
    - Grammar and capitalization ("ID", "DPS", etc).
    
    - Consistent wording to refer to certificates and private keys.
      ("Path of the X certificate", "Path of the private key of the X certificate").
    
    - Clarify that all certificate and private key paths are specified as file URIs,
      with examples.
    
    - Split DPS provisioning sections into one section per attestation method,
      and dispense with the awkward "Required if... Optional if..." prologue
      on every field.
    
    - Clarify what `always_reprovision_on_startup` and `dynamic_reprovisioning` do
      more clearly, especially their defaults.
    
    - Consistently document `always_reprovision_on_startup` and
      `auto_generated_ca_lifetime_days` in all config files.
    arsing committed Mar 6, 2021
    Configuration menu
    Copy the full SHA
    771be81 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2021

  1. fail and drop message on authentication error with Scope authenticati…

    …on (Azure#4451)
    
    * modified to fail and drop message on authentication error with scope authenticator
    
    Co-authored-by: David Lu <davilu@microsoft.com>
    ancaantochi and davilu committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    756b83b View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2021

  1. Update ASP.NET Core Runtime base images (Azure#4573)

    - Linux AMD64: `3.1.12-alpine3.12` --> `3.1.13-alpine3.13`
    - Linux ARM32: `3.1.12-bionic-arm*` --> `3.1.13-bionic-arm*` (1.0.5.9-linux-arm*)
    - Address CR path different : dotnet/dotnet-docker#2375
    yophilav committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    694bc54 View commit details
    Browse the repository at this point in the history
  2. Prepare for Release 1.1.1 (Azure#4585)

    # 1.1.1 (2021-03-11)
    ## Edge Agent
    ### Bug Fixes
    * Fix vulnerability issues in docker images [694bc54](Azure@694bc54)
    
    ## Edge Hub
    ### Bug Fixes
    * Sending messages to cloud is blocked when a leaf device is disabled [756b83b](Azure@756b83b)
    * Fix vulnerability issues in docker images [694bc54](Azure@694bc54)
    
    ## iotedged
    ### Changes
    * Make comments in the config.yaml for provisioning and certificates clearer [771be81](Azure@771be81)
    yophilav committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    fcb6062 View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2021

  1. Fix NugetSecurity warning for Long Haul pipeline (Azure#4588)

    - Fix NugetSecurity warning for Long Haul pipeline
    yophilav committed Mar 11, 2021
    Configuration menu
    Copy the full SHA
    18ba6ae View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5a38719 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2021

  1. Fix typo in always_reprovision_on_startup config.yaml docs. (Azure#…

    …4612)
    
    Also clarify what the service uses to detect reprovisioning when
    `dynamic_reprovisioning` is true.
    arsing committed Mar 16, 2021
    Configuration menu
    Copy the full SHA
    8cb3c2b View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2021

  1. Prepare for Release 1.1.1 (pt2) (Azure#4617)

    - Update release date
    - Include documentation update commit.
    yophilav committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    2736957 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2021

  1. Add EFLOW Job to Long Haul Test Pipeline (Azure#4571)

    Adds a new job for the long haul test pipeline to run on a eflow agent.
    josephknierman committed Mar 22, 2021
    Configuration menu
    Copy the full SHA
    8cf560f View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2021

  1. Test Dashboard: Allow longhaul / connectivity pipelines to show with …

    …new dashboard queries (Azure#4695)
    
    * add testname for 1.1 branch pipelines to show on dashboard
    
    * follow same pattern used for testName in master branch
    and-rewsmith committed Mar 26, 2021
    Configuration menu
    Copy the full SHA
    c4c9230 View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2021

  1. Update ARM Base Image Security Patch (Azure#4808)

    - Update base image for ARM*
    yophilav committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    fdbad67 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2021

  1. Prepare for Release 1.1.2

    Prepare for Release 1.1.2
    yophilav committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    5419edd View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2021

  1. Configuration menu
    Copy the full SHA
    6736c32 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2021

  1. Fix ValidateMetrics on ARM32 (Azure#4864)

    Fix ValidateMetrics on ARM32
    yophilav committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    3ac81ec View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2021

  1. Update C SDK submodules to 2020-12-09. (Azure#4867)

    These are the current latest versions. Among other things, they contain fixes
    for building with recent cmake.
    
    API changes:
    
    - `TEST_INITIALIZE_MEMORY_DEBUG` and `TEST_DEINITIALIZE_MEMORY_DEBUG`
      were removed from testrunnerswitch.h
    
      Azure/c-testrunnerswitcher@0711280
    
    - `TOSTRING` macro was removed from ctest_macros.h in favor of
      `MU_TOSTRING` from macro-utils
    
      Azure/ctest@6d7a34c
    
    - `SECURE_DEVICE_TYPE`, `UINT` and `XDA_HANDLE` are not defined anywhere.
    
    - `REGISTER_UMOCK_ALIAS_TYPE` now requires the aliasing type to be
      the same size as the aliased type.
    
      Azure/umock-c@2ab7102
    
    - On Windows, `interface` ends up being `#define`d to `struct`
      by Windows headers, which causes compile errors when it's used as
      a variable name. Rename those variables to `iface`.
    
    Other changes:
    
    - Fix `edgelet-utils` to build with newer Rust since `tools/check_submodules`
      depends on it but does not have its own `rust-toolchain` file.
    
    - Fix `edgelet-kube` tests to use single-thread tokio runtime, because
      the multi-threaded runtime cannot be used in parallel correctly.
    
    - Make some buffers used with `sprintf` larger because newer gcc warns that
      they might not be large enough for the string written to them.
    arsing committed Apr 20, 2021
    Configuration menu
    Copy the full SHA
    deb2753 View commit details
    Browse the repository at this point in the history
  2. Fix Windows construction of identity cert PKCS#12 blob to not leak k…

    …eys to disk. (Azure#4854)
    
    schannel and native-tls require a PKCS#12 blob of the device ID certificate
    to use it as a TLS client cert. Before this change, the blob was created
    using openssl even on Windows. However, with such a blob, schannel creates
    the private key on disk under the user's persisted keys directory.
    Since iotedged runs as LocalSystem, this was
    C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18
    
    It's empirically known that schannel doesn't create the disk file if
    the private key is marked as "exportable". Since "exportable" is
    a Windows-specific attribute, openssl doesn't have any way to set it.
    So this commit uses winapi to create the PKCS#12 blob instead.
    
    Other changes:
    
    - Revert two uses of single-threaded tokio runtime back to multi-threaded.
      deb2753 accidentally changed these while
      changing the tests.
    arsing committed Apr 20, 2021
    Configuration menu
    Copy the full SHA
    a46838f View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2021

  1. Delete all containers after reprovision (Azure#4833)

    Removes all containers after a device reprovision. This is done because identities for containers might no longer be valid after the reprovision. Edgelet will refresh the identities on its next run.
    
    Resolves Azure#4458
    gordonwang0 committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    77ad781 View commit details
    Browse the repository at this point in the history
  2. Remove Debian 8 build/package logic (Azure#4876)

    A recent update to allow libiothsm to continue to build (deb2753) broke the Debian 8 builds in our Edgelet Packages pipeline (`builds/misc/packages.yaml`), but Debian 8 is old and unsupported so we can remove it.
    damonbarry committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    3e8f8f9 View commit details
    Browse the repository at this point in the history
  3. Bump serde-yaml version to 0.8 (Azure#4860)

    - serde-yaml recent version 0.8 has fixes for known recursion issues in 0.7 as per our CI system (Reference to issue - dtolnay/serde-yaml@41d5823)
    - Removed unused Cargo references to serde-yaml
    massand committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    22b8d30 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f79286f View commit details
    Browse the repository at this point in the history
  5. Migrate Azure Monitor project to our repository. (Azure#4877)

    - Moving Azure Monitor source code to our repository.
    - Integrate into appropriate pipelines
    pmzara committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    5fd976c View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2021

  1. Metrics transform option (Azure#4893)

    Introducing new option to trasnsform/flatten the Metrics prior to publish as IoT Messages.
    **Publishing with transform option OFF:**
    [{
        "TimeGeneratedUtc": "<time generated>",
        "Name": "<prometheus metric name>",
        "Value": <decimal value>,
        "Label": {
            "<label name>": "<label value>"
        }
    }, {
        "TimeGeneratedUtc": "2020-07-28T20:00:43.2770247Z",
        "Name": "docker_container_disk_write_bytes",
        "Value": 0.0,
        "Label": {
            "name": "AzureMonitorForIotEdgeModule"
        }
    }]
    
    **Publishing with transform option ON:**
    {
      "TimeGeneratedUtc": "<time generated>",
      "edge_device": "<device bame>",
      "instance_number": "<instance number>",
      "<prometheus metric name>": {
        "value": <decimal value>,
        "from": "<value of: 'from', 'module_name', or 'id' if exists>",
        "from_route_output": "<value of: 'from_route_output', 'route_output', or 'source' if exists>",
        "to": "<value of: 'to', 'to_route_input', or 'target' if exists>",
        "priority": <integer value of 'priority' if exists>,
        "quantile": <decimal value of 'quantile' if exists>,
        "command": "<value of 'command' if exists>",
        "disk_name": "<value of 'disk_name' if exists>"
      },
      "edgeAgent_used_memory_bytes": {
        "value": 54992896.0,
        "from": "edgeAgent"
      },
      "edgeAgent_used_memory_bytes": {
        "value": 131170304.0,
        "from": "edgeHub"
      }
    }
    shak5 committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    df15b62 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2021

  1. Update the KeyVault for Test pipelines (Azure#4937)

    1. Reinstitute LongHaul IotHub for both SingleNode for testing
    2. Consolidate KeyVault variables so the same type of tests are sharing the same IoTHub.
    
    Remark: With the keyVault variable consolidation (2), a developer can now inject his own keyVault into the pipeline to have any of the test pipeline connect upstream to his/her own IoTHub. The two required "secrets" in the developer's keyVaults are `IotHub-ConnStr` (IoTHub Connection String) and `IotHub-EventHubConnStr` (IoTHub's built-in EventHub Endpoint Connection String)
    yophilav committed May 4, 2021
    Configuration menu
    Copy the full SHA
    55919a9 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2021

  1. Metrics Collector: Remove test-specific additional tags logic (Azure#…

    …4950)
    
    The metrics collector built by the azure monitor team copied some test-specific logic from our metrics collector used for testing. I am removing it as we don't intend to provide this feature for obsv1.
    and-rewsmith committed May 6, 2021
    Configuration menu
    Copy the full SHA
    a13bf96 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4bf6746 View commit details
    Browse the repository at this point in the history
  3. E2E: Metrics Collector Smoke Test (Azure#4945)

    This PR contains a simple E2E smoke test of the customer facing Metrics Collector. @pmzara added this E2E test then I did some cleanup and integrated it into the E2E pipeline.
    and-rewsmith committed May 6, 2021
    Configuration menu
    Copy the full SHA
    0893485 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2021

  1. Configuration menu
    Copy the full SHA
    69110c1 View commit details
    Browse the repository at this point in the history
  2. Metrics Collector: Update product info and message id (Azure#4962)

    Updating product info and message id
    and-rewsmith committed May 7, 2021
    Configuration menu
    Copy the full SHA
    571f287 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2021

  1. Metrics Collector: Rename HubResourceId -> ResourceId (Azure#4956)

    Since we can now send to Central, renaming `HubResourceId` to just `ResourceId`
    and-rewsmith committed May 10, 2021
    Configuration menu
    Copy the full SHA
    a95cce3 View commit details
    Browse the repository at this point in the history
  2. Adds SharedAccessSignature to repo with fix for vulnerability (Azure#…

    …4943) (Azure#4967)
    
    This is a cherry-pick of Azure#4943
    
    This adds a subset of the code from https://github.com/Azure/azure-iot-sdk-csharp for SharedAccessSignature directly into our repo. This will also need to be cherry-picked into 1.1 and 1.2.
    
    Todo:
    - [x] Create UTs (UT=unit test) around this code, as there seem to be some tests that use parts of SharedAccessSignature but nothing completely dedicated
    - [x] See if more code can be trimmed out that is not being used, just removed things without any references for first pass
    - [x] if only using one supported .net then can maybe remove some other code here
    nyanzebra committed May 10, 2021
    Configuration menu
    Copy the full SHA
    4fea6e7 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2021

  1. Metrics Collector: Release and publish pipelines (Azure#4969)

    Adding images release and publish pipelines for the metrics collector. Approach was taken from the implementation we have in `master` branch for the api proxy.
    and-rewsmith committed May 11, 2021
    Configuration menu
    Copy the full SHA
    fb8367b View commit details
    Browse the repository at this point in the history

Commits on May 14, 2021

  1. Close AMQP connection explicitly when no more links (removing links k…

    …ept tcp level connection) (Azure#4984)
    
    cherry pick of Azure#4914
    vipeller committed May 14, 2021
    Configuration menu
    Copy the full SHA
    5be30fb View commit details
    Browse the repository at this point in the history
  2. Update GetModuleLogs method when tail + since + until options are…

    … provided (Azure#4987)
    
    Cherry-picked: Azure@2b650a8
    
    TL;DR - This PR chances the behavior of `GetModuleLogs` method to better facilitate the portal experience. 
    
    Previous, when the `GetModuleLogs` is triggered from the azure portal with `tail + since + until`, all the 3 options are passed to Docker API management to fetch the log. The Docker API does the following: 
    1. Fetch the log of the module
    2. Apply `tail` to the log
    3. Apply the `since` and `until` to the log
    This results in an empty log most of the time which is not a desirable behavior. 
    
    This PR changes the `GetModuleLogs` when the `tail + since + until` are specified together by doing the following:
    1. Fetch Docker API with `since + until` log option
    2. `tail` the returning log using LogProcessor (post-Akka).
    This allows a customer to get a tail of log within a given time frame. 
    
    Note: This PR doesn't change the behavior of any other option combinations (i.e. `tail + since`, `tail`, `since`, etc). These combination are still managed by Docker API.
    
    Note2: I set RequestHandle timeout to be 30s instead of 600s by default
    yophilav committed May 14, 2021
    Configuration menu
    Copy the full SHA
    c1dba55 View commit details
    Browse the repository at this point in the history
  3. Introduce Timestamps Option via mgmt.sock (Azure#4988)

    Cherry-pick: Azure@37c661b
    
    - Allow Management socket to accept `timestamps` option to be pass through docker socket API.
    - Update the documents for the latest API version
    - The latest API is being manually added since there is a gigantic out-of-sync between the template interface `managementVersion_2020_07_07.yaml` and `/edgelet/management` generated code.
    yophilav committed May 14, 2021
    Configuration menu
    Copy the full SHA
    b18d090 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4aab90b View commit details
    Browse the repository at this point in the history

Commits on May 18, 2021

  1. Update Base Images for Security Patch (Azure#4994)

    Update Base Images for Security Patch
    - ARM32/64 🠘 3.1.15-bionic-arm32v7
    - AMD64 🠘 3.1.15-alpine3.13
    - Windows64🠘 3.1.15-nanoserver-1809
    yophilav committed May 18, 2021
    Configuration menu
    Copy the full SHA
    b286408 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2021

  1. Update v1.1 YAML pipelines to 1ES-hosted agents (Azure#4844)

    Prior to this change, the Azure DevOps pipelines described by YAML files in this repo ran on either (1) Microsoft-hosted Linux and Windows agents or (2) custom-built agents hosted and maintained by the product team. The Microsoft-hosted agents are great because someone else manages their maintenance, but they're also shared among many teams so availability can be a problem. The custom-built agents have better availability but require more care and attention.
    
    To get better availability and control with a reduced maintenance burden, this change converts the YAML pipelines to refer to 1ES-hosted agents (1ES is Microsoft's internal engineering system). These agents are defined by the product team but are maintained by 1ES.
    
    This change only impacts three pipelines: Build Images (images.yaml), Edgelet Packages (packages.yaml), and End-to-end tests (e2e.yaml). And there are a few exceptions: Raspberry Pi OS, CentOS-7, Windows EFLOW, and proxy jobs have not been converted to 1ES either because they're not yet supported by 1ES or they simply require more work. Other pipelines will be converted in future PRs.
    
    Other details:
    - This change expands the platforms and environments that run the end-to-end tests. Ubuntu 20.04 is now covered, and both Ubuntu versions run against Docker (supported only for development scenarios) and a Microsoft-built fork of the Moby project (officially supported for production scenarios). Also, the tests run against Windows 10 Enterprise and Windows Server 2019.
    - The artifact overrides task was removed from e2e-run.yaml because specifying artifact builds via the `az.pipeline.images.buildId` and `az.pipeline.packages.buildId` variables is obsolete. You can now use the Azure Pipelines "resources" feature to accomplish the same thing.
    - The .NET Core 2.1 & 3.1 install tasks were removed from images.yaml because they're installed when the 1ES-hosted image is built; they don't need to be installed at runtime.
    - A `docker system prune` task was removed from images.yaml because the new 1ES-hosted images are stateless, and therefore don't require cleanup between runs.
    - A bug was fixed in the cargo install script wherein it didn't set up the user's PATH. This was likely hidden by the fact that the pipeline ran on stateful agents, where cargo had already been installed. Cargo install will likely become a build-time action in the future, so this task will be removed altogether.
    - A bug was fixed in the openssl library build task, which again probably went undetected because it only ran on stateful agents.
    - The end-to-end tests now detect a couple more cases where `iotedge list` fails because the daemon is still starting up. In such cases the tests will retry the commands rather than failing.
    - Process.RunAsync was updated to stream stdout in real time rather than waiting until the call ends to return output (and potentially discarding output in some failure cases). This improves logging, but required forking the open source RunProcessAsTask project into the source code rather than taking a NuGet dependency. The changes could potentially be contributed back instead, but the project seems not to have been updated for some time. Note that a few calls to Process.RunAsync still request the old behavior (via `logVerbose: false`) because they're logging the output to file and therefore don't want to repeat it to stdout.
    damonbarry committed May 19, 2021
    Configuration menu
    Copy the full SHA
    5e6c47b View commit details
    Browse the repository at this point in the history
  2. Fix potential instability in iotedged after UploadSupportBundle fails (

    …Azure#4942)
    
    Upload a support bundle from the portal, using UploadSupportBundle, causes the edge device to stop responding to iotedge list and other commands executed from the cli; in addition, the portal returns a 500 error when the user tries to deploy a new module to the device.
    pmzara committed May 19, 2021
    Configuration menu
    Copy the full SHA
    5e3b60f View commit details
    Browse the repository at this point in the history

Commits on May 20, 2021

  1. Rename end-to-end test log artifacts (Azure#5006)

    The end-to-end test logs are published as artifacts in the pipeline run, and have names like `logs-end-to-end-{buildnum}-linux-amd64-iotedged-ubuntu18.04-amd64`. As we add more jobs to the pipeline, we can't tell the logs apart by their names (e.g. we now have two Ubuntu 18.04 jobs, two Ubuntu 20.04 jobs, and two Windows jobs). 
    
    This update changes the names to something like `logs-end-to-end-{buildnum}-ubuntu-1804-docker`, based on the job name. It should make it easier to tell published logs apart from one another.
    
    Note something similar was already done in the main branch, see Azure#3722.
    damonbarry committed May 20, 2021
    Configuration menu
    Copy the full SHA
    8ee5494 View commit details
    Browse the repository at this point in the history
  2. Merge Prometheus parser fix. (Azure#5007)

    Updating Azure Monitor Module Prometheus parser
    
    Fixes Azure#4361
    pmzara committed May 20, 2021
    Configuration menu
    Copy the full SHA
    9148d4f View commit details
    Browse the repository at this point in the history

Commits on May 21, 2021

  1. Prepare for Release 1.1.3 (Azure#5008)

    # 1.1.3 (2021-05-24)
    ## Edge Agent
    ### Bug Fixes
    * Update GetModuleLogs method when tail + since + until options are provided. [c1dba55](Azure@c1dba55)
    * Fix vulnerability issues in docker images. [b286408](Azure@b286408)
    
    
    ## Edge Hub
    ### Bug Fixes
    * Adds SharedAccessSignature to repo with fix for vulnerability. [4fea6e7](Azure@4fea6e7)
    * Close AMQP connection explicitly when no more links (removing links kept tcp level connection). [5be30fb](Azure@5be30fb)
    * Fix vulnerability issues in docker images. [b286408](Azure@b286408)
    * Fix edgehub_queue_length metric. [4aab90b](Azure@4aab90b)
    
    
    ## Diagnostics Module
    ### Bug Fixes
    * Fix potential instability in iotedged after UploadSupportBundle fails. [5e3b60f](Azure@5e3b60f)
    * Fix vulnerability issues in docker images. [b286408](Azure@b286408)
    
    
    ## iotedged
    ### Changes
    * Update C SDK submodules to 2020-12-09. [deb2753](Azure@deb2753)
    * Delete all containers after reprovision. [77ad781](Azure@77ad781)
    * Update serde-yaml version to 0.8 [22b8d30](Azure@22b8d30)
    * Introduce Timestamps Option via mgmt.sock. [b18d090](Azure@b18d090)
    yophilav committed May 21, 2021
    Configuration menu
    Copy the full SHA
    3629d72 View commit details
    Browse the repository at this point in the history
  2. Fixing diagnostics image for 1.1 (Azure#5018)

    Diagnostics image 1.1 currently fails for WebSockets when we add a proxy. But 1.2 works for this case. I copy pasted from 1.2 code to 1.1, since we were doing it in a different way in 1.2. I tested it with a proxy, and it works.
    dylanbronson committed May 21, 2021
    Configuration menu
    Copy the full SHA
    6b32f3c View commit details
    Browse the repository at this point in the history
  3. Prepare for Release1.1.3 (part 2) (Azure#5020)

    Includes 
    * Fix Diagnostics Module's Websocket behind proxy. [6b32f3c](Azure@6b32f3c)
    
    For the release
    yophilav committed May 21, 2021
    Configuration menu
    Copy the full SHA
    68e71a5 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2021

  1. Remove PII from log. (Azure#5022)

    Obfuscate the subscription ID and resource group name from the metrics collector logs to reduce the chance of unintended exposure on public forums (e.g. Github issues).
    pmzara committed May 25, 2021
    Configuration menu
    Copy the full SHA
    0409608 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2021

  1. Add validation for null props inside objects inside arrays. (Azure#4896

    …) (… (Azure#5034)
    
    …Azure#4941)
    
    Since IoT Hub does not support patch operations on arrays (if you want to update array, you need to replace it), they don't allow null values or null properties inside arrays. EdgeHub, on the other hand, allows that. So, validation can pass on the EdgeHub side, but the update will be rejected by the hub. This situation allows for sending bad payloads, that blocks any further twin updates unless bad property is removed/cleared.
    vipeller committed May 26, 2021
    Configuration menu
    Copy the full SHA
    a6d7fee View commit details
    Browse the repository at this point in the history

Commits on May 28, 2021

  1. fixed subscription restore from client state when mqtt client reconne…

    …cts (Azure#5048)
    
    Cherry picked (Azure#4189)
    
    When an MQTT client used persistent session, the previous subscriptions did not get restored. If the same client connected to IoTHub directly, its subscriptions (e.g. for receiving twin responses) would have been restored.
    In case of c# sdk it would not be a problem, because the sdk automatically resubscribes when it is able to restore the connection to edgeHub.
    
    In case of python sdk however this does not happen. As a result, if a device connects using the python sdk and edgeHub gets restarted, the client will not be receiving m2m messages, twin patches, etc anymore.
    
    The fix seems big but the main code in "MessagingServiceClient.cs", the rest is just the result of a changed interface and some plumbing.
    vipeller committed May 28, 2021
    Configuration menu
    Copy the full SHA
    aadf030 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2021

  1. Add "dist" target to supply Yocto builds with release. (Azure#5057)

    Yocto builds are currently using a "vendor" file - a tar-gzipped snapshot of the project created by `cargo vendor` - to build the Yocto images, and it's getting it from the release GitHub page.  As a first step to improve the process to update Yocto, I'm adding this to the packages build. This only needs to be done once, so I attached it to the ubuntu18.04 build, but it could be any build.
    darobs committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    c45c966 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2021

  1. Configuration menu
    Copy the full SHA
    8f0ecd1 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2021

  1. Configuration menu
    Copy the full SHA
    5e84d37 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2021

  1. Update base image update script to not include generic-mqtt-tester (A…

    …zure#5040)
    
    Update base image update script to not include `generic-mqtt-tester` base image.
    yophilav committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    69e116e View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2021

  1. Send connection device Id information on twin change notifications Az…

    …ure#4762 (Azure#4888)
    
    Cherry-pick: Azure@fa60e52
    
    Issue: EdgeHub supports routing twin change notifications, which basically includes routing RP updates to other modules. The message that gets routed should have information about the device that sent the RP update.
    But because of a recent change in EH, this information got dropped.
    
    Fix: Fix is to route the information about the device/module that sent the RP update to the receiving module.
    varunpuranik committed Jun 16, 2021
    Configuration menu
    Copy the full SHA
    d86830d View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2021

  1. Builds: Eliminate insecure docker login (Azure#5098) (Azure#5110)

    Cherry pick with conflicts Azure#5098 
    
    Cherry pick with conflicts Azure#5109
    and-rewsmith committed Jun 17, 2021
    Configuration menu
    Copy the full SHA
    9c2051f View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2021

  1. Send connection device Id information on twin change notifications Az…

    …ure#4… (Azure#5145)
    
    …762 (Azure#4888)
    
    Cherry-pick: Azure@fa60e52
    
    Issue: EdgeHub supports routing twin change notifications, which basically includes routing RP updates to other modules. The message that gets routed should have information about the device that sent the RP update.
    But because of a recent change in EH, this information got dropped.
    
    Fix: Fix is to route the information about the device/module that sent the RP update to the receiving module.
    varunpuranik committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    acc3e1f View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2021

  1. Update functions to 3.0 (Azure#4910) (Azure#5060)

    * Update functions to 3.0 (Azure#4910)
    
    This reverts commit 3ab67a3.
    Filters out bin folder when running tests to fix the tests failure issue. It's not clear why only in some runs the bin folder has the test dlls and not the runtimeconfig.json files which is causing the tests run to fail. Other times it was passing because the bin folder didn't contain the test dlls when running on different pipeline agent (but using same dotnet sdk and everything else looked the same)
    
    * fix build
    
    * remove dotnet2 for windows build
    ancaantochi committed Jun 25, 2021
    Configuration menu
    Copy the full SHA
    0d18c66 View commit details
    Browse the repository at this point in the history
  2. Update GetModuleLogs method when tail + since + until options are…

    … provided (Azure#4922) (Azure#5171)
    
    TL;DR - This PR chances the behavior of `GetModuleLogs` method to better facilitate the portal experience. 
    
    Previous, when the `GetModuleLogs` is triggered from the azure portal with `tail + since + until`, all the 3 options are passed to Docker API management to fetch the log. The Docker API does the following: 
    1. Fetch the log of the module
    2. Apply `tail` to the log
    3. Apply the `since` and `until` to the log
    This results in an empty log most of the time which is not a desirable behavior. 
    
    This PR changes the `GetModuleLogs` when the `tail + since + until` are specified together by doing the following:
    1. Fetch Docker API with `since + until` log option
    2. `tail` the returning log using LogProcessor (post-Akka).
    This allows a customer to get a tail of log within a given time frame. 
    
    Note: This PR doesn't change the behavior of any other option combinations (i.e. `tail + since`, `tail`, `since`, etc). These combination are still managed by Docker API.
    
    Note2: I set RequestHandle timeout to be 30s instead of 600s by default
    yophilav committed Jun 25, 2021
    Configuration menu
    Copy the full SHA
    496985c View commit details
    Browse the repository at this point in the history
  3. Introduce Timestamps Option via mgmt.sock (Azure#5172)

    - Allow Management socket to accept `timestamps` option to be pass through docker socket API.
    - Update the documents for the latest API version
    - The latest API is being manually added since there is a gigantic out-of-sync between the template interface `managementVersion_2020_07_07.yaml` and `/edgelet/management` generated code.
    yophilav committed Jun 25, 2021
    Configuration menu
    Copy the full SHA
    78f273c View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2021

  1. Use Docker Timestamp When Log Timestamp is not Available in JSON log. (

    …Azure#5173)
    
    Derived from Azure#4981
    
    Context:
    It generates the attached file, if a module does not use the prescribed logging format (which most module do not), the timestamp is 0. This makes the logs not very useful. The timestamp irrespective of logging format is actually available from Docker log API.
    
    Solution: 
    This PR issues `timestamps` from edgeAgent via mgmt.sock to prepending the returning log with timestamp.  edgeAgent then parse the timestamp & return the value in json format to portal.
    
    Note: 
    This feature requires Azure#5172
    yophilav committed Jun 29, 2021
    Configuration menu
    Copy the full SHA
    b4d989b View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2021

  1. Update Base Images for a Security Patch (Azure#5191)

    Update Base Images for Security Patch
    - ARM32/64 🠘 3.1.16-bionic-arm*
    - Linux AMD64 🠘 3.1.16-alpine3.13
    - Winwods AMD64 🠘 3.1.16-nanoserver-1809
    yophilav committed Jun 30, 2021
    Configuration menu
    Copy the full SHA
    de48c49 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2021

  1. Prepare for Release1.1.4 (Azure#5193)

    # 1.1.4 (2021-07-05)
    ## Edge Agent
    ### Bug Fixes
    * Use Docker Timestamp When Log Timestamp is not Available in JSON log. [b4d989b](Azure@b4d989b)
    * Update Base Images for a Security Patch. [de48c49](Azure@de48c49)
    
    
    ## Edge Hub
    ### Bug Fixes
    * Add validation for null props inside objects inside arrays. [a6d7fee](Azure@a6d7fee)
    * Fixed subscription restore from client state when mqtt client reconnects. [aadf030](Azure@aadf030)
    * Send connection device Id information on twin change notifications. [acc3e1f](Azure@acc3e1f)
    * Update Base Images for a Security Patch. [de48c49](Azure@de48c49)
    
    
    ## Temperature Filter Function
    ### Bug Fixes
    * Update to use Azure Functions 3.0 [0d18c66](Azure@0d18c66)
    yophilav committed Jul 1, 2021
    Configuration menu
    Copy the full SHA
    cbeb53c View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2021

  1. Update keyvault variable in Connectivity test (Azure#5199)

    Update keyvault variable in Connectivity test
    yophilav committed Jul 2, 2021
    Configuration menu
    Copy the full SHA
    003d407 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2021

  1. Automate OS image update for AMD64 (Azure#5187)

    Automate OS image update for AMD64
    yophilav committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    720e976 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2021

  1. Incrementing edgelet version for EFLOW artifacts (Azure#5233)

    Incrementing edgelet version for EFLOW artifacts
    yophilav committed Jul 9, 2021
    Configuration menu
    Copy the full SHA
    bc5ebf1 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2021

  1. Metrics Collector: Fix adoption stats (Azure#5190)

    We removed the test specific logic from the metrics collector. In doing so, this removed a get twin call that was relied on for gauging usage stats.
    
    The solution is to recreate the `ModuleClient` (after product info and potentially all other fields are set) even in the Log Analytics code path. This change needs some synchronization as to not interfere with metrics potentially being published from the `IotMessage` metrics upload path (which also uses `ModuleClient`). 
    
    To achieve this synchronization, I chose to create a wrapper around the `ModuleClient` which serves as the shared reference across multiple `Tasks`. Multiple of these `Tasks` might use the `ModuleClient`. One `Task` could be recreating it while the other could be attempting to publish messages. In order to achieve synchronization I chose to use a `SemaphoreSlim` because I needed some async lock.
    
    I ran into some issues when attempting to recreate the `ModuleClient`. 
    1. If messages tried to be published too quickly, the initial message send would hang.
    2. When calling `CloseAsync()` the SDK threw an exception. (SDK bug imo)
    
    I managed to resolve these issues by not calling `CloseAsync()` and waiting 1 minute to publish messages. I confirmed in `EdgeHub` logs that multiple connections did not exist.
    and-rewsmith committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    057da6a View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2021

  1. Upgrade Image Publication Pipeline (Azure#5240)

    Upgrade Image Publication Pipeline. 
    I added a new nice to have feature here as well: 
    - Safe guard ensuring the input build image version is correct with what specified in /versionInfo.json. (So we don't accidentally grab 1.1.4 image and publish as 1.2.4 to MCR)
    - One button click and done. A user no longer need to fill in miscellaneous parameters which prone to error. The pipeline will look into the repo & construct those parameters for you.  
    - Utilized 1ES-Hosted pool for image build consistency. 
    
    Cherry-picked from: Azure@cd89f1b , Azure@ae31328 + Make it 1.1 (with Windows).
    yophilav committed Jul 13, 2021
    Configuration menu
    Copy the full SHA
    f9f0c01 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2021

  1. Configuration menu
    Copy the full SHA
    c2b0381 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2021

  1. Update default E2E test artifacts (Azure#5260)

    Update default E2E test artifacts for `release/1.1` branch.
    yophilav committed Jul 16, 2021
    Configuration menu
    Copy the full SHA
    5511d64 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2021

  1. Fix: Delay frequent twin pulls on reconnect (Azure#5188)

    (cherry picked from commit 6dd7275)
    
    Agent pulls twin on reconnect, so desired property changes will be learned if those happened while the device was disconnected. In certain circumstances it can happen that a device keeps connecting/disconnecting. One particular case is when two edge devices use the same identity and when one device connects, the other gets disconnected. In turn the disconnected device try to connect back and this makes the first device get disconnected. This fight over the connection can result in several twin pulls per seconds.
    
    This solution delays subsequent twin pulls if those happen within a certain time window. The throttling applies only on connection, so if for some reason iothub sends frequent desired property changes, those are not throttled.
    
    The solution below has a flaw: if the delay is e.g. 30 seconds (which is now and it is hardcoded), then if there was a pull 29 seconds ago and a new one comes in, that will be delayed by 30 seconds, giving an 59 second window. I was considering calculating the windows size dynamically, e.g. removing the time elapsed from the previous twin pull giving a more steady 30 sec delay windows, however weighting the frequency of the occurrence this protection is needed and the additional complexity of the code, I chose the simpler code.
    vipeller committed Jul 19, 2021
    Configuration menu
    Copy the full SHA
    c7a81c1 View commit details
    Browse the repository at this point in the history
  2. [k8s] update k8s client. (Azure#5210) (Azure#5250)

    Cherry-pick k8s change to 1.1.
    
    * Update to latest k8s client to address vulnerabilities in dependencies.
    darobs committed Jul 19, 2021
    Configuration menu
    Copy the full SHA
    49f1d45 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2021

  1. Cherry pick to 1.1 5195 5117 (Azure#5227)

    Cherry pick:
    Azure#5195
    Azure#5117
    
    Note:
    There was a few conflicts that I had to solve manually. Most of them in aziot-edged/src/lib.rs.
    
    Redid tests from previous PR:
    
    Test 5195 (throttling):
    Created a separate module and ran the following command with the module.
    seq 1 30000 | xargs -I % -P 1000 curl --unix-socket /var/run/iotedge/workload.sock http://127.0.0.1/modules?api-version=2020-07-07 &> /dev/null&
    
    Test 5117 (multiple workload socket):
    Config: edgeAgent + edgeHub + my-rust-app module.
    
    Tested all combination
    
    Tested new edged + edgeAgent 1.1 (bootstrap) + new edgeAgent.
    Tested new edged + new edgeAgent. (bootstrap) + new edgeAgent.
    Tested new edged + edgeAgent 1.1(bootstrap) + edgeAgent 1.1
    Tested new edged + new edgeAgent. (bootstrap) + edgeAgent 1.1
    Old edged + new edgeAgent + edgeAgent 1.1
    sudo docker inspect on agent/hub and my-rust-app and check that the socket /var/lib/aziot/edged/mnt/"imagename".sock is correctly mounted.
    
    Stopped my-rust-app module in portal and checked that the server is not listening anymore on registry by doing:
    "sudo curl --unix-socket /var/lib/iotedge/mnt/my-rust-app.sock http:/dummy -v"
    
    Killed the my-rust-app module by removing it in portal and ran "ls /var/lib/aziot/edged/mnt" and verified that my-rust-app.sock had been correctly removed.
    
    Did sudo systemctl restart iotedge and verify that everything comes back online
    
    Killed edged process manually and verify that everything comes back online
    
    Updated my-rust-app image and check it got updated correctly.
    
    Ran iotedge check tests and verified everything was green.
    
    Pipeline test:
    Image: https://dev.azure.com/msazure/One/_build/results?buildId=44362377&view=results
    edgelet: https://dev.azure.com/msazure/One/_build/results?buildId=44362632&view=results
    Test: https://dev.azure.com/msazure/One/_build/results?buildId=44727164&view=results
    
    Also tested on windows:
    sub test: with old 1.1.4
    sub test with new image.
    huguesBouvier committed Jul 23, 2021
    Configuration menu
    Copy the full SHA
    b7a6d10 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2021

  1. Update packages for Component Governance (Azure#5321)

    Updates the following dependencies to resolve Component Governance issues:
    - prometheus-net in edgelet-util
    - http, hyper, failure, and linked-hash-map in edgelet
    - smallvec in check_submodules
    - http, hyper, rand_core, smallvec, and spin in snitch
    gordonwang0 committed Aug 4, 2021
    Configuration menu
    Copy the full SHA
    e7c900d View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2021

  1. RUSTSEC Fix security vulnerabilities (Azure#5319)

    This removes edge dashboard and parse_duration from edgelet-core
    nyanzebra committed Aug 5, 2021
    Configuration menu
    Copy the full SHA
    31b488f View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2021

  1. Connectivity Test in 1ES hosted pool (Azure#5342)

    Connectivity Test in 1ES hosted pool
    yophilav committed Aug 10, 2021
    Configuration menu
    Copy the full SHA
    91abe15 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2021

  1. Update functions packages (Azure#5239) (Azure#5312)

    Microsoft.NET.Sdk.Functions Uses an webjobs extension for http which has an older version of Microsoft.AspNetCore.Http and System.Text.Encodings.Web. Needed to update those packages to use 2.1.22 and 4.5.1 respectively to fix security warning.
    ancaantochi committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    58cfa2b View commit details
    Browse the repository at this point in the history
  2. SDK version from 1.28.0 to 1.28.2 (Azure#5353)

    The C# SDK now references dotnetty 0.7.0 (vs 0.6.0). This makes the dependency resolution for the protocol gateway reference 0.7.0, which fixes a bug in dotnetty and causes memory leak in some (rare) circumstances.
    vipeller committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    c347dba View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8bd4fff View commit details
    Browse the repository at this point in the history
  4. Update Base Images for a Security Patch (Azure#5352)

    Update Base Images for Security Patch
    - ARM32/64 🠘 3.1.18-bionic-arm*
    - Linux AMD64 🠘 3.1.18-alpine3.13
    - Winwods AMD64 🠘 3.1.18-nanoserver-1809
    yophilav committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    0998c04 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2021

  1. using pooled buffers has its own switch instread of 'optimizeForPerfo…

    …rmance' (Azure#5358)
    
    OptimizeForPerformance affects other things and we want to be able to control pooled/unpooled buffers separately
    vipeller committed Aug 12, 2021
    Configuration menu
    Copy the full SHA
    50027ff View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2021

  1. Remove rust rpm when building IoTEdge for Mariner (Azure#5378)

    Removes the Rust spec file from iotedge since rust has been added to the list of supported Mariner packages.
    josephknierman committed Aug 19, 2021
    Configuration menu
    Copy the full SHA
    5b21da9 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2021

  1. Configuration menu
    Copy the full SHA
    842c8c3 View commit details
    Browse the repository at this point in the history
  2. Test Metrics Collector: Use aspnet base image (Azure#5393)

    With the new version of prometheus, we now need to use aspnet base images for anything taking a dep on edge agent diagnostics csproj
    and-rewsmith committed Aug 20, 2021
    Configuration menu
    Copy the full SHA
    f237b1d View commit details
    Browse the repository at this point in the history
  3. Remove redundant tests and wait for device to be disconnected (Azure#…

    …5244) (Azure#5314)
    
    * Remove redundant tests and wait for device to be connected/disconnected
    ancaantochi committed Aug 20, 2021
    Configuration menu
    Copy the full SHA
    b7b904c View commit details
    Browse the repository at this point in the history
  4. Fix LongHaul capabilities from accidentally picking up the EFLOW agent (

    Azure#5400)
    
    Fix LongHaul capabilities from accidentally picking up the EFLOW agent
    yophilav committed Aug 20, 2021
    Configuration menu
    Copy the full SHA
    1821855 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2021

  1. Update logging for connectivity test output (Azure#5415)

    We were missing `directMethodSender3` in the connectivity log output
    and-rewsmith committed Aug 24, 2021
    Configuration menu
    Copy the full SHA
    b8508cd View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2021

  1. Prepare for Release 1.1.5 (Azure#5427)

    Update the changelog and bump versions for release 1.1.5
    yophilav committed Aug 27, 2021
    Configuration menu
    Copy the full SHA
    7681cae View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7aabcab View commit details
    Browse the repository at this point in the history
  3. Metrics Collector Release Pipeline: Fix malfunctioning triggers (Azur…

    …e#5431)
    
    Fixing the malfunctioning triggers. I think the `name` field wasn't being used causing the triggers to not be read properly. This pipeline is currently running for every commit. Once we fix the triggers it will be manual trigger only.
    and-rewsmith committed Aug 27, 2021
    Configuration menu
    Copy the full SHA
    7b7c76a View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2021

  1. fix 1.1.5 (Azure#5442)

    docker API on windows is checking if socket exists during container creation. Since sockets are created when starting a container (hence after create) the modules are never deployed.
    
    We suspect the issue was not found during testing because of the order of the tests (no proof but it is a very likely scenario).
    1. First the old edgeAgent image was used for testing. In this case the create container would work because the legacy workload socket is created from the start. The in the sub-sequent create, the module socket would get created.
    2. Then I would test with the new image, since the previous test did create the sockets, create would not complain.
    
    Test:
    Same test on windows 2019 and linux.
    Verified windows 10 boots.
    
    Tested with the new image from the beginning and verified that sockets are created.
    Tested with legacy image and verified that sockets are created and are not used.
    Tried stopping a module and checked listener would be stopped.
    Tried removing a module with and without stopping the module first.
    huguesBouvier committed Sep 1, 2021
    Configuration menu
    Copy the full SHA
    382cf77 View commit details
    Browse the repository at this point in the history
  2. Prepare for Release 1.1.6 (Azure#5451)

    Update the changelog and necessary versions for release 1.1.6
    yophilav committed Sep 1, 2021
    Configuration menu
    Copy the full SHA
    ddb4510 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2021

  1. Use 1ES-hosted agent for CentOS-7 in end-to-end tests (Azure#5284)

    1ES-hosted pools now support CentOS-7 agents, so this change migrates the CentOS job in our end-to-end test pipeline to use a 1ES-hosted agent.
    
    I confirmed that the job runs (and passes) on the expected agent in the end-to-end test pipeline.
    damonbarry committed Sep 3, 2021
    Configuration menu
    Copy the full SHA
    1b6a85c View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2021

  1. cherry pick: Fix: edgeAgent creates rogue ModuleClients in case of er…

    …ror (Azure#5332) (Azure#5359)
    
    cherry pick of the twin pull peak problem (Azure#5332)
    vipeller committed Sep 7, 2021
    Configuration menu
    Copy the full SHA
    d1fe243 View commit details
    Browse the repository at this point in the history
  2. Use 1ES hosted agent for Linux and Windows build. (Azure#5462)

    Migration to 1ES host agent pool in the pipeline Metrics Collector Publish Release Images.
    pmzara committed Sep 7, 2021
    Configuration menu
    Copy the full SHA
    bc05059 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2021

  1. Fix /mnt issue for Update-IoTEdge cmd on Windows (Azure#5472)

    Create `/mnt` for Update-IoTEdge cmd on Windows
    yophilav committed Sep 8, 2021
    Configuration menu
    Copy the full SHA
    7ed543a View commit details
    Browse the repository at this point in the history
  2. Migrate images-release pipeline to use 1es agents (Azure#5459)

    This only affects the Windows job because the Linux jobs use Microsoft hosted agents.
    nlcamp committed Sep 8, 2021
    Configuration menu
    Copy the full SHA
    1d3086e View commit details
    Browse the repository at this point in the history
  3. Enable e2e test: TestUploadModuleLogs (Azure#5470)

    This test was fixed to lookup the sas key from kv in PR Azure#3868.
    However, the test was not enabled.
    scb01 committed Sep 8, 2021
    Configuration menu
    Copy the full SHA
    5eab1c2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6725a11 View commit details
    Browse the repository at this point in the history
  5. Create parent socket folder in Windows upgrade script (Azure#5477)

    TL;DR - The windows install script creates the `mnt` folder in the install scenario (`Initialize-IoTEdge`) but not the upgrade scenario, which is inconsistent and causes problems. This change addresses the missed case. 
    
    Context : 
    Recently we have updated that each deployed module uses its own Workload socket to do its communication with the runtime edgelet. This unpromptedly leads us to two bugs where where `/mnt` directory is not created properly upon startup on Windows. 
    
    Issues:
    The two known bugs were: 
    1. EdgeAgent would have a hard time binding the socket i.e.
    ``` 
    <3> 2021-08-31 00:04:34.253 +00:00 [ERR] - Executing command for operation ["create"] failed.
    Microsoft.Azure.Devices.Edge.Agent.Edgelet.EdgeletCommunicationException- Message:Error calling Create module edgeHub: Could not create module edgeHub
    caused by: Could not create module edgeHub
    caused by: invalid volume specification: 'C:\ProgramData\iotedge\mnt\edgeHub:C:\ProgramData\iotedge\workload': invalid mount config for type "bind": bind source path does not exist: c:\programdata\iotedge\mnt\edgehub, StatusCode:500
    ```
    This was fixed in Azure@382cf77
    
    2. IoTEdge runtime would have an issue starting up with "forbidden access" after `Update-IoTEdge` from a version prior to 1.1.5. 
    ```
    <0> 2021-09-04 14:45:48.824 +08:00 [FTL] - Fatal error building application.
    System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (10013): An attempt was made to access a socket in a way forbidden by its access permissions. C:\ProgramData\iotedge\workload\sock
       at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
       at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
    ```
    
    Fixes: Azure#5465.
    yophilav committed Sep 8, 2021
    Configuration menu
    Copy the full SHA
    6d0ca55 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2021

  1. Patch a vulnerability in System.Text.Encodings.Web (Azure#5484)

    One of our dependencies, prometheus-net.AspNetCore, has a transitive dependency on a vulnerable version of System.Text.Encodings.Web. Updating prometheus-net.AspNetCore wouldn't change anything, so the recommended approach is to make an explicit reference to the patched version of System.Text.Encodings.Web, to override the transitive version.
    
    I used `dotnet list package --include-transitive` before and after the change to verify that the transitive dependency is replaced by the explicit dependency within the project.
    damonbarry committed Sep 10, 2021
    Configuration menu
    Copy the full SHA
    5eea54a View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2021

  1. Use 1ES hosted agent for Linux and Windows build. (Azure#5475)

    * Use 1ES hosted agent for Linux and Windows build.
    
    * Removed docker build login and added pipeline variable for docker release login to allow us to test the pipeline.
    
    * Added parameter version to step that creates the docker image.
    
    * Fixed version number in the Windows template.
    
    * Added double quote around the parameters.version.
    pmzara committed Sep 13, 2021
    Configuration menu
    Copy the full SHA
    c642a82 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2021

  1. Disable flaky tests (Azure#5482)

    Ported Azure#5468 to 1.1 with the following changes:
    1. Nested test disables don't apply, so obviously not included
    2. Looked a the analytics for dps and x509 manual provisioning tests. Turns out there was some narrow blip of failures and then these tests have been quite stable. So I don't think we should disable them. I think we should re-enable in master / 1.2.
    and-rewsmith committed Sep 14, 2021
    Configuration menu
    Copy the full SHA
    4d9bf53 View commit details
    Browse the repository at this point in the history
  2. E2E: Disable EFLOW tests due to agent hardware issue (Azure#5496)

    Disabling EFLOW tests due to agent hardware issues. We can re-enable once EFLOW team fixes the issue.
    and-rewsmith committed Sep 14, 2021
    Configuration menu
    Copy the full SHA
    850a250 View commit details
    Browse the repository at this point in the history
  3. Disable flaky CI and E2E tests (Azure#5502)

    * disable flaky tests
    and-rewsmith committed Sep 14, 2021
    Configuration menu
    Copy the full SHA
    ae1fca8 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2021

  1. CI Tests: Disable flaky tests in cloud proxy suite (Azure#5511)

    Disabling these three flaky tests.
    and-rewsmith committed Sep 15, 2021
    Configuration menu
    Copy the full SHA
    c338d34 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2021

  1. Fix Security Vulnerability in Ubuntu Images of Snitcher Module (Azure…

    …#5513)
    
    Fix Vulnerabilities by Updating Images for Docker Files
    nimanch committed Sep 16, 2021
    Configuration menu
    Copy the full SHA
    79152a1 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2021

  1. Cherry-pick: Download artifacts based on pipeline 'resources' (Azure#…

    …5471) (Azure#5527)
    
    The 'Download Edge Artifacts' and 'Download Image Artifacts' tasks used the
    edgelet.package.branchName and images.branchName variables, respectively but
    instead needed to use the appropriate resource variables (which were being specified
    in the resources sectin of the YAML but not used at all)
    nlcamp committed Sep 17, 2021
    Configuration menu
    Copy the full SHA
    59d8281 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2021

  1. 1es migration metrics collector publish pipeline (Azure#5494)

    Added variable service connection to the YAML file to enable us to run the pipeline with other container registries.
    pmzara committed Sep 20, 2021
    Configuration menu
    Copy the full SHA
    04a691b View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2021

  1. Connectivity Tests: Fix test logic and add tolerances (Azure#5542)

    This PR is a in the same spirit as Azure#5512, however not nearly the same number of changes is needed. These things have been done for 1.1:
    - Direct method report accounts for duplicate direct methods received. This really only affected nested connectivity with the broker, but the logic has been made and reviewed so I thought it was good to add it to 1.1 anyway in case we see some weird regression in the future.
    - Add tolerance for NetworkOnFailure for connectivity tests. We will fail the tests if we pass less than 90% of direct methods.
    - Add tolerance for missing messages. I saw one instance where we were missing a two messages. Does not reproduce often.
    and-rewsmith committed Sep 21, 2021
    Configuration menu
    Copy the full SHA
    d909938 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2021

  1. CI / E2E: Disable flaky tests (Azure#5557)

    Disabling these flaky tests in CI / E2E. They cannot be failing due to a product bug as the commit they fail for is behind a commit where all the tests pass.
    and-rewsmith committed Sep 22, 2021
    Configuration menu
    Copy the full SHA
    36f5caf View commit details
    Browse the repository at this point in the history
  2. CI: Disable flaky cloud proxy null receiver test (Azure#5563)

    Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
    and-rewsmith and kodiakhq[bot] committed Sep 22, 2021
    Configuration menu
    Copy the full SHA
    93752ce View commit details
    Browse the repository at this point in the history
  3. Updated Edgelet Dev Document (Azure#5481)

    Updated Edgelet Dev Document on Updated Instructions to Run Edge Daemon Locally
    nimanch committed Sep 22, 2021
    Configuration menu
    Copy the full SHA
    3c38c8e View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2021

  1. Configuration menu
    Copy the full SHA
    1cba084 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2021

  1. Fix 1.1.6 socket (Azure#5552)

    Co-authored-by: Ubuntu <azureuser@debug1.wciqoipclkaejnvszvrhsyebkf.bx.internal.cloudapp.net>
    huguesBouvier and Ubuntu committed Sep 24, 2021
    Configuration menu
    Copy the full SHA
    2e6b208 View commit details
    Browse the repository at this point in the history
  2. Default to release/1.1 branch for conn test pipeline resources (Azure…

    …#5566)
    
    Manually triggered connectivity test pipeline runs on release/1.1 are defaulting to artifacts from the master branch for Build Images and Edgelet Packages. This is a mistake and they should be using artifacts from release/1.1 by default.
    nlcamp committed Sep 24, 2021
    Configuration menu
    Copy the full SHA
    b4f79ac View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2021

  1. Enable ARM32 E2E Test After Mitigating Docker Network Issue (Azure#5561)

    All Failures in ARM32 were occuring due to failure of a Module to be installed due to the container being previously attached to the aziot docker network. This is a known bug in docker docker/cli#1891.
    
    The problem is mitigated by restarting docker service on  uninstall of edge daemon during teardown sequence.
    nimanch committed Sep 29, 2021
    Configuration menu
    Copy the full SHA
    995083d View commit details
    Browse the repository at this point in the history
  2. Expand build targets to include Debian11 for release/1.1 (Azure#5574)

    - This PR adds Debian 11 as a build target for release/1.1
    - It also addresses an issue related to missing packages: matrix-org/synapse#9073 by removing dh-systemd from the installation list. It hasn't been needed since Debian 8.
    
    Testing notes:
    
    - verified build passes and artifacts are created.
    gauravIoTEdge committed Sep 29, 2021
    Configuration menu
    Copy the full SHA
    0195c1d View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2021

  1. Re enable some flaky tests (Azure#5587)

    I have run these tests over 20 times, some with all tests enabled. While some of the other flaky tests failed, these passed every time.
    lfitchett committed Oct 1, 2021
    Configuration menu
    Copy the full SHA
    805ce3e View commit details
    Browse the repository at this point in the history
  2. Make tests resilient to Windows service manager errors (Azure#5608)

    In a failed end-to-end test run on Windows earlier today, I noticed that all test failures looked like this:
    
    ```
      Error Message:
       System.InvalidOperationException : Cannot stop iotedge service on computer '.'.
      ----> System.ComponentModel.Win32Exception : The service cannot accept control messages at this time.
      Stack Trace:
         at System.ServiceProcess.ServiceController.Stop()
       at Microsoft.Azure.Devices.Edge.Test.Common.Windows.EdgeDaemon.InternalStopAsync(CancellationToken token) in D:\a\_work\1\s\test\Microsoft.Azure.Devices.Edge.Test.Common\windows\EdgeDaemon.cs:line 107
       at Microsoft.Azure.Devices.Edge.Test.Common.Windows.EdgeDaemon.ConfigureAsync(Func`2 config, CancellationToken token, Boolean restart) in D:\a\_work\1\s\test\Microsoft.Azure.Devices.Edge.Test.Common\windows\EdgeDaemon.cs:line 65
       ...
    ```
    
    I've noticed this before as well. Sometimes, the service manager in Windows isn't ready when you stop a service, but waiting a little while and trying again tends to solve it (e.g., see [this](https://docs.microsoft.com/en-us/previous-versions/ms833805(v=msdn.10)?redirectedfrom=MSDN)). I noticed we weren't retrying when we get this exception, so this change adds the retry logic.
    
    The error is not very common, so I was unable to confirm that my change works around it. But I ran the Windows jobs in the pipeline 7 times (with several jobs running in parallel too), and the stop logic still works, so at least generally I know I didn't make it worse. I added a verbose log so that we can gather more data if we still see this error in the future.
    damonbarry committed Oct 1, 2021
    Configuration menu
    Copy the full SHA
    e17bfa7 View commit details
    Browse the repository at this point in the history
  3. Queue Up Connectivity Test for 1.1 (Azure#5609)

    Schedule Connectivity Test to be run every Sunday midnight for branch 1.1
    yophilav committed Oct 1, 2021
    Configuration menu
    Copy the full SHA
    b432f85 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2021

  1. Update cmake_minimum_required (Azure#4835)

    Update cmake_minimum_required
    yophilav committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    ee5278a View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2021

  1. Configuration menu
    Copy the full SHA
    6aa6445 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2021

  1. Upgrade to Azure.Messaging.EventHubs library in end-to-end tests (Azu…

    …re#5622)
    
    We currently use the Microsoft.Azure.EventHubs library in our CI, end-to-end, connectivity, and long haul tests to read D2C events that land in IoT Hub. That library has been deprecated, however, in favor of Azure.Messaging.EventHubs.
    
    I upgraded the library in our release/1.1 end-to-end tests while doing some experimentation. Since it integrated cleanly and seemed to work just as well, I'd like to commit the changes. We can use this as a pattern for upgrading all other uses in the repo as well, across all branches.
    
    I ran my changes on a limited set of end-to-end tests locally, many times. I also ran the 1.1 end-to-end test pipeline, which was green on all platforms except one test failed on Windows for an unrelated reason.
    damonbarry committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    5ddfe4b View commit details
    Browse the repository at this point in the history
  2. Update README with instructions to run end-to-end tests on localmachi…

    …ne for release/1.1 (Azure#5554)
    
    The steps to setup the local machine and the cloud side resources are the same as detailed out in the PR for release/1.2.
    There are changes in how the code is built, what container images are needed, the context.json and the environment settings.
    scb01 committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    aede145 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2021

  1. Update Base Images for a Security Patch (Azure#5647)

    Update Base Images for Security Patch
    - ARM32/64 🠘 3.1.19-bionic-arm*
    - Linux AMD64 🠘 3.1.19-alpine3.14
    - Winwods AMD64 🠘 3.1.19-nanoserver-1809
    yophilav committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    75bb5ea View commit details
    Browse the repository at this point in the history
  2. Prepare for Release 1.1.7 (Azure#5657)

    Update the changelog and necessary versions for release 1.1.7
    yophilav committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    cb33102 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2021

  1. [CHERRY-PICK 1.1] Enable Support Bundle Upload for E2E Pipelines (Azu…

    …re#5664)
    
    This PR is a Manual Cherry Pick of Azure#5630
    Example Run : https://dev.azure.com/msazure/One/_build/results?buildId=47705228&view=results
    # Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Oct 11, 2021
    Configuration menu
    Copy the full SHA
    d7848f9 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2021

  1. Enable Rust Coverage for Release 1.1 Branch (Azure#5641)

    1. Enable Code Coverage for Rust Code with 62% Check in Gate
    2.  Disable one of the test from running during code coverage test runs. Fails with  cryptic error. Investigate Later
    Error Due to 
    (---- run_ctest stdout ----
    Start Running ctest for HSM library
    thread 'run_ctest' panicked at 'Did not find OUT_DIR in build environment: NotPresent', hsm-sys/tests/hsm_ctest.rs:17:40
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    
    
    failures:
        run_ctest
    
    test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out)
    nimanch committed Oct 12, 2021
    Configuration menu
    Copy the full SHA
    58b27b2 View commit details
    Browse the repository at this point in the history
  2. [CHERRY PICK] Update Connectivity Pipeline to Publish Output of IoT E…

    …dge Support Bundle (Azure#5643)
    
    This PR is a Manual Cherry Pick of Azure#5601
    
    Currently the Connectivity Pipeline spews all logs in the output window which are difficult to parse. This change aims to Publish IoT Support Bundle Logs as Pipeline Artifacts to help in easier debugging
    
    
    EDIT1 : Added Changes from this PR to Master to prevent truncation of edged logs : Azure#5638
    
    Connectivity Test Run : https://dev.azure.com/msazure/One/_build/results?buildId=47745943&view=results
    nimanch committed Oct 12, 2021
    Configuration menu
    Copy the full SHA
    c27fa9d View commit details
    Browse the repository at this point in the history
  3. Bug fix: Filtering metrics does not work if endpoint is specified. (A…

    …zure#5665)
    
    This PR fixes a bug in the Metrics Collector: specifying an endpoint in _AllowedMetrics_ does not filter metrics correctly.
    
    ### Testing Notes:
    
    **Automated tests**
    - New tests added & existing tests pass.
    
    ![image](https://user-images.githubusercontent.com/90283547/136846443-9049b33a-7955-4ca3-af5b-a3529c7de0fb.png)
    
    
    **Manual testing/verification**
    1. Reproduced the bug by deploying IoTEdgeMetricsCollector
    2. Built new metrics collector with my fix (and pushed to ACR)
    3. New deployment ran modules from steps 1&2, for the same set of filters testing the same built-in metrics (with endpoints).
    4. Verified fix works by looking at the logs and confirming that metrics that were failing to be uploaded in IoTEdgeMetricsCollector were successfully filtered & uploaded in the new metrics collector.
    5. Since _AllowedMetrics_ filtering works if no endpoint is specified, another test was to filter for the same metrics across both modules, but specify endpoint in fixed module, but not in IoTEdgeMetricsCollector.
    
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    gauravIoTEdge committed Oct 12, 2021
    Configuration menu
    Copy the full SHA
    6dab495 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2021

  1. add allow_elevated_docker_permissions to config (Azure#5680)

    This adds a section for the allow_elevated_docker_permissions flag to the default config.yaml
    lfitchett committed Oct 13, 2021
    Configuration menu
    Copy the full SHA
    dcfcdc2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d52598f View commit details
    Browse the repository at this point in the history
  3. Fix typo in config.yaml (Azure#5681)

    Fixing typo introduced in commit Azure@dcfcdc2
    
    # Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [ ] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [ ] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    varunpuranik committed Oct 13, 2021
    Configuration menu
    Copy the full SHA
    3af6c97 View commit details
    Browse the repository at this point in the history
  4. Connectivity Test: Fix mistake in tolerance logic and add new toleran…

    …ce for twin (Azure#5642)
    
    * fix mistake in tolerance logic and add new tolerance for twin
    
    * better description
    and-rewsmith committed Oct 13, 2021
    Configuration menu
    Copy the full SHA
    12775e4 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2021

  1. More Metrics Collector tests (Azure#5703)

    This PR adds more tests for verifying the AllowedMetrics filters in the existing Metrics Collector.
    
    ### Testing Notes
    
    **Automated tests**
    
    - New tests added & existing tests pass.
    
    ![image](https://user-images.githubusercontent.com/90283547/137553439-c5822e52-e232-49d6-a8c7-4a6fd3265477.png)
    
    
    **Manual testing/verification**
    
    1. Deployed existing IoTEdgeMetricsCollector from Azure Marketplace.
    2. Built new metrics collector with the fix from this PR: Azure#5665
    3. New deployment ran modules from steps 1&2, for the same set of filters testing the same built-in metrics.
    4. Tested & verified that existing regex/label matching for AllowedMetrics works as expected by looking at the logs for both modules (from steps 1 & 2).
    
    **Potential testing limitations**
    
    - Manual tests did not cover multiple/nested device scenarios.
    - However, an effort has been made to emulate such scenarios in the automated tests.
    
    [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    gauravIoTEdge committed Oct 15, 2021
    Configuration menu
    Copy the full SHA
    8900873 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2021

  1. Fix permission denied on workload socket (Azure#5705)

    Co-authored-by: Ubuntu <azureuser@debug.wciqoipclkaejnvszvrhsyebkf.bx.internal.cloudapp.net>
    huguesBouvier and Ubuntu committed Oct 18, 2021
    2 Configuration menu
    Copy the full SHA
    53157f2 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2021

  1. Improve Windows service management in end-to-end tests (Azure#5714)

    A recent PR (Azure#5608) added retry logic to the end-to-end tests on Windows when they try to stop the IoT Edge service but the service manager isn't ready. This PR expands that one to include another case: when the tests try to stop the IoT Edge service but the service is already stopped.
    
    ```
      X QuickstartCerts [7s 488ms]
      Error Message:
       System.InvalidOperationException : Cannot stop iotedge service on computer '.'.
      ----> System.ComponentModel.Win32Exception : The service has not been started.
    ```
    
    The code path that stops the service first checks its status, and only issues the stop command if the service isn't already stopped. However, checking the service status + stopping the service is not an atomic operation, so there is a small window of opportunity to call "stop" on an already-stopped service. This change handles that window by checking the service status on every retry, not just the first time through. 
    
    I was unable to get the condition to repro again after several runs in the pipeline, but I at least confirmed that these changes don't disrupt the happy path.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    damonbarry committed Oct 20, 2021
    Configuration menu
    Copy the full SHA
    6c34b91 View commit details
    Browse the repository at this point in the history
  2. Remove WebSocket Ping KeepAlives (Azure#5623) (Azure#5689) (Azure#5723)

    The Java clients do not handle the Kestrel WebSocket Ping (KeepAlive) gracefully and can put the client into a bad state. This change sets the interval to Zero which disables the WebSocket Ping (KeepAlive).
    
    This change should be safe because underlying AMQP and MQTT protocols have already built-in Keep Alive mechanisms. Also, IoT Hub does not support/send WebSocket Ping as well, that's why the issue is reproducible only with Edge Hub.
    
    The plan will be to correctly support this in the Java clients going forward but the best remediation that will have the biggest impact is to turn these off and have the edge act similarly to the hub.
    
    Cherry-pick Azure#5689
    vadim-kovalyov committed Oct 20, 2021
    Configuration menu
    Copy the full SHA
    a346b3b View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2021

  1. Fix: detect fail-over from iot hub/sdk behavior and disconnect from h…

    …ub (Azure#5716)
    
    Iot-hub does not disconnect in case of fail over and edgeHub keeps sending messages/operations. These operations fail with a specific error and never recover.
    Added some logic to filter exceptions, so when the error message arrives that is thrown by the "old" server (the server serving before fail-over), EdgeHub disconnect and the new connection attempt will find the new server.
    
    cherry pick of Azure#5669
    vipeller committed Oct 21, 2021
    Configuration menu
    Copy the full SHA
    01cd351 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2021

  1. IoTEdge Check: Check expired production certs (Azure#5699)

    The iotedge check for device ca was added in this PR a long time ago:
    https://github.com/Azure/iotedge/pull/1559/files#diff-5b05b8525be1ca907a0bc313fd71312d95a964b5f60d1903aa0fc2992a247027R1339
    
    The PR approached from the angle that we have a warning of using self-signed certs and now we want to add cert expiry information to it. We should be checking cert expiry in general too though, which is what I have changed in this PR.
    
    I have tested this locally and the check errors when the device ca cert is expired. There are currently no tests for this check.
    
    
    
    # Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    and-rewsmith committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    1baad81 View commit details
    Browse the repository at this point in the history
  2. Metrics Collector: Update changelog for release 1.0.2 (Azure#5736)

    Preparing for metrics collector release. Updating the changelog and version to 1.0.2. There are no code changes so not running E2E tests. Will smoke test before release.
    
    
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [ ] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [ ] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    and-rewsmith committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    a5b730a View commit details
    Browse the repository at this point in the history
  3. Remove internal test dashboard code (Azure#5739)

    This change removes tools/IoTEdgeDevOps from the repo. It's a test dashboard that is only used internally.
    damonbarry committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    6340097 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2021

  1. Correct wrong path for MessageStore.cs from 4990 (Azure#5690)

    This fixes a mistake from Azure#4990. Where in the aforementioned pr, message store location from a different branch was somehow committed and the message store in 1.1 was not correctly updated. This remedies that mistake.
    nyanzebra committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    6c8906d View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2021

  1. Update dependency on vulnerable package (Azure#5753)

    We recently upgraded a dependency in one of our projects to Microsoft.Extensions.Logging.Console/5.0.0. That package has a transitive dependency on a vulnerable version of System.Text.Encodings.Web. There is no newer version of Microsoft.Extensions.Logging.Console yet, so the recommended approach is to make an explicit reference to the patched version of System.Text.Encodings.Web, to override the transitive version.
    
    I used `dotnet list package --include-transitive` before and after the change to verify that the transitive dependency is replaced by the explicit dependency within the project.
    damonbarry committed Oct 26, 2021
    Configuration menu
    Copy the full SHA
    9ae0ddf View commit details
    Browse the repository at this point in the history
  2. Recreate edgeAgent when not Running, Stopped, or Failed (Azure#5529)

    Fixes Azure#5514
    
    Remove and recreate the edgeAgent module when its state is not Running, Stopped, or Failed.
    gordonwang0 committed Oct 26, 2021
    Configuration menu
    Copy the full SHA
    9efa300 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2021

  1. [Release1.1][Manual Cherry-Pick] E2E Checkin Gate (Azure#5758)

    This PR is a manual port of Azure#5717 , Azure#5743 to Enable E2E Check-in Gate for Release/1.1 Branch. Due to the way Images are built (Single Stage vs Multi-stage), Some minor modifications had to be made in creating the build-images.yaml and build-packages.yaml template.
    
    Deviation from Azure#5717 
    1. Use Powershell Scrip in e2e-setup.yaml since windows platform is also used in 1.1
    2. Add Debug Log to Print Edge Hub and Edge Agent Image
    3. Fix Artifact Filter Pattern (Edgelet artifacts involve both .gz and .deb packages)
    
    Testing Done
    1. E2E Checkin Gate: https://dev.azure.com/msazure/One/_build/results?buildId=48273899&view=results
    2. Build Images Pipeline: https://dev.azure.com/msazure/One/_build/results?buildId=48274103&view=results
    3. Build Packages Pipeline: https://dev.azure.com/msazure/One/_build/results?buildId=48274136&view=results
    4. CI E2E Test: https://dev.azure.com/msazure/One/_build/results?buildId=48266631&view=logs&j=9ec97737-d75d-57d0-984a-aca7d53a27f6&t=dcdcf879-b5e7-5ee9-8160-60c54b14cdfe
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Oct 27, 2021
    Configuration menu
    Copy the full SHA
    32ea513 View commit details
    Browse the repository at this point in the history
  2. [release/1.1] Prevent EdgeHub from starting without a valid configura…

    …tion (Azure#5515)
    
    Currently, EdgeHub 1.1 can start without a valid configuration. This PR backports logic introduced in later releases to check that a configuration was pulled successfully, and modifies the configuration pulling task to fail when appropriate.
    
    Fixes Azure#5398.
    onalante-msft committed Oct 27, 2021
    Configuration menu
    Copy the full SHA
    849e110 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2021

  1. E2E: Reenable Windows 10 Minimal and stabilize Windows Server 2019 (

    Azure#5724)
    
    This PR does two things:
    1. Reenable `Windows 10 Minimal` test suite
    2. Stabilize tests in windows server 2019
    
    **Windows 10 minimal**
    This test suite only runs the temp sensor test. It is currently disabled because temp sensor test is flaky. This test is currently flaky for three reasons, which this PR fixes:
    1. Test framework fails to start/stop iotedge service. I have fixed the logic for start/stop on the iotedge service. 
    2. Temp Sensor module cannot connect to EH even after multiple timeouts. This seems like an SDK issue. I am opening a github issue in the SDK repo, but for now this can be mitigated in the tests by having a configurable `StartDelay` implemented into the temp sensor module.
    3. EH receives desired property update, but doesn't send to temp sensor. This seems like a product issue in EH, so I can open a bug for this. For now this failure can be mitigated in the tests by removing the twin update from the temp sensor test.
    
    
    **Windows Server 2019**
    This test suite is currently flaky for two reasons:
    1. Test framework fails to start/stop iotedge service (same thing affecting `Windows 10 Minimal`). I have fixed the logic for start/stop on the iotedge service. 
    2. Some tests are flaky only on windows. (QuickstartCerts, ValidateMetrics, X509ManualProvision). These should be disabled for now to preserve pipeline health.
    
    **Bugs being logged**
    - Flaky QuickstartCerts on windows
    - Flaky ValidateMetrics on windows
    - Flaky X509ManualProvision on windows
    - EH failing to send temp sensor desired property update
    - Opening SDK issue to bring up Windows SDK repeatedly failing to connect to EdgeHub
    
    Passing run:
    https://dev.azure.com/msazure/One/_build/results?buildId=48308700&view=results
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    and-rewsmith committed Oct 28, 2021
    Configuration menu
    Copy the full SHA
    1af0c9c View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2021

  1. update 1.1 documentation for e2e tests (Azure#5754)

    * update 1.1 documentation for e2e tests
    
    * Added SAS URL CLI command
    
    * Addressed PR feedback
    gauravIoTEdge committed Oct 29, 2021
    Configuration menu
    Copy the full SHA
    ef5cf12 View commit details
    Browse the repository at this point in the history
  2. [release/1.1] Revert EdgeHub configuration waiting (Azure#5777)

    There is still an interdependency between the configuration fetch task and the protocol heads in the nested case. The pertinent PR is Azure#5515.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    onalante-msft committed Oct 29, 2021
    Configuration menu
    Copy the full SHA
    7e9de28 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2021

  1. Prepare for Release 1.1.8 (Azure#5780)

    Update the changelog and necessary versions for release 1.1.8
    yophilav committed Nov 2, 2021
    Configuration menu
    Copy the full SHA
    54b3180 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2021

  1. E2E: Disable Temp Sensor Test on Windows (Azure#5770)

    I thought we could mitigate this SDK issue in our tests, but it seems worse than previously thought:
    Azure/azure-iot-sdk-csharp#2223
    
    We thought ModuleClient would recover on subsequent reconnects, but it never recovers. I have tried fiddling with the delays, removing the explicit `OpenAsync`, allowing more reconnect attempts, etc. Nothing seems to stabilize this flakiness. I didn't resort to changing the protocol as I believe our tests should use the default (and I believe most stable) Amqp_Tcp_Only. 
    
    I feel like the loose thread here for further investigation is the fact that our Longhaul Tests don't suffer from this issue. So it seems like something specific to the TempSensor module might be at play.
    
    For this PR, I have disabled the TempSensor test on windows with a comment to re-enable when the SDK issue is fixed. For the windows 10 minimal suite, I switched to using EdgeAgent ping test. 
    
    Waiting on this test run before merge:
    https://dev.azure.com/msazure/One/_build/results?buildId=48491714&view=results
    
    5 E2E runs completed successfully
    
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    and-rewsmith committed Nov 3, 2021
    Configuration menu
    Copy the full SHA
    3f21dce View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2021

  1. [Cherry-Pick] Enable Test Get Module Logs (Azure#5801)

    This is a straight cherry pick of Azure#5793 
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Nov 8, 2021
    Configuration menu
    Copy the full SHA
    7c20254 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2021

  1. Remove mqtt folder and related scripts/pipelines from codebase (Azure…

    …#5822)
    
    The code in mqtt folder in the `release/1.1` brach is outdated and prone to various errors. Since it is not used anywhere in the code I removed it completely.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [ ] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [ ] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    dmolokanov committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    8729da8 View commit details
    Browse the repository at this point in the history
  2. Fix edgehub_queue_len counting (Azure#5730)

    This is a cherry-pick of Azure#5692 
    
    NOTE
    Below are graphs with TTL 300; first is online burst and second is offline.. for some reason these look different than what I saw for Azure#5731 (1.2) and guess the reason is due to message processing rates somehow being different... tested on a rpi so maybe resources were used more in one vs the other?
    <img width="670" alt="image" src="https://user-images.githubusercontent.com/6096983/138514858-898ba626-9a1b-4faf-bc99-6e8b8173f5d8.png">
    
    <img width="678" alt="image" src="https://user-images.githubusercontent.com/6096983/138514799-8695fd7f-5272-4c89-b5c7-cbf0880b7a8b.png">
    nyanzebra committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    32fbcfe View commit details
    Browse the repository at this point in the history
  3. E2E: Add more comprehensive test for metrics collector (Azure#5769)

    The current E2E test for metrics collector verifies that it can connect to iothub. This PR enhances that test to verifying that parseable metrics are sent via iothub message.
    
    Ran E2E locally. Waiting on this E2E pipeline before merge:
    https://dev.azure.com/msazure/One/_build/results?buildId=48735415&view=results
    
    ***Please replace this line with your PR description and read PR checklist below***
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    and-rewsmith committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    e93c202 View commit details
    Browse the repository at this point in the history
  4. Remove Metric Collector module from publishing through Image release …

    …pipeline (Azure#5487)
    
    TL;DR - The Metric Collector module is independently versioned; hence, it gets its own release pipeline instead of being bundle release in the Image release pipeline. 
    
    Context: 
    In the beginning, we use the image release pipeline to build the Metric Collector module. Since the module has become publicly available `1.0`. We decided it's best to have the module be versioned independently from the rest of the image modules. The Metric Collector module since has its own pipeline for the release. (builds/misc/metrics-collector-images-release.yaml)
    
    Fix:
    Remove Metric Collector module from publishing through Image release pipeline
    yophilav committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    8d2a852 View commit details
    Browse the repository at this point in the history
  5. Remove nuget.config to address pipeline warnings (Azure#5832)

    We added a nuget.config file some time back because we needed to pull from multiple nuget feeds: the regular public feed and an internal feed needed occasionally/temporarily for special drops of the IoT SDK. When Microsoft began scanning for config files that might be subject to a substitution attack, we took a few different steps over time to ensure compliance.
    
    Now we're beginning to see warnings in our pipeline because our config file points to the public feed, _even though its the only configured feed_. I suspect the scans are geared towards internal projects using OSS, rather than for public-facing projects which are themselves OSS.
    
    Since we don't need any special feeds, I believe we can avoid the pipeline warnings by removing the config file altogether.
    
    Cherry-pick 36fe1a9 from release/1.2.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [X] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [X] Title of the pull request is clear and informative.
    - [X] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [X] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [X] concise summary of tests added/modified
    	- [X] local testing done.
    damonbarry committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    b10d3f6 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2021

  1. Modify How Dotnet is Accessed during E2E Run (Azure#5833)

    Changes Had to be ported manually from Azure#5826. The location of the changes are the same 
    1. 1.1 Uses powershell instead of bash for running E2E Setup (Because of Windows Environment)
    2.  Difference in Build Images Process in 1.1 as compared to master
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    9d97efd View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2021

  1. Revert Changes to Handle Validation of Since and Until Time (Azure#5841)

    Revert Changes by PR Azure#5801, Time Stamp handling needs to be handled in the edgelet code. This change broke the Portal Log Viewing since since and until time can take unix as well as simple language time
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Nov 12, 2021
    Configuration menu
    Copy the full SHA
    46f3f7e View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2021

  1. Configuration menu
    Copy the full SHA
    1dfaef5 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2021

  1. Add Ubuntu 20.04 Packages for Build Packages Pipeline (Azure#5848)

    This PR Adds the following
    1. Ubuntu 20.04 amd64, arm32 and aarch64 packages to Build Packages Pipeline
    2. Use 20.04 packages for E2E (Checkin and CI)
    
    Test
    1. CI Build Packages : https://dev.azure.com/msazure/One/_build/results?buildId=49041611&view=results
    2. E2E Test : https://dev.azure.com/msazure/One/_build?definitionId=87020
    
    Next Steps
    1. Add Support for Testing across all pipelines ( Across master/1.2/1.1)
    2. Update Release pipelines to build 20.04 Packages
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [ ] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [ ] Title of the pull request is clear and informative.
    - [ ] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [ ] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [ ] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Nov 17, 2021
    Configuration menu
    Copy the full SHA
    8b91378 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2021

  1. Add Ubuntu 20.04 E2E Test for ARM64 (Azure#5868)

    Waiting for E2E Test Run : https://dev.azure.com/msazure/One/_build/results?buildId=49431372&view=logs&j=8520a43c-dcec-5ce4-f544-4575e5778c8d&t=2b9ef0bf-6d8c-5f29-043a-94bc7a30cb60
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Nov 30, 2021
    Configuration menu
    Copy the full SHA
    74a9524 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2021

  1. Fixing moby check (Azure#5877)

    Co-authored-by: Ubuntu <azureuser@debug.wciqoipclkaejnvszvrhsyebkf.bx.internal.cloudapp.net>
    huguesBouvier and Ubuntu committed Dec 1, 2021
    Configuration menu
    Copy the full SHA
    dc6cee2 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2021

  1. Fix: Workload socket issue for concurrent module create (Azure#5876)

    * Workload socket fix
    
    * Fix comments
    
    * Fix comments
    
    * test
    
    * Fix comments
    
    * Changing name
    
    * Removing changes to edged
    
    * Change default to match env var name
    
    * Changing log
    
    Co-authored-by: Ubuntu <azureuser@debug.wciqoipclkaejnvszvrhsyebkf.bx.internal.cloudapp.net>
    huguesBouvier and Ubuntu committed Dec 2, 2021
    Configuration menu
    Copy the full SHA
    1a30568 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2021

  1. Removing moby check for non-windows (Azure#5901)

    Co-authored-by: Ubuntu <azureuser@release11.wciqoipclkaejnvszvrhsyebkf.bx.internal.cloudapp.net>
    huguesBouvier and Ubuntu committed Dec 7, 2021
    Configuration menu
    Copy the full SHA
    b71b828 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2021

  1. [1.1] Update Images Release Pipeline to 1ES Agents (Azure#5915)

    Waiting for this Pipeline Run to finish: https://dev.azure.com/msazure/One/_build/results?buildId=49747094&view=results
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Dec 8, 2021
    Configuration menu
    Copy the full SHA
    87f8537 View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2021

  1. Generate Software Bill of Materials (SBOM) in 1.1 release pipelines (A…

    …zure#5922)
    
    Adds a SBOM generation task to each ADO pipeline that builds release bits. This includes libraries and executables contained in release builds of IoT Edge modules as well as IoT Edge Linux packages (i.e. the edgelet packages). The pipelines changed are:
    
    1. images-release
    2. metrics-collector-release
    
    These changes were tested by running each of the above pipelines to confirm the SBOM task ran and generated the expected SBOM files. The Edgelet 1.1 release pipeline was also tested, but its changes were made through ADO and do not have a corresponding YAML file.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nlcamp committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    36bb8de View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2022

  1. Remove .NET Core install templates from pipelines (Azure#5991)

    The changes here are equivalent to 497108e in `release/1.2`, but adapted to 1.1. Specifically, I removed references to install-dotnet*.yaml from Windows pipelines. I also upgraded from 'vs2017-win2016' MS-hosted agents (which are deprecated and will be [removed in March](actions/runner-images#4312)) to our standard 1ES-hosted agents for Windows builds.
    
    I tested all impacted checkin and CI pipelines. I did not test the affected release pipelines since they are not currently run from the master branch.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [X] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [X] Title of the pull request is clear and informative.
    - [X] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [X] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [X] concise summary of tests added/modified
    	- [X] local testing done.
    damonbarry committed Jan 14, 2022
    Configuration menu
    Copy the full SHA
    a053a26 View commit details
    Browse the repository at this point in the history
  2. Port UI Job to YAML Flow for Packages Release (Azure#5995)

    Before Any Automated package publishing work can be done, I thought it would be easier to finally change to a YAML flow in 1.1 for releasing packages. This will make future edits a lot simpler and maintanable.
    
    I simply ported the YAML flow from Azur devops UI with ONE EXCEPTION
     1. One of the jobs involved docker login using bash, I simply changed it to a docker task to comply with security
    
    Next steps would be to replace the UI Version with this pipeline
    
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [ ] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [ ] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Jan 14, 2022
    Configuration menu
    Copy the full SHA
    d651066 View commit details
    Browse the repository at this point in the history
  3. [1.1] Automate Release Package Publication (Azure#6000)

    This PR brings changes from
    1. Azure#5963 
    2. Azure#5983 
    
    to release/1.1. Manual Changes had to be done due to significant difference in how packages are build in 1.2 vs 1.1.
    
    This PR is a follow up of
    1. Azure#5995 
    
    Testing
    1. Hardcoded Version and Branch and verified that Packages are uploaded to Github : https://dev.azure.com/msazure/One/_build/results?buildId=50827929&view=results
    2. Verified Can run repo client tool and query status: https://dev.azure.com/msazure/One/_build/results?buildId=50830155&view=results
    
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Jan 14, 2022
    Configuration menu
    Copy the full SHA
    d21705e View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2022

  1. [1.1]Fix Tarpaulin Version to 0.18.* (Azure#6016)

    Same Changes as Azure#6015 
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Jan 19, 2022
    Configuration menu
    Copy the full SHA
    1d7fc31 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2022

  1. [1.1] Build rocksdb and arm images in amd64 hosts (Azure#5987)

    * [1.1] Build rocksdb and arm images in amd64 hosts (Azure#5954)
    
    cherry pick into 1.1 for Azure#5947 and Azure#5950. (Azure#5954)
    When this project was started, we used base images to run some commands in the native execution environment (for example: create a user in the container). Now with cross-platform docker builds, we can use runtime emulation to do this work, and not maintain the base images.
    
    We also had an inconsistent way to house the RocksDB library files. This PR builds the libraries in parallel with the project executables, and collects the libraries with the other artifacts for the image build to use. I also updated the container images build to ubuntu 20.04 to remove all references to qemu-static container.
    
    This PR reduces (but does not completely eliminate) dependency on docker hub for the project.
    
    Tested by running E2E tests on images built on the PR branch.
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes
    	- [x] concise summary of tests added/modified
    	- [ ] local testing done.
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    
    1.1 is again slightly different than 1.2, with no consolidated artifacts, so slightly different handling of RocksDb libraries.
    
    Place rocksdb lib in a directory.
    
    Make sure destination and source are the same.
    
    no consolidated artifacts in 1.1
    
    Processing buildx args got lost in the merge.
    
    Update to 20.04 for build image stage.
    darobs committed Jan 20, 2022
    Configuration menu
    Copy the full SHA
    5a793bf View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2022

  1. Update build pipelines to be Ubuntu20.04 (Azure#6030)

    Per Azure#5987, the build pipelines should be updated to be using Ubuntu20.04 to keep OS dependency consistence.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    yophilav committed Jan 21, 2022
    Configuration menu
    Copy the full SHA
    0e18363 View commit details
    Browse the repository at this point in the history
  2. Update Base Images for a Security Patch (Azure#6031)

    - Update underlying .NET images for a security update (.Net Core 3.1.22)
    - Use "stable" tags for each of the .NET flavors 
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    yophilav committed Jan 21, 2022
    Configuration menu
    Copy the full SHA
    7b689b3 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2022

  1. [1.1]Bugfix: Remove Double Quotes from Current Release Tag (Azure#6034)

    Cherry Pick (Azure#6022)
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [ ] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [ ] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nimanch committed Jan 22, 2022
    Configuration menu
    Copy the full SHA
    7268907 View commit details
    Browse the repository at this point in the history
  2. Prepare for Release 1.1.9 (Azure#6032)

    * Prepare for Release 1.1.9
    
    * Update CHANGELOG.md
    
    * Update CHANGELOG.md
    
    * Update CHANGELOG.md
    
    Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
    ggjjj and kodiakhq[bot] committed Jan 22, 2022
    Configuration menu
    Copy the full SHA
    17a3a71 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2022

  1. Custom Release pipeline for simplifying Release process on Base image…

    … updates for release/1.1 (Azure#6054)
    
    This is a standalone Release pipeline, intended to simplify the existing internal release process.
    
    To wit:
    
    - It eliminates the need to run a separate pipeline to build test images by removing external dependences,
    - It only builds images that are needed, either for the release or for testing purposes, and
    - It obviates the need for running manual checks/smoke tests by running E2E tests on the Release bits (which isn't something we were doing before).
    
    This change also adds Ubuntu 20.04 support (to account for a change in directory structure).
    
    **Testing Notes:**
    
    ![image](https://user-images.githubusercontent.com/90283547/151478992-3b39fb6b-43de-43ce-a611-9bf1d9e4b958.png)
    
    
    ### General Guidelines and Best Practices
    - [X] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    gauravIoTEdge committed Jan 31, 2022
    Configuration menu
    Copy the full SHA
    20d7e11 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2022

  1. Fix underflow possibility on ColumnFamilyDbStore (Azure#5975) (Azure#…

    …6023)
    
    * Fix underflow
    
    * Use compare exchange and make separate test
    
    * Use Max for count instead of trying to make atomic check
    nyanzebra committed Feb 1, 2022
    Configuration menu
    Copy the full SHA
    ee79c13 View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2022

  1. Clean up comments (Azure#6074)

    Some cleanup from previous PR: Azure#6054
    
    
    ### General Guidelines and Best Practices
    - [X] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    gauravIoTEdge committed Feb 3, 2022
    Configuration menu
    Copy the full SHA
    31dff3e View commit details
    Browse the repository at this point in the history
  2. Use stable tags in our Windows Docker images (Azure#6072)

    This change updates the Dockerfiles for our Windows images to use stable nanoserver tags. It also removes all Windows arm32v7 Dockerfiles.
    damonbarry committed Feb 3, 2022
    Configuration menu
    Copy the full SHA
    0ac3602 View commit details
    Browse the repository at this point in the history
  3. Prepare for release 1.1.10 (Azure#6075)

    Prepare for release 1.1.10
    yophilav committed Feb 3, 2022
    Configuration menu
    Copy the full SHA
    97eccac View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2022

  1. Configuration menu
    Copy the full SHA
    f18f057 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ebb7925 View commit details
    Browse the repository at this point in the history
  3. Remove k8s projects from 1.1 (Azure#6073)

    The K8s client is currently requiring a library (BouncyCastle) we are
    attempting to remove from the project. Since the existing Edge on K8s
    feature is only on 1.1-k8s-preview branch, we can remove it from 1.1 branch.
    
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [ ] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [ ] Title of the pull request is clear and informative.
    - [ ] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [ ] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [ ] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    darobs committed Feb 4, 2022
    Configuration menu
    Copy the full SHA
    ad08af1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2395776 View commit details
    Browse the repository at this point in the history
  5. Update Metrics Collector Release pipeline: RocksDb, E2E tests (Azure#…

    …6069)
    
    This change:
    
    - integrates with Dave's rocksDb changes.
    - adds E2E tests (for all supported architectures) to the Release bits of the Metrics Collector (just Metrics collector related tests, not the full suite of E2E tests).
    - uses the same workflow as the Base Image update pipelines (for building test images, running E2E tests), but is NOT a separate workflow. _This changes the existing Metrics Collector pipeline!_
    
    
    **Testing Notes:**
    
    ![image](https://user-images.githubusercontent.com/90283547/152253646-372cf6ee-0976-4b43-a5c6-6abfe9692e26.png)
    
    
    
    **Other Notes:**
    The E2E test architectures added in the metrics-collector-images-release.yaml file have been added with intent. That file contains the entire workflow and it's solely for metrics collector. There is no plan to create a template to extract common portions, because a thing should be made as simple as possible, but no simpler.
    
    ### General Guidelines and Best Practices
    - [X] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    gauravIoTEdge committed Feb 4, 2022
    Configuration menu
    Copy the full SHA
    50d13e4 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2022

  1. [release/1.1] Update vulnerable regex versions and fix compilation er…

    …rors (Azure#6083)
    
    Component governance identified a vulnerability in thread_local, which
    was a transitive dependency brought in by older regex versions.
    
    This has the additional benefit of unifying our regex dependency
    versions.
    
    RUSTSEC advisory: https://rustsec.org/advisories/RUSTSEC-2022-0006.html
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [ ] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [x] local testing done.
    onalante-msft committed Feb 5, 2022
    Configuration menu
    Copy the full SHA
    9f56fd2 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2022

  1. Update Metrics Collector Release pipeline: RocksDb, E2E tests (Azure#…

    …6069)
    
    This change:
    
    - integrates with Dave's rocksDb changes.
    - adds E2E tests (for all supported architectures) to the Release bits of the Metrics Collector (just Metrics collector related tests, not the full suite of E2E tests).
    - uses the same workflow as the Base Image update pipelines (for building test images, running E2E tests), but is NOT a separate workflow. _This changes the existing Metrics Collector pipeline!_
    
    
    **Testing Notes:**
    
    ![image](https://user-images.githubusercontent.com/90283547/152253646-372cf6ee-0976-4b43-a5c6-6abfe9692e26.png)
    
    
    
    **Other Notes:**
    The E2E test architectures added in the metrics-collector-images-release.yaml file have been added with intent. That file contains the entire workflow and it's solely for metrics collector. There is no plan to create a template to extract common portions, because a thing should be made as simple as possible, but no simpler.
    
    ### General Guidelines and Best Practices
    - [X] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    gauravIoTEdge authored and damonbarry committed Feb 7, 2022
    Configuration menu
    Copy the full SHA
    b7bb6ec View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2022

  1. [release/1.1] Unconditionally publish logs (Azure#6099)

    It can sometimes be that builds succeed but the resulting artifacts lead
    to test timeouts, for example if edgeHub crashes upon execution.
    Unconditionally publishing logs would make it easier to debug these
    cases.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [ ] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [ ] local testing done.
    onalante-msft committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    3287237 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f8cf4b4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c9f8daa View commit details
    Browse the repository at this point in the history
  4. added workaround for windows-certificate import problem (Azure#6102)

    (cherry picked from commit 56f2d77)
    vipeller committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    4eb2bdd View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2022

  1. Fix edgeHub shutdown for renew certificate (Azure#6037) (Azure#6095)

    * fix shutdown and E2E test
    
    ***Please replace this line with your PR description and read PR checklist below***
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [ ] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    ancaantochi committed Feb 9, 2022
    Configuration menu
    Copy the full SHA
    9339550 View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2022

  1. Fix ValidateMetrics e2e test by increasing timeout (Azure#6121)

    Based on two recent pipeline failures on ARM32 Raspberry Pis, the ValidateMetrics test needs more time to complete. Kusto logs were examined and they indicated that the ValidateMetrics direct method call succeeded within 30 seconds of the test timing out and failing.  Therefore, extending the timeout by 2 minutes should be more than enough time to fix this issue.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [ ] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [ ] concise summary of tests added/modified
    	- [ ] local testing done.  
    
    ### Draft PRs
    - Open the PR in `Draft` mode if it is:
    	- Work in progress or not intended to be merged.
    	- Encountering multiple pipeline failures and working on fixes.
    
    _Note: We use the kodiakhq bot to merge PRs once the necessary checks and approvals are in place. When it merges a PR, kodiakhq converts the PR title to the commit title, PR description to the commit description, and squashes all the commits in the PR to a single commit. The net effect is that entire PR becomes a single commit. Please follow the best practices mentioned [here](https://chris.beams.io/posts/git-commit/#:~:text=The%20seven%20rules%20of%20a%20great%20Git%20commit,what%20and%20why%20vs.%20how%20For%20example%3A%20) for the PR title and description_
    nlcamp committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    16567a1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    76bf38b View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2022

  1. Increase test timeout for Windows (Azure#6123)

    The TestGetModuleLogs test occasionally fails, not because it does something wrong but because it simply doesn't have time to finish all the stuff it's trying to do. This change increases the end-to-end test timeout to 8 minutes for Windows. It also increases the overall test time allotment to 120 minutes (default is 60). We really don't need to double the allotment, but arm32v7 will already take this long so it won't hurt to double (as opposed to picking some arbitrarily smaller value).
    
    TestGetModuleLogs has only failed twice for this reason in the last couple of weeks, so it's hard to know whether this corrects the problem. But as long as this doesn't break anything, we'll make this change and see if flaky runs disappear over time.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [X ] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [X] Title of the pull request is clear and informative.
    - [X] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [X] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [X] concise summary of tests added/modified
    	- [X] local testing done.
    damonbarry committed Feb 12, 2022
    Configuration menu
    Copy the full SHA
    49d47ad View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2022

  1. retry importing certificate when windows fails to use assigned privat…

    …e key (Azure#6105)
    
    This is a workaround for Azure#5087
    
    When EdgeHub starts up and imports the certificates with their private keys, sometimes the private key does not get associated with the certificate. As a result, using the certificate object and accessing the private key throws an exception.
    Because this certificate is handed over to Kestrel to provide a TLS connection, Kestrel tries to access the private key and throws an exception every time a client tries to connect. As a result, no client can connect to EdgeHub and it never recovers from this error.
    
    We could not find the root cause that why the import fails sometimes and other times not, also it is not clear why only on windows. However, what we found is that retrying the import (with the same certificate and key files) usually works (always worked in the tests, but we cannot claim that it always will).
    
    As a workaround, during startup, edge hub tries to access the private key to see if the association between the certificate and the key is working. If an error occurs, it re-imports the certificate, and it tries at max 10 times before stopping. Stop is needed because it is possible that the certificate files themself not correct and we want to avoid endless tries.
    vipeller committed Feb 15, 2022
    Configuration menu
    Copy the full SHA
    cf22777 View commit details
    Browse the repository at this point in the history
  2. add dotnetty.common reference to 0.7.1 (Azure#6122)

    Reference dotnetty.common 0.7.1 to force using this version because it has a fix for bug introduced in 0.7.0 which client SDK uses. Bug causes edgeHub process to not be terminated for certificate renewal when UpstreamProtocol is Mqtt
    
    Tested manually that edgeHub shutdown works when UpstreamProtocol is Mqtt and added e2e test for Mqtt.
    
    ## Azure IoT Edge PR checklist:
    
    This checklist is used to make sure that common guidelines for a pull request are followed.
    
    ### General Guidelines and Best Practices
    - [x] I have read the [contribution guidelines](https://github.com/azure/iotedge#contributing).
    - [x] Title of the pull request is clear and informative.
    - [x] Description of the pull request includes a concise summary of the enhancement or bug fix.
    
    ### Testing Guidelines
    - [x] Pull request includes test coverage for the included changes.
    - Description of the pull request includes 
    	- [x] concise summary of tests added/modified
    	- [x] local testing done.
    ancaantochi committed Feb 15, 2022
    Configuration menu
    Copy the full SHA
    2a76f57 View commit details
    Browse the repository at this point in the history