Skip to content
This repository has been archived by the owner on Feb 5, 2020. It is now read-only.

Multistep bootstrap - WIP #2802

Closed
wants to merge 5 commits into from

Conversation

enxebre
Copy link
Member

@enxebre enxebre commented Jan 23, 2018

This decouples the main bootstrapping process into 5 steps:
To deploy: mkdir cluster-aws; cd cluster-aws and create your terraform.tfvars

  • Generate tls content
    terraform apply -state tls.tfstate ../steps/tls/
  • Generate assets e.g operator manifests (and NCG ignition config manifests, this will need to be consolidated with NCG/chain model generation)
    terraform apply -state assets.tfstate ../steps/assets/
  • Generate Ignition config for bootstrap node
    terraform apply -state ignition.tfstate ../steps/ignition/
  • Deploy the bootstrap node which runs the ncg
    terraform apply -state bootstrap.tfstate ../steps/bootstrap/
    wait for ncg to run, then:
    terraform destroy -force -state=bootstrap.tfstate -target aws_route53_record.tectonic_ncg ../steps/bootstrap/
  • Scale the cluster to the target size by deploying the joining nodes consuming from the NCG
    terraform import -state=joining.tfstate -config=../steps/joining/ aws_autoscaling_group.masters cluster-aws-masters
    terraform apply -state joining.tfstate ../steps/joining

This also removes all leader election logic.

TODO:

  • To avoid skew between the bootstrap node and ncg nodes, currently the bootstrap node gets its s3 ignition config (identical to NCG config) through an http endpoint. This needs to be addressed before merging.
  • To stop NCG config manifests to be deployed to other platforms (doing it for convenience at the minute)
  • Each step before 4 bootstrap and 5 joining are almost cloud agnostic and should be moved from terraform to best suited specific tools
  • Once Cli tool #2806 lands it will need to be added support for this multistep workflow

@coreosbot
Copy link

Can one of the admins verify this patch?

@enxebre enxebre changed the base branch from master to ut2-integration January 23, 2018 14:21
@enxebre enxebre force-pushed the poc-multistep branch 2 times, most recently from 71a57c9 to 07f5bd8 Compare January 23, 2018 14:35
@enxebre enxebre requested review from squat and alexsomesan January 23, 2018 14:37
@enxebre
Copy link
Member Author

enxebre commented Jan 23, 2018

cc @alexsomesan

@enxebre enxebre requested a review from sym3tri January 23, 2018 14:39
@enxebre enxebre force-pushed the poc-multistep branch 4 times, most recently from 331684f to c0129a1 Compare January 24, 2018 10:13
@enxebre enxebre changed the title Multistep bootstrap Multistep bootstrap - WIP Jan 29, 2018
@enxebre enxebre force-pushed the poc-multistep branch 2 times, most recently from c1380c3 to c435f21 Compare January 31, 2018 11:19
@enxebre enxebre mentioned this pull request Feb 1, 2018
@enxebre enxebre force-pushed the poc-multistep branch 3 times, most recently from 78fcdc9 to 64fe75a Compare February 2, 2018 13:28
alexsomesan and others added 4 commits February 5, 2018 16:18
* CLI MVP

* Kingpin bazel build

* Bazel: per-arch targets and top-level alias
* Re-add missing Bazel file for CLI package

* Missing EOL on last line
@enxebre
Copy link
Member Author

enxebre commented Feb 6, 2018

Closing this and breaking this down into separate smaller PRs starting with:
Assets generation - #2905
Two steps bootstrap #2924

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants