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

Provisioning GKE cluster for integration tests #20

Closed
16 tasks done
aszecowka opened this issue Oct 8, 2018 · 7 comments
Closed
16 tasks done

Provisioning GKE cluster for integration tests #20

aszecowka opened this issue Oct 8, 2018 · 7 comments
Assignees
Labels
area/ci Issues or PRs related to CI related topics area/cluster Related to all activities around cluster and its stability

Comments

@aszecowka
Copy link
Contributor

aszecowka commented Oct 8, 2018

Description
Implement installation and test of kyma project with GKE cluster using Prow.

AC:
Deliver artifacts (sources in github) necessary to create/re-create the following pipeline:

After provisioning trigger those actions (outside of scope of this task):

  • run tests
  • deprovision cluster (and IP address) -> @strekm working on deprovision cluster, PR-1452
  • set github check state for pull request

Consider implementation as orchestration of small jobs doing one thing at once (e.g. set up DNS, provision cluster, generate TLS) - avoid implementation with one big script.

Reasons
This task is a preparation to move CI from minikube in docker to real cluster on GCE. Prow is the kyma community choice for CI/CD.
Minikube in docker has serious limitations (kubeadm is not supported), therefore other way of testing kyma is required.

@aszecowka aszecowka added area/ci Issues or PRs related to CI related topics area/cluster Related to all activities around cluster and its stability wg/prow labels Oct 8, 2018
@strekm strekm modified the milestones: Backlog_Toad, Sprint_Toad_3 Oct 8, 2018
@strekm strekm self-assigned this Oct 12, 2018
@pbochynski
Copy link
Contributor

Set up cluster on GKE flow:

  • reserve IP address
  • generate domain name like pullxx-random-name.kyma.pro
  • create DNS A record for IP and domain
  • generate self signed certificate for the domain
  • provision GKE cluster
  • install tiller
  • apply kyma-installer deploymenmt (with proper IP and domain)
  • trigger installation (action=installl)

@Tomasz-Smelcerz-SAP
Copy link
Member

script that creates a dns entry (record type "A") for given IP address:

AC:

  • script accepts IP address as an input
  • script generates domain name like: pullXYZ-random-name.kyma.pro (I'd say about 12 random chars should be enough to avoid collisions)
  • script adds "A" record in kyma.pro zone
  • script verifies the DNS entry works as expected (by resolving host name and verifying it matches IP given as input).
  • script waits up to five minutes for correct DNS propagation, then gives up.
  • See example: ts-remove-me.kyma.pro

@pbochynski
Copy link
Contributor

Please use build.kyma-project.io domain.

@strekm strekm modified the milestones: Sprint_Toad_4, Sprint_Toad_5 Nov 5, 2018
@Tomasz-Smelcerz-SAP
Copy link
Member

Integration script first iteration AC:

  • provision GKE cluster with hardcoded values (IP address, domain, cert).
  • Introduce variables for every configuration value (IP address, domain, cert etc)
  • Add several TODOs in the script to replace hardcoded values with actual ones.

@jakkab
Copy link
Contributor

jakkab commented Nov 16, 2018

Running testing.sh requires helm command:

/home/prow/go/src/github.com/kyma-project/kyma/installation/scripts/testing.sh: line 203: helm: command not found

Both the bootstrap dockerfile and the actual image need to be updated.

@PK85
Copy link
Contributor

PK85 commented Nov 16, 2018

Please use kubernetes version same as minikube which is 1.10. Maybe we should even add that to the installation guide.

@pbochynski pbochynski modified the milestones: Sprint_Toad_5, Sprint_Toad_6 Nov 19, 2018
@jakkab
Copy link
Contributor

jakkab commented Nov 19, 2018

Running tests implemented in #139

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ci Issues or PRs related to CI related topics area/cluster Related to all activities around cluster and its stability
Projects
None yet
Development

No branches or pull requests

7 participants