chore: remove packer from installer

This moves to making AWS releases align with Azure, and GCP. We no
longer need packer since we will now release an artifact that users can
import.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This commit is contained in:
Andrew Rynhard 2019-09-09 22:21:58 +00:00
parent 9a50da0ed7
commit 44dd2fc7c9
5 changed files with 129 additions and 204 deletions

View File

@ -833,6 +833,23 @@ steps:
depends_on:
- basic-integration
- name: image-aws
image: autonomy/build-container:latest
commands:
- make image-aws
environment:
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-azure
image: autonomy/build-container:latest
commands:
@ -867,13 +884,21 @@ steps:
depends_on:
- installer
- name: image-snap-aws
- name: push-image-aws
image: autonomy/build-container:latest
commands:
- make image-snap-aws
- make push-image-aws
environment:
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
volumes:
- name: dockersock
path: /var/run
@ -882,7 +907,7 @@ steps:
- name: tmp
path: /tmp
depends_on:
- installer
- image-aws
- name: push-image-azure
image: autonomy/build-container:latest
@ -934,21 +959,14 @@ steps:
depends_on:
- image-gcp
- name: push-image-snap-aws
- name: e2e-integration-aws
image: autonomy/build-container:latest
commands:
- make push-image-snap-aws
- make e2e-integration
environment:
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
PLATFORM: aws
volumes:
- name: dockersock
path: /var/run
@ -957,7 +975,8 @@ steps:
- name: tmp
path: /tmp
depends_on:
- image-snap-aws
- capi
- push-image-aws
- name: e2e-integration-azure
image: autonomy/build-container:latest
@ -997,25 +1016,6 @@ steps:
- capi
- push-image-gcp
- name: e2e-integration-aws
image: autonomy/build-container:latest
commands:
- make e2e-integration
environment:
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
PLATFORM: aws
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- capi
- push-image-snap-aws
services:
- name: docker
image: docker:19.03-dind
@ -1461,6 +1461,23 @@ steps:
depends_on:
- basic-integration
- name: image-aws
image: autonomy/build-container:latest
commands:
- make image-aws
environment:
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-azure
image: autonomy/build-container:latest
commands:
@ -1495,13 +1512,21 @@ steps:
depends_on:
- installer
- name: image-snap-aws
- name: push-image-aws
image: autonomy/build-container:latest
commands:
- make image-snap-aws
- make push-image-aws
environment:
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
volumes:
- name: dockersock
path: /var/run
@ -1510,7 +1535,7 @@ steps:
- name: tmp
path: /tmp
depends_on:
- installer
- image-aws
- name: push-image-azure
image: autonomy/build-container:latest
@ -1562,21 +1587,15 @@ steps:
depends_on:
- image-gcp
- name: push-image-snap-aws
- name: conformance-aws
image: autonomy/build-container:latest
commands:
- make push-image-snap-aws
- make e2e-integration
environment:
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
CONFORMANCE: run
PLATFORM: aws
volumes:
- name: dockersock
path: /var/run
@ -1585,7 +1604,8 @@ steps:
- name: tmp
path: /tmp
depends_on:
- image-snap-aws
- capi
- push-image-aws
- name: conformance-azure
image: autonomy/build-container:latest
@ -1627,26 +1647,6 @@ steps:
- capi
- push-image-gcp
- name: conformance-aws
image: autonomy/build-container:latest
commands:
- make e2e-integration
environment:
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
CONFORMANCE: run
PLATFORM: aws
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- capi
- push-image-snap-aws
services:
- name: docker
image: docker:19.03-dind
@ -2092,6 +2092,23 @@ steps:
depends_on:
- basic-integration
- name: image-aws
image: autonomy/build-container:latest
commands:
- make image-aws
environment:
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-azure
image: autonomy/build-container:latest
commands:
@ -2126,13 +2143,21 @@ steps:
depends_on:
- installer
- name: image-snap-aws
- name: push-image-aws
image: autonomy/build-container:latest
commands:
- make image-snap-aws
- make push-image-aws
environment:
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
volumes:
- name: dockersock
path: /var/run
@ -2141,7 +2166,7 @@ steps:
- name: tmp
path: /tmp
depends_on:
- installer
- image-aws
- name: push-image-azure
image: autonomy/build-container:latest
@ -2193,21 +2218,15 @@ steps:
depends_on:
- image-gcp
- name: push-image-snap-aws
- name: conformance-aws
image: autonomy/build-container:latest
commands:
- make push-image-snap-aws
- make e2e-integration
environment:
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
CONFORMANCE: run
PLATFORM: aws
volumes:
- name: dockersock
path: /var/run
@ -2216,7 +2235,8 @@ steps:
- name: tmp
path: /tmp
depends_on:
- image-snap-aws
- capi
- push-image-aws
- name: conformance-azure
image: autonomy/build-container:latest
@ -2258,26 +2278,6 @@ steps:
- capi
- push-image-gcp
- name: conformance-aws
image: autonomy/build-container:latest
commands:
- make e2e-integration
environment:
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
CONFORMANCE: run
PLATFORM: aws
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- capi
- push-image-snap-aws
services:
- name: docker
image: docker:19.03-dind

View File

@ -282,8 +282,6 @@ RUN apk --update add \
unzip \
util-linux \
xfsprogs
COPY --from=hashicorp/packer:1.4.2 /bin/packer /bin/packer
COPY hack/installer/packer.json /packer.json
COPY hack/installer/entrypoint.sh /bin/entrypoint.sh
COPY --from=kernel /vmlinuz /usr/install/vmlinuz
COPY --from=rootfs /usr/lib/syslinux/ /usr/lib/syslinux

View File

@ -154,11 +154,16 @@ installer: buildkitd
.PHONY: image-aws
image-aws:
@docker run --rm -it \
-e AWS_ACCESS_KEY_ID=$(AWS_ACCESS_KEY_ID) \
-e AWS_SECRET_ACCESS_KEY=$(AWS_SECRET_ACCESS_KEY) \
-e AWS_DEFAULT_REGION=$(AWS_DEFAULT_REGION) \
autonomy/installer:$(TAG) ami -var regions=${AWS_PUBLISH_REGIONS} -var visibility=all
@docker run --rm -v /dev:/dev -v $(PWD)/build:/out \
--privileged $(DOCKER_ARGS) \
autonomy/installer:$(TAG) \
install \
-n aws \
-r \
-p aws \
-u none
@tar -C $(PWD)/build -czf $(PWD)/build/aws.tar.gz aws.raw
@rm -rf $(PWD)/build/aws.raw
.PHONY: image-azure
image-azure:
@ -181,10 +186,6 @@ image-azure:
@tar -C $(PWD)/build -czf $(PWD)/build/azure.tar.gz azure.vhd
@rm -rf $(PWD)/build/azure.raw $(PWD)/build/azure.vhd
.PHONY: push-image-azure
push-image-azure:
@TAG=$(TAG) ./hack/test/azure-setup.sh
.PHONY: image-gcp
image-gcp:
@docker run --rm -v /dev:/dev -v $(PWD)/build:/out \
@ -198,27 +199,18 @@ image-gcp:
@tar -C $(PWD)/build -czf $(PWD)/build/gcp.tar.gz disk.raw
@rm -rf $(PWD)/build/disk.raw
.PHONY: push-image-aws
push-image-aws:
@TAG=$(TAG) ./hack/test/aws-setup.sh
.PHONY: push-image-azure
push-image-azure:
@TAG=$(TAG) ./hack/test/azure-setup.sh
.PHONY: push-image-gcp
push-image-gcp:
@TAG=$(TAG) ./hack/test/gcp-setup.sh
.PHONY: image-snap-aws
image-snap-aws:
@docker run --rm -v /dev:/dev -v $(PWD)/build:/out \
--privileged $(DOCKER_ARGS) \
autonomy/installer:$(TAG) \
install \
-n aws \
-r \
-p aws \
-u none
@tar -C $(PWD)/build -czf $(PWD)/build/aws.tar.gz aws.raw
@rm -rf $(PWD)/build/aws.raw
.PHONY: push-image-snap-aws
push-image-snap-aws:
@TAG=$(TAG) ./hack/test/aws-setup.sh
.PHONY: image-test
image-test:
@docker run --rm -v /dev:/dev -v /tmp:/out --privileged $(DOCKER_ARGS) autonomy/installer:$(TAG) install -n test -r -p test -u none

View File

@ -240,28 +240,28 @@ local creds_env_vars = {
AWS_SVC_ACCT: {from_secret: "aws_svc_acct"},
};
local image_aws = Step("image-aws", depends_on=[installer]);
local image_azure = Step("image-azure", depends_on=[installer]);
local image_gcp = Step("image-gcp", depends_on=[installer]);
local image_snap_aws = Step("image-snap-aws", depends_on=[installer]);
local capi = Step("capi", depends_on=[basic_integration], environment=creds_env_vars);
local push_image_aws = Step("push-image-aws", depends_on=[image_aws], environment=creds_env_vars);
local push_image_azure = Step("push-image-azure", depends_on=[image_azure], environment=creds_env_vars);
local push_image_gcp = Step("push-image-gcp", depends_on=[image_gcp], environment=creds_env_vars);
local push_image_snap_aws = Step("push-image-snap-aws", depends_on=[image_snap_aws], environment=creds_env_vars);
local e2e_integration_aws = Step("e2e-integration-aws", "e2e-integration", depends_on=[capi, push_image_aws], environment={PLATFORM: "aws"});
local e2e_integration_azure = Step("e2e-integration-azure", "e2e-integration", depends_on=[capi, push_image_azure], environment={PLATFORM: "azure"});
local e2e_integration_gcp = Step("e2e-integration-gcp", "e2e-integration", depends_on=[capi, push_image_gcp], environment={PLATFORM: "gcp"});
local e2e_integration_aws = Step("e2e-integration-aws", "e2e-integration", depends_on=[capi, push_image_snap_aws], environment={PLATFORM: "aws"});
local e2e_steps = default_steps + [
capi,
image_aws,
image_azure,
image_gcp,
image_snap_aws,
push_image_aws,
push_image_azure,
push_image_gcp,
push_image_snap_aws,
e2e_integration_aws,
e2e_integration_azure,
e2e_integration_gcp,
e2e_integration_aws,
];
local e2e_trigger = {
@ -276,21 +276,21 @@ local e2e_pipeline = Pipeline('e2e', e2e_steps) + e2e_trigger;
// Conformance pipeline.
local conformance_aws = Step("conformance-aws", "e2e-integration", depends_on=[capi, push_image_aws], environment={PLATFORM: "aws", CONFORMANCE: "run"});
local conformance_azure = Step("conformance-azure", "e2e-integration", depends_on=[capi, push_image_azure], environment={PLATFORM: "azure", CONFORMANCE: "run"});
local conformance_gcp = Step("conformance-gcp", "e2e-integration", depends_on=[capi, push_image_gcp], environment={PLATFORM: "gcp", CONFORMANCE: "run"});
local conformance_aws = Step("conformance-aws", "e2e-integration", depends_on=[capi, push_image_snap_aws], environment={PLATFORM: "aws", CONFORMANCE: "run"});
local conformance_steps = default_steps + [
capi,
image_aws,
image_azure,
image_gcp,
image_snap_aws,
push_image_aws,
push_image_azure,
push_image_gcp,
push_image_snap_aws,
conformance_aws,
conformance_azure,
conformance_gcp,
conformance_aws,
];
local conformance_trigger = {

View File

@ -1,65 +0,0 @@
{
"variables": {
"built": "{{ isotime }}"
},
"builders": [
{
"type": "amazon-ebssurrogate",
"region": "{{ user `region` }}",
"ssh_pty": true,
"instance_type": "t2.micro",
"associate_public_ip_address": true,
"ssh_username": "ubuntu",
"ssh_timeout": "5m",
"source_ami": "ami-03fa1f014b48fa6bd",
"force_deregister": true,
"force_delete_snapshot": true,
"launch_block_device_mappings": [
{
"device_name": "/dev/xvdf",
"delete_on_termination": true,
"volume_size": 8,
"volume_type": "gp2"
}
],
"run_tags": {
"Name": "Packer - Talos {{ user `version` }}"
},
"run_volume_tags": {
"Name": "Packer - Talos {{ user `version` }}"
},
"ami_name": "talos-amd64-hvm-{{ user `version` }}",
"ami_description": "Talos (HVM)",
"ami_virtualization_type": "hvm",
"ami_regions": "{{ user `regions` }}",
"ami_groups": "{{ user `visibility` }}",
"ami_root_device": {
"source_device_name": "/dev/xvdf",
"device_name": "/dev/xvda",
"delete_on_termination": true,
"volume_size": 8,
"volume_type": "gp2"
},
"ena_support": true,
"tags": {
"Name": "Talos {{ user `version` }}",
"Built": "{{ user `built` }}"
}
}
],
"provisioners": [
{
"type": "shell",
"inline": [
"while [ ! -f /var/lib/cloud/instance/boot-finished ]; do echo 'Waiting for cloud-init...'; sleep 1; done"
]
},
{
"type": "shell",
"inline": [
"curl -fsSL get.docker.com | sudo sh",
"sudo docker run --privileged --volume /dev:/dev autonomy/installer:{{ user `version` }} install -d /dev/xvdf -p aws -u none"
]
}
]
}