/srv/irclogs.ubuntu.com/2014/01/31/#maas.txt

jtvHi bigjools — I have some documentation updates ready for the multiple networks per cluster, but what I'm still missing is a clear designing-your-network document.04:08
bigjoolsjtv: g'day04:08
bigjoolsjtv: I think some examples would be good but we don't want to be prescriptive do we?04:08
bigjoolsit's not like serious users will take notice anyway :)04:09
jtvI'm thinking not so much of an if-all-else-fails-rtfm thing, or a "how to unpack your ipod: 1. do not unpack under water or near impending nuclear explosions"04:10
jtvMore "the things you'll want to know before you start with this"04:11
bigjoolsjtv: sounds good04:11
jtvSomething that sets the expectations for what you can do with maas, and what you're going to need.04:11
jtvIf you think it's useful for me to write up a first stab at such a document, I can put my current branch up for review first.04:12
jtvAh.  Last night I put up a small branch to remove NodeGroup.get_any_interface(), which thank Kibo we no longer needed.  Raphaël not only approved it (his review notes being just "Scary!") but landed it before I changed my mind.  :-)04:14
bradmhas anyone found any useful docs on getting maas to talk ipmi to hp proliant kit?  its not obvious to me after a reasonable search, and if someone could shortcut figuring it out, it'd be great :)04:22
jtvI think that's the same ilo as the microservers, right bigjools?04:23
bradmI've mostly got ilo3 and ilo4, the kit is hp proliant dl380 g6/7/8s, or there abouts04:24
jtvSome of us have that — g7 I think.  So it shouldn't be hard to get that documented.04:24
jtvWith luck it's merely one of those situations where "yay it works" gives people the signal that they're done, and it's just a matter of getting them to write it down.04:25
jtvI do recall that there were some IPMI things it just won't do — such as a serial console.04:26
bradmyeah, thats fine, I think all I care about is the ability to power on / off the servers04:26
bradmthe ilos work well for just about everything else04:26
jtvHmm that ought to be standard fare...04:26
bradmwell, they can power on and off the servers too, but I want MaaS to do it for me04:26
bradmits entirely possible there's something wrong with my ipmi setup, too04:26
jtvYes, and that should work, right?04:27
bradmdoesn't seem to04:27
bradmI've been having to manually power cycle things, over the ilo04:27
jtv:/04:27
jtvHave you tried it from the command line using ipmitool?04:27
bradmI've got 25 nodes in this maas cluster, it'll be more soon04:27
jtvBecause the MAAS configuration should be very similar to that.04:27
bradmhm, no, I haven't04:27
bradmI wasn't even sure if that should work without config on the ilo side of things04:28
jtvMAAS needs to know the ilo's address, and IPMI login credentials.04:28
bigjoolsbradm: how do you have it set up right now?04:28
bigjoolsis it configured in maas and just doesn't work?04:28
bigjoolsor something else?04:28
bradmbigjools: in maas I have a power type of ipmi, driver auto detect, with the user and password04:29
bigjoolsbradm: can you see the power_on task appearing in the celery log?04:29
bradmbigjools: yes04:30
bigjoolsbradm: and it just fails then?04:30
bigjoolsas in doesn't turn it on?04:30
bradmbigjools: yeah04:30
bigjoolsbradm: did you try changing the driver type?04:31
bigjoolsbradm: you need 2.0 for proliant04:32
bigjoolshttps://bugs.launchpad.net/maas/+bug/108616204:32
bradmbigjools: not yet, I had a quick search and really didn't find much to explain how it should be done04:32
ubot5Ubuntu bug 1086162 in MAAS "IPMI based power management default to IPMI 1.5 based authentication" [High,Triaged]04:32
bigjoolsbradm: just edit the node04:32
bradmbigjools: yeah, but more as in what the next steps are, I can see how to change the driver :)04:32
bradmbigjools: is there some way to change the default for the maas server?04:32
bigjoolswell just try that04:32
bigjoolsnot really04:33
bigjoolsthe idea is that when the hardware enlists, its power type is set04:33
bigjoolsthere is no sane default04:33
bigjoolsdid you manually enlist these nodes or do a boot-enlist?04:33
bradmright, I thought there just might be a config setting04:33
bradmso that you could override what the default was04:33
bigjoolsthere used to be a config but I ripped it out :)04:33
bradmit was a boot-enlist04:33
bigjoolsmakes no sense in non-heterogeneous environs04:34
bradmso us heterogeneous folk have to suffer for it? :)04:34
bigjoolsok so the bug is that the power type is not detected in the enlistment code04:34
bigjoolsbradm: does this help https://bugs.launchpad.net/maas/+bug/1086162/comments/604:35
ubot5Ubuntu bug 1086162 in MAAS "IPMI based power management default to IPMI 1.5 based authentication" [High,Triaged]04:35
bradmbigjools: it, uh, could?  although I'm not exactly sure why you need something installed on the server if I'm talking ipmi to the ilo04:36
bigjoolsthat's just a quick hack to make it use 2.0 on the cluster controller04:37
bradmoh, so it should be on the maas server?  I don't even have that directory04:37
bigjoolsyou can also use maas shell to mass-edit the Node rows in the DB04:37
bigjoolsbradm: oh ignore me04:38
bigjoolswe don't use freeipmi any more04:38
bradmwhew :)04:39
bradmok, so I'll try setting the IPMI version to 2.0 for my next install, shouldn't be too long04:39
bigjoolsbradm: just edit one node to use LAN_2_0 and see if it works04:39
bradma default setting for the ipmi type would be mighty useful04:40
bradmany time you have to set something manually is an opportunity for error04:40
bradmoh, bah, the only free node I have doesn't have network for whatever reason, but it does have ilo04:43
bigjoolsbradm: well the point is that the enlistment should work in the first place.  Defaults are workarounds.04:54
bigjoolsjtv: hahaha.  The iLO web interface for the N40L has a "use this tagged vlan" setting04:54
bradmbigjools: right, thats true.  but bugs do exist in software, and its nice to be able to tweak things to work around them.04:55
bigjoolsbradm: there's nothing stopping you from tweaking the setting04:55
bradmbigjools: and having to do it to every single server, and then remembering to do it every time I add a new one..04:55
bradmany sysadmin who's told they have to tweak a setting for every single server will say "Why isn't the default configurable?"04:58
* jtv flashes bigjools an angry look04:59
* bigjools bats eyelids at jtv04:59
bigjoolsbradm: even if you had a default power type, you still need to set the credentials05:00
bigjoolsit makes no sense for this at all05:00
bradmbigjools: hmm, I'm not sure I agree - its another thing that whoever sets it up will have to remember to reset - its obvious you have to do IP, username and password, but I could easily see the fact that it needs to be overridden overlooked by someone.05:32
bradmbigjools: but its not a huge deal05:32
bigjoolsbradm: you have to remember to set the credentials anyway05:32
bigjoolsif you['re doing it manually05:32
bigjoolsyou're just asking for a workaround for a weird bug here, I'd rather fix the bug!05:33
bigjoolsif we set defaults for power types then it makes it harder to flag to the user that the power was not configured yet05:33
bradmbigjools: mmm, yeah, I guess.  I just find it frustrating when software makes me have to set values on things that could have a default.  I'm not sure how often someone would need to change this05:36
bigjoolsbradm: exactly, it needs setting once, correctly, when enlisting.   you're having to set it because of a bug, not because it has no default05:37
bradmbigjools: I have to wait for someone in the UK to wake up and start work before I can really test this, I've got openstack deployed to this maas server right now05:39
bigjoolsbradm: ok let me know when you can05:39
bigjoolsbradm: I think roaksoax will be interested in this, I though ipmi detection worked better on proliant05:39
bigjoolsthought*05:40
bradmbigjools: I wouldn't rule out some kind of misconfiguration here, I don't really know what I'm doing and am randomly clicking buttons. Plus I was handed over an existing setup :)05:43
bigjoolsbradm: heh ok05:43
bradmthis ipmi type stuff isn't really documented anywhere obvious that I've seen05:43
bradmI'd kind of expected at least a mention of it in http://maas.ubuntu.com/docs/nodes.html, maybe05:49
bigjoolsbradm: ok05:57
=== CyberJacob|Away is now known as CyberJacob
=== mwhudson is now known as zz_mwhudson
melmothhola. I have been asked how to tell maas to use a specific preseed file for a given node10:17
melmothaccording to https://maas.ubuntu.com/docs/development/preseeds.html#user-provided-preseeds  it s possible10:17
melmothbut i dont undertsand how to get a list of valid value for all the "macro" defined {prefix}_{node_architecture}_{node_subarchitecture}_{release}_{node_name}10:17
=== zz_mwhudson is now known as mwhudson
=== mwhudson is now known as zz_mwhudson
gmbrvba, allenap, jtv: If you have a second, https://code.launchpad.net/~gmb/maas/bug-1274871/+merge/204195 is up for review.11:09
rvbagmb: lgtm11:21
gmbTa11:22
allenapmelmoth: I’m looking into that...11:32
allenapmelmoth: So, if you look in /etc/maas/preseeds there are several files. To override curtin_userdata for an amd64 node named fred on which you want to run precises, for example, you’d create a file called curtin_userdata_amd64_generic_precise_fred.11:39
allenapmelmoth: It’s a bit clumsy, I grant you, but perhaps you could explain what you need to do and I can see if there’s another way to do it?11:39
melmothallenap, a customer (i m doing support) wants to generate per host preseed file, and i need to tell him how to do that11:56
melmothso i have been given the url with the user-provider preseed, and i m just wondering what he should put in place of the {settings} to get a preseed that match a given node11:57
allenapmelmoth: Okay. Generally, our advice would be: if the machine boots without customising the preseed, wait until it’s up then use, say, Juju or another tool to customise it at that point.11:58
melmothwhat he wants is to install stuff on a given disk , so it needs to change that in the preseed11:59
allenapmelmoth: Also, the templates are Tempita templates, so you can use any construct that they support, including embedding arbitrary Python. http://pythonpaste.org/tempita/11:59
allenapmelmoth: In other words, you could customise an existing preseed and get it to lookup rules in a separate file according to node name. The node object is passed into the template, so you can use node.name, iirc.12:02
gmballenap, rvba, jtv: Another wee branch for you to give some love to: https://code.launchpad.net/~gmb/maas/bug-1274912/+merge/20423413:39
jtvgmb: I'll take it.13:40
gmbThankee13:40
jtvgmb: kindly COMMENT this kind of magic!  In fact I would say this kind of magic is far too vague.  Future generations will scratch their heads and be afraid to change the logic.13:41
jtvCan't get_effective_power_type() just return None for "none" or something?13:42
gmbjtv: Sure; I just did the same thing as start_power_nodes does because I was being lazy.13:42
jtv!?13:42
gmbI'll go fix it the *right way* :)13:42
gmbjtv: Seriously, go look :)13:43
jtvSuppressing a wildly generic error from a function somewhere else that might, now or in the future, raise it for unrelated reasons... <shudder>13:43
* jtv goes look13:43
jtvstart_power_nodes..?13:43
gmber13:43
jtvWho is start_power_nodes?13:43
gmbstart_nodes()13:43
gmbSorry.13:43
gmbpower mad.13:44
jtvLet's try to keep the golden middle between power mad and power hungry.13:44
jtvArgh.  So... repeating the same nonobvious try/except around the same function in multiple places...  If only we had a mechanism for writing code just once and then invoking it from multiple places!13:45
gmbjtv: So, I'm guessing this raising of a ValueError (which is, as you say, weirdlybollocks) is to do with this:13:46
gmb458     # For strings, Django insists on abusing the empty string ("blank")13:46
gmb459     # to mean "none."13:46
gmb460     power_type = CharField(13:46
gmb461         max_length=10, choices=POWER_TYPE_CHOICES, null=False, blank=True,13:46
gmb462         default='')13:46
gmbSo basically you're not allowed to have no power type13:46
jtvMight be, yes.  Django hasn't really embraced the null.13:47
jtvIIRC null=False means "do not go to the extreme measure of representing a null value as a null in the database."13:47
rvbaYes, that's what it means.13:47
gmbYes.13:48
jtvWhereas blank=True means "this field may be left null, but we may store it as an empty string."13:48
* jtv giggles insanely13:48
gmbYou're not allowed a power type, unless we actually want to use the power type you don't have, in which case we don't worry about the fact that you don't have one.13:48
jtvSo we may have an "if power_type is None" somewhere that should be an "if power_type == ''"13:48
gmbs/not allowed a/not allowed not to have a/13:48
jtvFor a moment you sounded like my government.13:49
gmbjtv: No, I don't think so, but I'll check.13:49
gmbjtv: However, we treat '' as the node saying "I don't know what power type I have"13:50
jtvAhhhh, get_effective_power_type deliberately raises that ValueError, but documents it as "an error."13:52
jtvOne approach that's easy in Python and works well for these situations is to create an ad-hoc exception class, and document the function as raising that.13:53
gmbjtv: Right, I'll do that. Makes sense.13:58
=== CyberJacob is now known as CyberJacob|Away
allenap$Obligatory_rant_about_Django14:58
=== freeflying is now known as freeflying_away
=== CyberJacob|Away is now known as CyberJacob
=== charles_ is now known as Guest79245

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