Add support of k8s cluster over opensuse distro

Registered by yatin

Add support of k8s suse driver in Magnum.
The driver is already included as a contrib driver in magnum:- https://review.openstack.org/#/c/349994/
Currently suse image is prepared using "kiwi"(https://doc.opensuse.org/projects/kiwi/doc/): reference:-https://build.opensuse.org/package/show/home:mjura:branches:Cloud:Images:Leap_42.1/openSUSE-Leap-42.1-OpenStack-K8s-Guest

Current flow to add a new driver: Add driver as a contrib driver, once following discussion points are met, it can be added as a main stream driver.
Discussion for inclusion of contrib driver as a main stream driver in magnum, can be updated based on further discussion:-
1) At least one known production user of Magnum using this driver.
2) All unit and functional tests implemented, and passing.
3) A commitment from a sponsor to "own" and maintain so that it's not a burden on the other community members.
As new features are added to the primary supported drivers, we ask that maintainers of alternate drivers keep pace with implementing those features as well, to keep parity. If all these expectations are met, then we should not object to having this in the main code branch.

As step 3 indicates, new features/updates are done to other drivers, so suse driver has to be synced with them. The bug: https://bugs.launchpad.net/magnum/+bug/1622949 describes the differences.

Major tasks to be done:-
- Image preparation using disk image builder like other drivers.
- Add image to public repository for end users to use. Users have both options to download already build image and can prepare their own image using the steps used in 1. The image link can be added to README of the added driver, later on to the userguide.
- Sync with other drivers as described in bug #1622949, if other differences arises with time those should also be handled.
- Test locally with the prepared image, try all possible combinations added(Ex: with or without lb, with or without floating ip, with or without private network, etc). These local tests are required initially as test cases for all combination if added as functional test then test time will increases too much.
- Add steps on how to enable contrib driver for users to use/try.
- Add functional tests
- Integrate with CI for automatic testing.
- Update Documentation with the driver use(cluster-template, cluster creation, cluster-config, etc), troubleshooting, etc.
- Add driver to main tree after magnum community agrees to it.

Tasks done:-
- Currently driver is downstream maintained/updated by suse team, add the updates to magnum.

Blueprint information

Status:
Started
Approver:
Spyros Trigazis
Priority:
Medium
Drafter:
yatin
Direction:
Approved
Assignee:
Sayali Lunkad
Definition:
New
Series goal:
Accepted for rocky
Implementation:
Started
Milestone target:
milestone icon rocky-3
Started by
yatin

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bug/1622949,n,z

Addressed by: https://review.openstack.org/400842
    [suse] Update k8s_opensuse_v1 driver

Gerrit topic: https://review.openstack.org/#q,topic:bp/k8s-opensuse-support,n,z

Addressed by: https://review.openstack.org/507522
    [opensuse] Move opensuse driver to main tree

Addressed by: https://review.openstack.org/520063
    WIP: Add opensuse image building

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.