/srv/irclogs.ubuntu.com/2014/07/22/#maas.txt

=== CyberJacob is now known as CyberJacob|Away
chilukHey guys is there any hidden functionality that enables maas to be better suited for a test machine environment *(i.e. nag notices on extended length machine reservations?)04:46
=== CyberJacob|Away is now known as CyberJacob
=== CyberJacob is now known as CyberJacob|Away
jtvchiluk: we have no such notices, no.  Should be doable through the API though.09:23
rvbaallenap: now that I think about it, wouldn't it be simpler to have a RPC power_change() method instead of power_on/power_off?  This way, the new method used to query the power state of a node would simply be a different call to the existing RPC method?10:24
allenaprvba: power_change(query=True) smells.10:26
allenapor something like that.10:26
rvbaallenap: power_change({'on', 'off', 'query'})10:27
allenaprvba: That smells too. PowerOn and PowerOff don’t declare any response arguments because they’re not relevant. If we munged these together with checking the power state we’d need to declare some response arguments just for that case.10:28
rvbaallenap: hum… okay, good point.  I just feel that the RPC layer is starting to extend its tentacles in every direction.10:29
allenaprvba: Heh. By keeping the interface very tight and focused instead of overloading RPC calls it’s doing the opposite.10:32
allenapOnce Celery is out and its replacement is in, I think MAAS overall will feel less embraced by wandering tentacles.10:34
rvbaallenap: what interface?  It seems to me we're extending the API surface (the RPC api) quite a bit.10:34
rvbaallenap: one good thing about Celery was that it wasn't very "invasive".  It was pretty clear what the API surface was and how to do retries and things like that was pretty straightforward.   I just hope the RPC stuff won't lose this.10:37
rvbaI'm not saying that it looks like the RPC stuff is going to be worse than Celery was;  the importance of having a simple interface is just something we need to keep mind.10:38
rvbaallenap: btw, the RPC power_on/power_off methods are there now but they are not "wired" (as in, used) at all yet correct?10:43
allenaprvba: Each RPC call has a well-defined shape. Celery allows us to pass almost anything around, which increases the implementation coupling between parts of MAAS. It’s convenient, but there’s no distinct edge to the layering.10:48
allenaprvba: That’s right, they’re not used yet because there’s a hornet’s nest of static IP Celery stuff to sort out first.10:48
rvbaallenap: Is sorting out the static IP stuff a pre-req for using the PowerOn/PowerOff methods?10:50
rvba(Just asking because I was planning to do that now.)10:51
allenaprvba: They can be used, but if you look in m.models.node…start_nodes you’ll see that power_on can be chained behind a task returned by claim_static_ips().10:53
rvbaallenap: oh, right.  Damn.10:54
allenaprvba: Indeed. The hornet’s nest is found by digging into claim_static_ips :)10:56
rvbaallenap: yep, it's definitely a hornet's nest :)10:56
bigjoolsallenap, rvba: is my beautifully written code too complex for you?  Should I draw a picture? :)11:03
bigjoolsFTR, this is why I said we needed a layer on RPC to simulate jobs so that you can chain them to guarantee ordering11:04
rvbaallenap: time for a quick pre-imp chat?11:04
schegihey, got some problems with the maas dns, i think. after i bootstrapped a juju node, it is not reachable by dns always getting ERROR state/api: websocket.Dial wss://controller.wcloud.uni-koblenz.de:17070/: dial tcp: lookup controller.wcloud.uni-koblenz.de: no such host when doing juju ssh 011:05
schegibootstrapping works fine starts with Attempting to connect to controller.wcloud.uni-koblenz.de:22 Attempting to connect to 192.168.25.14:2211:05
schegianyone?11:12
allenapbigjools: It is complicated, but then it’s not a trivial problem.11:23
allenaprvba: Sorry, I was otp, and I’m getting a call back any minute :-/11:23
bigjoolsallenap: yes, I always said that removing celery was not as simple as just replacing tasks with rpc :)11:24
rvbaallenap: it won't take long, and I can wait if the someone calls you while we're on the phone.  I'd be happy to talk to you before we step out for lunch if possible.11:24
rvbas/the someone/someone/11:24
allenaprvba: Okay, call again.11:25
bigjoolsif anyone needs a trivial bug to fix: https://bugs.launchpad.net/maas/+bug/134092012:05
bigjoolsthe formatter's ordering of imports can really bugger up tests when you're using monkeypatching :(12:40
bigjoolsallenap: do you know a convenient way to create a mock object that has mock functions which return a particular value, without doing a dance involving multiple mocks?12:52
allenapbigjools: Yes :)12:53
allenapmy_thing = self.patch(thing, “name”)12:53
bigjoolsexcellent, always full of useful info12:53
bigjools:)12:53
allenapmy_thing.function_1.return_value = 123412:53
bigjoolsoh that easy12:53
allenapJust reference the thing you want and you’ll get a Mock back.12:53
allenapYep.12:53
bigjoolsthe obvious is always sitting too close to see, isn't it?12:54
allenapYeah. And mock is a little scary too.12:54
bigjoolsallenap: a further thing - is there a convenient way of making the return value conditional on passed values? :)12:55
allenapbigjools: Also, see mock.create_autospec(). That’s a fairly cool function.12:55
allenapbigjools: my_thing.function_1.side_effect = my_callable12:55
bigjoolsbasically I am patching the rpc client12:55
bigjoolsoh side_effect...!12:55
* bigjools not having a good day12:55
allenapHehe :)12:56
rvbaallenap: care to have a look at this tiny branch? https://code.launchpad.net/~rvb/maas/retry-power-changes-1/+merge/22772212:56
allenaprvba: It would be my pleasure.12:57
=== Solution-X|AFK is now known as Solution-X
rvbaallenap: ta13:02
rvbaallenap: "RabbitMQ will be going away this cycle" to we have a plan to do away with txlongpoll?  Because it also depends on RabbitMQ.13:03
rvbas/to we/do we/13:03
allenaprvba: In my mind I do :) otp now.13:06
bigjoolsrvba: irrelevant for this bug though13:06
rvbabigjools: who said it was about this bug?13:06
bigjoolsrvba: because that's the context for the statement!13:06
=== kentb-out is now known as kentb
bigjoolsallenap: there?14:32
bigjoolsneed rpc halp14:32
allenapbigjools: I’ll be with you in 3 minutes.14:43
bigjoolstick tock14:46
allenapbigjools: https://plus.google.com/hangouts/_/canonical.com/bigjools14:47
bigjoolsallenap: https://code.launchpad.net/~julian-edwards/maas/image-download-service/+merge/22730914:48
bigjoolsallenap: can you review my branch please?15:01
rvbaallenap: question for you:  I thought the methods in src/provisioningserver/rpc/clusterservice.py like power_on where being executed in the reactor?   That's weird because PowerAction.execute is effectively blocking… isn't that a problem?15:05
bigjoolsrvba: should be deferred to a thread15:07
rvbaallenap: in other words, shouldn't this be wrapped in deferToThread?15:07
allenaprvba: Yeah, it probably should be deferred. I’ll sort that out unless you want to?15:07
rvbaallenap: I'm on it.15:07
allenapTip top.15:07
=== matsubara is now known as matsubara-lunch
bigjoolsallenap: https://code.launchpad.net/~julian-edwards/maas/image-download-service/+merge/22730915:28
allenapbigjools: I’m half way done already. Waaay ahead of you :)15:29
bigjoolsallenap: ha!15:29
bigjoolsallenap: I just realised I am about to be hoist by my own petard15:30
bigjoolsI only did happy path testing15:30
bigjoolslol15:30
allenapbigjools: Hehe, everything’s happy in Twistedland.15:30
bigjoolsallenap: because it's on drugs15:31
allenapAbsolutely. As long as it doesn’t stop taking them it’ll never come down ;)15:31
bigjoolsallenap: I just re-read the original email you sent me about the implementation for this and realised I got something wrong.  Lack of maas.meta means it should not be importing automatically.15:57
=== matsubara-lunch is now known as matsubara
allenapbigjools: Ah yes! I’d forgotten that.16:00
bigjoolsallenap: LOL at last two MP comments16:03
schegihey one question in the /etc/maas/templates/dhcp/dhcpd.conf.template the option ntp-server is set by dhcp_subnet.get('ntp_server') but there is no specific option when specifying dhcp in maas how to set that to a different address?16:13
matsubaraschegi, The setting is in the main maas settings page not at the cluster dhcp config.16:15
matsubaraI mean, the ntp server setting.16:15
schegiok gotz it thx16:16
matsubaranp16:17
schegiah and theere is also a field for the forwarders, nice16:17
schegihave hardcoded them16:17
schegiif i update these values do i have to restart something??16:18
matsubaraNope16:19
schegiit is just possible to specify one forwarder right?16:20
matsubaraYes16:22
automatemecolemaSo I'm getting an "Internal Server Error" after I have MAAS installed, and the PXE images downloaded. Not sure what has happened. I used the latest ISO release, and updated before I installed MAAS any ideas?17:09
automatemecolemaLooked through some logs and maas.log reveals an RPC connection error, and celery has a couple errors too17:10
=== jfarschman is now known as MilesDenver
Sh3l0ckIs there a way to statically map IP addresses to machines in MAAS?18:06
=== roadmr is now known as roadmr_afk
roaksoax_Sh3l0ck: not until the next release18:07
Sh3l0ckroaksoax_: Oh I see...Is the next release coming out soon?18:09
roaksoax_Sh3l0ck: yes! sometime in the next few weeks18:35
=== roaksoax_ is now known as roaksoax
=== CyberJacob|Away is now known as CyberJacob
=== jfarschman is now known as MilesDenver
automatemecolemaSo I'm getting an "Internal Server Error" after I have MAAS installed, and the PXE images downloaded. Not sure what has happened. I used the latest ISO release, and updated before I installed MAAS any ideas?18:59
=== jfarschman is now known as MilesDenver
=== roadmr_afk is now known as roadmr
newellautomatemecolema, can you do a tail -f *.log in /var/log/maas and see if there is any information that would help you out20:43
=== liam_ is now known as Guest15796
breze411anyone knows what login works maas nodes console ?21:33
=== jfarschman is now known as MilesDenver
=== jfarschman is now known as MilesDenver
=== CyberJacob is now known as CyberJacob|Away

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