All notable changes to this project will be documented in this file. The format is based on Keep a Changelog. This project adheres to Semantic Versioning.
- Installationcheck dashboard now available under Operations > Service Status.
6.23.4 2018-05-18
- Cannot configure consul servers of Environment Type to use DNS instead of IPs
6.23.3 2018-05-17
- Cannot configure an Environment Type with no load balancers
6.23.2 2018-05-16
- Bug validation on deployment map screen (owning team/email/instance type)
6.23.1 20188-05-15
- Bug preventing users creating new services
6.23.0 2018-05-09
-
Updates to services where the port number has changed from the existing port value, is no longer permitted.
-
502 bad gateway errors are made more friendly by informing the user what Environment Manager was unable to communicate with. This has (up until now) always been a response from an NGINX server.
-
Getter (read only) on the instance resource type removed. EMEC2Monitor now provides account name on the instance, as well as the tags.
-
Uncaught exception appearing in the console is now correctly handled.
-
Deployment logs that aren't available, aren't given to the users as a link. This prevents the 500/404 errors that were being received when users clicked the log link when it wasn't there.
-
Issue whereby if a deployment map is created and a puppet role is not specified, then IPTables firewall rules are not updated between the NGINX load balancer and the AWS EC2 instance. The result is all health checks passing but not traffic get's routed to the upstream. This can be a little confusing for people creating deployment maps for the first time using Linux instances.
-
Previously, when your session would expire, if you tried to perform an action, you would receive an error dialogue and be left in a state where you could do nothing without navigating back to the login page. Now, when this happens, you will be alerted to the session expiraton and taken directly to the login page.
6.22.2 2018-04-27
-
The configuration page for services no longer allows users to delete a service.
-
The API no longer supports deleting a service. The delete end points for services will return a 405 http status code.
-
Maintenance mode previously used a combination of dynamo and standby settings on the instance. This is not required anymore. Instances will be put in maintenance mode through the use of a direct change to the
block-check
which Environment Manager uses to put a machine out of service, along with a reason why. -
Deployments were throwing errors when requesting a date greater than 2 days old. This has been changed to log a warning and return a result back to the user.
- Updated indirect dependency on hoek module to remove Prototype Pollution security vulnerability.
6.22.1 2018-04-17
- Maintenance Mode feature
6.22.0 2018-04-16
- Previously, the ASG modal screen would display what it had sent to AWS, which would not be what Environment Manager actually understood the state of AWS to be. This has caused confusion before and so we're no longer showing anything other than what we know the state of the system to be. Notifications in the UI have been changed to reflect what is now happening on this screen.
6.21.4 2018-04-05
- Increased loading speed of ASG dialog
- Deprecated M3 and C3 instance types re-appearing in the UI
- Increased the number of retries for AWS calls to reduce the number of transient errors (e.g. rate limiting)
6.21.3 2018-03-28
- Internal fixes only
6.21.2 2018-03-28
- Internal fixes only
6.21.1 2018-03-12
-
The "Nodes Deployed" value on the details of a deployment now show you the
total deployed / total nodes
. Total nodes was previously incorrect, it would show you a value that ended up with odd results like10/1
for Nodes Deployed. This was confusing because it was nonsense. If 10 instances have completed, you will now see10/10
for all the nodes. -
Switched to at-most-once delivery of Deployment Completed notifications by ensuring only one deployment monitor is running at any given time. This also reduces the load on the AWS APIs.
- You can not terminate an instance directly and not have to scale up then down. If you want a new instance to remove one with missing services, or any other reason, you can. The ASG screen contains a
terminate
button that is available to all instances that areIn Service
andRunning
. When you terminate an instance, your ASG will delete that instance and replace it with another to meet the desired count of that ASG. Please note that to change the count of machines in your ASG, you will need to change the desired count. You cannot reduce the number of machines in your ASG by terminating instances one by one.
6.20.1 2018-02-27
-
Server view now shows an ordered list of ASGs beginning with ASGs in Error state, then Warning, Not Running and finally Healthy.
-
Improved logging for deployments. The deployment details modal now shows the log in time order ascending (like a normal log!). A link has been added to this screen to the
deployment-support
Slack channel. When the deployment is now in the hands of the Consul Deployment Agent (CDA), the UI will show information on what that means. There are lots of things that could happen that are now outside the control of Environment Manager which could result in a failed or hanging deployment - until we automate those checks, we can at least show a list of what the common causes are. Some of the entries within the log have been changed to be more reflective of the operation being performed. -
Improved 'Get Available Ports' operation for new Services.
-
A selection of a team is now persisted through the use of Environment Manager. This is kept between screens and also between new browser windows on the same machine. From now on, if you tell Environment Manager you want to be looking at 'my team', you will be looking at that team constantly until you change that selection.
-
A selection of an environment is now persisted through the use of Environment Manager. This is kept between screens and also between new browser windows on the same machine. From now on, if you tell Environment Manager you want to be looking at 'my environment', you will be looking at that environment constantly until you change that selection.
-
Raises SNS events when deployments complete.
6.19.0 2018-02-14
-
Calls made from the server screen and asg modal are now running through the ec2 client which queries the new EC2monitor.
-
Servers screen no longer shows deployment status.
- A new "user settings" modal has been added to the UI. At the moment, it is only used to filter by default, your environment list on the main screen. Now you can add a comma separated list of the environments you want to see. A toggle has also been added to give you the full list if you want that back, or you can remove/not use the environments filter list.
-
Removed environment schedule cache to prevent scheduling race conditions.
-
When a user performs an HTTP request that results in an error which contains no details, the resulting dialog shows "ERROR" and nothing to help the user identify the cause of the issue. Now, any response that doesn't contain any details, the error modal will be given some useful http request information to display that resulted in the error screen.
-
Improved error handling
6.17.0 2018-01-25
- Added environment type to scheduled actions endpoint
6.15.4 2018-01-24
- Fix Operations > New Instaces, where results were not being returned to the caller.
6.15.3 2017-12-16
- Fix error preventing ASGs from being deleted.
6.15.2 2017-12-14
- When instances are in standby and do not receive the latest version, the API endpoint /services/ was returning old version numbers of instances that are no longer in AWS, but remain in that Consul cluster. This is not what people want to see. The end point will now find the latest version of that service deployed in that environment to show the latest version in the results.
6.14.2 - 2017-12-07
- Allow ASG owners to change the amount of time an instance is kept alive after termination has begun.
- Build issues
6.13.0 - 2017-11-30
- Cache reset functionality for an environment will not perform 2 actions: ["send http post to reset cache of each node", "update consul for that environment with a cache time stamp value in the KV store"]. The existing http requests can be used for any service which is reachable via http requests based on the consul node ip. The cache timestamp value can be listened to by services running in Cluster mode with PM2, and each cluster service can respond to the request for a cache reset that way.
6.12.5 - 2017-11-27
- Deployment Map Targets were failing in the UI. A recent change to this UI component has been reverted, allowing the server role changes to save correctly.
6.12.4 - 2017-11-27
- Days out of date for an AMI is now the number of days between the release of the following stable AMI and today.
- An upstream in the common environment type is valid in the settings for any load balancer.
- Min and max auto scaling group size are no longer required by the /asgs/{name}/scaling-schedule. They now default to the desired size.
6.12.1 - 2017-11-16
- Fixed error in maintenance mode feature
- If an upstream exists, that is not enough for it to be valid. The upstream needs to exist against an environment type that matches the environment type of the load balancer setting.
6.12.0 - 2017-11-09
- C5 instance type options for EC2 instances
- The "set auto scaling group size" feature
6.11.5 - 2017-11-03
- Create new Service screen was showing broken service name field
6.11.4 - 2017-10-31
- Regression causing the scheduled scaling API to fail
6.11.3 - 2017-10-30
- Bug causing some API calls to throw
6.11.2 - 2017-10-30
- ProxyPass rules in the Load Balancer settings of the UI now allow you to add a variable as the value. The upstream value doesn't have to exist in order to be considered valid as long as there is a matching key in the
Set
list.
Example: { "Set": ["$anything-you-want value"] "ProxyPass": "https://$anything-you-want" }
6.11.1 - 2017-10-24
- Custom rules for load balancer settings editor. Prevents non existing upstreams being added.
- Mark for delete removed pending TTL settings change in AWS.
6.11.0 - 2017-10-19
- Scheduled scaling visualisation
- Made ASG scaling tab a little more intuitive
- Schedule visualisation bugs
6.10.0 - 2017-10-17
- Schedule visualisation in editor
6.9.15 - 2017-10-16
- Issue causing EM to crash periodically (Removed environment sync feature)
6.9.12 - 2017-10-13
- SHA256 has been removed from the authentication module.
- Cache reset now sends a request to every node, rather than a single matching node for a service.
- Cache reset request now displays all results of the calls it made within the UI.
- Removed package path from deployment UI
- Deprecated the package location property from deployment API
6.9.6 2017-10-06
- APIs for synchronising service versions across environments
- POST /environment/{environment}/sync-services/jobs
- GET /environment/{environment}/sync-services/job/{JobId}
- Use of
MD5
hashing has been replaced withSHA256
. - Use of
uuidv1
within user authentication has been replaced withuuidv4
.
- HTML classes moved within the span element which were outside the span as plain text.
6.9.5 2017-10-02
- There was a check in place for deployments that have been carried out already for the version you are requesting. This check has now been removed, allowing you to deploy the same version again.
6.9.4 2017-09-29
- The ability to delete a service (can be restored when services are mistakenly deleted)
- Deprecated GET and DELETE /config/services/{name}/{cluster} endpoints. See API docs.
- Environment Manager Sensu Alerts for Node
- Truncation of service version identifiers at 50 characters in the UI. Service version identifiers now limited to 100 characters in UI and API. User notified if a longer version identifier is pasted into UI.
- Fixed a bug in the deployments screen where $http requests were not being cancelled properly if the request did not complete and the filter was changed. Incorrect results were being displayed.
6.9.0 2017-09-26
- The API was allowing a deployment with a configuration that had already been used to be deployed again. This was causing the deployment to never finish. The API now checks your provided configuration against service deployments that have been carried out already for that version.
- Logging for cache reset was causing server errors due to not having access to a user object. This has been resolved.
- Toggle APIs now support the ability to explicitly set the desired state of an upstream or service
6.8.0 2017-09-25
- When a user logs in to Environment Manager and the they have not seen this release before, they will be presented with a notification and a link to the release notes.
- The 'healthy' check mark was confusing to users. The check mark would show up while there were various other 'warnings' on that same instance. To show what that green check mark actually means, a tooltip has been added to explain.
- Logging around cache resetting has been improved on the server side.
- Faulty permissions challenge on service status toggling operations
- Instances can now terminate without the 10 minute wait period.
- A filter control has been added to the Environments page
- A filter for Alert Notifcations.
- A delete button has been added to the Servers page in the Web Client.
- You can no longer delete an upstream that is in use by NGINX. The upstream will be tagged so that it 'can' be deleted at a later date. Enough time is given for Puppet to inform NGINX of upstream updates, after that time, upstreams marked for delete will be removed. Note: You are still prohibited from deleting an upstream that is in use by an Environment Manager Load Balancer configuration.
- Dialogues which shows the services installed on instances were showing 'missing' when the instance was in an 'in progress' state for deployment. This was causing confusion. No, if the instance is in an 'in progress' state, you are told that, rather than a 'missing' message for your services.
- ASG dialogue did not handle having 0 services in a graceful way. Now if there are no services to link to, there is no link.
- Tables in the Web Client have all been changed to style with stripes.
- Cache Reset button in the settings page of an environment.
- New Relic Insights field added to Monitoring section of Service settings page.
- "Tags" available in Service settings page. Key value pairs can now be added to any service.
- "1P" check box added to Service settings page. ]
- Extend ELK link max length to 2048.
- "New Relic" field in Service settings page changed to "New Relic APM link".
- Allow users to disable services deployed prior to 01.2017.
- Dependencies on the Service settings page not limited to a drop down of services.
6.5.1 2017-09-11
- Set the blue and green port numbers in the consul kv store for use by the deployment agent.
6.5.0 - 2017-09-07
- Notifications can be sent to the ContactEmail tag of the instance
- Times New Roman Font on Servers screen
- Throws a 404 instead of 500 when resources required for authorization are no found.
6.4.1 - 2017-08-29
- Load balancer settings validation implemented using JSON schema.
- Fix bad function name introduced in #318.
6.4.0 - 2017-08-29 [YANKED]
- A user can change the owner of a service.
6.3.0 - 2017-08-25
- Added CustomErrorCodes and CacheTime LB Settings
6.2.0 - 2017-08-25
- 'config/services' page layout logically grouped
- 'config/services' page now contains fields for "new relic", "elk", "jira" and "wiki" links.
- 'config/services' primary contact pattern no longer validates on only alphanumeric characters. Email addresses are permissible.
- 'config/services' primary contact now provides a button to allow you to obtain the owning teams email address, if one exists and to use that as the primary contact details.
- 'config/services' page now allow you to list dependencies of your service. This field contains a typeahead for services in the same environment while you can also just add free text if you choose to.
- Resolved missing UI dependencies.
- JavaScript and CSS files added to accessible location for angular-loading-bar and angular-smart-table.
6.1.0 - 2017-08-23
- Transitioning Server Roles section at the top of the servers page highlighting auto scaling groups that are changing size.
- Deployments column on the servers page highlighting auto scaling groups with deployments in progress.
- Locking an environment prevents modifications to auto scaling groups.
- Missing dependencies in package produced on Travis CI.
- Notifications sent before operations completed.
6.0.2 - 2017-08-18
- POST data to notification event raised by POST /config/upstreams.
- Optional slice parameter from endpoint POST /package-upload-url/{service}/{version}/{environment}.
- The body of the notification event raised by PUT /config/upstreams/{name} was not stringified.
- A number of bugs related to the removal of a account as a special case of an account.