All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
The API consists of all public Java types from com.atlassian.performance.tools.awsinfrastructure.api
and its subpackages:
- source compatibility
- binary compatibility
- behavioral compatibility with behavioral contracts expressed via Javadoc
Changing the license is breaking a contract. Adding a requirement of a major version of a dependency is breaking a contract. Dropping a requirement of a major version of a dependency is a new contract.
- Harden
JiraStatus
parsing. - Reduce
JiraStatus
log spam.
3.2.0 - 2024-06-24
- Wait for running status via:
DataCenterFormula.Builder.waitForRunning
StandaloneFormula.Builder.waitForRunning
- Provision Jira nodes in parallel to the load balancer.
- Glue
jira-node-X
andprovision jira-node-X
tasks together intoinstall jira-node-X
. - Clean up
start node X
task name.
3.1.4 - 2024-01-03
- Use
TaskScope
instead ofTaskTimer
. - Stop manipulating the log4j
ThreadContext
directly. - Publish
Instance
events.
3.1.3 - 2023-11-29
- Respect
JiraNodeConfig.name
when naming Data Center nodes.
3.1.2 - 2023-09-13
- Use newer mysql connector v8.0.33 to support both MySQL 5.7. Fix JPERF-1352.
3.1.1 - 2023-09-12
- Fix minimal MySQL 5.7 setup. Fix JPERF-1350.
3.1.0 - 2023-07-17
- Add
DatasetCatalogue().smallJiraNine()
. Unblock JPERF-1184.
- Gather all
atlassian-jira.log
files fromStartedNode
. Fix [JPERF-1190]. - Add missing
sudo
toCustomDatasetSource.stopDockerContainers
to avoid permission errors. Fix JPERF-1184.
3.0.1 - 2023-06-22
- Let
StartedNode.gatherResults
finish despite failure instop
ofRemoteMonitoringProcess
. Fix JPERF-1117.
3.0.0 - 2023-05-25
- Remove deprecated constructors of
CustomDatasetSource
. - Remove
Jira
constructor. - Remove
Jira.getDatabase
. - Remove
CustomDatasetSource.Builder
constructor with two parameters. - Remove deprecated functions.
- Remove Defaults objects.
- Remove data classes.
- Remove Kotlin types.
- Add
StoppableNode
class to allow stopping nodes in a uniform way. Fix JPERF-188. - Serialize
StoppableNode
to JSON. - Add
Jira.Builder
. - Add
Jira.toDatasetSource
function. - Add
CustomDatasetSource.Builder
constructor with additionalList<StoppableNode>
parameter.
- Change default virtual user instance type to
c5.9xlarge
. It's better, cheaper and there seem to be availability issues with previous default (c4.8xlarge
).
2.29.0 - 2023-03-24
- Make it possible to override
AwsDatasetModification
's timeouts of storing datasets. Unblock JPERF-990.
- Stop logging ERRORs while
LocalPublicIpv4Provider
expects services to fail. - Prevent JVM process from hanging after failing inside
StandaloneFormula
orDataCenterFormula
due to not cleaned up resources. Fix JPERF-1042. - Stop overriding content of
jirahome/jira-config.properties
when usingStandaloneFormula
orDataCenterFormula
. Fix JPERF-1047.
2.28.0 - 2023-03-01
- Make it possible to handle waiting for Jira startup outside provisioning process. Unblock JPERF-996.
- Fix bug where accessRequester wouldn't be preserved when JiraFormula is used with InfrastructureFormula.
2.27.0 - 2023-02-21
- Return the AWS
Resource
allocated byNetworkFormula
asProvisionedNetwork
.
- Deprecate
NetworkFormula.provision
in favor ofNetworkFormula.provisionAsResource
.
- Substitute the lost
DatasetCatalogue().largeJiraEight()
with an equivalent. Fix JPERF-980. JQL data might be bigger than in the original. Requires Jira v8.22.0 or higher. - Track AWS resources from
ProvisionedNetwork
for release. - Stop spamming INFO log with network internals.
- Stop double-logging network provisioning.
2.26.0 - 2023-02-01
- Use
aws.defaultAmi
inStackVirtualUsersFormula
. Resolve JPERF-951. - Use
aws.shortTermStorageAccess
inApacheEc2LoadBalancerFormula
. Resolve JPERF-952.
2.25.8 - 2022-08-12
- Be more specific when searching for AMI used by VU machines, so it's virtually impossible to find more than one matching the criteria. Resolve JPERF-821.
2.25.7 - 2022-07-05
- Update AMI used by VU machine, as the old one is no longer available. Resolve JPERF-825.
2.25.6 - 2022-05-27
- Allow to diagnose the Jira node startup problems by printing atlassian-jira.log inside test log. Resolve JPERF-760.
2.25.5 - 2022-04-07
- Bump log4j dependency to 2.17.2
2.25.4 - 2022-03-07
- Expose
AccessRequester
s for VUs fromMulticastVirtualUsersFormula
, so that the tests based on it can work withDataCenterFormula
andStandaloneFormula
. Fix JPERF-795.
2.25.3 - 2022-01-31
- Grant load balancer access to every Jira node provisioned by
DataCenterFormula
. Fix JPERF-792.
2.25.2 - 2022-01-21
- Grant Jira access to its own HTTP port in
StandaloneFormula
. Fix JPERF-790.
2.25.1 - 2022-01-14
- Roll back change made to one of
DataCenterFormula
's log messages done accidentally as part of 2.25.0.
2.25.0 - 2022-01-14
- Add ability to use custom admin password by adding
adminPasswordPlainText
parameter toDataCenterFormula
,StandaloneFormula
,StandaloneNodeFormula
andStandaloneStoppedNode
. Part of JPERF-729
2.24.0 - 2022-01-04
- Restrict access to provisioned AWS instances to only the necessary connections. Resolve JPERF-730.
- Add the ability to dynamically share permissions between resources provisioned by various Formulas. Unblock JPERF-730.
- Add builders for
ProvisionedJira
,ProvisionedLoadBalancer
,ProvisionedVirtualUsers
andProvisionedInfrastructure
. - Add builder for
ApacheProxyLoadBalancer
and allow to overwrite it''s IP address. - Add
Defaults
child object toProvisionedJira
,ProvisionedLoadBalancer
,ProvisionedVirtualUsers
,ProvisionedInfrastructure
,StandaloneFormula
andDataCenterFormula
. - Add Jira node identifier to exceptions thrown as part of startup failures of DataCenterFormula.
- Deprecate
InfrastructureFormula
constructor in favor ofInfrastructureFormula.Builder
. - Deprecate
ProvisionedJira
constructor in favor ofProvisionedJira.Builder
. - Deprecate
ProvisionedLoadBalancer
constructor in favor ofProvisionedLoadBalancer.Builder
. - Deprecate
ProvisionedVirtualUsers
constructor in favor ofProvisionedVirtualUsers.Builder
. - Deprecate
ProvisionedInfrastructure
constructor in favor ofProvisionedInfrastructure.Builder
. - Deprecate
ApacheProxyLoadBalancer
constructor in favor ofApacheProxyLoadBalancer.Builder
.
2.23.1 - 2021-04-19
- Fix a bug which does not override CIDR IP range of SSH ingress to virtual user EC2 nodes for
virtual-users.yaml
. Fix JPERF-733.
2.23.0 - 2021-04-16
- Add the ability to parameterize CIDR IP range of SSH ingress to virtual user EC2 nodes for
virtual-users.yaml
. Resolve JPERF-733. - Add the ability to enable EBS volume encryption.
2.22.2 - 2020-12-07
- Quiet down mkfs.ext4 so that it doesn't pollute warn/error logs with version number string. Fix JPERF-632.
2.22.1 - 2020-11-27
- Fix regular expression for database url customization with
default_storage_engine
as part of JPERF-671.
2.22.0 - 2020-11-04
- Add
CustomDatasetSource.Builder
. - Parametrize timeouts in
CustomDatasetSource
.
- Deprecate
CustomDatasetSource
constructor in favor ofCustomDatasetSource.Builder
.
2.21.4 - 2020-07-10
- Upgrade to Ubuntu 20.04 Focal in
StackVirtualUsersFormula
.
2.21.3 - 2020-07-03
- Reduce logs verbosity.
2.21.2 - 2020-05-26
- Restore previous behaviour and force Availability Zone when creating AWS resources. Resolve [JPERF-643].
2.21.1 - 2020-05-13
- Let AWS pick the Availability Zone to balance resource capacity. Resolve JPERF-637.
- Fix Jira home path generation for Splunk Forwarder.
2.21.0 - 2020-03-02
- Add
InfrastructureFormula.Builder
. - Support pre-provisioned
Network
inInfrastructureFormula
. - Make instances-initiated shutdown terminate the EC2 instance instead of stopping it - applies to VU, DB and Jira nodes.
- Support private IP in:
DataCenterFormula
StandaloneFormula
ApacheEc2LoadBalancerFormula
StackVirtualUsersFormula
- Upgrade to Ubuntu 19.10 Eoan in
StackVirtualUsersFormula
.
2.20.2 - 2020-03-02
This is an erroneous release. Please use 2.21.0
instead.
2.20.1 - 2019-12-17
- Eliminate sudo warnings about unresolvable hostname. Fix JPERF-595.
- Reduce provisioning logging.
- Enrich the provisioning logging messages.
- Fix
UriJiraFormula
failing to download results due to zero nodes and zero threads.
2.20.0 - 2019-12-11
- Add
JiraSoftwareDevDistribution
. Resolve JPERF-594. - Expose
S3TarGzDistribution
to facilitate alternativeProductDistribution
implementations. Avoid the likes of JPERF-594 in the future.
2.19.1 - 2019-11-27
- Include
instanceType
in copying builders ofVirtualUserFormula
implementations.
2.19.0 - 2019-11-22
- Add
instanceType
toStackVirtualUsersFormula
andMulticastVirtualUsersFormula
. Allow avoiding low capacity instance types.
2.18.0 - 2019-10-17
- Add
UriJiraFormula
. Resolve JPERF-579.
2.17.0 - 2019-09-04
- Replace
network
method withinstanceType
inEc2VirtualUsersFormula.Builder
.
2.16.0 - 2019-09-03
- Expose API to customise instance type in
Ec2VirtualUsersFormula
. Resolve JPERF-511. - Expose API to customise
browser
andnodeOrder
inEc2VirtualUsersFormula
.
2.15.0 - 2019-09-02
- Expose
AwsCli
. Provide workarounds for JPERF-567 and the like. - Distribute internal JSW releases via
JiraSoftwareInternalDistribution
. Resolve JPERF-567.
- Ensure
S3Artifact
works even if the AWS CLI was missing. Provide a workaround for JPERF-567.
2.14.0 - 2019-08-23
- Let multicast VU nodes share a network. Resolve JPERF-553.
- Provide a
NetworkFormula
. Facilitate JPERF-553.
2.13.1 - 2019-07-23
- Pass Jira and DB volume parametrization in DC and Server formulas. Fix JPERF-534.
2.13.0 - 2019-07-11
- Expose
S3DatasetPackage
to define private datasets.
2.12.1 - 2019-07-09
- Parallelize AwsCli#ensureAwsCli across SSH hosts. Fix JPERF-518.
2.12.0 - 2019-07-08
- Makes ApacheEc2LoadBalancerFormula available as part of API
- Let
AwsDatasetModification
build theDataset
without disturbing theInfrastructureFormula
and vice versa. - Add
SshMysqlDatasetPublication
. Resolve JPERF-519. - Add
DatasetCatalogue().smallJiraSeven()
. Unblock JPERF-214.
- Error while AwsDatasetModification saves dataset. Fix JPERF-515.
- Update jira configuration if ApacheLoadBalancer is chosen. Fix JPERF-506
- Fix
Ec2VirtualUsersFormula
network. Fix JPERF-406. - Fix
StandaloneFormula
network. Fix JPERF-516.
- Replace
AwsDatasetModification.formula
with a pair ofdataset
andhost
.
2.11.0 - 2019-07-01
- Add
AwsDatasetModification
. Resolve JPERF-509.
2.10.1 - 2019-06-24
- Configure Ehcache listener. Fix JPERF-503.
2.10.0 - 2019-06-21
- Add the parameter for specifying volume size. Resolve JPERF-26.
2.9.0 - 2019-05-28
- Add support for
infrastructure:4.12
. - Add support for Apache proxy load balancer.
- Make
Ubuntu
thread safe. Resolve JPERF-468. - Fixed unequal VU distribution amongst jira nodes. Resolve JPERF-486.
2.8.0 - 2019-04-17
- Give more control over
VirtualUserOptions
. Resolve JPERF-451.
- Deprecate the hardcoded admin credentials in
Infrastructure.applyLoad
.
- Increase timeout for creating the filesystem on ephemeral storage. Resolve JPERF-433.
- Install Jira and download dataset at the same time. Fix JPERF-457.
2.7.3 - 2019-03-28
- Increase timeout for creating the filesystem on ephemeral storage. The timeout was too small to resolve JPERF-433.
2.7.2 - 2019-03-27
- Fix duplicated virtual user node order. Fix JPERF-431.
2.7.1 - 2019-03-19
- Copy the
databaseComputer
in Jira formula builders.
2.7.0 - 2019-03-07
- Gather Thread Dumps during Jira startup.
- Add support for
infrastructure:4.10
. - Add support for configurable database's
Computer
. Resolve JPERF-414. - Add support for
M4ExtraLargeElastic
computer. - Add support for
M5ExtraLargeEphemeral
computer.
- Gather Jira logs even if the node doesn't start in time. Resolve JPERF-404.
- Download and unzip datasets in parallel. Resolve JPERF-412 and JPERF-413.
- Utilise ephemeral drive for shared home if provided. Resolve JPERF-415.
2.6.0 - 2019-02-28
- Provision a shared network for
InfrastructureFormula
. Progress on JPERF-357. Override it in:DataCenterFormula
StandaloneFormula
StackVirtualUsersFormula
Ec2VirtualUsersFormula
MulticastVirtualUsersFormula
- Allow usage of different artifact sources than S3. Resolves JPERF-277.
- Deprecate
Ec2VirtualUsersFormula
constructors in favor of the builder. - Deprecate
DataCenterFormula.Builder
constructor in favor of the new one. - Deprecate
StandaloneFormula.Builder
constructor in favor of the new one. - Deprecate
ApplicationStorage
constructor in favor ofProductDistribution
. - Deprecate
JiraServiceDeskStorage
constructor in favor ofPublicJiraServiceDeskDistribution
. - Deprecate
JiraServiceDeskStorage
constructor in favor ofPublicJiraSoftwareDistribution
.
2.5.1 - 2019-01-18
- Attempt to download MySQL connector multiple times to make this procedure more reliable. Resolve JPERF-342.
2.5.0 - 2019-01-07
- Add an option to customise stack creation timeout for virtual users. Resolve JPERF-336
- Deprecate
StackVirtualUsers
constructors in favour of builder.
2.4.0 - 2019-01-03
- Add an option to customise stack creation timeout for Jira. Resolve JPERF-332
2.3.0 - 2018-12-21
- Add profiler support. Resolve JPERF-318.
2.2.0 - 2018-12-18
- Customise JDK Jira runs on. Resolve JPERF-305.
- Add
DatasetCatalogue.largeJiraSeven
as a replacement forDatasetCatalogue.largeJira
. - Add
DatasetCatalogue.largeJiraEight
dataset for Jira 8 which is necessary for JPERF-307.
- Deprecate
DatasetCatalogue.largeJira
.
2.1.1 - 2018-12-06 🎅
- Provision stacks in dedicated VPCs. Resolve JPERF-292.
2.1.0 - 2018-12-06
- Add support for
jira-actions:3
. Resolve JPERF-297.
2.0.0 - 2018-11-28
- Add support for other EC2 instance types. Resolve JPERF-276.
- Add support for
infrastructure:4
. - Add support for
ssh:2
. - Add support for
virtual-users:3
. - Respect the
JiraLaunchTimeouts.unresponsivenessTimeout
inStandaloneStoppedNode
. Resolve JPERF-271.
- Reduce apt-get usage in
AwsCli
. Mitigate JPERF-219. - Increase awscli-bundle install timeout. Fix JPERF-266.
- Cease to rewrite
VirtualUserOptions
parameters, allowingaws-infrastructure
to forward new parameters without releasing new rewrite code every timevirtual-users
releases a new parameter. Resolve JPERF-252.
- Drop support for
infrastructure:2
. - Drop support for
ssh:1
. - Drop support for
virtual-users:2
. - Remove Kotlin data-class generated methods from API.
- Remove all deprecated API.
1.4.0 - 2018-10-31
- Respect
JiraNodeConfig.launchTimeouts
inStandaloneFormula
andDataCenterFormula
. Resolve JPERF-216.
It was a botched 1.4.0 release. Don't use new APIs from this version, switch to 1.4.0 instead.
1.3.0 - 2018-10-26
1.2.1 - 2018-10-19
- Respect the
DataCenterFormula.computer
parameter. Fix JPERF-220.
1.2.0 - 2018-10-16
- Support different hardware specifications for Jira nodes.
- Support fast block storage for Jira nodes. Resolve JPERF-164 and JPERF-120.
- Improve logging to find the SSH login and JPT-issued-commands more easily.
- Speed up Jira home provisioning for the
largeJira
dataset by removing the Jira backups.
- Deprecate formula constructors, which don't enforce a computer choice.
1.1.1 - 2018-10-03
- Increase the timeouts when storing custom datasets.
1.1.0 - 2018-09-25
- Forward logs to Splunk from a predefined directory on Virtual User nodes.
1.0.2 - 2018-09-11
- Increase Jira home download time for the large Jira dataset. Fix JPERF-68.
1.0.1 - 2018-09-10
- Increase Jira home download time for the large Jira dataset. Fix JPERF-68.
1.0.0 - 2018-09-05
- Require APT
jira-actions:2
. - Define the public API.
- Use stable APT APIs.
0.1.1 - 2018-08-28
- Allow throttling virtual user diagnostics.
0.0.3 - 2018-08-27
- JPERF-26 - Increase Jira AWS Instance disk size.
0.0.2 - 2018-08-24
- License.
- Add this change log.
- Depend on a stable version of APT
infrastructure
.
0.0.1 - 2018-08-03
- Migrate provisioning of JPT infrastructure in AWS from a JPT submodule.
- Add README.md.
- Configure Bitbucket Pipelines.