mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
74 lines
2.1 KiB
JavaScript
Executable File
74 lines
2.1 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
'use strict'
|
|
|
|
require('essentials')
|
|
require('log-node')()
|
|
|
|
const log = require('log').get('serverless')
|
|
const awsRequest = require('@serverless/test/aws-request')
|
|
const CloudFormationService = require('aws-sdk').CloudFormation
|
|
const EC2Service = require('aws-sdk').EC2
|
|
const KafkaService = require('aws-sdk').Kafka
|
|
|
|
const {
|
|
SHARED_INFRA_TESTS_CLOUDFORMATION_STACK,
|
|
getDependencyStackOutputMap,
|
|
} = require('../../test/utils/cloudformation')
|
|
|
|
;(async () => {
|
|
log.notice('Starting teardown of integration infrastructure...')
|
|
const describeClustersResponse = await awsRequest(
|
|
KafkaService,
|
|
'listClusters',
|
|
)
|
|
const clusterConfArn =
|
|
describeClustersResponse.ClusterInfoList[0].CurrentBrokerSoftwareInfo
|
|
.ConfigurationArn
|
|
|
|
const outputMap = await getDependencyStackOutputMap()
|
|
|
|
log.notice('Removing leftover ENI...')
|
|
const describeResponse = await awsRequest(
|
|
EC2Service,
|
|
'describeNetworkInterfaces',
|
|
{
|
|
Filters: [
|
|
{
|
|
Name: 'vpc-id',
|
|
Values: [outputMap.get('VPC')],
|
|
},
|
|
{
|
|
Name: 'status',
|
|
Values: ['available'],
|
|
},
|
|
],
|
|
},
|
|
)
|
|
try {
|
|
await Promise.all(
|
|
describeResponse.NetworkInterfaces.map((networkInterface) =>
|
|
awsRequest(EC2Service, 'deleteNetworkInterface', {
|
|
NetworkInterfaceId: networkInterface.NetworkInterfaceId,
|
|
}),
|
|
),
|
|
)
|
|
} catch (e) {
|
|
log.error(`Error: ${e} while trying to remove leftover ENIs\n`)
|
|
}
|
|
log.notice('Removing integration tests CloudFormation stack...')
|
|
await awsRequest(CloudFormationService, 'deleteStack', {
|
|
StackName: SHARED_INFRA_TESTS_CLOUDFORMATION_STACK,
|
|
})
|
|
await awsRequest(CloudFormationService, 'waitFor', 'stackDeleteComplete', {
|
|
StackName: SHARED_INFRA_TESTS_CLOUDFORMATION_STACK,
|
|
})
|
|
log.notice('Removed integration tests CloudFormation stack!')
|
|
log.notice('Removing MSK Cluster configuration...')
|
|
await awsRequest(KafkaService, 'deleteConfiguration', {
|
|
Arn: clusterConfArn,
|
|
})
|
|
log.notice('Removed MSK Cluster configuration')
|
|
log.notice('Teardown of integration infrastructure finished')
|
|
})()
|