Blog from February, 2018

Release Date: 15/Feb/18

New Feature

  • [SCALRCORE-6370] - Cloud Service Gateway > AWS > Naming Policies

Improvement

  • [SCALRCORE-1331] - VMware > Allow to add multiple images to the Role (one per vCenter host) (BC Change in APIv2)
  • [SCALRCORE-6476] - Cost Analytics > Recalculate mode reliability improvements
  • [SCALRCORE-7736] - VMware > Implement Rest Client and Tag Service
  • [SCALRCORE-7957] - UI > AWS > Frontend > NVMe storage restrictions
  • [SCALRCORE-8215] - VMware > Fix throwing exceptions for invalid credentials
  • [SCALRCORE-8108] - Cost Analytics > Azure > Add support for GovCloud

Bug

  • [SCALRCORE-8150] - Cost Analytics > Analytics Processing > AssertionError('usage_item_name is undefined')
  • [SCALRCORE-8178] - VMware > IPAM > Unable to launch instance due to error (Affected version 7.7.11)
  • [SCALRCORE-8193] - APIv2 > Azure > FarmRoles test failed
  • [SCALRCORE-8201] - Cost Analytics > UI > Cannot redeclare method "printGrowth" in report template
  • [SCALRCORE-8204] - VMware > Farm Role > Folder list is incomplete
  • [SCALRCORE-8224] - Fix agent-recovery.py


 Click to show BC changes

1. BC Change in APIv2

  • Added field cloudFeatures.vCenterHost that is required for VMware images on Global and Account scopes.

    Before:
    POST http://SCALR/api/v1beta0/account/1/images HTTP/1.1
    Content-Type: application/json; charset=utf-8
    X-Scalr-Key-Id: APIK412345
    X-Scalr-Date: 2018-02-14T14:07:25Z
    X-Scalr-Signature: V1-HMAC-SHA256 ....
    X-Scalr-Debug: 1
    Content-Length: 176
    { "name": "mbeh1-ubuntu1604-devel-17102017-vmware", "cloudImageId": "vm-12345", "cloudLocation": "datacenter-21", "cloudPlatform": "vmware", "architecture": "x86_64", "os": "ubuntu-16-04" } HTTP/1.1 201 Created Server: nginx/1.12.2 Date: Wed, 14 Feb 2018 14:07:25 GMT Content-Type: application/json; utf-8 Content-Length: 811 Connection: keep-alive Vary: Accept-Encoding { "meta": { "requestId": "1c750047-60ee-493a-a1e0-993f76994588", "stringToSign": "POST\n2018-02-14T14:07:25Z\n\/api\/v1beta0\/account\/1\/images\n\n{\"name\":\"mbeh1-ubuntu1604-devel-17102017-vmware\",\"cloudImageId\":\"vm-12345\",\"cloudLocation\":\"datacenter-21\",\"cloudPlatform\":\"vmware\",\"architecture\":\"x86_64\",\"os\":\"ubuntu-16-04\"}" }, "data": { "id": "093ecc5e-1079-45d8-9969-6627f396d7c7", "name": "mbeh1-ubuntu1604-devel-17102017-vmware", "cloudImageId": "vm-12345", "cloudLocation": "datacenter-21", "cloudPlatform": "vmware", "added": "2018-02-14T14:07:25Z", "lastUsed": null, "scalrAgentInstalled": true, "cloudInitInstalled": false, "architecture": "x86_64", "size": null, "deprecated": false, "source": "Manual", "status": "active", "type": null, "statusError": null, "scope": "account", "os": { "id": "ubuntu-16-04" } }, "warnings": [] }

    After:

    POST http://SCALR/api/v1beta0/account/1/images HTTP/1.1
    Content-Type: application/json; charset=utf-8
    X-Scalr-Key-Id: APIK412345
    X-Scalr-Date: 2018-02-14T14:11:07Z
    X-Scalr-Signature: V1-HMAC-SHA256 ....
        X-Scalr-Debug: 1
    Content-Length: 176
    { "name": "mbeh1-ubuntu1604-devel-17102017-vmware", "cloudImageId": "vm-12345", "cloudLocation": "datacenter-21", "cloudPlatform": "vmware", "architecture": "x86_64", "os": "ubuntu-16-04" } HTTP/1.1 400 Bad Request Server: nginx/1.12.2 Date: Wed, 14 Feb 2018 14:11:07 GMT Content-Type: application/json; utf-8 Content-Length: 462 Connection: keep-alive Vary: Accept-Encoding { "meta": { "requestId": "b810d5c2-09ce-4910-9639-5efbd24a4b0a", "stringToSign": "POST\n2018-02-14T14:11:07Z\n\/api\/v1beta0\/account\/1\/images\n\n{\"name\":\"mbeh1-ubuntu1604-devel-17102017-vmware\",\"cloudImageId\":\"vm-12345\",\"cloudLocation\":\"datacenter-21\",\"cloudPlatform\":\"vmware\",\"architecture\":\"x86_64\",\"os\":\"ubuntu-16-04\"}" }, "errors": [{ "code": "InvalidStructure", "message": "'Image.cloudFeatures.vCenterHost' is required on 'account' scope." }] }
    POST http://SCALR/api/v1beta0/account/1/images HTTP/1.1
    Content-Type: application/json; charset=utf-8
    X-Scalr-Key-Id: APIK412345
    X-Scalr-Date: 2018-02-14T14:15:54Z
    X-Scalr-Signature: V1-HMAC-SHA256 ....
        X-Scalr-Debug: 1
    Content-Length: 275
    
    {
            "name": "mbeh1-ubuntu1604-devel-17102017-vmware",
    	"cloudImageId": "vm-12345",
    	"cloudLocation": "datacenter-21",
    	"cloudPlatform": "vmware",
    	"architecture": "x86_64",
    	"os": "ubuntu-16-04",
    	"cloudFeatures": {
                "type": "VmwareImageCloudFeatures",
                 "vCenterHost": "vcenter.dev.vmware.scalr.cloud"
    	}
    }
    
    
    HTTP/1.1 201 Created
    Server: nginx/1.12.2
    Date: Wed, 14 Feb 2018 14:15:54 GMT
    Content-Type: application/json; utf-8
    Content-Length: 1007
    Connection: keep-alive
    Vary: Accept-Encoding
    
    {
        "meta": {
        "requestId": "21efcb27-d0f3-4a39-867c-1cc745b0359f",
    		"stringToSign": "POST\n2018-02-14T14:15:54Z\n\/api\/v1beta0\/account\/1\/images\n\n{\"name\":\"mbeh1-ubuntu1604-devel-17102017-vmware\",\"cloudImageId\":\"vm-12345\",\"cloudLocation\":\"datacenter-21\",\"cloudPlatform\":\"vmware\",\"architecture\":\"x86_64\",\"os\":\"ubuntu-16-04\",\"cloudFeatures\":{\"type\":\"VmwareImageCloudFeatures\",\"vCenterHost\":\"vcenter.dev.vmware.scalr.cloud\"}}"
    	},
    	"data": {
        "id": "d4145027-297d-4f80-93e1-534c5ee0cb24",
    		"name": "mbeh1-ubuntu1604-devel-17102017-vmware",
    		"cloudImageId": "vm-12345",
    		"cloudLocation": "datacenter-21",
    		"cloudPlatform": "vmware",
    		"added": "2018-02-14T14:15:54Z",
    		"lastUsed": null,
    		"scalrAgentInstalled": true,
    		"cloudInitInstalled": false,
    		"architecture": "x86_64",
    		"size": null,
    		"deprecated": false,
    		"source": "Manual",
    		"status": "active",
    		"statusError": null,
    		"scope": "account",
    		"os": {
            "id": "ubuntu-16-04"
    		},
    		"cloudFeatures": {
                            "type": "VmwareImageCloudFeatures",
    			"vCenterHost": "vcenter.dev.vmware.scalr.cloud"
    		}
    	},
    	"warnings": []
    }
  • Field image.type for AWS images was replaced with cloudFeatures.virtualization=hvm|paravirtual

    After:

    POST http://SCALR/api/v1beta0/account/1/images HTTP/1.1
    Content-Type: application/json; charset=utf-8
    X-Scalr-Key-Id: APIK12345
    X-Scalr-Date: 2018-02-14T14:29:55Z
    X-Scalr-Signature: ....
    X-Scalr-Debug: 1
    Content-Length: 183
    
    {
             "name": "mbeh1-ubuntu1604-devel-17102017-vmware",
    	"cloudImageId": "ec-image2",
    	"cloudLocation": "us-east-1",
    	"cloudPlatform": "ec2",
    	"architecture": "x86_64",
    	"os": "ubuntu-16-04",
    	"type": "ebs"
    }
    
    HTTP/1.1 201 Created
    Server: nginx/1.12.2
    Date: Wed, 14 Feb 2018 14:29:55 GMT
    Content-Type: application/json; utf-8
    Content-Length: 1008
    Connection: keep-alive
    Vary: Accept-Encoding
    
    {
        "meta": {
        "requestId": "706c1886-58aa-4337-9f6f-9f06feef5baf",
    		"stringToSign": "POST\n2018-02-14T14:29:55Z\n\/api\/v1beta0\/account\/1\/images\n\n{\"name\":\"mbeh1-ubuntu1604-devel-17102017-vmware\",\"cloudImageId\":\"ec-image2\",\"cloudLocation\":\"us-east-1\",\"cloudPlatform\":\"ec2\",\"architecture\":\"x86_64\",\"os\":\"ubuntu-16-04\",\"type\":\"ebs\"}"
    	},
    	"data": {
                    "id": "140b0d86-8dc3-4e9f-8f99-f86372845b18",
    		"name": "mbeh1-ubuntu1604-devel-17102017-vmware",
    		"cloudImageId": "ec-image2",
    		"cloudLocation": "us-east-1",
    		"cloudPlatform": "ec2",
    		"added": "2018-02-14T14:29:55Z",
    		"lastUsed": null,
    		"scalrAgentInstalled": true,
    		"cloudInitInstalled": false,
    		"architecture": "x86_64",
    		"size": null,
    		"deprecated": false,
    		"source": "Manual",
    		"status": "active",
    		"statusError": null,
    		"scope": "account",
    		"os": {
                       "id": "ubuntu-16-04"
    		},
    		"cloudFeatures": {
                            "type": "AwsImageCloudFeatures",
    			"virtualization": "paravirtual"
    		}
    	},
    	"warnings": [{
                    "code": "Deprecated",
    		"message": "Property 'Image.type' is deprecated and will be removed soon. Use 'cloudFeatures' instead."
    	}]
    }
    
    POST http://SCALR/api/v1beta0/account/1/images HTTP/1.1
    Content-Type: application/json; charset=utf-8
    X-Scalr-Key-Id: APIK1234
    X-Scalr-Date: 2018-02-14T14:26:38Z
    X-Scalr-Signature: V1-HMAC-SHA256 ....
    X-Scalr-Debug: 1
    Content-Length: 249
    
    {
            "name": "mbeh1-ubuntu1604-devel-17102017-vmware",
    	"cloudImageId": "ec-image",
    	"cloudLocation": "us-east-1",
    	"cloudPlatform": "ec2",
    	"architecture": "x86_64",
    	"os": "ubuntu-16-04",
    	"cloudFeatures": {
                    "type": "AwsImageCloudFeatures",
    		"virtualization": "paravirtual"
    	}
    }
    
    
    HTTP/1.1 201 Created
    Server: nginx/1.12.2
    Date: Wed, 14 Feb 2018 14:26:38 GMT
    Content-Type: application/json; utf-8
    Content-Length: 955
    Connection: keep-alive
    Vary: Accept-Encoding
          
    {
        "meta": {
        "requestId": "a80a9488-d18c-4b19-8822-d05742947f89",
    		"stringToSign": "POST\n2018-02-14T14:26:38Z\n\/api\/v1beta0\/account\/1\/images\n\n{\"name\":\"mbeh1-ubuntu1604-devel-17102017-vmware\",\"cloudImageId\":\"ec-image\",\"cloudLocation\":\"us-east-1\",\"cloudPlatform\":\"ec2\",\"architecture\":\"x86_64\",\"os\":\"ubuntu-16-04\",\"cloudFeatures\":{\"type\":\"AwsImageCloudFeatures\",\"virtualization\":\"paravirtual\"}}"
    	},
    	"data": {
                    "id": "e1359b29-5757-4a2a-aa9e-7d6a796eab40",
    		"name": "mbeh1-ubuntu1604-devel-17102017-vmware",
    		"cloudImageId": "ec-image",
    		"cloudLocation": "us-east-1",
    		"cloudPlatform": "ec2",
    		"added": "2018-02-14T14:26:38Z",
    		"lastUsed": null,
    		"scalrAgentInstalled": true,
    		"cloudInitInstalled": false,
    		"architecture": "x86_64",
    		"size": null,
    		"deprecated": false,
    		"source": "Manual",
    		"status": "active",
    		"statusError": null,
    		"scope": "account",
    		"os": {
                         "id": "ubuntu-16-04"
    		},
    		"cloudFeatures": {
                           "type": "AwsImageCloudFeatures",
    			"virtualization": "paravirtual"
    		}
    	},
    	"warnings": []
    }

Release Date: 06/Feb/18

New Feature

  • [SCALRCORE-4876] - Azure > Add support for GovCloud
  • [SCALRCORE-7192] - VMware > Compute resource "auto" selection
  • [SCALRCORE-7856] - VMware > Implement low level Log Collector using API (New required privilege for vSphere user: Global.Diagnostics)
  • [SCALRCORE-5404] - VMware > Support for multiple networks
  • [SCALRCORE-7620] - AWS > EMR Version 5.10 support

Improvement

  • [SCALRCORE-8090] - Python Services > Monitor > Distribute healthcheck across processes
  • [SCALRCORE-7454] - UI > Improve Insufficient Permissions error message
  • [SCALRCORE-7489] - Improvements in Discovery manager (simplification)
  • [SCALRCORE-7661] - UI > Platforms and OS icons fixes
  • [SCALRCORE-7846] - APIv2 > Return system variables with GV on Servers scope
  • [SCALRCORE-7922] - Use Azure Batch to minimize number of API queries
  • [SCALRCORE-7973] - Optimize Queries > Reduce number of temporary disk tables
  • [SCALRCORE-7996] - UI > New webhook icon
  • [SCALRCORE-8006] - UI > Farm Designer > Add a warning when deleting the Farm Role
  • [SCALRCORE-8018] - Core > Allow system user to be in the different tree when using OPENLDAP bind type
  • [SCALRCORE-8030] - Azure > Allow to configure API client timeout
  • [SCALRCORE-8053] - Python Services > MsgSender > Reduce number of messages stored in the database
  • [SCALRCORE-8068] - APIv2 > implement deploy agent action for agentless Server

Bug

  • [SCALRCORE-8051] - Can't launch instance in GovCloud and China - "unlimited mode" error (Affected version 7.7.10)
  • [SCALRCORE-8127] - UI > Able to delete a Server before terminating in cloud (Affected version 7.7.4)
  • [SCALRCORE-6404] - AWS > ELB > Problem with duplicate stickiness policies
  • [SCALRCORE-7971] - Cost Analytics > AnalyticsPoller > Reliability issue
  • [SCALRCORE-7563] - Cost Analytics > Notifications > Negative value in email
  • [SCALRCORE-7602] - Server Health Dashboard > Move legend down
  • [SCALRCORE-7697] - Policy Engine > Consistency > Rename policy aws.iam.instance_profile to aws.iam.instance_profiles
  • [SCALRCORE-7738] - Role > New Role > Validate Chef Settings
  • [SCALRCORE-7766] - Farm Designer > Add Farm Role > Error on switching from Azure to GCE
  • [SCALRCORE-7803] - UI > Farms > Tooltip hovers action buttons
  • [SCALRCORE-7852] - UI > IP WhiteList > No option to set IP
  • [SCALRCORE-7855] - VMware > Improve working with Property Collector
  • [SCALRCORE-7865] - APIv1 > GCE > Incorrect value for Policy::CONDITION_CLOUD_LOCATION
  • [SCALRCORE-7872] - Model > FarmRoleScalingMetric > incorrect handle setupScalingTimes
  • [SCALRCORE-7997] - Discovery manager > Import > Can't set vpc router
  • [SCALRCORE-7998] - UI > Unable to select Storage Account
  • [SCALRCORE-7999] - APIv2 > FarmRole > Boostrapping > Validate Chef Settings
  • [SCALRCORE-8001] - APIv2 > 7.7.10 not returning ServerSummaryDetailsResponse
  • [SCALRCORE-8005] - Cost Analytics > Division by zero
  • [SCALRCORE-8012] - VMware server dashboard > Properties tab > task Object Object
  • [SCALRCORE-8021] - VMware > Unable to launch instance with misleading error
  • [SCALRCORE-8033] - UI > Available RDS parameters only lists first 100
  • [SCALRCORE-8077] - UI > Cost Analytics > Fin Admin > Cost centers/Projects > No permissions for xGetTopSpenders
  • [SCALRCORE-8089] - Python Services > Workflow-engine > Make agent restarts after agent.reconfigure less intrusive
  • [SCALRCORE-8092] - Python Services > Monitor > Loop should be inside execution context
  • [SCALRCORE-8103] - RDS > Parameter Groups > Problems with save
  • [SCALRCORE-8106] - VMware > Primary IpAddress is not being set when IpPool is attached to primary network