theopenlab / openlab

Used for general work tracking, centralized reporting, easier third-party integration for metrics and data, and more.
Apache License 2.0
5 stars 1 forks source link

ClusterAPI Openstack Provider #141

Closed stevesloka closed 4 years ago

stevesloka commented 5 years ago

What is your focus?

If this is for an open source project what is it?

This is for the ClusterAPI provider implementation for OpenStack: https://github.com/kubernetes-sigs/cluster-api-provider-openstack

Brief project description

The Cluster API is a Kubernetes project to bring declarative, Kubernetes-style APIs to cluster creation, configuration, and management. It provides optional, additive functionality on top of core Kubernetes. The Openstack provider implements clusterapi and allows for Kubernetes clusters to be created on Openstack clusters.

Is project code 100% open source? If so, what is the URL or URLs where it is located?

https://github.com/kubernetes-sigs/cluster-api-provider-openstack

What kind of machines (VMs or Baremetal) and how many do you expect to use?

Openstack Cluster

What OS are you planning to use?

No preference for the Openstack cluster, we'll spin up Ubuntu & CentOS images for Kubernetes clusters.

Any special network configuration you expect or anticipate implementing?

Ideally, we'd expose a way for the control plane nodes to the internet somehow so that we can access the k8s api once a cluster is created.

Any architecture or other specifications/requirements (CPU, RAM, GPU, etc)?

None specifically, just enough ram / cpu to allow for the creation of a few VMs.

What testing are you planning to implement or need assistance implementing?

There will be some manual testing as well as automated testing. Ideally, we'd be able to have CI spin up an instance of the application, then run some integration tests against a real openstack api.

How will this testing advance application and/or tooling built on-top of open infrastructure?

This will allow the project to have better test coverage and harden the testing so that we don't have bugs when releasing new versions.

Will you publish blog or paper from your testing?

Any other relevant details we should know about while preparing the infrastructure?

Would there be a way to create openstack projects? If not no problem, but that would be a great feature to have those permissions.

mrhillsman commented 5 years ago

Hi @stevesloka thanks for the request. You will have access to create OpenStack projects. We will review your request and get you access as soon as humanly possible.

hogepodge commented 5 years ago

thanks for taking the point on this

mrhillsman commented 5 years ago

@hogepodge @stmcginnis a 2 node OpenStack environment has been assigned to this request

kiwik commented 5 years ago

I think we can build a CI job to test cluster-api-provider-openstack automatically, like another k8s jobs. If anybody is interesting it, feel free to take it up.

kiwik commented 5 years ago

Related with https://github.com/theopenlab/openlab/issues/117

jichenjc commented 5 years ago

@hidekazuna I assume you will continue to work on this item, right?

hidekazuna commented 5 years ago

@jichenjc Yes, I will take this.

sbueringer commented 4 years ago

@hidekazuna @jichenjc I would try to make some progress here the next few weeks until I'm on vacation :)

sbueringer commented 4 years ago

@wangxiyuan Are there best practices on how to develop Zuul jobs and iterate (without merging the job)?

wangxiyuan commented 4 years ago

@sbueringer you can try create a PR in CPO repo for testing.

Here is an example: https://github.com/theopenlab/flink/pull/1

Both job defination and job workflow can be wrote in the repo.

Let me know if it doesn't work.

sbueringer commented 4 years ago

@wangxiyuan

What is missing so that the same can be done in the Cluster API OpenStack repo (so that I can directly play around in the correct repo)? I requested the installation of the OpenLab CI app yesterday from @kubernetes-sigs. Is it already enough when the app is installed?

wangxiyuan commented 4 years ago

@sbueringer is this repo? https://github.com/kubernetes-sigs/cluster-api-provider-openstack

There are 3 steps:

  1. Install OpenLab github app to the repo. (It's not installed yet.)
  2. Set the branch that you want to work on to protected. (I see that it has been done already.)
  3. Once this issue is approved, we'll add the repo into our whitelist. @liusheng please help approve this new Test Request
wangxiyuan commented 4 years ago

@sbueringer oh, the project has been added to openlab already. The only thing you need to do is to add the app now.

sbueringer commented 4 years ago

@sbueringer oh, the project has been added to openlab already. The only thing you need to do is to add the app now.

Yup I requested to add the App because I don't have the rights to do it. So I'll wait until kubernetes sigs admins added it

stevesloka commented 4 years ago

Hey folks, I originally opened this request since at the time I was working on the openstack cluster api provider, however, for me personally, my directions have moved away from it and I no longer have the time to put towards this effort.

sbueringer commented 4 years ago

@stevesloka I would like to continue to work on this issue

sbueringer commented 4 years ago

@sbueringer you can try create a PR in CPO repo for testing.

Here is an example: theopenlab/flink#1

Both job defination and job workflow can be wrote in the repo.

Let me know if it doesn't work.

@wangxiyuan I tried this, but now I'm stuck because the export-cloud-openrc role fails:

{
            "hosts": {
              "ubuntu-xenial-arm64": {
                "action": "set_fact",
                "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                "failed": true
              }
            },
            "role": {
              "id": "fa163ef5-08f0-e105-970a-000000000012",
              "name": "export-cloud-openrc",
              "path": "/var/lib/zuul/builds/966d60c12d594d8fb6fbcbfc2a9c6ed5/untrusted/project_1/github.com/theopenlab/openlab-zuul-jobs/roles/export-cloud-openrc"
            },
            "task": {
              "duration": {
                "end": "2019-11-16T15:52:29.760429Z",
                "start": "2019-11-16T15:52:29.698473Z"
              },
              "id": "fa163ef5-08f0-e105-970a-000000000015",
              "name": "Set fact for opentelekomcloud openrc"
            }
          }

(Build: https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/491#issuecomment-554649142)

And also to clarify that the job will work at the end:

sbueringer commented 4 years ago

@wangxiyuan can you please take a look or tell me who I can/should contact?

wangxiyuan commented 4 years ago

@sbueringer sorry that I forgot this issue. I have left some comments in your PR. Please check.

sbueringer commented 4 years ago

@wangxiyuan Thx, no problem. I fixed your findings. Looks like there is still something wrong, but let's continue on the PR.

sbueringer commented 4 years ago

Let's close this issue here. The first version of the job is merged and should be green in an hour or so.