Blog from November, 2017

Release Date: 30/Nov/17

New Feature

  • [SCALRCORE-6314] - AWS EFS > Support for Encryption
  • [SCALRCORE-7500] - AWS > Add support for C5 instance types
  • [SCALRCORE-7599] - AWS > Add support for M5, H1 and i3.metal instance types
  • [SCALRCORE-5327] - VMware > IP Pools > External IPAM support
  • [SCALRCORE-7129] - VMware > Add support for sockets and cores per socket configuration
  • [SCALRCORE-6300] - Core > Garbage Collector > Cloud Resources Poller
  • [SCALRCORE-7056] - Core > Storage > Windows > Mount Volume to a directory
  • [SCALRCORE-7181] - Cost Manager > Azure > Add support for Germany region
  • [SCALRCORE-7369] - Cost Manager > Farm Role Analytics
  • [SCALRCORE-7060] - Cost Manager > Add support for Amazon EFS
  • [SCALRCORE-7487] - GCE > Set service account at instance creation
  • [SCALRCORE-6144] - Openstack > Volume auto-snapshot feature and snapshot rotation
  • [SCALRCORE-6704] - Control over objects nesting (Scripts, Images, WebHook Endpoints)
  • [SCALRCORE-7220] - UI > Service Catalog > Phase 4 (Advanced ACLs, Servers list on Application view page, support for HTML tags in app and offering descriptions)
  • [SCALRCORE-5605] - APIv2 > FarmRole > VMware > Add IP Pool Configuration

Improvement

  • [SCALRCORE-5897] - Better information details about Openstack credentials
  • [SCALRCORE-6718] - UI > Search field global refactoring
  • [SCALRCORE-6834] - UI > Minor fixes and consistency improvements
  • [SCALRCORE-6800] - AWS > Better UX for Detailed billing configuration (BC Change in APIv2)
  • [SCALRCORE-7394] - Hide AT configuration if there is no AT servers configured.
  • [SCALRCORE-7478] - VMware > Add ability to create Instance Type with more than 8 vCPUs

Bug

  • [SCALRCORE-4854] - UI shows wrong phase on initialization progress
  • [SCALRCORE-5782] - Cost Manager > VMWare metadata traceback
  • [SCALRCORE-5910] - APIv2 > implement rules for usage warning property in api Envelope (BC Change in APIv2)
  • [SCALRCORE-7205] - VMware > Windows server is started with the network card disabled
  • [SCALRCORE-7285] - VMware > Error while launching server
  • [SCALRCORE-7324] - AWS > EFS > Filtering grid causes an error
  • [SCALRCORE-7332] - Cost Analytics > Issue with performance on some pages
  • [SCALRCORE-7350] - APIv2 > Сloudstack > create from template > added Security Groups
  • [SCALRCORE-7353] - APiV1 > FarmCreate action do not set createdByUserEmail property
  • [SCALRCORE-7355] - Azure > Add better error reporting and validation on CC page
  • [SCALRCORE-7356] - ApiV2 > Farms > Invalid error message
  • [SCALRCORE-7372] - Cost Manager > Round everything to dollar (remove cents).
  • [SCALRCORE-7403] - VMware > Password is overriden after cloning VM from Windows template
  • [SCALRCORE-7407] - VMware > Error when import image into Vmware environment
  • [SCALRCORE-7410] - Apiv2 > UI client > Filter does not work if more than 3 parameters are selected
  • [SCALRCORE-7421] - APIv2 > Farm Role Create > Server error when setting Role by Name
  • [SCALRCORE-7430] - ApiV2 > Invalid error: InternalServerError: Server Error when creating Farm Role without CloudLocation
  • [SCALRCORE-7442] - OTC > Suspended servers terminated from the outside remain Suspended in Scalr
  • [SCALRCORE-7447] - UI > Policy > AWS > kmsKeys with null identifiers
  • [SCALRCORE-7450] - Azure > Increase timeouts in Query Client
  • [SCALRCORE-7452] - Azure > Logic with unmanaged disks is broken
  • [SCALRCORE-7459] - UI > Farm designer > Storage account issue
  • [SCALRCORE-7461] - Python Services > Monitor fail to start
  • [SCALRCORE-7465] - Azure > Invalid argument for the field
  • [SCALRCORE-7476] - Python Services > Use update client port from server_properties table
  • [SCALRCORE-7477] - No Suitable Instance Type for System Images in AP-NorthEast-2
  • [SCALRCORE-7485] - APIv1 > Wrong uptime for just started servers
  • [SCALRCORE-7493] - Cost Analytics > Analytics Poller > VMWare not all Environments are processed
  • [SCALRCORE-7502] - Cost Analytics > Analytics Notifications > Invalid method visibility (Affected version 7.7.5)
  • [SCALRCORE-7503] - VMWare > Instances hang in Pending terminate if failed by configSpec.numCPUs
  • [SCALRCORE-7508] - Cost Analytics > Analytics Processing > local variable 'hour' referenced before assignment
  • [SCALRCORE-7525] - Core > Blocker update multinode issue
  • [SCALRCORE-7528] - Python Services > Analytics Poller > KeyError: 'json_key'
  • [SCALRCORE-7541] - ACL > Policy Engine > Link groups to Environment is allowed when unchecked
  • [SCALRCORE-7546] - Discovery Manager > Import using System image > Unable to register role
  • [SCALRCORE-7550] - Analytics processor > VMWare: Unable to get cost - KeyError
  • [SCALRCORE-7552] - Core > CloudPoller2 > Clean IS_MISSING flag
  • [SCALRCORE-7570] - Roles > Search > Missing category label after re-navigation
  • [SCALRCORE-7601] - UI > Error when disabling/enabling orchestration tasks
  • [SCALRCORE-7608] - Issue with server termination data for removed farm-roles
  • [SCALRCORE-7536] - Python Services > Cost Manager > Analytics Poller > 'unicode' object has no attribute 'findall'


 Click to show changes in system packages

php-memcached: 2.2.0 -> 3.0.3
php-pecl_http: 2.6.0 -> 3.1.0
php-propro: 1.0.0 -> 2.0.1
php-raphf: 1.1.0 -> 2.0.0
php-ssh2: 0.12 -> 1.0
php-yaml: 1.3.0 -> 2.0.0
php-zmq: 1.1.2 -> 1.1.3
php: 5.6.30 -> 7.1.11
apache: 2.4.25 -> 2.4.29

 Click to show BC changes

1. BC Change in APIv2

Previously on Account Scope was not possible to set up Payer Account which Cloud Credentials was defined on Admin Scope.
Now it is possible to set up Payer Account with credentials that defined on either Scopes (Account, Admin).

AwsDetailedBilling object:


Before:

{
  "bucket": "string", 
  "cloudLocation": "string", 
  "payerAccount": "string"
}

After:

{
  "bucket": "string", 
  "cloudCredentials": {
    "id": "string"
  }, 
  "cloudLocation": "string", 
  "enabled": true,
}
  • Added property enabled (default is false)
  • Removed property payerAccount
  • Added property cloudCredentials . This property should countain identifier of the Billing creadentials. Empty 'cloudCredentials' available - means current billing credentials to use.

2. BC Change in APIv2

Changed warning format for deprecated endpoints:

Before:

GET http://SCALR/api/v1beta0/account/roles/25052 HTTP/1.1
Content-Type: application/json; charset=utf-8
X-Scalr-Key-Id: APIK12345
X-Scalr-Date: 2017-11-10T15:41:51Z
X-Scalr-Signature: ...

HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Fri, 10 Nov 2017 15:41:52 GMT
Content-Type: application/json; utf-8
Content-Length: 409

{
	"meta": {
		"requestId": "d1fb4b05-4ac7-4355-b931-9b65f93b5d4f"
	},
	"data": {
		"id": 25052,
		"name": "base64-windows2008",
		"description": "",
		"quickStart": true,
		"deprecated": false,
		"useScalrAgent": true,
		"quickStartGroup": "Base",
		"scope": "scalr",
		"os": {
			"id": "windows-2008"
		},
		"category": {
			"id": 1
		},
		"builtinAutomation": ["base"]
	},
	"warnings": [{
		"code": "301 Moved Permanently",
		"message": "Location \/api\/v1beta0\/account\/1\/roles\/25052"
	}]
}

After:

GET http://SCALR/api/v1beta0/account/roles/25052 HTTP/1.1
Content-Type: application/json; charset=utf-8
X-Scalr-Key-Id: APIK12345
X-Scalr-Date: 2017-11-10T15:37:58Z
X-Scalr-Signature: ...

HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Fri, 10 Nov 2017 15:37:58 GMT
Content-Type: application/json; utf-8
Content-Length: 404

{
	"meta": {
		"requestId": "5682eb1d-8bc9-4827-a0d6-0229b3c792a9"
	},
	"data": {
		"id": 25052,
		"name": "base64-windows2008",
		"description": "",
		"quickStart": true,
		"deprecated": false,
		"useScalrAgent": true,
		"quickStartGroup": "Base",
		"scope": "scalr",
		"os": {
			"id": "windows-2008"
		},
		"category": {
			"id": 1
		},
		"builtinAutomation": ["base"]
	},
	"warnings": [{
		"code": "MovedPermanently",
		"message": "Location \/api\/v1beta0\/account\/1\/roles\/25052"
	}]
}

Release Date: 06/Nov/17

New Feature

  • [SCALRCORE-6067] - Openstack > Add support for host groups, scheduler hints (affinity and anti-affinity)
  • [SCALRCORE-7177] - GCE > Create instances without public IP addresses (Configuration + Policy)
  • [SCALRCORE-7366] - APIv2 > Implement Read action for Event Logs
  • [SCALRCORE-5833] - APIv2 > FarmRole support for СloudStack platform
  • [SCALRCORE-7206] - GCE > Policy to set labels

Improvement

  • [SCALRCORE-6824] - UI > Better UX for Azure settings in Farm Designer
  • [SCALRCORE-7057] - Global Resource Searching (Search for Volumes, Snapshots, etc.)
  • [SCALRCORE-7211] - APIv2 > FarmRole > Implement advanced (settings) configuration
  • [SCALRCORE-7219] - OpenStack > Better error messages
  • [SCALRCORE-7263] - APIv2 > Documentation improovement for BasicScalingRule object's inheritants
  • [SCALRCORE-7266] - APIv2 > Documentation fix CloudSnapshotForeignKey object description
  • [SCALRCORE-7322] - Allow to "hot" resize 64-bit windows machines
  • [SCALRCORE-7323] - VMware > Add ability to increase the size of existing storage disk attached to a Running Windows machines
  • [SCALRCORE-7333] - Cost Analytics > Bugfixes and improvements for Notifications page
  • [SCALRCORE-7336] - UI > Account > Environments > Add hover highlight to grids
  • [SCALRCORE-7374] - APIv2 > LDAP > Better error messages

Bug

  • [SCALRCORE-5641] - DB Backups > Database status > Increase storage size failed with error
  • [SCALRCORE-7208] - UI > GCE network tag covering last item in list
  • [SCALRCORE-6520] - Resize instance type > Infinite loading after confirm resize on cloud
  • [SCALRCORE-6835] - Script content > Missing alert '!' sign in red validation frame
  • [SCALRCORE-7082] - UI > RDS clusters grid issues
  • [SCALRCORE-7118] - RDS > Policies cloud.resource.name.prefix and validation_pattern do not work on restore from snapshot
  • [SCALRCORE-7138] - Policy unlinks when hitting save when creating a new Environment
  • [SCALRCORE-7158] - VMware > OS is trying to boot from non-root disk
  • [SCALRCORE-7274] - Incorrect data in volume section of QueryEnv.list-farm-role-params-json
  • [SCALRCORE-7289] - VMWare > Error when attaching disk to a vm
  • [SCALRCORE-7331] - APIv2 > Farm Role > Scaling is not enabled by default and should be enabled explicitly (BC change in APIv2)
  • [SCALRCORE-7342] - Cost Manager > Analytics poller > unexpected server_id in scalr-meta
  • [SCALRCORE-7352] - UI > Service catalog > Issue with cloud selector (Affected version 7.7.4)
  • [SCALRCORE-7362] - APIv1 > GCE > Wrong value for FarmRoleSetting 'gce.region'
  • [SCALRCORE-7363] - Openstack > Scalarizr receives Keystone URL with slash at the end
  • [SCALRCORE-7367] - UI > Service Catalog > Vmware network is not auto populated even when policy is defined
  • [SCALRCORE-7373] - VMWare > Improve IPs handling (private vs public)
  • [SCALRCORE-7385] - UI > Annoying scalrPaging parameter
  • [SCALRCORE-7402] - Farm Role > RS Farm Role shows Openstack networks


 Click to show BC changes

1. BC change in APIv2.

Farm role creation without explicitly specified FarmRole.scaling.enabled = true won't have auto-scaling enabled by default. If you want Scalr to launch instances automatically, you need to explicetly pass FarmRole.scaling.enabled = true to the API call or specify it in Farm Template.


Farms / Farm Roles: Create 


Before:

POST http://my.scalr.com/api/v1beta0/user/5/farms/9800014/farm-roles HTTP/1.1
Content-Type: application/json; charset=utf-8
X-Scalr-Key-Id: APIK12345
X-Scalr-Date: 2017-10-30T15:19:47Z
X-Scalr-Signature: ....
Content-Length: 185
{
	"alias": "farm-role-example",
	"cloudPlatform": "ec2",
	"cloudLocation": "us-east-1",
	"role": {
		"id": 64080
	},
	"security": {
		"securityGroups": [{
			"id": "sg-4faa5424"
		}]
	},
	"instanceType": {
		"id": "m1.small"
	}
}

HTTP/1.1 201 Created
Server: nginx/1.12.1
Date: Mon, 30 Oct 2017 15:19:49 GMT
Content-Type: application/json; utf-8
Content-Length: 957
{
	"meta": {
		"requestId": "d9c691e5-8182-4faf-a5f6-dae148057088"
	},
	"data": {
		"id": 74,
		"alias": "farm-role-example",
		"farm": {
			"id": 9800014
		},
		"role": {
			"id": 64080
		},
		"cloudPlatform": "ec2",
		"cloudLocation": "us-east-1",
		"availabilityZones": [],
		"instanceType": {
			"id": "m1.small"
		},
		"scaling": {
			"considerSuspendedServers": "running",
			"enabled": true,
			"maxInstances": 2,
			"minInstances": 1,
			"rules": [],
			"scalingBehavior": "launch-terminate"
		},
		"networking": {
			"hostname": {
				"type": "TemplateHostnameConfiguration"
			}
		},
		"security": {
			"securityGroups": [{
				"id": "sg-4faa5424"
			}, {
				"id": "sg-307ea059"
			}, {
				"id": "sg-4c19c224"
			}]
		},
		"cloudFeatures": {
			"type": "AwsCloudFeatures",
			"ebsOptimized": false
		}
	},
	"warnings": []
}

After:

POST http://my.scalr.com/api/v1beta0/user/5/farms/9800014/farm-roles HTTP/1.1
Content-Type: application/json; charset=utf-8
X-Scalr-Key-Id: APIK12345
X-Scalr-Date: 2017-10-30T15:26:18Z
X-Scalr-Signature: ....
Content-Length: 185
{
	"alias": "farm-role-example",
	"cloudPlatform": "ec2",
	"cloudLocation": "us-east-1",
	"role": {
		"id": 64080
	},
	"security": {
		"securityGroups": [{
			"id": "sg-4faa5424"
		}]
	},
	"instanceType": {
		"id": "m1.small"
	}
}

HTTP/1.1 201 Created
Server: nginx/1.12.1
Date: Mon, 30 Oct 2017 15:26:20 GMT
Content-Type: application/json; utf-8
Content-Length: 811
Connection: keep-alive
{
	"meta": {
		"requestId": "945ce4ef-34e4-4f02-b410-fe238367c7e6"
	},
	"data": {
		"id": 74,
		"alias": "farm-role-example",
		"farm": {
			"id": 9800014
		},
		"role": {
			"id": 64080
		},
		"cloudPlatform": "ec2",
		"cloudLocation": "us-east-1",
		"availabilityZones": [],
		"instanceType": {
			"id": "m1.small"
		},
		"networking": {
			"hostname": {
				"type": "TemplateHostnameConfiguration"
			}
		},
		"security": {
			"securityGroups": [{
				"id": "sg-4faa5424"
			}, {
				"id": "sg-307ea059"
			}, {
				"id": "sg-4c19c224"
			}]
		},
		"cloudFeatures": {
			"type": "AwsCloudFeatures",
			"ebsOptimized": false
		}
	},
	"warnings": []
}

 Click to show changes in system packages

memcached: 1.4.22 -> 1.4.39 

Release Date: 23/Oct/17

This release is dedicated to beautiful Demyan, son of Oleksandr and Roksolana Timoshyn. On behalf of the entire Scalr team, we wish you the very best.

New Feature

  • [SCALRCORE-7175] - UI > Add GV to control default value for NTP management
  • [SCALRCORE-6818] - Core > Allow to define custom scaling metrics on Account scope
  • [SCALRCORE-6841] - Azure > Add support for Germany Cloud
  • [SCALRCORE-5973] - Azure > Add VM Resizing
  • [SCALRCORE-5209] - AWS > Allow ELB/ALB to be linked to multiple FarmRoles inside the same Farm

Improvement

  • [SCALRCORE-6787] - UI > Major refactoring for grid actions menu
  • [SCALRCORE-6923] - UI > Azure > Managed Disks > Detailed information
  • [SCALRCORE-7084] - VMware > Policy Engine > Combine Datastores и Storage Pods policies into one (BC change)
  • [SCALRCORE-7273] - Python Services > MsgSender > Logging improvement
  • [SCALRCORE-7312] - Openstack Farm Role Configuration - Allow more than 1024 GB Storage

Bug

  • [SCALRCORE-7059] - Webhook history permission error
  • [SCALRCORE-7086] - Openstack - Create Volume Can't select volume Type
  • [SCALRCORE-7102] - UI > Incorrect field width with param LabelAlign - top
  • [SCALRCORE-7216] - Python Services > Periodic update > Logging fix
  • [SCALRCORE-7265] - UI > Grid > Plugin Add row > Invalid margin
  • [SCALRCORE-7278] - Agent > Installer > Give auto name to Scalarizr Docker network interface
  • [SCALRCORE-7301] - UI > Account users > Fix sort by lastLogin
  • [SCALRCORE-7306] - Core > Farm cloning > Prevent from cloning specific settings
  • [SCALRCORE-7310] - Server Dashboard > Scalarizr status menu doesn't work


 Click to show BC changes

1. BC change.

VMware storage policies was changed.

Before: vmware.datastores, vmware.storage_pods

After: vmware.storage.placements