-
Notifications
You must be signed in to change notification settings - Fork 19
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
adding kubernetes manifests to deploy and test kernelci-pipeline on minikube #285
Conversation
…inikube Signed-off-by: Sanskar Bhushan <sbdtu5498@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice to have the directory structure of manifest files the same as API.
@sbdtu5498 Then tried to run
I think I miss some configuration here. |
Maybe just try with |
From the
I tried to access API server from SSH service to check the connection issue. |
@sbdtu5498
Exit from the pod now.
|
After I changed API service's
Notifier successfully connects to API.
|
Hi @sbdtu5498 , |
Testing with minikube locally after tweaking deployment files for Trigger:
Notifier:
Runner:
Tarball:
Tarball service crashes after a while. Not able to see the logs as it creates another pod as per the restart policy. |
That's a good point, we once mentioned that it would be nice to be able to collect all the Kubernetes logs somewhere. @broonie How would you suggest we did that? I believe you've already looked into this kind of thing before. |
fluentd or fluentbit are the standard things here - they deploy a monitor process onto each node which harvests the logs of each pod as it goes past and has configurable pipeline based stuff for deciding what to do with them. I've not actually got so far as deploying them in anger yet, though I do have a half configured fluentbit deployed in my cluster (and will probably get to it soonish since I'm doing some other logging stuff). |
Structure k8s manifest files as below: kube/ └── minikube ├── deployments │ ├── notifier-deployment.yaml │ ├── regression-tracker-deployment.yaml │ ├── runner-deployment.yaml │ ├── runner-docker-deployment.yaml │ ├── runner-k8s-deployment.yaml │ ├── runner-lava-deployment.yaml │ ├── tarball-deployment.yaml │ ├── test-report-deployment.yaml │ ├── timeout-closing-deployment.yaml │ ├── timeout-deployment.yaml │ ├── timeout-holdoff-deployment.yaml │ └── trigger-deployment.yaml └── init └── init-pod.yaml Signed-off-by: Jeny Sadadia <jeny.sadadia@collabora.com>
Thanks for the pointer @broonie
|
Use settings file value from the ConfigMap variable i.e. `SETTINGS`. Signed-off-by: Jeny Sadadia <jeny.sadadia@collabora.com>
@JenySadadia can you please give me the link of the settings file. |
OK great. I guess |
53264a8
to
48dbb3e
Compare
This is the settings file https://github.com/kernelci/kernelci-pipeline/blob/main/config/kernelci.toml. |
@sbdtu5498 We need to fix indentation issue for
|
Great! Please let me know if the pipeline is working fine. I will add README and deployment scripts. Also, There were few things left in pipeline such as removing DinD etc. I will take a look on them as well. |
|
Add `k8s-host` to `api-configs` and `storage-configs`. This is the configuration URLs for API and SSH services running in k8s. Added storage credential filename to `kernelci.toml` for `k8s-host`. Signed-off-by: Jeny Sadadia <jeny.sadadia@collabora.com>
Add k8s configuration options to deployment commands. Signed-off-by: Jeny Sadadia <jeny.sadadia@collabora.com>
Enable tarball service to upload source tarball via SSH. This needs an SSH key from `data/ssh` directory. Add volume mounts for all sub-directories of `kernelci-pipeline/data`. Signed-off-by: Jeny Sadadia <jeny.sadadia@collabora.com>
213adee
to
2fb0b6d
Compare
In addition to the commits I have added, the below changes are required to run the pipeline:
Tested OK with Minikube: Trigger
Tarball
Runner
Test Report
Notifier
Timeout
|
Requesting review from @gctucker as I have authored a few commits. |
Why does it require the |
The username is based on the init script. Not sure why it is |
Add `pipeline-configmap.yaml` to generate a `ConfigMap`. Add `settings` variable to the pipeline configmap named `kernelci-pipeline-config`. Signed-off-by: Jeny Sadadia <jeny.sadadia@collabora.com>
Added manifest file to generate |
Add script to automate pipeline deployment in k8s. Make sure to setup admin user from API deployment and get user token. Export the token as an environment variable with name `KCI_API_TOKEN`. The deployment script will use the env variable and generate kubernetes secret. Signed-off-by: Jeny Sadadia <jeny.sadadia@collabora.com>
Added |
@sbdtu5498 Could you please update your fork of |
Replaced with #322 |
Fixes kernelci/kernelci-api#273
@gctucker @JenySadadia
Will be adding README.md soon.