Releases: magneticio/vamp
VAMP 0.9.5
7 July 2017
The 095 release of Vamp is focused on increasing stability, scalability and performance. An important new feature is support for SQL databases for storing persistence data. This also enables us to deliver powerful (enterprise) multi-tenancy features. We've also added support for multiple Zookeeper nodes and upgraded HAProxy.
What is new
- SQL persistence - (#950)
- Mysql persistence - vamp-mysql
- Postgres persistence - vamp-postgres
- SQLServer persistence - vamp-sqlserver
- Support for multiple zookeeper nodes
- Docker-compose bugfixes - #945
- Upgrade HAProxy to 1.7.5 in the vamp-gateway-agent #43
What has changed
- Persistence of artifacts in Elasticsearch is no longer supported (Only pulse events and metrics can be stored in Elasticsearch)
- Configuration of SQL Persistence
Known issues
- When in Marathon/DCOS Zookeeper is unavailable/restarted Vamp can sometimes become out of sync, showing failed deployments when the deployments are running normally. Going into scale and saving syncs Vamp again.
- The Vamp UI currently isn't fully responsive.
- Showing container logs on DC/OS is a beta feature, that may not always work correctly.
All closed issues can be found here:
Vamp Core: https://github.com/magneticio/vamp/issues?q=is%3Aissue+milestone%3A0.9.5+is%3Aclosed
Vamp UI: https://github.com/magneticio/vamp-ui/issues?q=is%3Aissue+milestone%3A0.9.5+is%3Aclosed
Vamp 0.9.4
14 April 2017
The Vamp 0.9.4 release marks the beginning of a new level of sophistication and maturity of the Vamp system. It shows the first features of our longer term vision on what Vamp can be and deliver. One of the most powerful additions is the addition of a Vamp controlled "reverse proxy" functionality. This enables powerful new features like showing logs of running container instances, showing the contents of the containers itself, and exposing event-logs from all the Vamp workflows, all directly within the Vamp UI. With this new feature Vamp can effectively act as a unified accesspoint and view to all the components and services running in the system. We've also added support for importing and converting Docker Compose files to Vamp blueprints. Another powerful addition is now defining health-definitions for Marathon within Vamp blueprints. Much requested is having a smart check on available cluster-resources in Marathon before deploying a blueprint. We have a service instances overview screen now, and better support for health-checks for Vamp containers. We also added an artifact revisions history view to the UI. And of course we've fixed plenty of bugs and added numerous enhancements and improvements along the way. Enjoy this new Vamp release and we look forward to building upon these great new core features to deliver even more powerful functionalities in the upcoming releases.
What is new
- Vamp namespaces #927
- Optional DC/OS driver namespace cluster constraint #929
- Deployment level dialects #922
- Workflow dialects #925
- Vamp workflow agent port support and standalone UI #909 & #14
- Workflow status endpoint #939
- Access to configuration values from breed environment variables #906
- Vamp JavaScript workflow agent breed as an external configurable breed #908
- Access to workflow and deployment instances via Vamp reverse proxy #912
- Unique ID assigned to each event #907
- Service-, cluster-, workflow- and breed level health checks DSL for Marathon
- Namespace based logging [#931] (#931)
- Extend Time unit to accept "second" and "minute" [#919] (#919)
- Support for DC/OS 1.9.0
- Health check suport in Vamp DSL (#709,
- Cluster level health checks #914,
- Support for workflow health checks #899,
- Health on a breed level #913).
- Transform a docker-compose.yml to Blueprint (#928)
- Additional blueprint validation #802
- Using Kubernetes Jobs for event based workflows [#838] (#838)
- Vamp UI instance view [#299] (magneticio/vamp-ui#299)
- Vamp UI service detail view [#298] (magneticio/vamp-ui#298)
- Vamp UI artifact revisions view [#294] (magneticio/vamp-ui#294)
- Vamp UI show logs of containers [#280] (magneticio/vamp-ui#280)
- Vamp UI expose external workflow event log view inside UI panel [#206] (magneticio/vamp-ui#206)
What has changed
- Synchronization when health checks are changed needs to be explicitly specified
vamp.operation.synchronization.check.health-check
:true
orfalse
#709 - Vamp JavaScript workflow breed configuration is removed from main configuration #908
Known issues
- Sometimes errors are logged due to starting of Vamp dependencies
- When in Marathon/DCOS Zookeeper is unavailable/restarted Vamp can sometimes become out of sync, showing failed deployments when the deployments are running normally. Going into scale and saving syncs Vamp again.
- On DC/OS the container logs are not shown by default, it needs setting of the vamp.container-driver.dcos.url to access these and show them in the UI.
All closed issues can be found here:
https://github.com/magneticio/vamp/issues?q=is%3Aissue+milestone%3A0.9.4+is%3Aclosed
https://github.com/magneticio/vamp-ui/issues?q=is%3Aissue+milestone%3A0.9.4+is%3Aclosed
Vamp 0.9.3
17th February 2017
This Vamp 093 release delivers powerful new features and improvements on both the UI, backend and architectural aspects of the system. Noticeable improvements are the redesigned UI with better support for larger deployments and lists due to a new list view and "as you type" search/filter. We moved the menu to the vertical left for better use of screen real-estate. We've added admin features to the UI to display logging, hot reloading of configurations and displaying the several layers of configurations. And very useful: all screens now have a context-sensitive help panel to the right.
On the backend side we now support configurable namespaces and service networks. We've solved a time-out issue in our UI implementation that was appearing when network packets would be chunked by the javascript engine. We've extended and improved our logging for better debugging, adding more log events and also streaming. The API now supports an additional endpoint, conditions, that can be referenced by name in the Vamp gateway routes. This helps to manage complex condition-rules.
Vamp 093 now supports HAproxy 1.7 and running multiple gateway configurations in parallel, including running several versions of HAproxy.
We replaced the original Vamp Gateway Agent agent binary with confd (magneticio/vamp-gateway-agent#7), added health-check endpoints to the VGA's, replaced logstash with elastic filebeat, and added elastic metricbeat to the Vamp Workflow Agents for better logging and debugging.
What is new
no-store pulse storage #869
Configurable service network #730
Using Vamp namespace in Docker labels #679
Support for HAproxy 1.7.x compatible configurations #871
Key-value store for (additional) Vamp configuration and option to update Vamp configuration at runtime #872
Multiple gateway marshallers and option to update VGA (HAProxy) templates at runtime #870.
Querying events by type #878
Calculate scales by workflow #793
Showing Vamp logs in UI #863
Kubernetes namespace support #667
Artifact metadata #890
Vamp as reverse proxy to Vamp gateways #884
Log all API request #898
Support for Kubernetes 1.5.x
What has changed
Pulse storage type needs to be explicitly specified vamp.pulse.type: elasticsearch or no-store #869
Removed redundant HAProxy configuration: vamp.gateway-driver.haproxy.virtual-hosts, vamp.gateway-driver.haproxy.tcp-log-format and vamp.gateway-driver.haproxy.http-log-format #763
Debug API endpoints have been removed #308
API endpoint to get HAProxy configuration and key-value key for VGA #870
Configuration change: vamp.workflow-driver.workflow.deployables."application/javascript" has been changed to vamp.workflow-driver.workflow.deployables.application.javascript
Default workflow parameters are applied only on application/javascript workflows #880
_Additions and changes in related Vamp components and projects_
Vamp Workflow Agent
Added elastic metricbeat magneticio/vamp-workflow-agent#10
Upgraded to Alpine 3.5 magneticio/vamp-workflow-agent#11
Vamp Gateway Agent
Replaced VWA binary with confd magneticio/vamp-gateway-agent#7 magneticio/vamp-gateway-agent#25
Added Runit for supervisor and init system magneticio/vamp-gateway-agent#27
Replaced logstash with filebeat magneticio/vamp-gateway-agent#29
Added health check endpoints magneticio/vamp-gateway-agent#21
Vamp UI
Added pagination magneticio/vamp-ui#177
New navigation magneticio/vamp-ui#196
Backend configuration panel magneticio/vamp-ui#199
Full info panel magneticio/vamp-ui#202
List view magneticio/vamp-ui#204
Log panel magneticio/vamp-ui#203
VGA configuration panel magneticio/vamp-ui#201
Search option magneticio/vamp-ui#182
Support for retina and hDPI screens magneticio/vamp-ui#229
Several improvements to design and UX magneticio/vamp-ui#182
Known issues
Vamp 093 currently is not tested with the latest stable Rancher releases.
Vamp 093 on "plain" Mesos/Marathon needs manual configuration.
Not tested against latest stable single-machine local Docker version.
All closed issues can be found here:
https://github.com/magneticio/vamp/milestone/20?closed=1
https://github.com/magneticio/vamp-ui/milestone/5?closed=1
Vamp 0.9.2
22nd December 2016
This v0.9.2 release of Vamp has plenty of improvements in the areas of installation, robustness and stability. We also give the workflows feature some TLC so they’re even easier to use from the UI. Check out our “Automated canary release with rollback” tutorial to get a feeling for the power of Vamp workflows.
What is new
#789 Workflows can now be suspended without deleting them and there is an option to restart them.
#813 Workflow execution period (successive executions) and execution timeout (max allowed execution time) can now be set for each workflow.
More details: using workflows - artifacts
#834 Kubernetes bearer can be added as an optional configuration parameter.
More details: configuration reference - container driver
#840 Time out can now be disabled for deployment operations.
More details: configuration reference - operation
#846 Proper HTTPS support (client side).
More details: configuration reference - common
#762 The default container type can now be configured.
More details: configuration reference - model
#761 Support for Kubernetes driver with rkt runtime.
#862 Workflow environment variable values can be parametrised with workflow name (e.g. as
Vamp UI #13 We’ve added a help panel to the Vamp UI - click on the ? in the top right corner.
Website documentation is now versioned - where available, you can select content for specific Vamp versions.
What has changed
#830 Custom event types - only alphanumerics, ‘_’ and ‘-’ are allowed in type names.
More details: using events - basic event rules
#831 Logstash URL (host, port) can now be configured (instead of just host).
More details: how to configure Vamp - extra configuration
#771 The API now returns a 500 response code if any of /info response parts return an error.
More details: API reference - get runtime info
#845 Spported workflow deployable types can be explicitly mapped.
More details: configuration reference - workflow-driver.workflow
#862 All default workflow environment variables need to be specified, e.g. VAMP_URL and VAMP_KEY_VALUE_STORE_PATH.
More details: using workflows - artifacts.
Known issues
On some infrastructures we sometimes noticed time-outs on the UI side. Accessing the API directly works fine.
The complete list of closed issues can be found here: https://github.com/magneticio/vamp/issues?q=is%3Aissue+milestone%3A0.9.2+is%3Aclosed
Vamp 0.9.1
A brand new release of Vamp with lots of improvements on the UI, responsiveness and performance. We hope you like it, and please let us know your thoughts!
What is new
This release of Vamp introduces:
- The biggie: We’ve added Websockets support to our HTTP API. And we’re now using this heavily in our new UI to improve responsiveness, smoothness and speed. #529
- We’ve updated our UI to a nice dark theme due to public demand, we love it as it’s much easier on the eyes, and of course we’re very interested in hearing your thoughts!
- We’ve updated our charts with the amazing Smoothie Charts library for smooth running charts and sparklines.
- You can now configure Vamp to use a key-value store for persistence data storage. By default nothing is defined, and you need to choose either ElasticSearch or key-value. Take a look at the Vamp Quickstart configuration for possible settings. The design reasons for this addition are having less dependencies on Elasticsearch, better re-use of the available key-value stores that come with cluster-managers (like Zookeeper in DC/OS or Etcd in Kubernetes) and more robustness (i.e. if we temporarily loose ES the persistence data is still available in the K/V store, only the metrics data is temporarily unavailable). Possible issues might be the performance of the key-value store after some time. This is a known issue being investigated. #750
- Gateway stickyness is now editable through the UI
- Scales and gateways are seperate entities exposed through the UI
- Multi-select delete actions in the UI
- You can now filter health and/or metrics events in the EVENTS stream panel
And of course lots of other improvements and bug-fixes that can be found here: https://github.com/magneticio/vamp/issues?q=is%3Aissue+milestone%3A0.9.1+is%3Aclosed
What has changed
- BREAKING CHANGE: In the Vamp configuration the “rest-api” section has changed to “http-api”. When running Vamp 0.9.1 you need to change this setting accordingly. NB REST and websockets are both a part of our HTTP API. Check the Vamp configuration examples.
- BREAKING CHANGE: The default value for Vamp Gateway Agent storeKey has /vamp/gateways/haproxy/1.6 - changed from /vamp/haproxy/1.6
- In the Vamp configuration we set persistence caching by default to false. In our pre-build Vamp images we set this to true to make it easier on the persistence store load. #792
- We’ve changed the updating deployment service states. #797
Known issues
- Health in deployment detail screen stays at 100% even when a gateway error is measured. In the gateway detail screen this works correctly.
- Memory leak issues when running workflows.
- Instability when using Zookeeper in the Vamp quickstart packages after a period of time.
- When using Elasticsearch for persistence storage there can be stale data due to speed of the web sockets implementation and slower / eventual indexing of ES. A browser refresh solves this.
- Vamp-docker quickstart throws error when starting up.
The full list of improvements and bug-fixes that can be found here: https://github.com/magneticio/vamp/issues?q=is%3Aissue+milestone%3A0.9.1+is%3Aclosed
Vamp 0.9.0 BETA
The Vamp 0.9.0 release is a very important milestone in the lifecycle of Vamp, as we're removing the Alpha label and are moving to Beta! This means that we will do our utmost best to avoid breaking changes in our API's and DSL, focus even more on stabilising and optimising the current feature-set, while of course continuously introducing powerful new features.
The Vamp 0.9.0 release is the culmination of three months of hard work by our amazing team! This release incorporates nothing less than 115 issues and I'm very proud of what we've achieved.
Some of the most notable new features are:
- a brand new opensource UI with much better realtime graphs, sparklines, info, events panel and access to all relevant API objects like breeds, deployments but also new options like gateways and workflows.
- powerful integrated workflows for automation and optimisation like autoscaling, automated canary-releasing etc. using efficient Javascript-based scripting.
- Kubernetes and Rancher support.
- support for custom virtual host names in gateways.
- support for custom HAProxy templates.
- a brand new Vamp Runner helper application for automated integration testing, mocking scenarios and educational purposes.
And of course a massive amount of improvements, bug fixes and other optimisations.
For a complete list of all the closed issues in this release:
https://github.com/magneticio/vamp/issues?q=is%3Aissue+milestone%3A0.9.0+is%3Aclosed
Check out the Vamp 0.9.0 self-contained QuickStart package to evaluate the power of canary-releasing: http://vamp.io/documentation/installation/marathon/
Vamp 0.8.5
This Vamp 0.8.5. version is mainly a maintenance release, but also has some interesting new features. Most interesting is the added support for external route endpoints (#494) in the gateway API, so traffic can also be routed to external endpoints.
Another notable addition is the support for filter strengths (#526). This enables you to send only a defined percentage of random visitors that comply to a specific (set of) condition(s) to a route endpoint, f.e. 5% of all Chrome users. This enables powerful routing patterns like "send 5% of all Chrome users on Android devices to a 50/50 split test".
Also added is the support for different types of automation workflows, like longrunning (daemon), time-based, and event-triggered (#550).
We added support for virtual host names in the gateways too. Very handy when you cannot use ports. (#589)
And of course we’ve squashed several bugs and improved Vamp and our documentation. Happy Vamp-ing!
Closed issues: https://github.com/magneticio/vamp/issues?utf8=✓&q=is%3Aclosed+is%3Aissue+milestone%3A0.8.5
Vamp 0.8.4
We are proud to announce the latest Vamp release, version 0.8.4. We’re moving quickly towards Beta now, which means we’re focusing more on increasing stability and creating more automated testing to ensure high quality software.
In this release the most important additions are the addition of a Vamp Runner project where recipes with common and edge scenarios can be automatically run to ensure the correct behaviour of Vamp and all it’s dependencies. Using these recipes we fixed some rather interesting edge-cases and race-conditions ourselves! We also did quite some work to ensure Vamp works with the latest Docker versions (1.10.x) that introduced some breaking changes. A very cool new addition is the Workflow-Agent, where custom workflows can be added to Vamp, to do things like continuous health-checking, auto-scaling, follow-the-sun scaling, or automatic cost-optimisation. We’re very excited to see what the Vamp community can come up with! To make the best of Workflow agents we also added features to support aggregated health and metrics endpoints.
And of course we’ve squashed several bugs and improved Vamp and our documentation. Happy Vamp-ing!
Added Vamp Runner to automatically run recipes for testing #569
Added Vamp Workflow Agent to run custom workflow scripts #534
Support for Chronos framework to run workflows #448
Support for Docker 1.10.x #553 #549 #548 #544 #542
Added Metrics endpoints on gateways and deployment ports #528
Added Health endpoints on gateways and deployment ports #527
Added usage and workflow statistics #473 #530
Added workflow scripts #539 #533 #532
Closed issues: https://github.com/magneticio/vamp/issues?utf8=✓&q=is%3Aclosed+is%3Aissue+milestone%3A0.8.4
Vamp 0.8.3
We're happy to announce the release of Vamp 0.8.3. This release has two important aspects. The first is the support for custom HAProxy configs and templates, which are then merged with the Vamp generated routing rules. This makes integrating Vamp in running projects so much easier. The second important aspect is that we created the possibility to create (very) complex nested conditions and filters in an easy and powerful way.
And of course as always we improved Vamp and our documentation to make it behave and perform even better.
Happy Vamp-ing!
Vamp:
Creation of separate Vamp docker images #525
Support for using/merging custom HAproxy configs/templates #502
Support for complex conditions with logical expresions NOT/AND/OR and grouping #496
Support for “balance” algorithm in routing #456
Support for filtering first, routing second to create complex segments and tests #395
Closed issues:
https://github.com/magneticio/vamp/issues?utf8=✓&q=is%3Aclosed+is%3Aissue+milestone%3A0.8.3+
Vamp 0.8.2
We're happy to announce the release of Vamp 0.8.2. We've added useful features to create combined rewriting rules, and made it easier to do URL rewriting through our DSL. We now also support storing key/value's in Consul or etcd, and made sure Vamp is now compatible with the new HAProxy 1.6.x.
And of course we generally improved Vamp and our documentation to make it behave and perform even better. Happy Vamp-ing!
Vamp:
Support for combined rewriting rules #491
Support for easy URL rewriting using the DSL #495
Automatic creation of Kibana searches for created gateways #480
Configurable VampGatewayAgent (VGA) logging formats #459
Support for storing Key/Value's in Consul or etcd #454 #453
Support for HAProxy 1.6.x #447
Added dimensions/units in the blueprint format #306
Closed issues:
https://github.com/magneticio/vamp/issues?utf8=✓&q=is%3Aclosed+is%3Aissue+milestone%3A0.8.2+