kubevirt / kubevirt-tutorial Goto Github PK
View Code? Open in Web Editor NEWDemo that guides users through an end to end KubeVirt experience.
Home Page: https://www.kubevirt.io/
License: Apache License 2.0
Demo that guides users through an end to end KubeVirt experience.
Home Page: https://www.kubevirt.io/
License: Apache License 2.0
PATH=/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
That way the student doesn't have to do ./virtctl
?
@karmab what do you think?
In lab 8, when we talk about Confirm connectivity section
Through cloudinit, we also configured fedora-multus-1 vm to have ip 11.0.0.5 and fedora-multus-1 vm to have ip 11.0.0.6 so try to ping or ssh between them
Here, vm name with IP 11.0.0.6
should be fedora-multus-2
instead of fedora-multus-1
setfacl -m user:107:rwx /root/openshift.local.pv/pv*
Looks like its now in /root/openshift.local.clusterup/openshift.local.pv
. Will submit a PR.
As mentioned both in https://kubevirt.io/labs/ocp/lab4 and https://github.com/scollier/kubevirt-tutorial/blob/master/labs/lab4/lab4.md after using the ara
template for app deployment ,
Im getting these errors
--> Deploying template "myproject/ara" to project myproject
ara
---------
ara
--> Creating resources ...
imagestream.image.openshift.io "ara" created
buildconfig.build.openshift.io "ara" created
deploymentconfig.apps.openshift.io "ara" created
service "ara" created
route.route.openshift.io "ara" created
--> Success
Build scheduled, use 'oc logs -f bc/ara' to track its progress.
Access your application via route 'ara-myproject.apps.cnv-comm.10.8.120.100.nip.io'
Run 'oc status' to view your app.
[root@shegde-master0 ~]# oc logs -f bc/ara
Cloning "https://github.com/jcpowermac/openshift-presentation" ...
Commit: 72d8c66e998081477052810b60bb18332bc1b0ee (speed up buildconfig)
Author: Joseph Callen <[email protected]>
Date: Fri Jul 6 10:34:47 2018 -0400
**error: build error: cannot connect to Docker endpoint**
[root@shegde-master0 ~]# oc get bc
NAME TYPE FROM LATEST
ara Docker Git@master 1
[root@shegde-master0 ~]# oc get dc
NAME REVISION DESIRED CURRENT TRIGGERED BY
ara 0 1 0 config,image(ara:latest)
example 1 6 6 config
[root@shegde-master0 ~]# oc rollout status dc/ara
Deployment config "ara" waiting on image update```
As per my understanding this should have succeeded.
-> [root@shegde-master0 ~]# oc get pods
NAME READY STATUS RESTARTS AGE
ara-1-build 0/1 Error 0 19m
example-1-7fdf9 1/1 Running 0 1h
example-1-h8srg 1/1 Running 0 2d
Get issues like https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/logs/periodic-kubevirt-tutorial-lab-testing/1233716437973995520 on current infra
In lab 9, a process to create VM's from a GUI, the section says to select an OS as fedora29
but we dont have this in the drop down.
Under Using the kubevirt web ui
Create a Virtual Machine
In the Basic Settings configure with the following
Name: vm3
Namespace: myproject
Provision Source: Container
Container Image: docker.io/kubevirt/cirros-registry-disk-demo:latest
Operating System: fedora29 - No OS with fedora available.
Memory: 1
- No option to select Memory
CPUs: 1
- No option to select CPU count
Workload Profile: generic
Status:
Terminated (Error - imeout=600s -n kubevirt while ! kubectl get deployment
virt-controller -n kubevirt --no-headers && echo 'Looping...'; do sleep 5; done
kubectl wait deployment virt-controller --for condition=available --timeout=600s
-n kubevirt kubectl get all -l kubevirt.io virtctl version kubectl apply -f
$HOME/kubevirt/cdi-operator-manifests/cdi-operator.yaml kubectl config
set-context --current --namespace=cdi while ! kubectl get deployment
cdi-operator -n cdi --no-headers && echo 'Looping...'; do sleep 5; done kubectl
wait deployment cdi-operator --for condition=available --timeout=600s -n cdi
kubectl apply -f $HOME/kubevirt/cdi-operator-manifests/cdi-operator-cr.yaml
while ! kubectl get deployment cdi-apiserver -n cdi --no-headers && echo
'Looping...'; do sleep 5; done while ! kubectl get deployment cdi-deployment -n
cdi --no-headers && echo 'Looping...'; do sleep 5; done while ! kubectl get
deployment cdi-uploadproxy -n cdi --no-headers && echo 'Looping...'; do sleep 5;
done kubectl wait deployment -l cdi.kubevirt.io --for condition=available
--timeout=600s -n cdi kubectl get all #################### SOURCE OF TEST
#################### /home/prow/go/src/kubevirt-tutorial/hack/test_lab: line 70:
bc: command not found /home/prow/go/src/kubevirt-tutorial/hack/test_lab: line
70: bc: command not found
{"component":"entrypoint","file":"prow/entrypoint/run.go:164","func":"k8s.io/test-infra/prow/entrypoint.Options.ExecuteProcess","level":"error","msg":"Process
did not finish before 2h0m0s
timeout","severity":"error","time":"2021-02-03T13:39:54Z"}
{"component":"entrypoint","file":"prow/entrypoint/run.go:245","func":"k8s.io/test-infra/prow/entrypoint.gracefullyTerminate","level":"error","msg":"Process
did not exit before 15s grace
period","severity":"error","time":"2021-02-03T13:40:09Z"}
{"component":"entrypoint","error":"process timed
out","file":"prow/entrypoint/run.go:80","func":"k8s.io/test-infra/prow/entrypoint.Options.Run","level":"error","msg":"Error
executing test process","severity":"error","time":"2021-02-03T13:40:09Z"} ) at
2021-02-03 13:40:10 +0000 UTC with exit code 127
Errors in logs:
./cluster-up/up.sh
Unable to find image 'quay.io/kubevirtci/gocli:2101261557-a2af136' locally
docker: Error response from daemon: Get https://quay.io/v2/: proxyconnect tcp: dial tcp 172.30.59.198:3128: connect: no route to host.
See 'docker run --help'.
make[1]: *** [Makefile:6: cluster-up] Error 125
/home/prow/go/src/kubevirt-tutorial/hack/test_lab: line 70: bc: command not found
/home/prow/go/src/kubevirt-tutorial/hack/test_lab: line 70: bc: command not found
/home/prow/go/src/kubevirt-tutorial/hack/test_lab: line 70: bc: command not found
-------
Test Name: lab002
Test Result: ERR
Test Expected Result: PASS
Real Time:
Retrying Test...
/home/prow/go/src/kubevirt-tutorial/hack/test_lab: line 70: bc: command not found
/home/prow/go/src/kubevirt-tutorial/hack/test_lab: line 70: bc: command not found
{"component":"entrypoint","file":"prow/entrypoint/run.go:164","func":"k8s.io/test-infra/prow/entrypoint.Options.ExecuteProcess","level":"error","msg":"Process did not finish before 2h0m0s timeout","severity":"error","time":"2021-02-03T13:39:54Z"}
{"component":"entrypoint","file":"prow/entrypoint/run.go:245","func":"k8s.io/test-infra/prow/entrypoint.gracefullyTerminate","level":"error","msg":"Process did not exit before 15s grace period","severity":"error","time":"2021-02-03T13:40:09Z"}
TASK [kubevirt : Copy student materials] ***************************************
changed: [localhost]
TASK [kubevirt : Apply Multus manifests] ***************************************
failed: [localhost] (item=multus-ns) => {"ansible_loop_var": "item", "changed": false, "item": "multus-ns", "msg": "Failed to load kubeconfig due to Invalid kube-config file. No configuration found."}
failed: [localhost] (item=nad-crd) => {"ansible_loop_var": "item", "changed": false, "item": "nad-crd", "msg": "Failed to load kubeconfig due to Invalid kube-config file. No configuration found."}
failed: [localhost] (item=multus-clusterrole) => {"ansible_loop_var": "item", "changed": false, "item": "multus-clusterrole", "msg": "Failed to load kubeconfig due to Invalid kube-config file. No configuration found."}
failed: [localhost] (item=multus-clusterrolebinding) => {"ansible_loop_var": "item", "changed": false, "item": "multus-clusterrolebinding", "msg": "Failed to load kubeconfig due to Invalid kube-config file. No configuration found."}
failed: [localhost] (item=multus-sa) => {"ansible_loop_var": "item", "changed": false, "item": "multus-sa", "msg": "Failed to load kubeconfig due to Invalid kube-config file. No configuration found."}
failed: [localhost] (item=multus-cni-configmap) => {"ansible_loop_var": "item", "changed": false, "item": "multus-cni-configmap", "msg": "Failed to load kubeconfig due to Invalid kube-config file. No configuration found."}
failed: [localhost] (item=multus-ds) => {"ansible_loop_var": "item", "changed": false, "item": "multus-ds", "msg": "Failed to load kubeconfig due to Invalid kube-config file. No configuration found."}
failed: [localhost] (item=cni-plugins) => {"ansible_loop_var": "item", "changed": false, "item": "cni-plugins", "msg": "Failed to load kubeconfig due to Invalid kube-config file. No configuration found."}
failed: [localhost] (item=l2-bridge) => {"ansible_loop_var": "item", "changed": false, "item": "l2-bridge", "msg": "Failed to load kubeconfig due to Invalid kube-config file. No configuration found."}
PLAY RECAP *********************************************************************
localhost : ok=8 changed=4 unreachable=0 failed=1 skipped=47 rescued=0 ignored=0
Follow other KubeVirt repositories to use more respectful language by switching from master
to main
.
we should either use a lighter image or use uploader to use a prefetched and local image
we should deploy kubevirt web ui as part of the lab
k8s version should be updated here in 1.13 is quite old
Some of the python code written in the kubevirt-tutorial-presubmit-lab-testing-k8s is still in 2.7, and the following warning is appearing:
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
That code has to be ported to python 3.
/cc jparrill
As per ,
https://github.com/scollier/kubevirt-tutorial/blob/master/labs/lab6/lab6.md and https://kubevirt.io/labs/ocp/lab6
After deploying a test vm as shown below
[root@shegde-master0 ~]# oc get vms -o yaml hegde-vm
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachine
metadata:
creationTimestamp: 2019-03-18T19:35:16Z
generation: 1
name: hegde-vm
namespace: myproject
resourceVersion: "4401932"
selfLink: /apis/kubevirt.io/v1alpha3/namespaces/myproject/virtualmachines/hegde-vm
uid: f54e2425-49b4-11e9-acdf-001a4a231206
spec:
running: true
And
[root@shegde-master0 ~]# oc get vms
NAME AGE RUNNING VOLUME
hegde-vm 12m true
vm1 3d true
When issued with virtctl console hegde-vm
getting this error
[root@shegde-master0 ~]# virtctl console hegde-vm
Can't connect to websocket (500):
As per https://github.com/scollier/kubevirt-tutorial/blob/master/labs/lab5/lab5.md
NAME READY STATUS RESTARTS AGE
kubevirt-cpu-node-labeller-7z6lz 1/1 Running 0 14d
kubevirt-cpu-node-labeller-j58fc 1/1 Running 0 14d
virt-api-fd86fd5fc-7cfxq 1/1 Running 0 14d
virt-api-fd86fd5fc-bqk8f 1/1 Running 0 14d
virt-controller-6fccbf85fd-kbk9r 1/1 Running 0 14d
virt-controller-6fccbf85fd-mb4zp 0/1 CrashLoopBackOff 3921 14d
virt-controller-6fccbf85fd-md7tm 0/1 CrashLoopBackOff 1 24s
virt-handler-8b84x 1/1 Running 0 14d
virt-handler-dgr29 1/1 Running 0 14d
virt-handler-s2dd4 1/1 Running 0 14d
virt-operator-75b774cc4c-pr5g4 1/1 Running 0 14d
[root@shegde-master0 ~]# oc get pods
NAME READY STATUS RESTARTS AGE
kubevirt-cpu-node-labeller-7z6lz 1/1 Running 0 14d
kubevirt-cpu-node-labeller-j58fc 1/1 Running 0 14d
virt-api-fd86fd5fc-7cfxq 1/1 Running 0 14d
virt-api-fd86fd5fc-bqk8f 1/1 Running 0 14d
virt-controller-6fccbf85fd-kbk9r 1/1 Running 0 14d
virt-controller-6fccbf85fd-mb4zp 0/1 CrashLoopBackOff 3921 14d
virt-controller-6fccbf85fd-md7tm 0/1 CrashLoopBackOff 4 2m
virt-handler-8b84x 1/1 Running 0 14d
virt-handler-dgr29 1/1 Running 0 14d
virt-handler-s2dd4 1/1 Running 0 14d
virt-operator-75b774cc4c-6t8vd 1/1 Running 0 1m
virt-operator-75b774cc4c-pr5g4 1/1 Running 0 14d
Only the virt-controller
pod deployment fails in kubevirt NS
substitute pod name
if a student runs oc logout
they will get an error about no token.
It's not critical, but not very nice: kubectl is 1.15.0, server 1.14.3
[kubevirt@kubevirtlab-2 ~]$ k version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.3", GitCommit:"5e53fd6bc17c0dec8434817e69b04a25d8ae0ff0", GitTreeState:"clean", BuildDate:"2019-06-06T01:36:19Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Password not allowed
Currently it only contains links but it would be nice to have an introduction, tutorial objectives, list of resources, contact details, etc.
Also, the links should have bullet points.
Add this repo to Prow configuration to be automergeable and auto-tested
{"component":"entrypoint","file":"prow/entrypoint/run.go:164","func":"k8s.io/test-infra/prow/entrypoint.Options.ExecuteProcess","level":"error","msg":"Process did not finish before 2h0m0s timeout","time":"2020-06-24T13:34:07Z"}
{"component":"entrypoint","file":"prow/entrypoint/run.go:245","func":"k8s.io/test-infra/prow/entrypoint.gracefullyTerminate","level":"error","msg":"Process did not exit before 15s grace period","time":"2020-06-24T13:34:22Z"}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.