Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
kubevirt/kubevirt
rmohr/kubevirt
Akrog/kubevirt
AlertBear/kubevirt
AlexxNica/kubevirt
AllenShi/kubevirt
AlonaKaplan/kubevirt
CretanCivil/kubevirt
Ethan-2017/kubevirt
FengYang/kubevirt
Glip-/kubevirt
HYDPublic/kubevirt
ILpinto/kubevirt
IsolationWyn/kubevirt
JiejunLi/kubevirt
Kryndex/kubevirt
MalloZup/kubevirt
MarSik/kubevirt
MegaByte875/kubevirt
Oliverlyn/kubevirt
RikTheunis/kubevirt
SchSeba/kubevirt
aburdenthehand/kubevirt
adityaramteke/kubevirt
admiyo/kubevirt
aglitke/kubevirt
ahadas/kubevirt
alexismonville/kubevirt
alexxa/kubevirt
alvaroaleman/kubevirt
annie2010/kubevirt
arilivigni/kubevirt
artmello/kubevirt
aslanbekirov/kubevirt
ateleshev/kubevirt
awels/kubevirt
awesome-docker/kubevirt
awesome-p2p/kubevirt
benwatcisco/kubevirt
berrange/kubevirt
bestwpw/kubevirt
bhavin192/kubevirt
bond95/kubevirt
booxter/kubevirt
bronhaim/kubevirt
cgvarela/kubevirt
chessbyte/kubevirt
chitteshsham/kubevirt
cliffy94/kubevirt
codevulture/kubevirt
coolsvap/kubevirt
ctrlaltdel/kubevirt
curx/kubevirt
cynepco3hahue/kubevirt
danielBelenky/kubevirt
danielerez/kubevirt
dankenigsberg/kubevirt
davidmr001/kubevirt
davidvossel/kubevirt
denverwilliams/kubevirt
derekwaynecarr/kubevirt
devconf-2017-forks/kubevirt
duyanyan/kubevirt
dzr0001/kubevirt
eedri/kubevirt
fabiand/kubevirt
fhaoquan/kubevirt
firemanxbr/kubevirt
fnet123/kubevirt
fromanirh/kubevirt
fuseknt/kubevirt
gbenhaim/kubevirt
gbraad/kubevirt
georgekuruvillak/kubevirt
gliptak/kubevirt
gofalconers/kubevirt
gonzolino/kubevirt
gouyang/kubevirt
grafuls/kubevirt
gszasz/kubevirt
guangxuli/kubevirt
gyliu513/kubevirt
humblec/kubevirt
ifireball/kubevirt
igoihman/kubevirt
imjoey/kubevirt
itamarh/kubevirt
j-griffith/kubevirt
jasonbrooks/kubevirt
jcpowermac/kubevirt
jerry7z/kubevirt
jhernand/kubevirt
jihoon5/kubevirt
jlevon/kubevirt
jmpq/kubevirt
jnaulty/kubevirt
jniederm/kubevirt
karmab/kubevirt
kenzhaoyihui/kubevirt
krishna2nd/kubevirt
krsacme/kubevirt
ksimon1/kubevirt
leongold/kubevirt
liangxia/kubevirt__kubevirt
liayan/kubevirt
livsky87/kubevirt
lkpdn/kubevirt
lowang-bh/kubevirt
lukas-bednar/kubevirt
machacekondra/kubevirt
mareklibra/kubevirt
matobet/kubevirt
mcastelino/kubevirt
mdshuai/kubevirt
mfrances17/kubevirt
mfranczy/kubevirt
mhenriks/kubevirt
michalskrivanek/kubevirt
mkim2001/kubevirt
mlsorensen/kubevirt
mmirecki/kubevirt
mpolednik/kubevirt
mureinik/kubevirt
myakove/kubevirt
myang32/kubevirt
mz-pdm/kubevirt
navinrio/kubevirt
nellyc/kubevirt
nertpinx/kubevirt
netroby/kubevirt
ngavrilo/kubevirt
norpol/kubevirt
odra/kubevirt
onesourceintegrations/kubevirt
oourfali/kubevirt
ousleyp/kubevirt
pcbailey/kubevirt
petrkotas/kubevirt
phoracek/kubevirt
pkliczewski/kubevirt
pro3spb/kubevirt
qwang1/kubevirt
radishgz/kubevirt
raghavendra-talur/kubevirt
raghavendrachari08/kubevirt
rancheral/kubevirt
ravisantoshgudimetla/kubevirt
ravitri/kubevirt
rawagner/kubevirt
rbramwell/kubevirt
reachkrr/kubevirt
rhevm-qe-automation/kubevirt
rollandf/kubevirt
rootfs/kubevirt
rowhit/kubevirt
rthallisey/kubevirt
rwsu/kubevirt
ryancee/kubevirt
sahid/kubevirt
scollier/kubevirt
senior7515/kubevirt
shiywang/kubevirt
sjas/kubevirt
slaykovsky/kubevirt
slintes/kubevirt
splitwood/kubevirt
stu-gott/kubevirt
stvnrsnbrg/kubevirt
sungwonh/kubevirt
surajnarwade/kubevirt
syswu/kubevirt
tanskann/kubevirt
tchughesiv/kubevirt
thiagodasilva/kubevirt
tiraboschi/kubevirt
tripledes/kubevirt
tylerauerbeck/kubevirt
unmeshdesale/kubevirt
vanloswang/kubevirt
vatsalparekh/kubevirt
vefimova/kubevirt
vinaygupta1234/kubevirt
virtlib/kubevirt
visheshtanksale/kubevirt
vladikr/kubevirt
warmchang/kubevirt
waynesun09/kubevirt
weiwang-linda/kubevirt
xsgordon/kubevirt
yanirq/kubevirt
yarntime/kubevirt
yuvalif/kubevirt
zvikorn/kubevirt
Nothing to show
Choose a base branch
api
apidoc
artifacts1
backingstore
bazel
binary
blub
box
boxes
bridge-release-0.6
bridge
build-speed
build_dockerized
cd
ci-cleanup
ci
cirros
cleanup
cluster-rm
cluster_clean
cobra
console_tests
containerized_ci
contributor
controller-health
converter
copy-artifacts
cors
coverall
coveralls
cpu
crd
debug
debugging
decentralized_pod_networking
defaulting
defaults
delete-all
deprecate-vagrant
deprecate-vagrant1
device_mapper
disable-mac-test
dns
doc-fix
docker-1.12
dockerized
docs
ds
emptyDisk
enwgo
ephemeral-images-idempotent
errors
events_again
events
exclude_vendor
fcevents
file-permission-investigations
final_states
fix-controller
fix-crds
fix-delete
fix-docker
fix-examples
fix-flaky-network-test
fix-interface-model
fix-launcher-flows
fix-libvirt-log-test
fix-migration
fix-pflag
fix-schema-conversion-tets
fix-swagger
fix-template-again
fix-templates
fix-test
fix-update-webhook-validation
fix-vm-vmi-controller-starving
fix_cli
fix_ovm
fix_weave
fix
fixci
flag
flaky
flannel
forgotten-prefix
forward-provider
free_domains
getting-started-fixes
ginkgo
go-report
goimports-comments
goimports
goverall
gpg
graceful-vm
graceful
handler-events
haproxy
health
host-network
hostname
improve-checks
improve-event-logging-in-tests
improve-unresponsive-detection
initializer-registration
inotify
irc
jenkins
job
k8s-1.9.3
kubeadm
kubernetes-1.6.1
kvm
kvm1
labels
launcher
libvirt-disks
libvirt
local-provider
logging
manifest-templates
manifests
mapping
master
memory-overcommit-v2-release-0.6
memory-overcommit-v2
memory-overcommit
merged_cluster_clean
migration-client
migration-doc
migration
mockgen
more_flaky
networks
newest-images
no-iscsi
no_docker
nocloud
node-network
node-tc
ocp-hack
openapi-generate-integration
openapi
openshiftci
osbs
overwrite
ovm-fix-again
ovm-fix
ovm-override
ovm-rework
packaging
pin-generators
pin_cli
pkgdir
pod-setup-rethough-release-0.6
pod-setup-rethough
pod-setup-rethought
prefix
prometheus
providers
prow
pxe
q35
rbac
regex
release-0.6-fix-goimports
release-0.6-fix-template-cores
release-0.6-memory-overcommit
release
remove-async-ginkgo
remove-vagrant
replicaset
requeue-fix
reviewer-guide
rmohr-patch-1
rmohr-patch-2
rolling-upgrade
scheduled-condition
sems
setup-stdci1
shfmt
shfmt1
should-not-have-been-possible-to-happen
socket-deletion
sockets
speedup-build
spice
ssh
stabilize-ci-wip
stabilize-ci
status
statusv2
storage-dependencies
stu-gott-libvirtd
subresources
sudo
swagger-codegen
swagger
tarball
terminated-failed
test
test1
test2
test100
timeout
timeouts
travis-release-nice-name
travis
true
unit-fix
vagrant-kube-1.7
vagrant-rsync
vagrant_again
vagrant
verify-build-is-clean
virt-api-debugable
virt-api-extra-header
virt-api
virt-category
virt-preview
virtcl-completion
virtio
vm-controller
vmi
vmrs-deletion-timestamp
vmrs-validation
websocket-fix1
websocket-virt-api
websocket-virtctl
websocket
wesec
workqueue
yaml
Nothing to show
Choose a Head Repository
kubevirt/kubevirt
rmohr/kubevirt
Akrog/kubevirt
AlertBear/kubevirt
AlexxNica/kubevirt
AllenShi/kubevirt
AlonaKaplan/kubevirt
CretanCivil/kubevirt
Ethan-2017/kubevirt
FengYang/kubevirt
Glip-/kubevirt
HYDPublic/kubevirt
ILpinto/kubevirt
IsolationWyn/kubevirt
JiejunLi/kubevirt
Kryndex/kubevirt
MalloZup/kubevirt
MarSik/kubevirt
MegaByte875/kubevirt
Oliverlyn/kubevirt
RikTheunis/kubevirt
SchSeba/kubevirt
aburdenthehand/kubevirt
adityaramteke/kubevirt
admiyo/kubevirt
aglitke/kubevirt
ahadas/kubevirt
alexismonville/kubevirt
alexxa/kubevirt
alvaroaleman/kubevirt
annie2010/kubevirt
arilivigni/kubevirt
artmello/kubevirt
aslanbekirov/kubevirt
ateleshev/kubevirt
awels/kubevirt
awesome-docker/kubevirt
awesome-p2p/kubevirt
benwatcisco/kubevirt
berrange/kubevirt
bestwpw/kubevirt
bhavin192/kubevirt
bond95/kubevirt
booxter/kubevirt
bronhaim/kubevirt
cgvarela/kubevirt
chessbyte/kubevirt
chitteshsham/kubevirt
cliffy94/kubevirt
codevulture/kubevirt
coolsvap/kubevirt
ctrlaltdel/kubevirt
curx/kubevirt
cynepco3hahue/kubevirt
danielBelenky/kubevirt
danielerez/kubevirt
dankenigsberg/kubevirt
davidmr001/kubevirt
davidvossel/kubevirt
denverwilliams/kubevirt
derekwaynecarr/kubevirt
devconf-2017-forks/kubevirt
duyanyan/kubevirt
dzr0001/kubevirt
eedri/kubevirt
fabiand/kubevirt
fhaoquan/kubevirt
firemanxbr/kubevirt
fnet123/kubevirt
fromanirh/kubevirt
fuseknt/kubevirt
gbenhaim/kubevirt
gbraad/kubevirt
georgekuruvillak/kubevirt
gliptak/kubevirt
gofalconers/kubevirt
gonzolino/kubevirt
gouyang/kubevirt
grafuls/kubevirt
gszasz/kubevirt
guangxuli/kubevirt
gyliu513/kubevirt
humblec/kubevirt
ifireball/kubevirt
igoihman/kubevirt
imjoey/kubevirt
itamarh/kubevirt
j-griffith/kubevirt
jasonbrooks/kubevirt
jcpowermac/kubevirt
jerry7z/kubevirt
jhernand/kubevirt
jihoon5/kubevirt
jlevon/kubevirt
jmpq/kubevirt
jnaulty/kubevirt
jniederm/kubevirt
karmab/kubevirt
kenzhaoyihui/kubevirt
krishna2nd/kubevirt
krsacme/kubevirt
ksimon1/kubevirt
leongold/kubevirt
liangxia/kubevirt__kubevirt
liayan/kubevirt
livsky87/kubevirt
lkpdn/kubevirt
lowang-bh/kubevirt
lukas-bednar/kubevirt
machacekondra/kubevirt
mareklibra/kubevirt
matobet/kubevirt
mcastelino/kubevirt
mdshuai/kubevirt
mfrances17/kubevirt
mfranczy/kubevirt
mhenriks/kubevirt
michalskrivanek/kubevirt
mkim2001/kubevirt
mlsorensen/kubevirt
mmirecki/kubevirt
mpolednik/kubevirt
mureinik/kubevirt
myakove/kubevirt
myang32/kubevirt
mz-pdm/kubevirt
navinrio/kubevirt
nellyc/kubevirt
nertpinx/kubevirt
netroby/kubevirt
ngavrilo/kubevirt
norpol/kubevirt
odra/kubevirt
onesourceintegrations/kubevirt
oourfali/kubevirt
ousleyp/kubevirt
pcbailey/kubevirt
petrkotas/kubevirt
phoracek/kubevirt
pkliczewski/kubevirt
pro3spb/kubevirt
qwang1/kubevirt
radishgz/kubevirt
raghavendra-talur/kubevirt
raghavendrachari08/kubevirt
rancheral/kubevirt
ravisantoshgudimetla/kubevirt
ravitri/kubevirt
rawagner/kubevirt
rbramwell/kubevirt
reachkrr/kubevirt
rhevm-qe-automation/kubevirt
rollandf/kubevirt
rootfs/kubevirt
rowhit/kubevirt
rthallisey/kubevirt
rwsu/kubevirt
ryancee/kubevirt
sahid/kubevirt
scollier/kubevirt
senior7515/kubevirt
shiywang/kubevirt
sjas/kubevirt
slaykovsky/kubevirt
slintes/kubevirt
splitwood/kubevirt
stu-gott/kubevirt
stvnrsnbrg/kubevirt
sungwonh/kubevirt
surajnarwade/kubevirt
syswu/kubevirt
tanskann/kubevirt
tchughesiv/kubevirt
thiagodasilva/kubevirt
tiraboschi/kubevirt
tripledes/kubevirt
tylerauerbeck/kubevirt
unmeshdesale/kubevirt
vanloswang/kubevirt
vatsalparekh/kubevirt
vefimova/kubevirt
vinaygupta1234/kubevirt
virtlib/kubevirt
visheshtanksale/kubevirt
vladikr/kubevirt
warmchang/kubevirt
waynesun09/kubevirt
weiwang-linda/kubevirt
xsgordon/kubevirt
yanirq/kubevirt
yarntime/kubevirt
yuvalif/kubevirt
zvikorn/kubevirt
Nothing to show
Choose a head branch
api
apidoc
artifacts1
backingstore
bazel
binary
blub
box
boxes
bridge-release-0.6
bridge
build-speed
build_dockerized
cd
ci-cleanup
ci
cirros
cleanup
cluster-rm
cluster_clean
cobra
console_tests
containerized_ci
contributor
controller-health
converter
copy-artifacts
cors
coverall
coveralls
cpu
crd
debug
debugging
decentralized_pod_networking
defaulting
defaults
delete-all
deprecate-vagrant
deprecate-vagrant1
device_mapper
disable-mac-test
dns
doc-fix
docker-1.12
dockerized
docs
ds
emptyDisk
enwgo
ephemeral-images-idempotent
errors
events_again
events
exclude_vendor
fcevents
file-permission-investigations
final_states
fix-controller
fix-crds
fix-delete
fix-docker
fix-examples
fix-flaky-network-test
fix-interface-model
fix-launcher-flows
fix-libvirt-log-test
fix-migration
fix-pflag
fix-schema-conversion-tets
fix-swagger
fix-template-again
fix-templates
fix-test
fix-update-webhook-validation
fix-vm-vmi-controller-starving
fix_cli
fix_ovm
fix_weave
fix
fixci
flag
flaky
flannel
forgotten-prefix
forward-provider
free_domains
getting-started-fixes
ginkgo
go-report
goimports-comments
goimports
goverall
gpg
graceful-vm
graceful
handler-events
haproxy
health
host-network
hostname
improve-checks
improve-event-logging-in-tests
improve-unresponsive-detection
initializer-registration
inotify
irc
jenkins
job
k8s-1.9.3
kubeadm
kubernetes-1.6.1
kvm
kvm1
labels
launcher
libvirt-disks
libvirt
local-provider
logging
manifest-templates
manifests
mapping
master
memory-overcommit-v2-release-0.6
memory-overcommit-v2
memory-overcommit
merged_cluster_clean
migration-client
migration-doc
migration
mockgen
more_flaky
networks
newest-images
no-iscsi
no_docker
nocloud
node-network
node-tc
ocp-hack
openapi-generate-integration
openapi
openshiftci
osbs
overwrite
ovm-fix-again
ovm-fix
ovm-override
ovm-rework
packaging
pin-generators
pin_cli
pkgdir
pod-setup-rethough-release-0.6
pod-setup-rethough
pod-setup-rethought
prefix
prometheus
providers
prow
pxe
q35
rbac
regex
release-0.6-fix-goimports
release-0.6-fix-template-cores
release-0.6-memory-overcommit
release
remove-async-ginkgo
remove-vagrant
replicaset
requeue-fix
reviewer-guide
rmohr-patch-1
rmohr-patch-2
rolling-upgrade
scheduled-condition
sems
setup-stdci1
shfmt
shfmt1
should-not-have-been-possible-to-happen
socket-deletion
sockets
speedup-build
spice
ssh
stabilize-ci-wip
stabilize-ci
status
statusv2
storage-dependencies
stu-gott-libvirtd
subresources
sudo
swagger-codegen
swagger
tarball
terminated-failed
test
test1
test2
test100
timeout
timeouts
travis-release-nice-name
travis
true
unit-fix
vagrant-kube-1.7
vagrant-rsync
vagrant_again
vagrant
verify-build-is-clean
virt-api-debugable
virt-api-extra-header
virt-api
virt-category
virt-preview
virtcl-completion
virtio
vm-controller
vmi
vmrs-deletion-timestamp
vmrs-validation
websocket-fix1
websocket-virt-api
websocket-virtctl
websocket
wesec
workqueue
yaml
Nothing to show
  • 5 commits
  • 9 files changed
  • 0 commit comments
  • 2 contributors
Commits on Jun 27, 2018
Let the VM controller only delete VMIs once
If a VMI is already marked for deleteion, the VM controller is not
allowed to delete the VMI again. If it does we can end up in a rythm
where the vmi controller is always behind the latest modification of the
object and can never remove our finalizer once the vmi pod is gone.
Merge pull request #1231 from rmohr/fix-vm-vmi-controller-starving
Let the VM controller only delete VMIs once
Merge pull request #1235 from yanirq/sanitize_hostname
Validate and sanitize hostname for DNS entries
Commits on Jun 28, 2018
Add a single test to verify connectivity for explicit given pod network
Don't run all network tests twice, once with explicit pod network
definition given and once with the implicit assumption.

Instead of that create a third VM which has an explicit network
definition given and add add an explicit test which ensures that it is
connected to the pod network.

This also fixes flakyness in the tests, since pod and service definition
conflicts occured from time to time, or the service tried to reach a vm
which was not intended by the test.
@@ -0,0 +1,44 @@
/*
* This file is part of the KubeVirt project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Copyright 2018 Red Hat, Inc.
*
*/
package dns
import (
"strings"
"k8s.io/apimachinery/pkg/util/validation"
"kubevirt.io/kubevirt/pkg/api/v1"
)
// Sanitize hostname according to DNS label rules
// If the hostname is taken from vmi.Spec.Hostname
// then it already passed DNS label validations.
func SanitizeHostname(vmi *v1.VirtualMachineInstance) string {
hostName := strings.Split(vmi.Name, ".")[0]
if len(hostName) > validation.DNS1123LabelMaxLength {
hostName = hostName[:validation.DNS1123LabelMaxLength]
}
if vmi.Spec.Hostname != "" {
hostName = vmi.Spec.Hostname
}
return hostName
}
@@ -26,12 +26,14 @@ import (
"io/ioutil"
"net/http"
"regexp"
"strings"
"k8s.io/apimachinery/pkg/api/resource"
v1beta1 "k8s.io/api/admission/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/validation"
k8sfield "k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/apimachinery/pkg/labels"
@@ -367,6 +369,18 @@ func ValidateVirtualMachineInstanceSpec(field *k8sfield.Path, spec *v1.VirtualMa
// We won't process anything over the limit
return causes
}
// Validate hostname according to DNS label rules
if spec.Hostname != "" {
errors := validation.IsDNS1123Label(spec.Hostname)
if len(errors) != 0 {
causes = append(causes, metav1.StatusCause{
Type: metav1.CauseTypeFieldValueInvalid,
Message: fmt.Sprintf("%s does not conform to the kubernetes DNS_LABEL rules : %s",
field.Child("hostname").String(), strings.Join(errors, ", ")),
Field: field.Child("hostname").String(),
})
}
}
// Validate memory size if values are not negative
if spec.Domain.Resources.Requests.Memory().Value() < 0 {
@@ -32,6 +32,7 @@ import (
"kubevirt.io/kubevirt/pkg/api/v1"
"kubevirt.io/kubevirt/pkg/precond"
"kubevirt.io/kubevirt/pkg/registry-disk"
"kubevirt.io/kubevirt/pkg/util/net/dns"
)
const configMapName = "kube-system/kubevirt-config"
@@ -303,10 +304,7 @@ func (t *templateService) RenderLaunchManifest(vmi *v1.VirtualMachineInstance) (
containers = append(containers, container)
hostName := vmi.Name
if vmi.Spec.Hostname != "" {
hostName = vmi.Spec.Hostname
}
hostName := dns.SanitizeHostname(vmi)
// TODO use constants for podLabels
pod := k8sv1.Pod{
@@ -295,7 +295,7 @@ func (c *VMController) startVMI(vm *virtv1.VirtualMachine) error {
}
func (c *VMController) stopVMI(vm *virtv1.VirtualMachine, vmi *virtv1.VirtualMachineInstance) error {
if vmi == nil {
if vmi == nil || vmi.DeletionTimestamp != nil {
// nothing to do
return nil
}
@@ -167,6 +167,18 @@ var _ = Describe("VirtualMachine", func() {
testutils.ExpectEvent(recorder, SuccessfulDeleteVirtualMachineReason)
})
It("should not delete the VirtualMachineInstance again if it is already marked for deletion", func() {
vm, vmi := DefaultVirtualMachine(false)
vmi.DeletionTimestamp = now()
addVirtualMachine(vm)
vmiFeeder.Add(vmi)
vmInterface.EXPECT().Update(gomock.Any()).Times(1).Return(vm, nil)
controller.Execute()
})
It("should ignore non-matching VMIs", func() {
vm, vmi := DefaultVirtualMachine(true)
@@ -39,6 +39,7 @@ import (
"kubevirt.io/kubevirt/pkg/ephemeral-disk"
"kubevirt.io/kubevirt/pkg/log"
"kubevirt.io/kubevirt/pkg/registry-disk"
"kubevirt.io/kubevirt/pkg/util/net/dns"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli"
domainerrors "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/errors"
@@ -85,10 +86,7 @@ func (l *LibvirtDomainManager) preStartHook(vmi *v1.VirtualMachineInstance, doma
// generate cloud-init data
cloudInitData := cloudinit.GetCloudInitNoCloudSource(vmi)
if cloudInitData != nil {
hostname := vmi.Name
if vmi.Spec.Hostname != "" {
hostname = vmi.Spec.Hostname
}
hostname := dns.SanitizeHostname(vmi)
err := cloudinit.GenerateLocalData(vmi.Name, hostname, vmi.Namespace, cloudInitData)
if err != nil {
View
@@ -62,6 +62,7 @@ import (
"kubevirt.io/kubevirt/pkg/controller"
"kubevirt.io/kubevirt/pkg/kubecli"
"kubevirt.io/kubevirt/pkg/log"
"kubevirt.io/kubevirt/pkg/util/net/dns"
"kubevirt.io/kubevirt/pkg/virt-controller/services"
"kubevirt.io/kubevirt/pkg/virtctl"
)
@@ -1184,10 +1185,7 @@ func LoggedInCirrosExpecter(vmi *v1.VirtualMachineInstance) (expect.Expecter, er
if err != nil {
return nil, err
}
vmiName := vmi.Name
if vmi.Spec.Hostname != "" {
vmiName = vmi.Spec.Hostname
}
hostName := dns.SanitizeHostname(vmi)
// Do not login, if we already logged in
err = expecter.Send("\n")
@@ -1205,7 +1203,7 @@ func LoggedInCirrosExpecter(vmi *v1.VirtualMachineInstance) (expect.Expecter, er
&expect.BSnd{S: "\n"},
&expect.BExp{R: "login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root."},
&expect.BSnd{S: "\n"},
&expect.BExp{R: vmiName + " login:"},
&expect.BExp{R: hostName + " login:"},
&expect.BSnd{S: "cirros\n"},
&expect.BExp{R: "Password:"},
&expect.BSnd{S: "gocubsgo\n"},
Oops, something went wrong.

No commit comments for this range