/srv/irclogs.ubuntu.com/2014/09/23/#maas.txt

=== CyberJacob is now known as CyberJacob|Away
=== kickinz1|afk is now known as kickinz1
gnuoyHi, I'm using maas 1.7 from the experimental ppa. When I try an create an new boot resource I get06:41
gnuoy{"architecture": ["'amd64/generic' is not a valid architecture.  It should be one of: ''."]}06:41
gnuoydoes this ring a bell with anyone?06:41
gnuoyhttp://paste.ubuntu.com/8408696/06:43
=== CyberJacob|Away is now known as CyberJacob
gnuoyok, I seem to be past that after installing the base images. sorry for the noise07:11
rvbagnuoy: I think this is actually a bug.  AFAIK there is no reason to force you to import the base images to let you manually import a different image.07:16
gnuoyrvba, ok, thanks, I'll file a bug. While you're here .... The  'boot-resources create' completed silently after a few minutes boot the boot image  is not appearing in the bootimages pages in the webui. I don't see any errors in the maas.log07:19
gnuoys/boot the boot/but the boot/07:19
gnuoybut I do see the image is now in /var/lib/maas/boot-resources/snapshot*07:20
rvbagnuoy: the images are now downloaded to the region and *then* synced to the cluster… the sync should happen right after the download but this is when the processing happens so it's not instantaneous.07:20
gnuoyrvba, I shall try being patient, thank you :)07:20
rvbaAnd thanks for filing a bug.07:21
rvbagnuoy: this mechanism is quite new (and still being worked on) so please file bugs about usability problems etc.07:22
gnuoyWill do07:23
rvbaTa07:23
=== kickinz1 is now known as kickinz1|afk
=== kickinz1|afk is now known as kickinz1
=== CyberJacob is now known as CyberJacob|Away
=== kickinz1 is now known as kickinz1|afk
=== kickinz1|afk is now known as kickinz1
cariboujtv: remember my the TFTP maas issue I had yesterday ?08:52
jtvHi caribou... yes, and I remember not understanding what might have caused it.  Any news?08:53
cariboujtv: well, it's either an explanation or a workaround08:54
* jtv looks curious08:54
cariboujtv: I found that if I do a reset of the VM once it has failed to get the TFTP file, it works !08:54
jtvThe VM being the simulated node?08:55
cariboujtv: yes08:55
* jtv ponders08:55
jtvSounds almost as if it no longer tries to netboot or something...08:55
caribouI was wondering if I was doing the "commissionning" too fast for maas to have time to react08:55
cariboujtv: well, I just wanted to let you know. At least I got my maas setup working so I can test the other problem08:56
jtvIt would be nice to understand this, so we can document and/or fix etc...08:57
jtvRemind me: you netbooted the VM to auto-enlist it, and then it failed to netboot for commissioning, right?08:57
cariboujtv: well, it is reproducible on my side. It could be environmental as well08:57
jtv(BTW annoying difference between French and English, one of many: "commissioning," with lots of double consonants but not the ‘n’ :-)08:57
jtvEven if it's environmental, it could translate into useful advice for others.08:58
cariboujtv: no simpler than that : I setup maas, configure it, then PXE boot a VM08:58
cariboujtv: the first PXE boot works fine & the VM is seen by maas08:58
jtvYes, at that point the VM should enlist with MAAS.08:58
caribouthen I Edit the node, change its name & power setup so it can be controlled by virsh08:58
cariboudo the ssh key bits so maas can issue libvirt commands08:59
jtv*The very latest version I believe will tell you if there's a problem with the power parameters.)08:59
jtv(08:59
jtvAnd then you tell MAAS "commission this node" but nothing happens?08:59
caribouthen I go & click on "commission", the VM starts and the TFTP request never completes08:59
jtvHmmm09:00
jtvI wonder if it's a problem with the IP address from DHCP.09:00
caribouthe TFTP request gets to the maas server (as seen in /var/log/syslog) but it never does more than that09:00
caribouif I do "virsh reset {VM}", then it works09:00
jtvI'm thinking maybe it's because the DHCP client in the PXE gets a different IP address from the one in the OS.09:00
caribouapparently it sees it ok (according to /var/log/syslog)09:01
jtvOr maybe...09:01
caribouoh, another thing I noticed but might be a fixed issue09:01
jtvYou're saying this is very fast?  But the problem happened in 1.5, right?09:01
caribouI can only do that kind of test once. If I delete the node & start over again with the same VM it fails09:01
caribouyes, I'm testing 1.5 only atm09:02
caribouIf I want to *reuse* the same VM, I need to remove the NIC & create a new one so the MAC address changec09:02
caribouchanges09:02
jtvIt might be worth a look to see if the OS boot and the PXE boot get the same IP addresses from DHCP.09:02
caribouI think that there is some problem with trying to add a new node with the same MAC on the dhcp lease side09:02
caribouI can do that09:03
jtvYes, there can be problems with that.09:03
jtvWhere the two clients basically get treated as two machines.09:03
jtvIIRC we have workarounds for that in the DHCP config, but VMWare might have its own PXE implementation that those workarounds don't, er, work around.09:03
caribouwell, in my case it's not VMware but qemu/kvm09:04
caribouok, let me re-run the whole test once again & see what I get09:04
jtvOh sorry I thought you said VMWare at some point.09:06
cariboujtv: no worry09:08
cariboujtv: this is the kind of msg I get when I *reuse* a VM :09:09
cariboujtv: dhcpd: DHCPREQUEST for 192.168.123.185 (192.168.123.1) from 52:54:00:76:32:4e via eth0: lease 192.168.123.185 unavailable.09:09
jtvAh yes.09:09
jtvIt's probably unavailable because either:09:09
jtv1. The PXE DHCP client and the OS DHCP client get treated basically as different systems.09:10
jtv2. The last lease is still active.09:10
jtvI think #1 is the most likely explanation.09:10
jtv(Because otherwise there'd be nothing stopping the DHCP server from giving the node a fresh address in the first place, unless your DHCP range is completely exhausted.)09:11
jtv(I'm assuming you have a DHCP range that's considerably larger than the number of virtual machines.)09:11
cariboujtv: yes, 100 nodes09:11
jtvAnd how big are the address ranges on your node network?09:12
caribouwhat do you mean by "node network" ?09:13
jtvThe network on which you're letting MAAS serve DHCP.09:13
cariboujtv: btw, the maas server itself is a VM (yeah, I know I'm making things a bit twisted)09:13
jtvNo, that should be fine.09:13
jtvAs long as you don't have conflicting DHCP servers, obviously.  :)09:13
cariboujtv: it has the whole 192.168.123 network to itself09:13
jtvSo /24.09:14
caribouyep09:14
jtvThat might still run out I guess, given the wrong circumstances.  And do you have a static and a dynamic IP range configured on the cluster interface?09:14
cariboubtw, I don't want to waste your time on this. I can investigate it myself, just wanted to keep you posted09:14
caribouno, I don't think 1.5 has that feature yet09:14
jtvBelieve me, I appreciate that very much.  Part of me is just curious though, and part of me wants to prevent more people from asking us the same thing later.  :)09:15
jtvAh right, 1.5.09:15
caribouyeah, same here. My dayjob if to fix bugs. I hate to overlook one when I find it09:15
jtvYou might want to have a look at your leases file, to see if the server is running out of addresses, but 1.5 may still have the dhcpd bug where the leases file doesn't get cleaned up.09:16
caribouyeah, I think that's the bug I was refering to; I've seen that before09:16
jtvI'd certainly consider allocating a larger subnet.09:16
jtvLet me check what happened to that bug...09:16
caribouok, I have a few minutes: I'll ditch the current maas setup, rebuild it & see if I can reproduce on a fresh install09:17
jtvThe current Trusty packaging does have the workaround, so I'd expect your leases file to be nice and clean.09:18
caribouso at least the log files are not filled with all the tests I ran yesterday09:18
caribouoh, other than that everything seems to work fine, I was able to bootstrap juju on this maas server09:21
rvbaSimple UI branch up for review: https://code.launchpad.net/~rvb/maas/nel-ui/+merge/23558409:23
* jtv struggles to keep up with rvba 09:25
jtvOh I do like the faster test startup...09:26
jtvrvba: review done.09:31
rvbaThanks.09:31
jtvOh wow.09:42
jtvWhy on Earth do we still have JS tests with hard-coded enum values?09:42
jtvAfter all that work to make our enums available uniformly across JS and Python?09:43
jtvMaybe it was to protect against accidental value changes.09:46
jtvGavin: thanks for the __new__ tip.  It's always a few years between encounters with that thing and I always forget it's there.09:52
jtvErm.  A shame tests are failing all over the place though.09:52
jtvMay be unrelated.  I'll see what the output is.09:52
allenapjtv: __new__ is a bit of an ugly wart :-/09:53
jtvAh, I forgot to pass cls.09:53
jtvDo I need to decorate it as a @classmethod?09:53
jtvNope,  apparently not — it works without.09:58
allenapjtv: Python automagically declares it _static_, which I guess is because of History.10:01
* jtv hates History10:01
jtvallenap: replacement MP → https://code.launchpad.net/~jtv/maas/bug-1372735-bis/+merge/23560010:05
=== kickinz1 is now known as kickinz1|afk
rvbaallenap: care to review https://code.launchpad.net/~rvb/maas/relax-mark-failed/+merge/235606 ?  It's the followup from our conversation from yesterday,10:43
allenaprvba: Sure.10:49
=== kickinz1|afk is now known as kickinz1
gmbrvba: Does the node event log stuff rely on RPC?11:08
gmbrvba: Actually, a more pertinent question: what's the relation of the metadataserver code to maasserver… I.e. can I just safely call model stuff from metadataserver code?11:09
allenapgmb: You can.11:10
gmballenap: Huzzah. I thought as much from looking at it, but wanted to check before I did anything catastrophically daft.11:10
allenapgmb: You’re safe; we’ve done all the catastrophically daft things already.11:11
gmbMAAS core team: Blowing things up so you don't have to11:12
=== kickinz1 is now known as kickinz1|afk
=== kickinz1|afk is now known as kickinz1
=== kickinz1 is now known as kickinz1|afk
gmbrvba, jtv, allenap: https://code.launchpad.net/~gmb/maas/event-for-netboot-off/+merge/235615 for needing of review pleasekthx11:51
jtvgmb: got it.11:51
jtvgmb: you want to turn netboot?  Into what?11:51
gmbjtv: Either I'm missing a funny thing or I've done something confusing. Please elucidate :)11:52
gmbOh!11:52
gmbjtv: Haha.11:52
jtv:)11:52
gmbSorry, my Engrish is strong today11:52
jtvThe answer was "both."11:52
gmbIndeeds.11:54
=== kickinz1|afk is now known as kickinz1
gmb /win 1012:19
gmbGaah12:19
=== kickinz1 is now known as kickinz1|afk
=== kickinz1|afk is now known as kickinz1
=== kickinz1 is now known as kickinz1|afk
rvbaallenap: thanks for the review on https://code.launchpad.net/~rvb/maas/relax-mark-failed/+merge/235606.  Maybe I can do something even better: have the RPC method know about the exception and only ignore it when it's raised in the periodic power check.12:53
=== kickinz1|afk is now known as kickinz1
allenaprvba: That’s *worse*! Are you trolling?13:10
rvbaallenap: I was not.  Why do you think it's worse?13:11
rvbaallenap: as you pointed out, changing mark_failed was overly broad.13:11
allenaprvba: Okay. It would violate layering to have the RPC code know to ignore exceptions depending on the caller. I think either the responder for MarkNodeFailed in the region should ignore NodeStateViolation all the time, or it should send it over the wire back to the cluster, where the periodic poller code would catch it and ignore it.13:14
rbasakMarkNodeFailed?13:15
rvbaallenap: the second option is exactly what I'm proposing.13:15
rbasakSounds like a special exception just for sabdfl :)13:15
rvbarbasak: heh13:15
=== jefferai__ is now known as jefferai
allenaprvba: Oh, okay, in that case it sounds fine.15:04
gmbrvba: So, netboot_off is done anonymously, I guess…15:08
rvbagmb: yep15:08
gmbOkay.15:08
gmbrvba: Any point having both netboot_off()s emit this event, or are we just in for a world of duplication and pain?15:09
rvbagmb: I have no idea when the other code path is used.15:09
rvbaLet's not duplicate this.15:09
gmbK15:09
gmbI’ll just move it to the anon handler.15:09
rvbaAnd maybe fix the call to register_event_and_event_type() while you're at it.15:10
rvba;)15:10
gmbrvba: Done that already, smartypants :P15:10
rvbahaha, cool.15:10
gmbrvba: https://code.launchpad.net/~gmb/maas/fix-netboot_off/+merge/23565915:20
gmbsvp15:20
rvbagmb: approved15:23
gmbTa15:24
rvbagmb: Please don't forget to do the QA for this when your change goes through the CI.15:32
gmbrvba: Of course.15:32
rvbaCool, ta.15:33
gmbrvba: I need to step AFK for a while, but I will QA my change this afternoon.15:39
smoseranyone have a pointer ..16:04
smoseri'm wondering how i'd go about adding my own "operating system" to maas. to install.16:04
roadmrsmoser: best way I've found is to create a fastpath-installable tar.gz (only done it with Ubuntu derivatives so it's easy to get this) and replace the root-tgz in /var/lib/maas/boot-resources for the default release16:06
smoserroadmr, right. but i think there is a more supported path for that.16:07
smoserblake_r, maybe ?^ or roaksoax ^?16:07
roadmrsmoser: bladernr_ worked on publishing his custom root.tar.gz using simplestreams, not sure how far he was able to go16:08
smoserwell, that should be reasonably simple.16:08
smoseri'm interested in non-ubuntu.16:08
bladernr_smoser: AIUI 1.7 has a mechanism for introducing a new image to MAAS but doesn't work all the way16:08
smoserthats what i was hoping to get at.16:09
bladernr_I've been doing as roadmr mentions for now, just hijacking an existing one.  blake_r should have a good idea though16:09
roadmrsmoser: yes, that's ^^ the third alternative. maas maas boot-resources create will let you upload a custom .tgz but then it can't yet be selected for deployment into a node. Work in progress :)16:09
bladernr_as for simplestreams, I have a sample stream built (for now, another hijack) but got hung up on image signatures.... I know nothing about creating/using keyrings and image signing16:11
bladernr_and won't be able to return to it until next week some time.16:11
smoserbladernr_, well, you dont actually have to sign anything.16:16
bladernr_that's what I thought, I think I just haven't completely hijacked the stream I duplicated.16:16
smoserits not hard to sign... simplstreams has a tool to sign it all, you just have to tell it what key to use.16:16
smoserbut when you tell maas about the stream. you need to point it at streams/v1/index.json16:16
smoserif you leave that part off, then it will assume the path is streams/v1/index.sjson16:17
smoserand will then expect signed data.16:17
smoseri can help you get your stuff signed if you want though.16:17
bladernr_hrmmm... ok.  that may be where I messed up then because it was complaining about the ubuntu-cloud keyring when I tried an import...16:17
bladernr_so maybe I was pointed to the wrong json file16:17
smoseri dont know. feel free to ping me if you need to .16:18
smosermy goal is to get maas to point at a stream that says things like:16:18
bladernr_I'll bug you about it next week, I've got to get my maas server running for an OCP demo on Thursday16:18
smoser  operating-system: smosOS16:18
smoser version: 201416:18
smoserand then install that.16:18
smoseryou down with ocp ?16:19
bladernr_yeah, you know me16:19
bladernr_early 90's flashbacks16:19
=== roadmr is now known as roadmr_afk
=== kickinz1 is now known as kickinz1|afk
blake_rsmoser: sorry you cannot select a custom os yet, I hoep to get that fixed today17:49
blake_rsmoser: so comming soon17:49
smoserbut is there some sort of doc on that.17:50
blake_rsmoser: about what? how to select it? its not enabled yet17:50
smoserok.17:52
=== roadmr_afk is now known as roadmr
=== roadmr is now known as roadmr_afk
=== jfarschman is now known as MilesDenver
=== roadmr_afk is now known as roadmr
smoserblake_r, https://code.launchpad.net/~blake-rouse/maas/move-curtin-reporter-to-preseed/+merge/23571621:31
smoserwrt to that, remember / knwo that curtin can take multiple configs21:32
smoserif there is no sense in exposing that in the template, then you dont have to21:32
smoserjust give curtin another config21:32
blake_rsmoser: yeah that is what i am doing, removing it from the template21:32
blake_rsmoser: so its always there no matter the template21:33
smoseroh yeah. i see that :)21:33
smosergood job.21:33
smoseri thought from the comment that you ewre just putting that snippet into a variable21:34
smoserand then having the template render the whole variable21:34
blake_rno that is how it was21:34
blake_rsmoser: also have a branch up for selecting custom images, so once that lands you can use that feature21:34
blake_rroadmr: ^21:34
smoserand i can somehow define smosOS ?21:35
smoserbecause lots of people want to run smosOS.21:35
roadmrblake_r: \o/ awesome!!!21:35
smoserok. i have to run. later.21:35
* roadmr looks forward to stop using the root-tgz substitution hack :D21:35
blake_rsmoser: later21:37

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!