/srv/irclogs.ubuntu.com/2012/06/05/#maas.txt

=== Aaton is now known as Aaton_off
bigjoolslesson learned: don't expect the development environment to work properly when the Ubuntu package is installed :(06:21
bigjoolsjtv, so does the model for nodegroup look ok?06:22
jtvLooking at it now.06:23
bigjoolsthanking you06:23
jtv(I don't think you need to define a manager if it's an empty class; you get a close equivalent as the default)06:23
bigjoolsjtv: the template has it06:23
* bigjools shrugs06:23
bigjoolswill need one later06:24
jtvOn which note, kudos for putting this into its own module from the start.06:24
bigjools:)06:25
jtvHow to the ip range and the netmask fit together?06:25
bigjoolsthe netmask is what the DHCP server tells the client06:25
bigjoolsthe range is the IP addresses it can assign06:26
bigjoolstypically they fit inside the mask06:26
jtvI guess the distinction isn't terribly useful yet, but adding them later would only cause pain.06:27
bigjoolsthey will be needed quite soon actually06:27
jtvOK06:27
bigjoolssince they are values needed to write DHCP server config06:27
jtvOne other thing that jumps out at me is the unique constraints on api_token and api_key.  Isn't that something we want to leave completely up to the implementation?06:28
bigjoolsactually can you check the architecture doc after this and tell me if my progressive enhancement plan looks ok?06:28
bigjoolsultimately we want auto-enlistment of new workers06:28
jtvThat sounds dangerous.06:29
bigjoolshow?06:30
bigjoolsactually don't answer06:30
bigjoolsI'm not worrying about it yet06:30
jtvOn your head be it.  :)06:31
jtvBy the way, there's a piece of nastiness in Django where a text field can be allowed to be null, but it won't actually give you any sensible behaviour.  Instead, the operative question is whether the field will be allowed to be empty.06:31
jtvI think you express that with a constructor parameter “blank.”06:32
bigjoolsyeah, None equiv to empty or something?06:32
jtvI'm not sure.  Once people go down that route, there's no telling how far they'll go.06:32
bigjoolsthe only field that I'm allowing none or blank is "name"06:33
jtvWhat I meant is that you're passing null=False for api_key, which to django doesn't seem to mean all that much in this case.06:35
jtvI don't know what the default is, but if it's True then this will happily work around and against your wishes like a sailing boat tacking against the wind, and if it's False then the default for “name” shouldn't work.06:36
jtvBut that's all just little details.  I don't see any real problems off the top of my head.  Where's the plan you wanted me to look at as well?06:38
bigjoolshttps://docs.google.com/a/canonical.com/document/d/1PtFKcizW3bmP3QBv771tSGMO4VaCiLkWlr-oDzn-FqU/edit?pli=1#06:38
bigjoolssee page 306:39
bigjoolsbasically I want to have a module that generates DHCPD config06:39
bigjoolsand we can re-use it in a standalone excecutable for the single worker case06:39
bigjoolsor on the worker as a Task when required06:40
jtvReuse ftw06:40
bigjoolsok06:41
bigjoolsnow Firefox, why won;t you change tabs when I click on one?06:41
jtvVell, ze first sing ist zat zey must _vant_ zu change.06:42
bigjoolszey clearly don't06:42
jtvInteresting.  Vy don't you start by telling me about your mozzer?06:42
bigjoolsmy mozzer bites?06:43
jtvBites?  I hope not!06:44
jtvIf your mozzer vere like a dog, zen ssientifikally you must be like a dog also, nein?06:44
bigjoolsah FF had decided to put a "do you like this cookie?" dialog *underneath* everything else06:45
bigjoolssigh06:45
jtvOn a note unrelated to your mother, we're getting rather a lot of the mention-an-imported-identifier-so-it's-not-considered-unused pattern.  Maybe we should just define an empty function with a name like never_mind()?06:46
bigjoolsmozzer bites, from mozzer fliez06:46
jtv?06:46
bigjoolszey bite zu and zuck ze blud06:46
bigjoolsjtv: ideally I'd like flake to stfu06:47
bigjoolsthere's a directive to make it ignore those iirc06:47
jtvThat's the idea: you call a function whose name tells the reader “this is unused but that's fine,” and flake shuts up because you're doing something with the identifier.06:48
jtvdef not_actually_used(*args):06:48
jtv    """Arguments are deliberately left unused.  Pass them to this function to suppress lint warnings about it."""06:48
jtvNow you can suppress the warning for foo by calling not_actually_used(foo)06:49
bigjoolsugly hack though :()06:51
jtvI don't think so — it's just giving an explicit name to existing practice.06:52
jtvCall it suppress_warning_if_unused if you prefer.06:52
jtvYou don't need to care how it's implemented when you call it.  And the implementation as such will be literally as clean as any function's!06:53
bigjoolsflake needs to be fixed really06:54
bigjoolsif it's in the __all__ then don't complain06:54
bigjoolsjtv: please bless https://code.launchpad.net/~julian-edwards/maas/node_group_model/+merge/10867806:55
bigjoolswell, shall I do that hack first06:55
* jtv casts his sacerdotal eye over https://code.launchpad.net/~julian-edwards/maas/node_group_model/+merge/10867806:56
bigjoolsit's not changed since you last looked, I just added a commit msg :)06:57
jtvAnd you added NodeGroupManager to __all__, which seems redundant.06:58
jtvOr maybe you did that before.06:58
bigjoolsit was there before06:59
jtvIt probably should not have been.  We have one canonical way of referring to the manager.07:00
jtvHi rvba07:00
bigjoolsjtv: ok07:00
* jtv growls at django docs07:00
bigjoolshello roaksoax07:00
bigjoolserrr hello rvba07:01
jtvspecifically this part: «When using the Oracle database backend, the null=True option will be coerced for string-based fields that have the empty string as a possible value, and the value NULL will be stored to denote the empty string.»07:01
jtvSo the “null” parameter defaults to False, except on one database which doesn't really do nulls anyway.07:01
jtvHeyyy, there's rvba again :)07:01
rvbaHello bigjools.  Hi jtv.07:01
jtvbigjools: you have my blessing.  Go forth and sin some more.07:07
bigjoolsjtv: thank you my child07:07
jtvOr at least, that's what it always sounded like to me.  I have may have gotten some of the details wrong.07:07
bigjoolsor is that, thank you father07:07
* jtv is reminded of Blackadder and his father in the archbishop episode07:08
jtvrvba: I already made the same suggestion about leaving out the default manager class, but I was hoping to use it against Julian next time he thinks my branches are too big.  :)07:09
rvbajtv: haha07:09
* jtv searches for coffee, which he hasn't had all day07:09
jtvHitting the office before the Ozzies wears one out.07:10
jtvbigjools: do we have data that supports the single-DNS design?  I thought we didn't.07:34
bigjoolsjtv: it's largely irrelevant actually07:35
bigjoolsbecause it has a scaling solution of its own07:35
jtvAh07:35
jtvrvba: would it be bad in any way to import django settings in a urls.py?07:54
jtvArgh.  Did I break the build? I get UserProfile test failures now!07:56
rvbajtv: In an application's url.py it's ok.  It's already done in src/maasserver/urls.py.07:59
jtvOK07:59
jtvHmm Jenkins seems to blame bigjools for the breakage.08:00
rvbaYep.08:00
* jtv stumbles towards coffee to shake off his déjà vu.08:01
jtvHmm… I wonder…08:03
* jtv tries something08:03
rvbaHum, all tests pass locally…08:03
rvbaWell, I only tried the faulty tests.08:04
rvbaBut they pass.08:04
jtvWrong TestCase class, I suspect.08:04
jtv(I'm already running tests to confirm)08:04
* rvba runs the whole test suite…08:06
jtvDon't bother.  I've already got a branch that fixes this & a bunch of other small things.08:07
rvbaok, cool, thanks jtv.08:07
bigjoolsI swear I ran everything08:14
bigjoolsWTF08:14
jtvWould anyone care to review?  Urgent urgent urgent test breakage urgent: https://code.launchpad.net/~jtv/maas/test-before-landing-bitch/+merge/10869708:15
bigjoolslooking08:16
rvbajtv: I'll take it.08:16
jtvThanks.08:16
* bigjools wins08:16
jtvWork it out amongst yourselves.  :)08:16
bigjoolsjtv: also, blow me!08:16
jtv>-O08:16
jtv!?  The diff doesn't show all my changes.08:17
ubot5jtv: I am only a bot, please don't think I'm intelligent :)08:17
jtvDid I commit wrongly?08:17
jtvubot5: stay out of this08:17
ubot5jtv: I am only a bot, please don't think I'm intelligent :)08:17
jtvAh no, this is the whole thing.08:18
jtvWell here we are then.10:31
jtvAnd I think I brought that same question up in pre-review.  :)10:31
rvbabigjools: skip_check is exposed to the user because it's used in the API.10:31
bigjoolsah10:32
rvbabigjools: that's the whole point of 'skip_check', it has to be usable by the user to bypass all the checks if he wants to.10:32
jtvMaybe it should even be off by default then... so that nobody assumes that the check always happens.10:33
bigjoolsrvba: ok it makes more sense now10:33
rvbabigjools: Cool.10:33
rvbajtv: well, I don't think that would be wise, the check is also a guid for the user to provide the right parameters.10:33
jtvI could imagine the validity of a particular power_parameters object changing without that object itself changing.10:33
rvbaguide*10:33
rvbajtv: not sure I follow…10:34
jtvDamn.  I had something in mind back then and didn't write it down.10:34
jtvThere may be scenarios (not in the code now perhaps, but at some point) where you set a node's power parameters, and they are valid; and then you make some other change, and now that node's power parameters are no longer valid.10:35
rvbaThat can already happen if you change the default parameter and power_type is not set on the node.10:36
rvbathe default power_type that is.10:36
jtvYes, but would you go through the check in that case?10:36
jtvAh, default power type.10:36
rvbaYes, the check would be done.10:37
jtvWhat I'm driving at is that, in cases like that, the check provides no guarantee.  Which is fine, but it may not always be obvious.10:37
jtvAlso, I've seen cases in the past where the logic around such a parameter shifted and grew and its effective meaning changed subtly, and it led to no-go zones in the code.10:38
jtvBy which I mean pieces of code you can't maintain effectively, not dead code.10:38
jtvNot saying that any of us would make that mistake, but I'm reasoning from the AK-47 / SA-80 perspective here.10:39
rvbaWell, in this instance I think it would be quite easy to maintain that code if the requirements change for this.  Mainly because all the logic is fairly well encapsulated in a field.  It's really decoupled from the usage of the field.10:40
rvbaWhat I mean is that we could easily create another field with another logic and replace the old field by the new one.10:40
rvbaAs long as the storage is compatible (JSON blob).10:40
jtvActually, where does the skip_check parameter go?10:42
rvbaIt's used by the field to decide whether or not validation should be performed.10:43
rvbaIt's not stored.10:43
jtvOkay, but where is it used?  I see it tested, and I see it documented, but where does its value get read?10:44
jtvI don't see it in the current trunk, nor do I see it being read anywhere in the diff.  Prerequisite branch?10:45
rvbaIn a pre-req branch (where the custom field/widget are defined): https://code.launchpad.net/~rvb/maas/multifield/+merge/10818810:45
jtvAh.  And its mentioned quite a lot there I see!10:47
jtvThen messing with it would be too much work for this branch anyway, so I'll stop worrying about it.10:47
jtvI think I'll worry about people setting hostnames like “localhost” instead.10:48
rvbabigjools: did you change this branch's status manually?10:57
rvbaThe 'multifield' branch.10:57
bigjoolsrvba: I put an email directive in to set my vote to approved10:58
bigjoolsah bollocks10:58
rvbabigjools: not sure what happened, it's now merge… even before I had time to commit my changes10:59
rvbamerged*10:59
bigjoolsI set the MP status rather than my vote10:59
bigjoolssorry10:59
bigjoolsI confused "status" and "merge"10:59
rvbabigjools: ok, no worries, I'll fix that in the follow-up branch.10:59
bigjoolsok, sorry for the trouble11:00
rvbaWell, actually I think the problem will fix itself since I pumped the new revisions into the followup branch already.11:01
rvbahum, no, it doesn't seem to be working…11:03
jtvGood feeling: putting my branch up for review at 18:03.  I think I'll be off.11:04
rvbajtv: I'll review it later this afternoon.11:05
jtvThanks!11:05
rvbann jtv.11:05
jtvnn!11:08
roaksoaxsmoser: ok, so I've hit that issue, and I've seen people hitting that issue13:08
smoserroaksoax, so.. the easiest way to recover there is to hav the installer set a password for the ubuntu user13:08
smoserso the person can get into the instance to look around13:09
roaksoaxsmoser: I can't recall how I managed to "fix" it but I'm guessin it has something to do with DNS being different from what is given, to what it is stored in maas13:09
roaksoaxsmoser: right, but wasn't that the idea of having the ability to add anSSH key to MAAS?13:09
cheez0rI'm having this issue right now, where I've bootstrapped juju, but get "Invalid SSH key" from juju status, and I have no way (no l/p, no ssh key) to access the system it's running on to troubleshoot/fix the issue13:11
smoserroaksoax, well, yes.13:11
roaksoaxsmoser: ^^13:12
smoserbut that ssh key is pulled in by cloud-init13:12
smoserand that is failing13:12
smoserwhich is why you're not getting in13:12
roaksoaxsmoser: isn't the cloud-init failing due to the timezone being different from maas client/server?13:12
smoserso setting a password is an easy way to fix "and I have no way (no l/p, no ssh key) to access the system its running on to trubleshoot/fix the issue"13:12
smoserroaksoax, well,t hat will fail first in commissioning state13:12
smoserbut yes, it is a potential point of failure, and admittedly it could also have such a bad clock that time was lost between commissioning and deployment13:13
smoser(but unlikely)13:13
smosercheez0r, are you willing to debug a bit?13:13
cheez0rsmoser: gladly.13:13
cheez0rI've been stuck on this for a while.13:13
roaksoaxpmatulis: in your case, are you guys sstill using the wrt router as DNS/DhCP server?13:14
pmatulisroaksoax: no, all is on the maas server13:14
smosercheez0r, in /var/lib/cobbler/kickstarts you will have a file named 'maas.preseed' (or somethign to that effect)13:15
smoser(sorry, just going from memory)13:15
smoserthen...13:15
smoseryou want to set a password in there13:15
smoser d-i   passwd/user-password-crypted  password $6$.1eHH0iY$ArGzKX2YeQ3G6U.mlOO3A.NaL22Ewgz8Fi4qqz.Ns7EMKjEJRIW2Pm/TikDptZpuu7I92frytmk5YeL.9fRY4.13:15
smosertha tis 'ubuntu'13:15
roaksoaxpmatulis: i see. smoser i think I know what the issue is13:15
smoserclearly you dont want this for production, but after a re-installation, you should be able to log in as 'ubuntu:ubuntu'13:15
roaksoaxsmoser: both pmatulis and cheez0r are using cobbler's dnsmasq and I think maas is not correctly updating what it has to update13:16
roaksoaxsmoser: err maas-dhcp13:16
cheez0rs'ok with you if I grab my own crypted password?13:17
roaksoaxcheez0r: yeah go for it13:17
cheez0rok done13:17
cheez0rthen re-commission the nodes?13:18
pmatulisroaksoax: i also noticed the server's resolv.conf was populated with 127.0.0.1 for some reason.  dns was broken and i had to hand-edit the file to get anywhere13:18
smosercheez0r, re provision13:18
smosercheez0r, or, were you failing in commission stage?13:19
roaksoaxpmatulis: that's foundationschanges to how resolvconf is being handle now13:19
roaksoaxpmatulis: so aaaall dns clients will have 127.0.0.113:19
smoserpmatulis, resolv.conf should probably have 127.0.0.1, as you'll be running dnsmasq13:19
cheez0rI'd succeeded with commissioning, the nodes were in "Ready", but when I run juju bootstrap then juju status, I get the Invalid SSH Key error.13:19
cheez0rso I guess just juju destroy-environment and juju bootstrap and see what happens?13:19
smosercheez0r, yeah13:20
smoserand at the point when it re-createds13:20
smoserthen you can try to ssh in as 'ubuntu:ubuntu'13:20
smoserand we can poke around a bit.13:20
cheez0rAlso, my nodes are all configured for WOL but for some reason start node in the MAAS GUI isn't doing anything, but we can skip that for now13:20
smoseryeah.13:20
cheez0rI figured out that poweron sidesteps that13:20
smoserWOL is often buggy anyway13:20
smoserbut that is a separate issue.13:20
smoseruse sneaker power now.13:20
cheez0rNo doubt.13:20
smoser:)13:20
cheez0rILO for the win :p13:21
pmatulisroaksoax, smoser: i'm aware of the resolvconf stuff but somehow i need to configure dnsmasq to talk to my actual nameserver13:21
smoserpmatulis, well, that should happen.13:21
smoserit does potentially point to an issue with dhcp not giving it a dns server13:21
pmatulissmoser: well, my sever has a static address13:22
smoserpmatulis, i don tknow how that would be supported in maas.13:23
smoserbut maybe i'm missing something.13:23
smoseroh.13:23
smoseri see.13:23
smosera non-maas system.13:23
pmatulissmoser: i'm talking about my maas server13:24
roaksoaxpmatulis: you should just be able to replace /etc/resolv.conf with a file rather than being a symlink13:24
roaksoaxpmatulis: http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/13:24
roaksoaxthat would help then ^^13:25
pmatulisroaksoax: that's true, but is that the proper way?13:25
roaksoaxpmatulis: if it is a static addres, then you can specify the dns servers on /etc/network/interfaces13:25
pmatulisroaksoax: i did that already13:26
smoserpmatulis, dns-nameservers 12.34.56.78 12.34.56.7913:26
smoserhttp://askubuntu.com/questions/32875/network-manager-discards-changes-to-etc-resolv-conf-on-boot13:26
smoserthat is the correct way to configure /etc/resolv.conf with static networking in the presense of resolvconf.13:26
roaksoaxyeah13:26
smosersadly 'dns-nameservers' is not even mentioned in 'man intefaces' :-(13:27
* smoser files a bug13:27
roaksoaxpmatulis: stgraber's blog has more info about it too13:27
roaksoaxsmoser: it is mentioned on man resolvconf though13:27
cheez0rI think you have to man resolvconf to find it13:27
pmatulisroaksoax: well, dns-nameservers is already done13:27
roaksoaxyep13:27
cheez0rhey smoser/roaksoax, that worked. I'm in the juju system now.13:28
roaksoaxcheez0r: are there any juju logs ? (/var/log/juju/*)13:28
cheez0rdidn't even have to re-provision, just reboot the machine13:28
cheez0ryes13:28
roaksoaxcheez0r: so you can now juju status?13:29
cheez0rclient environment stuff, zookeeper_init, juju.agents.machine Machine agent started13:29
roaksoaxcheez0r: wait wait, juju status now works after a reboot?13:30
cheez0rwell, I had to fix some ssh issues, but yes13:30
cheez0rthe ssh fingerprint changed for some reason13:30
cheez0rnow it shows machines: 0: agent-state: running13:30
smosercheez0r, well, the ssh fingerprint *should* change13:31
smoseryou re-installed the system.13:31
smoseroh.13:31
smoseri just saw above.13:31
roaksoaxsmoser: he didn't13:31
smoserbut that is still kind of expected.13:31
roaksoaxyeah13:31
smosercloud-init re-generated your ssh keys i suspect13:31
cheez0ryeah I noticed that in the boot scroll13:31
smoseras it found the metadata service this time.13:31
cheez0rif this cold boots again, this happens again?13:32
cheez0rkind of makes it sketchy for ssh key mgmt13:32
smosercheez0r, no. only once per "instance" (install)13:32
cheez0rah, ok13:32
roaksoaxcheez0r: you only have 1 network interface in the maas server right?13:32
cheez0rno, two, but I've got routes set up properly and dpkg-reconfigure maas done, as well as maas-dhcp configured for the correct parameters13:33
roaksoaxuhmm13:34
smosercheez0r, do you hchok... so cloud-init on reboot found the maas server.13:37
smoserso we have ot fiturer out why it did not on the first boot13:37
smoserhoepfully that information is in /var/loog/maas (or maybe it goes to /var/log/apache/...)13:37
smoserbut we should look at logs there around the timestamps13:37
smoser(or just try to reproduce)13:37
smoseri have no idea what 'do you hchok' meant.13:38
cheez0rme either, so I'll say no, I don't.13:38
smoser:)13:38
cheez0rok so I was able to successfully deploy mysql and wordpress charms, which is progress.13:38
cheez0rsmoser: /var/log/maas on the maas node or the juju system?13:39
smosermaas system13:40
cheez0rlots of data in /var/log/maas/maas.log on the maas node.13:40
smoserwant to pastebin it?13:41
roaksoaxwe would also need the juju logs for the bootstrap13:41
smoseralso /var/log/apache/error.log13:41
roaksoaxs/for/of13:41
cheez0rhrm, to the end, lots of "No matching node is available"13:41
cheez0rtowards the beginning, 'no registered public keys'13:42
roaksoaxcheez0r: pastebins would be very helpful :)13:43
cheez0rhttp://pastebin.ubuntu.com/102504313:44
smosercheez0r, did you look at apache error.log ?13:44
smoserthat has been where there were hints before13:45
cheez0rno errors other than favicon.ico13:45
smoser:-(13:45
roaksoaxcheez0r: can you please pastebin the juju logs from the bootstrap node?13:46
roaksoaxrvba: ping13:46
roaksoaxrvba: rvba NodesNotAvailable: No matching node is available. --> how do we check for matching nodes, by MAC address?13:46
cheez0rapache access.log: http://pastebin.ubuntu.com/102504613:46
cheez0rjuju logs from bootstrapped machine: http://pastebin.ubuntu.com/102504913:48
roaksoaxcheez0r:13:49
roaksoaxcheez0r: there13:49
roaksoax's ponly 1 log for juju?13:49
roaksoaxah nevermind13:50
cheez0rsorry, should have delimited that better13:52
roaksoaxso while there doesn't seem to be an issue with juju for the bootstrap it does seem to be an issue when deploying wordpress and mysql13:53
cheez0rwell, only one of the two nodes I have is successfully resolving via DNS.13:53
cheez0rI'm using dnsmasq on the MAAS node to do resolution but for some reason cobbler isn't successfully populating the DNS entries.13:54
roaksoaxyeah i need to setup a test environment13:55
roaksoaxcause I have no idea what might be wrong13:55
cheez0rhrm13:55
cheez0rsecond node won't let me log in.13:55
cheez0rlet me cold boot it and see if it fixes the same way the other did.13:55
cheez0rI've got to break away for a bit here in a few minutes but let me know how else I can help13:58
cheez0rMy ultimate goal is to get openstack running on this system.13:58
roaksoaxok cool13:59
roaksoaxcheez0r: i'll try to reproduce locally and see what I find14:00
cheez0rthanks brother14:00
cheez0rthe only strangeness about my config is that my MAAS Node has a public IP and a private IP, and that it's got external, upstream DNS servers to resolve against.14:00
cheez0rall of the DNS for within the MAAS is supposed to come from the MAAS Node.14:00
roaksoaxexactly14:05
roaksoaxcheez0r: so DEFAULT_MAAS_URL = "http://PRIVATE-IP/" so that should be also set in /etc/maas/maas_local_settings.py when you dpkg-reconfigure maas14:06
pmatulisroaksoax: fyi, i redid another node and 'juju status' now gives 'ERROR Invalid host for SSH forwarding: ssh: Could not resolve hostname node5: Name or service not known'.  where to troubleshoot name resolution in this context?15:52
roaksoaxpmatulis: well the maas server should be the one who knows how node5 is15:54
roaksoaxs/how/who15:55
roaksoaxpmatulis: are you running juju from the maas server?15:55
pmatulisroaksoax: doesn't know about it.  note that i changed the node name within the maas UI15:55
pmatulisroaksoax: yes15:56
roaksoaxpmatulis: so 1 would be to check whether the hostname has been updated in cobbler15:56
roaksoaxpmatulis: 2, would be to make sure the maas server can resolve the hostnames for the nodes15:57
roaksoaxlocally15:57
roaksoax3. that should make juju be able to resolve the hostnames15:57
pmatulisroaksoax: sure, the question is how15:59
roaksoaxpmatulis: /etc/resolv.conf add maas server IP as dns server15:59
pmatulisroaksoax: it's already pointing at localhost16:01
roaksoaxpmatulis: 127.0.0.1?16:01
roaksoaxor 127.0.1.1?16:01
pmatulisroaksoax: the latter16:03
roaksoaxpmatulis: what if you make it to be the IP of the maas server16:04
pmatulisroaksoax: sorry, the former16:04
pmatulis127.0.0.116:04
roaksoaxpmatulis: make it the MAAS IP address16:04
pmatulisroaksoax: so do not use the resolvconf stuff, use a real file (not symlink)?16:04
roaksoaxpmatulis: eitherway, thething is that juju should e able to resolve dns provided *by* the maas server16:05
roaksoaxso resolconf provides its own dns with dnsmasq, while maas also provides a dns with dnsmasq16:05
roaksoaxso you can setup resolvconf to change the dns server16:06
roaksoaxso you should be able to use the same IP addres (for dns) as the MAAS server16:06
cheez0rroaksoax: it is set properly in /etc/maas/maas_local_settings.py16:15
roaksoaxsmoser: pmatulis cheez0r eok so I think I know what's wrong16:27
cheez0rthe suspense is killing me here16:30
cheez0r:p16:30
roaksoaxbasically, it seems that we might have to specify the IP address for the system because onbviosly, in order to be a dns entry we need to know the IP address for that DNS entry16:31
roaksoaxso since dnsmasq has a dns entry but no IP address for a cobbler system, then it doesn't create the entry16:31
cheez0risn't dnsmasq serving the dhcp IP?16:31
cheez0ror does maas-dhcp install dnsmasq and some dhcpd?16:32
roaksoaxcheez0r: right, so here's the deal16:32
roaksoaxIf dnsmasq has a hostname for Node0, but it doesn't know what IP address to assign yet (as there's being no requests yet), but it knows about Node0 mac address16:33
roaksoaxshould it resolve Node0 once dnsmasq assigns that IP address?16:33
roaksoaxthat's my question16:34
cheez0rit should, but what mechanism would update the dnsmasq entry with the IP Address?16:34
cheez0rPerhaps we should be statically assigning dhcp entries so that the DNS can be mapped?16:34
roaksoaxyeah that's the common fix16:34
cheez0rAdd a static assignment for the MAC into the dhcpd configuration, then populate that assignment into the dns16:34
roaksoaxcause, either way, whne you deploy a DNS server you *have* toassign an IP address for that dns name, right?16:35
cheez0rfor what DNS name? That of the node?16:35
roaksoaxin general terms16:35
roaksoaxwhen you have a DNS solution, in order for you to assign nodeX a hostname being handled by DNS, you need to know the hostname's IP address, correct?16:36
cheez0rright, so a node is commissioned. The MAC is entered into MAAS. The MAC is statically assigned a DHCP IP and the DHCP server is configured as such. The IP and nodename are then pushed into the DNS server.16:36
cheez0rcorrect16:36
cheez0rthat's the only workaround I see unless there's some mechanism called after the node boots and pulls a DHCP IP to then update the dns entry.16:36
roaksoaxso yeah the flow in maas should be, once it PXE boots, update MAAS (cobbler really) with the obtained IP address to match dns/ip16:37
roaksoaxsmoser: ^^16:37
cheez0rAnd/or a package designed to watch the DHCP allocation and match up MAC vs. MAC from cobbler and then map the nodename to DNS entry16:37
smosersort of reading.. wasn't following.16:38
smoseressentially the nodes did not have dns (or reverse dns) entries?16:38
=== Aaton_off is now known as Aaton
roaksoaxyeah16:39
roaksoaxbecause cobbler doesn't know what IP address was assigned for that node, so consequently, dnsmasq doesn't know what hostname to match with what IP address16:39
roaksoaxsmoser: I have a couple ideas of how to fix this. 1. is using something like # Always set the name of the host with hardware address16:43
roaksoax# 11:22:33:44:55:66 to be "fred"16:43
roaksoax#dhcp-host=11:22:33:44:55:66,fred16:43
pmatulisisn't this what ddns is for?16:49
=== matsubara is now known as matsubara-dinner
=== Aaton is now known as Aaton_off
=== Aaton_off is now known as Aaton

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