24 Jun 2017

feedFedora People

Adam Young: Running virt-controller locally

While developing Kubevirt, I often want to step through my code. My most recent tasks have involved the virt-controller process. Here's how I debug them.

A little background; during development, we use a vagrant based deployment of Kubernetes running in a two node cluster. We need two nodes to test VM migrations. This has been the biggest reason we have not yet moved to minikube.

The various piece of kubevirt run in the vagrant cluster inside containers. However, the design of Kubernetes (which kubevirt follows) allows a controller to run from pretty much anywhere that it has access to the API server. In this case, I want to run it from within my git repo on my laptop. I actually run it from gogland, as I like the interactive debugger, but that is not a requirement.

The first step is to bring up the cluster;

vagrant up
make vagrant-deploy

Once that is up and running (successfully), delete the virt-controller deployment.

cluster/kubectl.sh delete deployments virt-controller

One hack: I had to change the name of the file from cmd/virt-controller/virt-controller.go to cmd/virt-controller/main.go or I could not debug it. Seems to be a bug in gogland. Once I changed the file name, running it will report an error.

2017/06/23 22:09:25 invalid configuration: default cluster has no server defined

To run any of the kubernetes aware pieces you have to pass in a proper configuration environment. In the case of virt-controller, that is done by setting the parameters on the command line by adding the flag.


Find the run toolbar.

Edit the configuration for main.go

Add the above line to Program Arguments.

once you run it you should see successful start up in the logs:

 level=info timestamp=2017-06-24T02:10:35.858154Z pos=main.go:89 component=virt-controller service=http action=listening interface= port=8182
 level=info timestamp=2017-06-24T02:10:35.858175Z pos=vm.go:73 component=virt-controller service=http msg="Starting controller."
 level=info timestamp=2017-06-24T02:10:35.858272Z pos=migration.go:70 component=virt-controller service=http msg="Starting controller."

To run from the command line, after running make to compile all the files:

$ bin/virt-controller --kubeconfig=/home/ayoung/go/src/kubevirt.io/kubevirt/cluster/vagrant/.kubeconfig
level=info timestamp=2017-06-24T02:13:03.129090Z pos=virt-controller.go:89 component=virt-controller service=http action=listening interface= port=8182
level=info timestamp=2017-06-24T02:13:03.129093Z pos=vm.go:73 component=virt-controller service=http msg="Starting controller."
level=info timestamp=2017-06-24T02:13:03.129170Z pos=migration.go:70 component=virt-controller service=http msg="Starting controller."

24 Jun 2017 2:16am GMT

23 Jun 2017

feedFedora People

Randy Barlow: Welcome to Caleigh

Last week was an exciting week for Bodhi as our summer intern Caleigh Runge-Hottman began her summer Outreachy internship. Caleigh will be adding support for batched updates over the summer, and probably some other cool stuff too. Be sure to say hi to her on Freenode in #bodhi or #fedora-apps!

23 Jun 2017 8:58pm GMT

Mary Shakshober: Building Design Team Approved Presentations

Throughout the last month I've been working on creating an updated presentation template for the Fedora community to use. With Flock coming up quickly, there's no better time to give these new templates a shot as a vehicle to present your talks!

I've made these templates available on three different platforms; LibreOffice Impress, reveal.js/slides.redhat, and GoogleSlides. While any of these three ways to build your slides are perfectly usable, I want to point out a few differences between the three.

  1. LibreOffice slides have SVG graphic elements, so all of the visuals will look very clear, crisp, and professional during a presentation! The only *very minor* limitation is that in using SVGs, the subtle dark blue to light blue gradient that I designed (and that is present in the other two forms) is not present here. My option with LibreOffice was to either keep the gradients but have the visuals be PNG (which resulted in a blurry appearance when enlarged) or to sacrifice the gradient but keep the quality at the high level provided with an SVG. I opted for quality over gradient use 🙂
  2. GoogleSlides… User friendly and accessible…. and apparently not accepting of SVG graphics. So this is in fact an option, but I would probably suggest one of the other formats before this one. It's a sad day when a graphic designer's vector art gets bimapped!
  3. reveal.js/slides.redhat is the template that I think will produce the best product for presentations, with clean SVG backgrounds AND gradients *happy dances*. I've embedded the reveal template below.


It doesn't seem that I'm able to attach the actual documents here, so if you're interested in using any of the mentioned templates feel free to check out the Design Team ticket that they all *should* be available on. The most updated files are in the last comment of the thread. If you have any issues accessing them through the ticket, feel free to reach out to me and I will manually email them to you too 🙂

Happy presenting!

23 Jun 2017 7:24pm GMT