Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JPERF-273 AWS DC with hooks #117

Draft
wants to merge 28 commits into
base: master
Choose a base branch
from

Commits on Jul 3, 2019

  1. Configuration menu
    Copy the full SHA
    545a52a View commit details
    Browse the repository at this point in the history
  2. JPERF-273: Hooks part 2

    dagguh committed Jul 3, 2019
    Configuration menu
    Copy the full SHA
    9aa05ce View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1c8d601 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2019

  1. Configuration menu
    Copy the full SHA
    99bdab1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ca7af0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c0a7cf7 View commit details
    Browse the repository at this point in the history
  4. JPERF-273: Consume ParallelInstallation from infra e665f02052a18e95…

    …8c91ecdedc494b3fc0c0eaf3
    dagguh committed Jul 4, 2019
    Configuration menu
    Copy the full SHA
    87e2d1a View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2019

  1. Configuration menu
    Copy the full SHA
    be45676 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    26c17a4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c7e1e3f View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2019

  1. Configuration menu
    Copy the full SHA
    1f82ef7 View commit details
    Browse the repository at this point in the history
  2. Fix Jira home config in FlowServerFormulaIT

    Add builder API to customize a `JiraNodeFlow` rather than replacing it.
    The alternative is to only keep the replacement API, but we need a compact way to get the default as a caller.
    dagguh committed Oct 15, 2019
    Configuration menu
    Copy the full SHA
    19536d7 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2019

  1. Configuration menu
    Copy the full SHA
    9ff7298 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2019

  1. Configuration menu
    Copy the full SHA
    7014be4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    738e02a View commit details
    Browse the repository at this point in the history
  3. Introduce JiraInstanceHooks

    They can hook per instance rather than per node.
    There are two timings now: "pre-provision" and "instance URI available".
    They also have access to node hooks.
    dagguh committed Oct 17, 2019
    Configuration menu
    Copy the full SHA
    c8b45f4 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2019

  1. Configuration menu
    Copy the full SHA
    2dc69e5 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2019

  1. Replace local AwsMysqlServer with reused DockerMysqlServer

    Bump infra to 99198b597776318aadc02b19b3123d8b03415dee
    dagguh committed Oct 21, 2019
    Configuration menu
    Copy the full SHA
    dfa90c3 View commit details
    Browse the repository at this point in the history
  2. Fix RestUpgrade Report gathering

    Bump infra to be7978ed60b8bf903483d33e82562a3444e08ff8
    dagguh committed Oct 21, 2019
    Configuration menu
    Copy the full SHA
    ad201e6 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2021

  1. Bump infra to 83c3104a2a093ba5d6868817decfd1db18fb1906.

    Start working on `Infrastructure` based on `Future<ProvisionedStack>`.
    It should be able to split into dedicated sub-infras for DC nodes,
    mysql, LB.
    Use `NfsSharedHome` from infra.
    
    Open question: who should decide which ports should be open:
    * `Infrastructure` impl because the network setup already exists for BTF or
    shared CloudFormation stack?
    * consumers of `Infrastructure`, because MySQL knows it works on 3306
    and Samba knows it works on TCP 139, 445 and UDP 137, 138
    * both, where consumers give hints, but infra has the last word?
    dagguh committed Jun 25, 2021
    Configuration menu
    Copy the full SHA
    7641118 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2021

  1. Specialize JiraStack into sub-infras

    infrastructure snapshot from 290dd1bfea2291cbf05e88f47610c15ba4528c72
    dagguh committed Jul 16, 2021
    Configuration menu
    Copy the full SHA
    f11270d View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2021

  1. Compile

    dagguh committed Jul 23, 2021
    Configuration menu
    Copy the full SHA
    6f4d6ab View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    542eed8 View commit details
    Browse the repository at this point in the history
  3. Replace infra with server rooms

    Bump infra to 79b89cfb841dec34ce66e31b03ba6dbd477d2084
    
    Open problems:
    * plans shouldn't use resources, but some sub-plans require resources,
        * e.g. `Ec2ServerRoom` (and others) require `SshKey` and `Vpc`
        * make a "common resources" container and pass it via methods?
        * OR figure out resource passing via constructors (like `Future<SshKey>`?)
    * HTTP -> TCP -> SSH dependency chain doesn't match the real layers
        * in reality SSH depends on TCP 22, not the other way around
        * the problem is seen between `Ec2ServerRoom` and `AwaitingEc2`
        * maybe we need to model multi-ports in TCP? but how to distinguish
          HTTP 80 port from SSH 22 port or 3306 MySQL port? Samba needs many
    * `AutoCloseable` vs `Resource` for deprovisioning
    dagguh committed Jul 23, 2021
    Configuration menu
    Copy the full SHA
    d02be2b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6dc9d09 View commit details
    Browse the repository at this point in the history
  5. Put all the legacy provisioning features in LegacyAwsInfrastructure

    make it work, then refactor
    * maybe extract SSH/nonce/workspace/investment/network
      as a common resource and reuse across *separate* Jira/LB/VU
    dagguh committed Jul 23, 2021
    Configuration menu
    Copy the full SHA
    9ef21a0 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2021

  1. DC with hooks works on AWS!

    Build a bridge between LB formula (AWS) and LB plan (SSH).
    Copy `TokenScrollingEc2` from `aws-resources`.
    Bump infra to b6a4576d5059c323ad71ba55f9cb5a6151e097e3 to call
    preinstance hooks in parallel.
    Reuse `StackJiraNodes` instance, because it's stateful right now.
    Make `LegacyAwsInfrastructure` cheap to construct by deferring
    networking.
    dagguh committed Jul 30, 2021
    Configuration menu
    Copy the full SHA
    0b04926 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2021

  1. Fix report paths

    Consume infra ce8c26cd471ffe981bfb791be7fc218acf948e51
    
    Next steps:
    * pristine Jira DC Plan unencumbered by `LegacyAwsInfrastructure` or CFN
    * bridge from `JiraInstancePlan` to `JiraFormula` if possible
    * bridge the other way around if possible
    * can `SambaSharedHome` really work with just `TcpNode`?
    * do we actually need `Reports` transport via S3?
    * do we need bulk/directory transport for `Reports`?
    * add jpt-workspace as CI artifact
    * make hook collections append-only (`PreInstanceHooks` already are)
    dagguh committed Aug 6, 2021
    Configuration menu
    Copy the full SHA
    d76d359 View commit details
    Browse the repository at this point in the history