Skip to content

Conversation

@jcpowermac
Copy link
Contributor

Reuses existing AWS IPI terraform and vSphere UPI
terraform to support VMware Cloud on AWS which
will be the replacement of Packet for CI.

@openshift-ci-robot openshift-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Oct 31, 2019
@jcpowermac
Copy link
Contributor Author

This most certainly will not pass CI. Would like to start getting review while I am still testing and modifying.
Needs documentation updates as well.

@DanyC97
Copy link
Contributor

DanyC97 commented Nov 12, 2019

@jcpowermac just a heads up in case you haven't seen #2057 which i was trying to get it in for a long time but it was put on hold by the installer team lead.

While i understand from your work that you are focusing on extending the work done initially to run the whole VMware deployment in AWS, i do worry that you are changing the scope which will affect folks who were using this upi sample to bootstrap OCP on a standalone VMware env.

If the installer team desire is to have this upi examples used for CI only then may i suggest you add a bold note so everyone knows that they are not consumable outside RH CI ?

@jcpowermac
Copy link
Contributor Author

@jcpowermac just a heads up in case you haven't seen #2057 which i was trying to get it in for a long time but it was put on hold by the installer team lead.

While i understand from your work that you are focusing on extending the work done initially to run the whole VMware deployment in AWS, i do worry that you are changing the scope which will affect folks who were using this upi sample to bootstrap OCP on a standalone VMware env.

If the installer team desire is to have this upi examples used for CI only then may i suggest you add a bold note so everyone knows that they are not consumable outside RH CI ?

Hi @DanyC97 if you have any suggestions I am certainly open to it. Though atm my priority is to have CI green which is why we are moving to VMC. I teased apart the IPAM and Route53 terraform from the virtual machine creation so that someone could actually use it without requiring either. That is how I initially tested VMC: ran the AWS terraform that created DNS and LB then ran the terraform that created the virtual machines. Theoretically as long as you had DNS configured correctly with whatever you use it should work.

@jcpowermac jcpowermac force-pushed the vmware_on_aws branch 3 times, most recently from ad6b73c to 7d63493 Compare November 18, 2019 15:25
@jcpowermac jcpowermac changed the title [wip] OpenShift on VMware Cloud on AWS OpenShift on VMware Cloud on AWS Nov 18, 2019
@openshift-ci-robot openshift-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 18, 2019
Copy link
Contributor

@patrickdillon patrickdillon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a few comments, granted that I don't have background in vsphere. have not had a chance to look at the changes in machine, which it looks like are substantial

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these variables private- and public_subnet_ids used? I can't find subsequent references to them. Where do aws_subnet variables come from?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are these cidr ranges used? I can't find subsequent references to them but perhaps I am missing something.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: new_vpc makes me think we are creating a vpc, when we are reading it in. cluster?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I find it curious to have a hard coded value as a module output

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@patrickdillon /shrug I took the AWS terraform from aws IPI and modified it for VMC. Even in 4.3 its a hard coded output:

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this being used?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this being used?

Copy link
Member

@wking wking Nov 23, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: "terraform" -> "Terraform", here and later.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: openshift-installer -> openshift-install

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: "ignition" -> "Ignition", here and later.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: We can probably drop "for OpenShift RHCOS virtual machines" while remaining sufficiently specific. For comparison, AWS and GCP docs have "Create Ignition configs" (they disagree on Configs vs. configs, I don't think we have a clear title vs. sentence case policy for h2+ ;).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: no need for the leading ./ or trailing /. Not that it matters much, for folks copy/pasting.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: brace expansion is a Bashism. We'd be portable across all POSIX shells with:

cp install-config.yaml.example install-config.yaml

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: doesn't really add much in the way of syntax highlighting in most cases, but it's nice to explicitly declare this to be a shell block with ```sh.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: no need for this leading document separator, and most of our other YAML examples omit it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: did we want to fill these in with placeholders/examples like these examples?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: maybe rephrase to:

This is an internal Terraform module for installing OpenShift in a VMware Cloud on AWS.

That makes implicitly not for other uses, so we don't have to talk about how not-useful it is going to be for those off-label uses ;)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want to address this before merging? I don't see a problem with a single zone for Terraform modules we use for internal testing. Folks who want a vSphere cluster are probably not going to be using AWS, because if you want a cluster on AWS you'd just use our native AWS providers, right?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can drop this if you go with a single zone.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know the AWS Terraform uses master/worker, but if you already have control-plane/compute in the vSphere Terraform I'd rather stay with it instead of backsliding. See also #1330.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: backticks around paths and other literals: terraform.tfvars.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: trailing empty line.

@jcpowermac
Copy link
Contributor Author

Thanks @wking and @patrickdillon for taking the time to review. I am in process of cleaning it up. Will need to retest.

@jcpowermac jcpowermac force-pushed the vmware_on_aws branch 4 times, most recently from b700611 to 4c93cd0 Compare November 25, 2019 19:52
@jcpowermac
Copy link
Contributor Author

@wking and @patrickdillon I think I addressed all the concerns. Though I wonder if we shouldn't move to terraform 0.12? From the template it looks like only vSphere is using terraform. The only other UPI that is still terraform 0.11 is Metal but it doesn't look like that template is used with it.

@jcpowermac jcpowermac force-pushed the vmware_on_aws branch 2 times, most recently from 916f5d6 to 22ce1ed Compare December 4, 2019 23:11
@openshift-ci-robot openshift-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 4, 2019
@jcpowermac
Copy link
Contributor Author

/hold
Started having issues with injecting ignition into extra config.

@openshift-ci-robot openshift-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 4, 2019
Reuses existing AWS IPI terraform and vSphere UPI
terraform to support VMware Cloud on AWS which
will be the replacement of Packet for CI.
Need 0.21.0 of govc to support content library in vSphere vCenter.
Use ignition.config.data inplace of guestinfo
@openshift-ci-robot openshift-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 12, 2019
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign smarterclayton
You can assign the PR to them by writing /assign @smarterclayton in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jstuever
Copy link
Contributor

/uncc @jstuever

@openshift-ci-robot openshift-ci-robot removed the request for review from jstuever January 10, 2020 23:08
@openshift-ci-robot
Copy link
Contributor

@jcpowermac: PR needs rebase.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@openshift-ci-robot openshift-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 10, 2020
@openshift-ci-robot
Copy link
Contributor

@jcpowermac: The following tests failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
ci/prow/e2e-aws-upgrade 9abafe8 link /test e2e-aws-upgrade
ci/prow/e2e-aws-fips 9abafe8 link /test e2e-aws-fips
ci/prow/tf-lint 9abafe8 link /test tf-lint
ci/prow/shellcheck 9abafe8 link /test shellcheck
ci/prow/yaml-lint 9abafe8 link /test yaml-lint

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jcpowermac
Copy link
Contributor Author

/close

@openshift-ci-robot
Copy link
Contributor

@jcpowermac: Closed this PR.

Details

In response to this:

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants