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

Add the OpenStack UPI enhancement proposal #23

Merged
merged 1 commit into from
Dec 11, 2019

Conversation

tomassedovic
Copy link
Contributor

This adds a proposal to implement OpenStack UPI in 4.3.

The initial support should mostly just document and automate (with Ansible) what the IPI work does, taking inspiration from the existing UPI documents.

@openshift-ci-robot openshift-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Sep 18, 2019
@tomassedovic
Copy link
Contributor Author

I've added @mandre as my OpenStack partner in crime, @luis5tb as the Kuryr mastermind and @wking and @cuppett as the AWS UPI heroes (based on git history) as they may have perspective we're missing here.

Copy link
Member

@mandre mandre left a comment

Choose a reason for hiding this comment

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

Really great doc Tomas, thanks for writing it.

openstack-upi/openstack-upi.md Outdated Show resolved Hide resolved
openstack-upi/openstack-upi.md Outdated Show resolved Hide resolved
openstack-upi/openstack-upi.md Outdated Show resolved Hide resolved
openstack-upi/openstack-upi.md Outdated Show resolved Hide resolved
@abhinavdahiya
Copy link
Contributor

Since automation is going to be done with the help of Ansible, have we considered that RHCOS does not come with python installed. And I have previously seen some Ansible modules requiring python on target machines.

@mandre
Copy link
Member

mandre commented Oct 20, 2019

Since automation is going to be done with the help of Ansible, have we considered that RHCOS does not come with python installed. And I have previously seen some Ansible modules requiring python on target machines.

Hold on, the rhcos image I'm looking at has python 3.6 at /usr/libexec/platform-python. Are there any plans of removing python in the future? /cc @cgwalters

@cgwalters
Copy link
Member

Are there any plans of removing python in the future? /cc @cgwalters

Fedora CoreOS has done it already. See coreos/fedora-coreos-tracker#32

The best pattern is to run Ansible from a container image, not the host. This proposal seems to be about using Ansible to control the OpenStack infra, which should work perfectly well in a container. Where things get a bit trickier is if you want a containerized Ansible to affect the host - do you e.g. need to make changes on the bootstrap host too?

@mandre
Copy link
Member

mandre commented Oct 21, 2019

Thanks folks for your input. I'm not sure whether we have anything that requires python in the rhcos image (nodes running rhcos will be the target nodes) however we'll definitively keep that info in the back of our mind while developing the ansible scripts.

@tomassedovic
Copy link
Contributor Author

The OpenStack cloud Ansible modules only require Python on the machine calling Ansible (and you need it there for Ansible itself).

The modules themselves call the OpenStack APIs and are only used for the creation of the OpenStack resources (e.g. networks, subnets, floating IP addresses, security groups, servers, ports etc.)

There is no requirement for Python or even SSH on the RHCOS images for this to work.

@mandre
Copy link
Member

mandre commented Dec 3, 2019

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Dec 3, 2019
the [bare metal][baremetal-upi] document or try to translate concepts
from the AWS one.

[baremetal-upi]: https://github.com/openshift/installer/blob/master/docs/user/metal/install_upi.md
Copy link
Contributor

Choose a reason for hiding this comment

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

move this to the end of the document.


## Summary

The initial OpenStack support for OpenShift 4 was around the IPI
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: IPI installer-provisioned

The initial OpenStack support for OpenShift 4 was around the IPI
workflow. While this is the most convenient approach for the end-users
of OpenStack, there are situations where it falls short. People who
want to use OpenStack UPI today have to fall back on
Copy link
Contributor

Choose a reason for hiding this comment

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

People who want to use OpenStack UPI today have to fall back on
the [bare metal][baremetal-upi] document or try to translate concepts
from the AWS one.

hmm, not sure what you mean here?

[baremetal-upi]: https://github.com/openshift/installer/blob/master/docs/user/metal/install_upi.md

Similar to AWS and GCP, we want to provide the documentation and
automation (via Ansible) that is specific to OpenStack -- using the
Copy link
Contributor

Choose a reason for hiding this comment

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

automation and user-provisioned are kinda weird. the goal is provide a reference...

@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Dec 3, 2019
@pierreprinetti
Copy link
Member

@abhinavdahiya PTAL

@pierreprinetti pierreprinetti force-pushed the openstack-upi branch 3 times, most recently from 9fa042f to ab3dad2 Compare December 9, 2019 17:25
@iamemilio
Copy link

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Dec 9, 2019
Comment on lines 80 to 86
Configurations and integrations that are not currently supported by
the OpenStack IPI. For example:

Things such as detailed steps for the provider network support, using
Octavia or Designate for the load balancer / DNS, custom storage
integration and so on can be added as optional sections once the
initial UPI work is complete.
Copy link
Contributor

Choose a reason for hiding this comment

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

hmm.. the goal of user-provisioned is to give users more freedom compared to installer-provisioned.

Can we scope this non-goals to specific use-cases that will not be supported. Or mark those use-cases not-implemented for now?

/cc @crawford @sdodson

@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Dec 10, 2019
@pierreprinetti
Copy link
Member

Thanks again @abhinavdahiya, I think I have addressed your comments.

/cc @sdodson @crawford

https://github.com/openshift/installer/blob/master/docs/user/openstack/install_upi.md
* Ansible playbooks for automating the OpenStack resource creation
available under:
https://github.com/openshift/installer/tree/master/upi/openstack
Copy link
Member

Choose a reason for hiding this comment

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

The contents of installer/upi are not shipped in any artifacts today. You'll notice that th AWS templates are actually copied and pasted into documentation. ex: https://docs.openshift.com/container-platform/4.2/installing/installing_aws_user_infra/installing-aws-user-infra.html#installation-cloudformation-vpc_installing-aws-user-infra

Are we going to be doing the same or does there need to be some new artifact which contains these files?

Copy link
Member

Choose a reason for hiding this comment

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

The idea is to ship the playbooks as documentation (having them in the installer repo will come handy for testing them in the CI). That's in our backlog. Should I amend the RFE to mention that intention?

Copy link
Member

Choose a reason for hiding this comment

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

Ok, that's fine. I'd just suggest keeping that in mind when developing them as it will be somewhat limiting in how you structure things.

@sdodson
Copy link
Member

sdodson commented Dec 11, 2019

/approve
Need to sort out playbook delivery though.

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 11, 2019
@sdodson
Copy link
Member

sdodson commented Dec 11, 2019

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Dec 11, 2019
@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: iamemilio, mandre, sdodson, tomassedovic

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

The pull request process is described here

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

@openshift-merge-robot openshift-merge-robot merged commit 6ef2eb6 into openshift:master Dec 11, 2019
@pierreprinetti pierreprinetti deleted the openstack-upi branch December 11, 2019 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants