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

terraform-openstack-rke CI #555

Closed remche closed 3 years ago

remche commented 4 years ago

What is your focus?

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

This would be for terraform-openstack-rke project.

Brief project description

terraform-openstack-rke is a Terraform module that allows to deploy a Kubernetes cluster to Openstack, using Openstack and RKE Terraform providers.

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

Yes : https://github.com/remche/terraform-openstack-rke

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

Few small size VM on Openstack. At least one for master node, two for workers nodes.

What OS are you planning to use?

Currently we do tests on Ubuntu VM. We need and image that fulfill RKE requirements.)

Any special network configuration you expect or anticipate implementing?

None.

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

Openstack cluster with Octavia would be great.

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

First I want to clone the actual Travis tests, and push up to e2e testing.

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

Will you publish blog or paper from your testing?

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

wangxiyuan commented 4 years ago

@remche feel free to add the job in openalb. Do you know how to start?

bzhaoopenstack commented 4 years ago

Hi @remche , any thing I can help?

bzhaoopenstack commented 4 years ago

Already add the target repo into zuul. But need you to try to define your test job, any patch is welcome.

remche commented 4 years ago

Thanks a lot, I will have a look asap and lyk if I need some help !

remche commented 4 years ago

I begin to work on this, but I'm not sure how to test the CI. If I understand correctly, the job needs to :

bzhaoopenstack commented 4 years ago

Hi @remche , Thanks for working on this.

Openlab doesnt have a role install-terraform. So if you want to install terraform, you have 2 ways to try, the first way is implement a new role for installing terraform. The second way is just add the install terraform steps into your job definition.

I suggest you can test on your local env, as the roles in openlab are not based on any other build-in roles from openstack-gate projects, except devstack-gate you mentioned here, which strongly based on it in role install-devstack. So you can see the role definition (code https://github.com/theopenlab/openlab-zuul-jobs/tree/master/roles) to prepare the test env, then focus on the major test steps towards terraform-openstack-rke project.

And for the real test, you can first to test the major test steps on your local env, if there are issues for the roles of openlab, we can fix them in the following integration work after finishing your job code via PR.

Does it need to connect to NodePools ? Not sure what's your question is, when we are in integration work, we need to test on the testnodes from Openlab NodePools. But if you want to ask https://github.com/theopenlab/openlab-zuul-jobs/blob/master/roles/clone-devstack-gate-to-workspace/tasks/main.yml . the relationship between clone-devstack-gate-to-workspace and install-devstack, yeah, the builld-in role install-devstack needs clone-devstack-gate-to-workspace. And you can change the hosts to local to test. If you think the env is too complex and difficult to prepare, you can install a devstack manually, then test on that.

remche commented 4 years ago

Openlab doesnt have a role install-terraform. So if you want to install terraform, you have 2 ways to try, the first way is implement a new role for installing terraform. The second way is just add the install terraform steps into your job definition

I already added a role for terraform install. No pb so far.

Not sure what's your question is, when we are in integration work, we need to test on the testnodes from Openlab NodePools. But if you want to ask https://github.com/theopenlab/openlab-zuul-jobs/blob/master/roles/clone-devstack-gate-to-workspace/tasks/main.yml . the relationship between clone-devstack-gate-to-workspace and install-devstack, yeah, the builld-in role install-devstack needs clone-devstack-gate-to-workspace. And you can change the hosts to local to test. If you think the env is too complex and difficult to prepare, you can install a devstack manually, then test on that.

My question was how can I get install-devstack role to work on a local VM (how to set that 'local host') in order to test the process locally ?

bzhaoopenstack commented 4 years ago

It's complex to only test install-devstack role locally. You need to fix all the dependency in your local env.

  - name: ubuntu-bionic
    pause: false
    elements:
      - ubuntu
      - vm
      - simple-init
      - nodepool-base
      - cache-devstack
      - initialize-urandom
      - growroot
      - infra-package-needs
    release: bionic

This is our test image, look at elements nodepool-base, nodepool-base, cache-devstack and infra-package-needs, these elements are in https://opendev.org/openstack/project-config/src/branch/master/nodepool/elements . you need to fix the dependency at least, then clone the openlab-zuul-jobs locally with some config. Then run the single role. I build a test image manually before, success with fix many dependency.

How about install a local devstack manually? Then focus on your test job. Once the job can run, we can fix the install-devstack role issue if there are some issues during integration.

wangxiyuan commented 3 years ago

Reopen if this is still alive

remche commented 3 years ago

Sadly I lack of time to work on this.