Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents

typeflat
separatorpipe
 

Warning
titleSafe upgrade warning

For safety reasons, please STOP scalr on ALL nodes with scalr-server-manage stop all command before upgrading your deployment.

...

Warning
titleNew requirement for external MySQL

With 7.17.0 release, if you use an external database (not from the Scalr package), make sure that sql_mode setting is set to:

Code Block
languagesql
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
Info
titleRSS Feed

RSS Feed available here: https://goo.gl/jDqP7u

to:

Code Block
languagesql
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'



Info
titleRSS Feed

RSS Feed available here: https://goo.gl/jDqP7u

Scalr server 7.17.23

Release Date: 02/Nov/2021

Bug

  • SCALRCORE-20512 Installer > Kickstart replication doesn't work
  • SCALRCORE-20503 Installer > "binlog-bootstrap" file is not generated
  • SCALRCORE-20386 Installer > Regression in service[:enable] configuration option (starting from 7.17.0)
  • SCALRCORE-20436 Cannot install Scalarizr to Amazon Linux 2 AMI as part of the AWS Image Builder process
  • SCALRCORE-17604 Azure > Cloud poller deployment error code not present in status
  • SCALRCORE-20530 UI > Correct order of accounts during 'login' and 'change account'

Scalr server 7.17.22

Release Date: 05/Oct/2021

Improvement

  • SCALRCORE-20268 AWS > Populate existing instance types to all regions where they were added recently
  • SCALRCORE-20243 AWS > Add support of the m6i.*, vt1.*, g4ad.xlarge, g4ad.2xlarge instance types
  • SCALRCORE-20147 Installer > Make Nginx / Apache status pages configurable.

  • SCALRCORE-18528 AWS > S3 > Add bucket ownership control

...

  • SCALRCORE-20210 VMware > Replacing role for a specific farm role lead to duplicated storage definitions
  • SCALRCORE-16122 Azure > Launch server poor exception text

Scalr server 7.17.21

Release Date: 31/Aug/2021

...

  • SCALRCORE-19925 Openstack / AWS cloud poller > Clean up system.launch.error when the machine is operating well in the cloud
  • SCALRCORE-14183 Agent > Invalid polling interval for the Ansible Job
  • SCALRCORE-16851 FIX Error E_NOTICE Trying to access array offset on the value of type null

Scalr server 7.17.20

Release Date: 10/Aug/2021

...

  • SCALRCORE-19833 VMware > Storage definitions are replaced in the farms from the other locations
  • SCALRCORE-19629  Openstack > Storage/Size field is read-only on some farmRoles
  • SCALRCORE-18919 AWS > Edit RDS Instance > Unable to disable "Allow major version upgrade" on the RDS instance

Scalr 7.17.19 (server & agent)

Release Date: 08/July/2021

...

  • SCALRCORE-19581 VMWare > IP addresses are not allocated due to race conditions
  • SCALRCORE-19501 VMware > vSphere 7 the session is not authenticated issues
  • SCALRCORE-19260 VMware > Replacing Image in a Role resets storage definition in farm role
  • SCALRCORE-19505 Openstack > Scalr-stopped showing public/floating ip IP to users and some times sometimes even it removing the ipsIPs.
  • SCALRCORE-13437 UI > ERROR: t5 Uncaught TypeError: Cannot read property 'set' of undefined TypeError: Cannot read property 'set' of undefined
  • SCALRCORE-20409 Agent > Add retry logic to the package manager HTTP client

Scalr 7.17.18 (server & agent)

Release Date: 29/June/2021

...

  • SCALRCORE-19474 UI > Farm Designer > Infinite loop on orchestration settings
  • SCALRCORE-19452 UI > Farm Designer > Using 'Add to Farm' for Role always goes to a new farm
  • SCALRCORE-19461 UI > Service Catalog > Only the first 15 items are loaded
  • SCALRCORE-19395 Cost manager > AWS CUR processing crahes crashes influxdb with OOM
  • SCALRCORE-18949 UI > Orhestration Orchestration > Re-run only failed orchestration scripts instead of all
  • SCALRCORE-19499 UI > Orhestration Orchestration > New Role creation gets error if orchestration added before saving
  • SCALRCORE-19403 Global Variables > Allow "", ":" characters in the global variables' values
  • SCALRCORE-19926 Agent > Cannot create server snapshots from the servers with non-HVM roles

Scalr 7.17.17 (server)

Release Date: 22/May/2021

...

  • [SCALRCORE-19202] AWS > Images > Unable to register an image due to "Invalid image volumes configuration" (affects 7.17.16 version)

Scalr 7.17.16 (server)

Release Date: 20/May/2021

...

  • [SCALRCORE-19089] Setting private global variable via szradm 
  • [SCALRCORE-18611] AWS > EC2 > Volumes > Expose throughput settings in UI (agent >= 7.17.16 required)
  • [SCALRCORE-18362] Openstack > Use volume snapshot as Scalr image

Scalr 7.17.15 (server & agent)

Release Date: 06/Apr/2021

...

Scalr 7.17.14 (server & agent)

Release Date: 09/Mar/2021

...

  • [SCALRCORE-18284] - VMWare > Servers stuck in pending
  • [SCALRCORE-17861] - VMWare > Change Image on Role resets Root Storage Size
  • [SCALRCORE-18301] - Azure > Server resumes automatically after suspend due to transition statuses
  • [SCALRCORE-18427] - Allow all volumes/snapshot sizes supported by the cloud provider
  • [SCALRCORE-18504] - Agent > Fixed: New Azure VM failed with the attached disk

Scalr 7.17.13 (server & agent)

Release Date: 09/Feb/2021

...

Scalr 7.17.12 (server & agent)

Release Date: 12/Jan/2021

...

Scalr 7.17.11 (server & agent)

Release Date: 15/Dec/2020

...

  • [SCALRCORE-14468] - Location-specific Role vs all-location Role issues
  • [SCALRCORE-16905] - Error handler. Add request ID to logs and exception tracing
  • [SCALRCORE-17761] - AWS > Add m5zn.* instance types
  • [SCALRCORE-17801] - AWS > Add EC2 m5ad.8xlarge, m5ad.16xlarge, r5ad.8xlarge, r5ad.16xlarge, g4ad.*, (c5d, c5n, i3en, m5, r5, r5d, z1d, mac1).metal instances. Populate existing instance types to all regions where they were added recently
  • [SCALRCORE-17802] - AWS > Add c5a.*, c5ad.*, d3.*, d3en.*, p4d.*, r5b.* instance types

...

Scalr 7.17.10 (server & agent)

Release Date: 24/Nov/2020

...

Scalr 7.17.9 (server)

Release Date: 10/Nov/2020

...

  • [SCALRCORE-17331] - install_scalarizr.sh should gracefully handle yum update exit code 100
  • [SCALRCORE-17338] - Installer > scalr-server-ctl config-test doesn't work
  • [SCALRCORE-17415] - Agent > Regression in Azure Disk routines

Scalr 7.17.8 (server)

Release Date: 20/Oct/2020

...

Scalr 7.17.7 (server & agent)

Release Date: 29/Sep/2020

...

Expand
titleClick to show changes in behavior

Changes related only to GCE roles with XPN feature enabled.

Before

GCE cloud credentials supports XPN feature which allows service projects to access shared VPCs from the host one. If host project is not specified, Scalr searched for shared VPCs across all host projects (Scalr used alpha API that has been dropped recently by GCE).

After

Now user must specify host project to access shared VPCs. To fix cloud credentials users should manually specify the host projects for issued cloud credentials because now farm role management is broken.

Scalr 7.17.6 (server & agent)

Release Date: 8/Sep/2020

Improvement

...

  • [SCALRCORE-16795] - Cloud Platforms > Fire host finalization events for agentless role when retrieved 1 IP address at least
  • [SCALRCORE-16814] - OTC or other OpenStack based platform > Wrong server status after suspend
  • [SCALRCORE-16856] - Core > SQL debug broken (since 7.17.3)
  • [SCALRCORE-16861] - Core > Upgrade fails > Error. Stage 1 of update Update20180413133804 failed error on some upgrades
  • [SCALRCORE-16314] - Agent > AWS > Instance Store lookup on the nitro-based ubuntu instances is broken

Scalr 7.17.5 (server & agent)

Release Date: 25/Aug/2020

...

  • [SCALRCORE-16496] - UI > Policy Group > Several first letters stripped for subdirectory on Azure
  • [SCALRCORE-16664] - UI > AWS NLB > Enable stickiness Attribute changes for NLB's Target groups
  • [SCALRCORE-16601] - Agent > AttributeError: module 'agent.tasks.storage.utils' has no attribute 'ec2_get_persistent_device_path'

Scalr 7.17.4 (server & agent)

Release Date: 11/Aug/2020

...

  • [SCALRCORE-10894] - API > ListScript > ScriptAdapter should return linux type if os type is empty in database
  • [SCALRCORE-15093] - UI > Integrate ExtJS 7.0 > GET 404 ui/theme/images/form/field-loading-invalid.gif?1.0
  • [SCALRCORE-16474] - Core > Scalr upgrade should respect MySQL setting lower_case_table_names = 1
  • [SCALRCORE-16488] - Core > REPLACE scalr_hosts > Error: 1406: Data too long for column 'version' at row 1
  • [SCALRCORE-16531] - Agent > Unable to mount existing EBS mount in Windows machine


Scalr 7.17.3 (server & agent)

Release Date: 21/Jul/2020

...

  • [SCALRCORE-15949] - UI >  Searchfield doesn't hide form with filters
  • [SCALRCORE-16079] - UI >  Account > Users > Uncaught TypeError: Cannot set property 'ownerLayout' of undefined
  • [SCALRCORE-16434] - UI >  Farm team field is blank, and attempts to add teams disappear
  • [SCALRCORE-16226] - Python Services > multi-server build missing scalr_rabitmq user on non-worker instances
  • [SCALRCORE-16337] - MsgSender > RabbitMQ Tunnel does not work for "all environment" option
  • [SCALRCORE-16358] - UI > Openstack > Server resize option is unavailable when the server is suspended in cloud console.
  • [SCALRCORE-16454] - Agent > Ansible job doesn't fail job if Managed host name is required

Scalr 7.17.2 (server & agent)

Release Date: 07/Jul/2020

...

Scalr 7.17.1 (server & agent)

Release Date: 23/Jun/2020

...

  • [SCALRCORE-16131] - Core > Azure instance fails to deploy > Server name regex incompatible with php7.4 (since 7.17.0)
  • [SCALRCORE-16163] - SAML > Azure AD > Unable to login with SAML > Fatal error: Allowed memory size of N bytes exhausted
  • [SCALRCORE-15654] - Core > Teams ownership query issue (perf)
  • [SCALRCORE-16049] - Launch Azure > Error E_NOTICE Trying to access array offset on value of type null, in Scalr/Modules/Platforms/Azure/AzurePlatformModule
  • [SCALRCORE-16120] - UI > Tabs redirect to another environment
  • [SCALRCORE-16092] - UI > ExtJS 7 > Fix combobox autosetSingleValue
  • [SCALRCORE-16181] - UI > build:production > Disable z-index recalculation
  • [SCALRCORE-16157] - Core > Openstack > Launch agentless sever > Error: 1406: Data too long for column 'image_hash' at row 1

Scalr 7.17.0 (server & agent)

Release Date: 09/Jun/2020

...

Expand
titleClick to show changes in system packages

New software:
libonig 6.9.4

Updated software:
curl 7.65.3 → 7.69.0
docker 18.09.5 → 19.03.7
erlang 20.3 → 22.1
git 2.21.0 → 2.25.1
apache httpd 2.4.39 → 2.4.41
libldap 2.4.47 → 2.4.50
mysql 5.7.26 → 2.7.29
nginx 1.17.3 → 1.17.9
openssl 1.1.1c → 1.1.1g
php 7.2.21 → 7.4.6
putty 0.69 → 0.73
python3 3.6.7 → 3.6.10
rabbitmq 3.7.7 → 3.8.2
ruby 2.4.5 → 2.6.6
supervisor 4.0.4 → 4.1.0

Removed software:
libgcrypt
libgmp
libgpg
libidn
libmnl
memcached
python2

Scalr 7.16.14 (server)

Release Date: 28/May/2020

...

  • [SCALRCORE-10801] - Azure > Servers > Implement Reboot functionality
  • [SCALRCORE-15878] - LDAP > Better error logging > Diagnostic message on can't contact LDAP server

Scalr 7.16.13 (server)

Release Date: 15/May/2020

...

  • [SCALRCORE-11114] - Openstack > Farm Role network assignment problem
  • [SCALRCORE-14907] - AWS S3 > GovCloud > AWS Error. Request GetBucketSubresource failed. The AWS Access Key Id you provided does not exist in our records.
  • [SCALRCORE-15626] - Cost Analytics > AWS > Missing data (large S3 billing bucket and slow proxy)
  • [SCALRCORE-15740] - Regression in volume mapping on Linux (since 7.16.12) requires agent >= 7.16.8
  • [SCALRCORE-15795] - Azure > Unable to register marketplace image of specific version
  • [SCALRCORE-15670] - VMware > Issue with agent communication when selected multiple networks

Scalr 7.16.12 (server & agent)

Release Date: 27/Apr/2020

...

  • [SCALRCORE-15634] - UI > GCE > Cloud SQL > Support for PostgreSQL 10-12
  • [SCALRCORE-15649] - Agent > Drive Mapping Incorrect - Changes after Reboot (Requires >= 7.16.7 version of Scalr Agent)

Scalr 7.16.11 (server)

Release Date: 21/Apr/2020

Warning
titleCloud Service Gateway Deprecation

The cloud service gateway has been deprecated. Prior to upgrading, please ensure that you disable the CSG service in the scalr-server.rb and/or the scalr-server-local.rb file. 

For enhanced cloud service functionality, please see the Scalr Infrastructure as Code Platform here: https://iacp.docs.scalr.com

...

  • [SCALRCORE-14922] - Core > Python services disregard character_set_client when database server charset is non utf8 > Error_message: Illegal character '?'
  • [SCALRCORE-15302] - Core > Cannot remove image that is not being used in any server
  • [SCALRCORE-15444] - AWS > RDS Parameter Groups Not Available in Scalr dropdown
  • [SCALRCORE-15456] - Core > SAML > Azure AD > Error when SAML group name is more than 255 characters
  • [SCALRCORE-14138] - Core > VMWare > TerminationData isn't logged in history (since 7.10.0)

Scalr 7.16.10 (server)

Release Date: 31/Mar/2020

...

  • [SCALRCORE-15156] - UI > Servers searchfield > Invalid missing record highlighting
  • [SCALRCORE-15041] - UI > VMware > External IP Pools Usage logging improvement
  • [SCALRCORE-15213] - UI > Show list of cloud resources from DB (AWS RDS Snapshots not visible for SQL Server Edition)

Scalr 7.16.9 (server & agent)

Release Date: 17/Mar/2020

...

  • [SCALRCORE-14907] - AWS S3 > Acceleration API is not accessible in GOV cloud
  • [SCALRCORE-15096] - UI > Service catalog > Incorrect application status
  • [SCALRCORE-15139] - UI > Service Catalog > Vmware custom spec error
  • [SCALRCORE-15034] - AWS > EC2 i3en, x1e, m5ad, r5ad Instances should be populated to all regions where they were added recently
  • [SCALRCORE-14924] - Core > Error mb_strpos(): Empty delimiter
  • [SCALRCORE-15723] - Agent > The scalr-upd-client service was unexpectedly stopped due to GeneralizationState

Scalr 7.16.8 (server & agent)

Release Date: 18/Feb/2020

...

  • [SCALRCORE-14645] - VMware > Scalr interrupts guest OS customization during provisioning
  • [SCALRCORE-14816] - Farm Builder > VMware > No hosts meet hardware version
  • [SCALRCORE-15740] - Agent > Regression in volume mapping on Linux (affected versions: scalr 7.16.12, agent 7.16.7) requires agent >= 7.16.8

  • [SCALRCORE-14964] - Agent > Optimize post-install Get-Service instructions for low resources VM

Scalr 7.16.7 (server & agent)

Release Date: 04/Feb/2020

...

Scalr 7.16.6 (server)

Release Date: 21/Jan/2020

...

  • [SCALRCORE-13498] - UI > Azure SQL Server > Can't delete Server SrvName: Resource "Array" is linked to a farm and cannot be removed
  • [SCALRCORE-14301] - UI > Farm > Security groups > ID and description are not displayed
  • [SCALRCORE-14436] - CloudStack > Worker undefined index
  • [SCALRCORE-14471] - Cost Analytics > Azure Billing interval is wrong when the current month is January
  • [SCALRCORE-14497] - UI > SAML > Welcome page confuses with Email field name while displaying Username

Scalr 7.16.5 (server & agent)

Release Date: 08/Jan/2020

...

  • [SCALRCORE-10198] - OpenStack > Fixed IP address is already in use on instance
  • [SCALRCORE-14195] - VMware > All resources are returned when described related list is empty
  • [SCALRCORE-14297] - UI > Error on target group page when it's deleted in AWS
  • [SCALRCORE-14465] - UI > Missing GV values in post payload after replacing Role on a FarmRole
  • [SCALRCORE-14390] - UI > SAML > Cannot parse groups with newline character
  • [SCALRCORE-14328] - TF > Offering > Add custom icon size validation
  • [SCALRCORE-14411] - Unsuccessful basic authorization to Azure devops repo
  • [SCALRCORE-14423] - API > Internal Server Error when name is longer than 255 characters
  • [SCALRCORE-14329] - Agent > Patch libcloud with correct URLs for Azure GovCloud

Scalr 7.16.4 (server & agent)

Release Date: 10/Dec/2019

...

  • [SCALRCORE-14120] - Cleanup hosts on AT Server for long-running jobs
  • [SCALRCORE-14152] - Core > CloudResourcePoller > Not found attempts out of range (MySQL 5.7)
  • [SCALRCORE-14220] - AWS > RDS > Oracle EE | SE 2 > Invalid major version for versions 18 and higher
  • [SCALRCORE-14223] - UI > AWS > Listing EBS Snapshots times out
  • [SCALRCORE-14298] - UI > SAML Login > Unclear error when user is without access to any account
  • [SCALRCORE-13988] - Agent > Azure > AZ issue with storage

Scalr 7.16.3 (server & agent)

Release Date: 26/Nov/2019

...

  • [SCALRCORE-13988] - Azure > AZ issue with storage
  • [SCALRCORE-13941] - Cost > AWS cost pipeline is broken (since 7.16.0)
  • [SCALRCORE-13942] - Cost > Markups break cost pipeline
  • [SCALRCORE-13914] - UI > Environment > Access > Grant Access > Add Team issue (since 7.16.0)
  • [SCALRCORE-13969] - UI > Image creation for non-scalr server not working (since 7.16.0)
  • [SCALRCORE-13968] - UI > Add / Modify Security Rule - Limited Number of Groups Available in Drop Down List
  • [SCALRCORE-11062] - UI > Server Dashboard > Attached Block Storage > Scroll bar always jump up after several seconds
  • [SCALRCORE-13832] - UI > Multi-account login issues
  • [SCALRCORE-13542] - GCE > Show error if quota is exceeded
  • [SCALRCORE-13868] - OpenStack > Increase maximum size of attached volume
  • [SCALRCORE-13907] - OpenStack vs VMware > Race condition while generating instance name
  • [SCALRCORE-14007] - API > Server Incorrect launchedBy.email property value
  • [SCALRCORE-14036] - AWS > EC2 z1d.*, c5(d).*, m5(a)(d).*, r5(a)(d).*, g4dn.*, f1.*, t3a.*, x1e.* Instances should be populated to all regions where they were added recently
  • [SCALRCORE-14104] - UI > Server Dashboard > Fatal error: Uncaught Error: Call to a member function getResourceName() on null (Azure)
  • [SCALRCORE-14028] - Typo on New VPC Screen
  • [SCALRCORE-13915] - Agent > SLES 15 - Cannot retrieve repo metadata

Scalr 7.16.2 (server)

Release Date: 30/Oct/2019

...

Expand
titleClick to show BC changes

1. BC change in API

Before: Azure availabilitySet was in FarmRole.availabilityZone property
After: Azure AvailabilitySet will be in FarmRole.cloudFeatures.availabilitySet property


Scalr 7.16.1 (server & agent)

Release Date: 17/Oct/2019

...

  • [SCALRCORE-6829] - AWS > EFS > Add mount target > new subnet not selected
  • [SCALRCORE-12754] - Farm Designer > Orchestration rule > Error icon is missing in Script variables field
  • [SCALRCORE-13038] - UI > EC2 > GetServerConsoleOutput
  • [SCALRCORE-13743] - UI > Expand button style issue
  • [SCALRCORE-13168] - New Environment is not shown in Account Dashboard after it's been created
  • [SCALRCORE-13709] - Azure > UI > Availability zone feature not consistent with all cloudlocations
  • [SCALRCORE-13739] - Azure > Network Service v2019-07-01 is not available in GOV cloud
  • [SCALRCORE-13772] - GV > PHP Fatal Error occurs if 'null' is set as GV value
  • [SCALRCORE-13802] - Core > SAML Azure AD Integration > Pagination broken (since 7.16.0)
  • [SCALRCORE-13707] - Agent > Azure > Launch failed > Try Waiting StorageVolume state change to "attached" Failed!: got error: 'diskState'

Scalr 7.16.0 (server & agent)

Release Date: 01/Oct/2019

...

Expand
titleClick to show BC changes

1. BC Change in API related to Global Variables (GV)

  • A new type field that matches the type of a variable was added. GlobalVariableString|GlobalVariableJson|GlobalVariableList|GlobalVariableRemoteList
    BEFORE: 
    • GlobalVariableString
       POST /api/v1beta0/user/5/global-variables HTTP/1.1
      {
      	"name": "exampleStringGlobalVariable",
      	"value": "value"
      }
      ...
      {
      	"meta": {
      		"requestId": "6ca0f418-7b09-4c69-8810-bf4c087d70b3"
      	},
      	"data": {
      		"declaredIn": "environment",
      		"definedIn": "environment",
      		"name": "exampleStringGlobalVariable",
      		"value": "value",
      		"computedValue": "value"
      	},
      	"warnings": []
      }
      
    • GlobalVariableJson
      POST /api/v1beta0/user/5/global-variables HTTP/1.1
      {
      	"name": "exampleJsonGlobalVariable",
      	"value": "{\"example\":\"exampleJsonValue\"}"
      }
      ...
      {
      	"meta": {
      		"requestId": "ec395750-fa29-4e3e-942f-a42bd6b98ff6"
      	},
      	"data": {
      		"declaredIn": "environment",
      		"definedIn": "environment",
      		"name": "exampleJsonGlobalVariable",
      		"value": "{\"example\":\"exampleJsonValue\"}",
      		"outputFormat": "json",
      		"computedValue": "{\"example\":\"exampleJsonValue\"}"
      	},
      	"warnings": []
      }
      
    • GlobalVariableList
      POST /api/v1beta0/user/5/global-variables HTTP/1.1
      {
      	"name": "exampleListGlobalVariable",
      	"value": "test1",
      	"validationPattern": "\/^(test1|test2|test3|test4)$\/"
      }
      ...
       {
       	"meta": {
       		"requestId": "193f0459-f81f-4fea-ac15-459c65872860"
       	},
       	"data": {
       		"declaredIn": "environment",
       		"definedIn": "environment",
       		"name": "exampleListGlobalVariable",
       		"value": "test1",
       		"validationPattern": "\/^(test1|test2|test3|test4)$\/",
       		"computedValue": "test1"
       	},
       	"warnings": []
       }

      AFTER:

    • GlobalVariableString
       POST /api/v1beta0/user/5/global-variables HTTP/1.1
       {
       	"name": "exampleStringGlobalVariable",
       	"type": "GlobalVariableString",
       	"value": "value"
       }
      ...
      {
      	"meta": {
      		"requestId": "ef6beeff-2b4f-4eff-9273-dd766eb2570c"
      	},
      	"data": {
      		"name": "exampleStringGlobalVariable",
      		"type": "GlobalVariableString",
      		"hidden": false,
      		"locked": false,
      		"declaredIn": "environment",
      		"definedIn": "environment",
      		"value": "value",
      		"computedValue": "value"
      	},
      	"warnings": []
      }
      
    • GlobalVariableJson
      POST /api/v1beta0/user/5/global-variables HTTP/1.1
      {
      	"name": "exampleJsonGlobalVariable",
      	"type": "GlobalVariableJson",
      	"value": "{\"example\":\"exampleJsonValue\"}"
      }
      ...
      {
       	"meta": {
       		"requestId": "099d5036-9e7b-4ea2-8987-00a025386ba3"
       	},
       	"data": {
       		"name": "exampleJsonGlobalVariable",
       		"type": "GlobalVariableJson",
       		"hidden": false,
       		"locked": false,
       		"declaredIn": "environment",
       		"definedIn": "environment",
       		"value": "{\"example\":\"exampleJsonValue\"}",
       		"computedValue": "{\"example\":\"exampleJsonValue\"}"
       	},
       	"warnings": []
       }
      
    • GlobalVariableList
      POST /api/v1beta0/user/5/global-variables HTTP/1.1
      {
      	"name": "exampleListGlobalVariable",
      	"type": "GlobalVariableList",
      	"value": "test1",
      	"allowedValues": [{
      		"value": "test1"
      	}, {
      		"value": "test2"
      	}, {
      		"value": "test3"
      	}, {
      		"value": "test4"
      	}]
      }
      ...
      {
      	"meta": {
      		"requestId": "302ddc48-15c9-4715-af31-6693aae67467"
      	},
      	"data": {
      		"name": "exampleListGlobalVariable",
      		"type": "GlobalVariableList",
      		"hidden": false,
      		"locked": false,
      		"declaredIn": "environment",
      		"definedIn": "environment",
      		"value": "test1",
      		"computedValue": "test1",
      		"allowedValues": [{
      			"value": "test1"
      		}, {
      			"value": "test2"
      		}, {
      			"value": "test3"
      		}, {
      			"value": "test4"
      		}]
      	},
      	"warnings": []
      }
      
  • Fields hidden and locked are always included in the response. Before and after examples can be seen in the responses above.
  • The property computedCategory was deleted. Category of Global Variable will be always shown in the category field
  • The computedValue field won’t be included in the response if the GlobalVariable is declared on the higher scopes and the flag hidden is set to ‘true’
    BEFORE:
     GET /api/v1beta0/user/5/global-variables/exampleHidden
    {
    	"meta": {
    		"requestId": "9277ce50-7573-4e10-87e8-f09a40e6c3de"
    	},
    	"data": {
    		"declaredIn": "account",
    		"definedIn": "account",
    		"hidden": true,
    		"name": "exampleHidden",
    		"computedValue": "******",
    		"computedCategory": "testcategory"
    	},
    	"warnings": []
    }
    

    AFTER:

    GET /api/v1beta0/user/5/global-variables/exampleHidden
    {
    	"meta": {
    		"requestId": "a51922f5-f20d-4da1-abc1-2061461379ce"
    	},
    	"data": {
    		"name": "exampleHidden",
    		"type": "GlobalVariableString",
    		"category": "testcategory",
    		"hidden": true,
    		"locked": false,
    		"declaredIn": "account",
    		"definedIn": "account"
    	},
    	"warnings": []
    }
    
  • The Scalr API supports an inverted request compatibility according to the request specification before release 7.13, but the request object will be converted according to the current specification. Please, see the table of conversion below.


    request before 7.13converted request
    {
    	"name": "GlobalVariableString",
    	"value": "test"
    }
    
    {
    	"name": "GlobalVariableString",
            "type": "GlobalVariableString",
    	"value": "test"
    }
    
    {
    	"name": "GlobalVariableRegExp",
    	"value": "test_pattern",
    	"validationPattern": "/test_pattern/"
    }
    {
    	"name": "GlobalVariableRegExp",
    	"value": "test_pattern",
            "type": "GlobalVariableString",
    	"validationPattern": "/test_pattern/"
    }
    {
    	"name": "GlobalVariableJson",
    	"value": "{\"test\":\"value\"}",
    	"outputFormat": "json"
    }
    {
    	"name": "GlobalVariableJson",
    	"value": "{\"test\":\"value\"}",
    	"type": "GlobalVariableJson",
    }
    {
    	"name": "GlobalVariableList",
    	"value": "test1",
    	"validationPattern": "/(test1|test2|test3|test4)\\$/"
    }
    {
    	"name": "GlobalVariableList",
    	"value": "test1",
    	"allowedValues": [{
    			"value": "test1"
    		},
    		{
    			"value": "test2"
    		},
    		{
    			"value": "test3"
    		},
    		{
    			"value": "test4"
    		}
    	]
    }



Expand
titleClick to show changes in system packages

Software upgrades:

  • OpenSSL 1.0.2p → 1.0.2q
  • CURL 7.61.1 → 7.62.0
  • nginx 1.15.5 → 1.15.7
  • Apache 2.4.35 → 2.4.37
  • MySQL 5.6.40 → 5.7.24
  • PHP 7.1.22 → 7.2.12
  • Python3 3.5.5 → 3.6.7

...

Expand
titleClick to show BC changes

1. BC Change in API

Before: 
You're allowed to set mounting options for shared disks.
Example:

{
	"type": "PersistentStorageConfiguration",
	"template": {
		"cloudFeatures": {
			"type": "VmwareStorageTemplateCloudFeatures",
			"isSharedDisk": true
		},
		"size": 20,
		"type": "provisioning-thick-eager"
	},
	"mounting": {
		"enabled": true,
		"fileSystem": "ext3",
		"mountPoint": "\\D"
	},
	"reUse": 1,
	"fromTemplateIfMissing": 0
}

After: 
Previous request will cause error, as you're not allowed to set mounting options for shared disks.

"code": "ConfigurationMismatch"
"responseCode": 422

This request should be used:
Example:

{
	"type": "PersistentStorageConfiguration",
	"template": {
		"cloudFeatures": {
			"type": "VmwareStorageTemplateCloudFeatures",
			"isSharedDisk": true
		},
		"size": 20,
		"type": "provisioning-thick-eager"
	},
	"reUse": 1,
	"fromTemplateIfMissing": 0
}

Note: Disk sharing available only for "type":"provisioning-thick-eager"

2. BC Change in GV

Before: Previously server_type Global Variable has been an identifier of the Instance Type
After: Now server_type Global Variable is the Name of the Instance Type

...

Expand
titleClick to show BC changes

1. BC Change in APIv2

Before:
UI > Openstack FarmRole > NETWORK SETTINGS - users were able to set any active network 
API > Openstak FarmRole > The field networking.networks.* accepted any active network
After:
UI > Openstack FarmRole > NETWORK SETTINGS - only networks that flagged with router:external = false are accepted
API > Openstak FarmRole > The field networking.networks.* accepts only identifiers of the networks that have router:external = false.


Expand
titleClick to show changes in system packages

php: 7.1.14 -> 7.1.18
nginx: 1.13.9 -> 1.13.12
openssl: 1.0.2n -> 1.0.2o
apache: 2.4.29 -> 2.4.33
influxdb: 1.4.3 -> 1.5.3

...

Warning

IMPORTANT: 

New Feature

  • [SCALRCORE-5977] - Feature preview: Kubernetes (GKE and self-managed clusters) integration
  • [SCALRCORE-7282] - Feature preview: Cost Manager > Visibility over entire cloud bill
  • [SCALRCORE-7104] - Beta: Ansible Tower integration: Support for multiple inventories and playbooks execution on orchestration events 
  • [SCALRCORE-4482] - AWS > Interface to manage VPCs and Subnets
  • [SCALRCORE-7788] - AWS > Add support for Elastic IPs tags and Scalr ownership model
  • [SCALRCORE-7869] - AWS > Allow to manage tags for Cloud Services
  • [SCALRCORE-8310] - AWS > Storage > Support for additional storage configured on the AMI
  • [SCALRCORE-7416] - UI > New Farm Role Dashboard
  • [SCALRCORE-7108] - VMware > IP Pools > Create multiple IP ranges
  • [SCALRCORE-8003] - VMware > Attach additional storage to running servers
  • [SCALRCORE-8265] - VMware > Support for vMotion
  • [SCALRCORE-8177] - Core > Allow to move imported (and agentless) servers between Farms and Farm Roles within the same Environment
  • [SCALRCORE-6361] - Core > Server alerts: Unified view for different alerts (servers retirement, status checks, agent connectivity status, etc.)
  • [SCALRCORE-8345] - Core > Allow BeforeHostTerminate scripts to finish before making terminate API call
  • [SCALRCORE-8316] - Policy Engine > VMWare > Disk Provisioning Type policy

...

Expand
titleClick 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": []
    }

7.7.11

Release Date: 06/Feb/18

...

Expand
titleClick to show BC changes

1. BC Change in APIv2

Before: A field FarmRole.networking.networks was optional for CREATE / UPDATE Farm Roles or Farm Templates.

After: A field FarmRole.networking.networks is mandatory for the Openstack platform for CREATE / UPDATE Farm Roles or Farm Templates.


2. BC Change in APIv2

 Role Object.  Role.deprecated has been replaced with inherited object with the information about deprecation. The field Role.deprecated became read only.


Before:

     {
	    "deprecated": true
     }
    

After:

    {
	    "deprecated": {
		  "deprecated": "2017-12-07T09:52:37Z",
		  "replacement": {
			"id": 41402
		  }
	    }      
    }
   

It is impossible to deprecate a Role through the PATCH /api/v1beta0/user/envId/roles/roleId/ action.

A new POST /api/v1beta0/user/envId/roles/roleId/actions/deprecate action must be used instead.

Before:

PATCH http://SCALR/api/v1beta0/user/5/roles/38775/ HTTP/1.1
Content-Type: application/json; charset=utf-8
X-Scalr-Key-Id: APIK4IZNYS0UXAJDIENJ
X-Scalr-Date: 2017-12-07T10:12:13Z
X-Scalr-Signature: ....
Content-Length: 19
{"deprecated":true}

HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Thu, 07 Dec 2017 10:12:13 GMT
Content-Type: application/json; utf-8
Content-Length: 428
{
	"meta": {
		"requestId": "86ebe675-655b-4686-a977-6e080c458fb9"
	},
	"data": {
		"id": 38775,
		"name": "base-centos6-devel",
		"description": "Development role",
		"quickStart": false,
		"deprecated": true,
		"useScalrAgent": true,
		"scope": "environment",
		"os": {
			"id": "centos-6-x"
		},
		"category": {
			"id": 9
		},
		"builtinAutomation": ["base", "chef"]
	},
	"warnings": []
}

After:

POST http://SCALR/api/v1beta0/user/5/roles/38775/actions/deprecate HTTP/1.1
Content-Type: application/json; charset=utf-8
X-Scalr-Key-Id: APIK12345
X-Scalr-Date: 2017-12-07T10:04:12Z
X-Scalr-Signature: .....
Content-Length: 40
{
	"deprecate": true,
	"replacement": {
		"id": 41402
	}
}

HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Thu, 07 Dec 2017 10:04:13 GMT
Content-Type: application/json; utf-8
Content-Length: 530
Connection: keep-alive
{
	"meta": {
		"requestId": "c5ca9c46-c7c7-415f-bbe6-b9e9699ef208",
	},
	"data": {
		"id": 38775,
		"name": "base-centos6-devel",
		"description": "Development role",
		"quickStart": false,
		"deprecated": {
			"deprecated": "2017-12-07T10:04:13Z",
			"replacement": {
				"id": 41402
			}
		},
		"useScalrAgent": true,
		"scope": "environment",
		"os": {
			"id": "centos-6-x"
		},
		"category": {
			"id": 9
		},
		"builtinAutomation": ["base", "chef"]
	},
	"warnings": []
}

Endpoint GET /api/v1beta0/user/envId/roles/ (all scopes) does not support a filter by a deprecated field (?deprecated=true|false)

...

Expand
titleClick 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


Expand
titleClick 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"
	}]
}

7.7.5

Release Date: 06/Nov/17

...

Expand
titleClick 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": []
}


Expand
titleClick to show changes in system packages

memcached: 1.4.22 -> 1.4.39 


7.7.4

Release Date: 23/Oct/17

Info

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

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

...

Expand
titleClick to show BC changes

1. BC change in behavior.

Suspending servers.

Openstack & VMWare:
Before:

  • API : Action `suspend` suspends the Virtual machine.
  • UI : Action `suspend` allows to select a method `power off`

After:

  • API : Action `suspend` powers off the Virtual machine by default.
  • UI : Action `suspend` powers off the virtual machine by default (method selection is not available)


2. BC change in Audit Log

Changes in user.auth.login event:

Before

"user.auth.login.teams": {10: "foo", 12: "bar"}

After

"user.auth.login.teams": [{"id": 10, "name": "foo"}, {"id": 12, "name": "bar"}]

7.7.2

Release Date: 20/Sep/17

Info

This release is dedicated to beautiful Polina, daughter of Andrey and Yuliya Penchuk. On behalf of the entire Scalr team, we wish you the very best.

New Feature

  • [SCALRCORE-6263] - GCE > Add support for meta-tags using labels API
  • [SCALRCORE-6500] - Service catalog & Farm Templates > Phase 3 (Categories, Grid view, more controls over ACL, improved UX)
  • [SCALRCORE-6745] - AWS > Allow us to choose "back-up" instance types to avoid capacity issues during scaling
  • [SCALRCORE-6802] - AWS > Allow to discover & import VMs when AMI no longer exists
  • [SCALRCORE-6610] - Ansible Tower - Windows VMs Support
  • [SCALRCORE-6131] - Policy Engine > New policies: cloud.storage.maximum_size & cloud.storage.volume_types

...

Expand
titleClick to show information about changes in Python / PHP / System libraries

Python

updated requests to 2.17.3
updated urllib3 to 1.21.1
removed google-api-python-client 
removed oauth2client

PHP

updated pecl_http to 2.6.0

System

updated curl to 7.54.1


Expand
titleClick to show BC changes

1. BC change in APIv2.

ScalingConfiguration object
Added default value to ScalingConfiguration.minInstances field equals 1
Added default value to ScalingConfiguration.maxInstances field equals 2
Endpoint /:envId/farm-roles/:farmRoleId/scaling/* Now it will validate an object stucture. 

Before

Code Block
PATCH http://6fb20e698068.test-env.scalr.com/api/v1beta0/user/5/farm-roles/68/scaling HTTP/1.1 
Content-Type: application/json; charset=utf-8 
X-Scalr-Key-Id: APIK12345 
X-Scalr-Date: 2017-06-14T13:57:35Z 
X-Scalr-Signature: .... 
Content-Length: 20 
{"fakeField":"test"}

HTTP/1.1 200 OK 
Server: nginx/1.12.0 
Date: Wed, 14 Jun 2017 13:59:22 GMT 
Content-Type: application/json; utf-8 
Content-Length: 218 
{
	"meta": {
		"requestId": "af683f73-c2f1-467c-a2e5-572777ebbf94"
	},
	"data": {
		"enabled": true,
		"minInstances": 1,
		"maxInstances": 1,
		"scalingBehavior": "launch-terminate",
		"considerSuspendedServers": "running",
		"rules": []
	},
	"warnings": []
}


After

Code Block
PATCH http://54022340b9f7.test-env.scalr.com/api/v1beta0/user/5/farm-roles/68/scaling HTTP/1.1 
Content-Type: application/json; charset=utf-8 
X-Scalr-Key-Id: APIK12345 
X-Scalr-Date: 2017-06-14T13:59:14Z 
X-Scalr-Signature: provided
Content-Length: 20 
{"fakeField":"test"}

HTTP/1.1 400 Bad Request 
Server: nginx/1.12.0 
Date: Wed, 14 Jun 2017 14:01:01 GMT 
Content-Type: application/json; utf-8 
Content-Length: 177 

{
	"meta": {
		"requestId": "8ef9cced-8621-4296-a628-0ae270d30fe8"
	},
	"errors": [
		{
			"code": "InvalidStructure",
			"message": "You are trying to set property 'fakeField' which does not exist."
		}
	]
}


Error code has been changed when ScalingConfiguration.minInstances more than ScalingConfiguration.maxInstances

Before: UnacceptableObjectConfiguration

After: ConfigurationMismatch


If Farm Role's Scaling has enabled: false, then Scaling subset will not be presented as the part of the response and you cannot modify it.

Code Block
HTTP/1.1 422
"errors":[{"code":"ConfigurationMismatch","message":"Can not modify disabled scaling configuration. Expected 'scaling.enabled' property value."}]


To change any Scaling related property it should be enabled  (scaling.enabled must be true)

2. BC change in APIv2
AzureCloudCredentials object: property : tenantName renamed to tenantId
Before:

{
  "cloudCredentialsType": "AzureCloudCredentials", 
  "description": "string", 
  "id": "string", 
  "name": "string", 
  "provider": "string", 
  "scope": "scalr", 
  "status": "disabled", 
  "subscription": "string", 
  "tenantName": "string"
}

After:

{
  "cloudCredentialsType": "AzureCloudCredentials", 
  "description": "string", 
  "id": "string", 
  "name": "string", 
  "provider": "string", 
  "scope": "scalr", 
  "status": "disabled", 
  "subscription": "string", 
  "tenantId": "string"
}


3. BC change in System Global Variables

SCALR_IS_SUSPEND on HostDown event was NULL in case if server was terminated. Starting from Scalr 7.7.2 it will be "0" if server was terminated and "1" if it was suspended. 

7.7.1

Release Date: 11/Aug/17

...