Skip to content

Releases: cloudfoundry/bosh-azure-cpi-release

v24

28 Apr 11:49
Compare
Choose a tag to compare
v24

New Features:

  • Support to set idle timeout in minutes for dynamic public IPs by configuring pip_idle_timeout_in_minutes in global Azure properties.
    • The default idle timeout of Azure public IPs is 4 minutes. The available value is [4, 30]. It must be integer.
    • If the interval that your applications send keep-alive is longer than the idle timeout, the TCP connections from/to the public IPs will be closed by Azure. So you need to increase the idle timeout of public IPs or decrease the interval in your applications.
    • If you set a too big value as the idle timeout, all ports associated with public IPs may be exhausted if your applications do not close TCP connections properly.
  • Keep failed VM if the VM fails in provisioning.
    • Sometimes, the user needs to keep the VM for troubleshooting when the VM provisioning fails due to some platform or stemcell issues.

Fixes:

  • Fix that some functions eat exceptions.

Docs:

  • Add a doc about how to backup and restore Cloud Foundry

v23

01 Apr 08:42
Compare
Choose a tag to compare
v23

New Features:

  • Support Windows heavy and light stemcells for both managed disks and unmanaged disks.
    • Do not need to set windows.username and windows.password in bosh.yml. username and password are required when creating Windows VMs but BOSH never use it, so CPI automatically generates 15 secure random characters as username and 72 secure random characters as password.
    • Disable Windows AutoUpdate. Users always use new stemcells for update.
  • Support AzureStack TP3.

Fixes:

  • Fix #259: Use Json format to store light stemcell information.
  • Redact credentials in logs
    • Credentials only can be logged when debug_mode is set to true.

v22

17 Mar 15:57
Compare
Choose a tag to compare
v22

New Features:

  • Support GermanCloud.

  • Support light stemcells.

  • Support to create Windows VM with managed disks.
    Need to add below configs in global azure properties in bosh.yml.

    azure:
      windows:
        username: xxxx # Admin user to use when spinning up new Windows VMs. Only available for Windows
        password: xxxx # Password to use when spinning up new Windows VMs. Only available for Windows
    

Fixes:

  • Fix an issue in v21 that old compute API version does not support sku property in AzureChinaCloud
  • Fix an issue in v21 that it wrongly sets permission of the container stemcell when storage accounts are premium.

Development:

v21

03 Mar 03:12
Compare
Choose a tag to compare
v21

NOTES: This version does NOT work in Mooncake now

New Features:

Improvements:

  • Upgrade azure-storage-ruby to v0.11.5.

    Please see release notes of azure-storage-ruby v0.11.5

  • Auto retry when the connection to Azure AD or ARM is reset because of OpenSSL::SSL::SSLError or OpenSSL::X509::StoreError.

v20

28 Nov 02:10
Compare
Choose a tag to compare
v20

Fixes:

  • Delete the possible unexpected node resources before updating VMs.
    • When Azure Security Center is enabled in a subscription, Azure Security Monitoring extension will be installed in all VMs under this subscription. All VMs' information will contain a node resources. This node must be deleted before updating VMs. Otherwise, you will hit an error InvalidRequestContent.
    • About Azure Security Center, you can get more information here.
  • Other minor fixes

v19

03 Nov 01:24
Compare
Choose a tag to compare
v19

Improvements:

  • Upgrade azure-storage-ruby to v0.11.3.
  • Support Azure US government.
    • You can set environment to AzureUSGovernment to deploy BOSH/CF on Azure US government.

v18

25 Oct 02:33
Compare
Choose a tag to compare
v18

New Features:

  • Support to assign dynamic public IPs to VMs in one resource pool automatically.

    • You can use below config to enable it.
    • You can see the background in the issue #217.
    resource_pools:
    - name: default
      cloud_properties:
        assign_dynamic_public_ip: true   # defaults to false
    

v17

10 Oct 05:27
Compare
Choose a tag to compare
v17

Improvements:

  • Upgrade azure-storage-ruby to v0.11.1.
  • Add and log x-ms-client-request-id for all storage requests.
    • You can find logs for every call to azure-storage-ruby by the keyword Calling.
    • You can find request-id(It is x-ms-client-request-id in every HTTP request) in the log with Calling and ask Azure support team to investigate Azure logs for every storage request.

v16

27 Sep 16:19
Compare
Choose a tag to compare
v16

Improvements:

  • BOSH group name is often too long to generate an availability set name automatically. #209
    • On Azure the length of the availability set name must be between 1 and 80 characters. env.bosh.group which is generated by BOSH director may be too long. CPI will truncate the name to the following format az-MD5-[LAST-40-CHARACTERS-OF-GROUP] if the length of env.bosh.group is greater than 80.

v15

20 Sep 16:58
Compare
Choose a tag to compare
v15

New Features:

  • Support multiple NICs.
  • Create containers in new storage accounts (NOT default storage account) if they do not exist #195
    • DO NOT check/create containers in the default storage account for performance
    • Check/create containers in the new storage account only before one stemcell needs to be copied from the default storage account
  • Use env.bosh.group instead of env.bosh.group_name #205
    • This is a new request. You can reference the feature request #171

Improvements:

  • Set x-ms-client-request-id for all xRP requests for troubleshooting
    • CPI generates a GUID as the value of x-ms-client-request-id in every xRP request header
    • CPI logs this id before sending the request to Azure resource provider
    • We can use this id to check Azure logs when CPI cannot get Azure response

Fixes:

  • Update azure-storage-ruby to 0.11.0.preview. #208
    • This also fixes the issue that azure-storage-ruby does not retry automatically when OpenTimeout
  • Auto retry when ReadTimeout and ECONNRESET #203
    • CPI will retry automatically when ReadTimeout or ECONNRESET