[12:45] <Odd_Blok1> smoser: Thanks for merging the Azure walinuxagent replacement stuff. :)
[12:49] <Odd_Bloke> smoser: We've realised that we're lacking a way of turning this on without using user-data; do you have any recommendations about how to make it configurable using something we can include in the image build?
[13:48] <smoser> Odd_Bloke, the datasource config shoudl suffice
[13:49] <Odd_Bloke> smoser: How would we change that config at image build time?
[13:49] <smoser>  /etc/cloud/cloud.cfg.d/azure.cfg
[16:00] <smoser> Odd_Bloke, around ?
[16:01] <smoser> wonder if you have some time to look at https://code.launchpad.net/~bbaude/cloud-init/rh_subscription/+merge/259159 with rangerpb . he's just getting head around unit tests and mock and the things there used checking of log, which seems less than ideal. wondered if you had some other suggestions.
[16:02] <rangerpb> thanks smoser Odd_Bloke happy to hear what you would prefer, etc
[18:50] <dbuechler> Hi All, I have two remaining issues with a CentOS 7 image running cloud-init 0.7.7.
[18:51] <dbuechler> First, pre-networking fails with a python error "No Such File or Directory, but I can't figure out which file it's looking for.
[18:51] <dbuechler> Second, cc-locale fails, but doesn't provide any more detail.
[18:53] <dbuechler> Err, my bad - cc_locale.  As I doubt I'll ever use a VM that isn't in English, I'm not sure that one matters a whole lot, but while I'm here asking questions, I might as well ask about it.
[19:10] <dbuechler> Sorry.  I had to take a phone call.  Here's a pastebin of the python error in pre-networking:  http://pastebin.com/sKBevg5k
[19:14] <dbuechler> smoser: Rebuilding the CentOS 7 image without LVM worked like a charm.  The xfsprogs was, in fact, installed by default, even on a Minimal System configuration.  I appreciate your insights on the matter.
[19:16] <smoser> dbuechler, not sure on the selinux...
[19:16] <smoser> would have to poke more. 
[19:16] <dbuechler> Rather, the xfsprogs *package* was installed by default...  I'm a native English speaker.  I promise.
[19:16] <smoser> can you pate the whole cloud-init.log ?
[19:16] <smoser> and cloud-init-output.log ?
[19:17] <smoser> unless you're concerned about sensitive info there.
[19:18] <dbuechler> Sure.  Curiously, cloud-init.log was empty.  Cloud-init-output, I'll paste.  I'll just redact anything critical.
[19:20] <smoser> cloud-init.log being empty is not good. its probably related to you needing to configure logging.
[19:27] <dbuechler> smoser: Uh-oh.  Looks like I have a problem with my cloud.  It appears one of my controller nodes may be down.  I'll get that information for you as soon as I can.  It may be a couple of hours.  I'll paste cloud-init-output, verify cloud-init.log is still empty and then probably paste my cloud.cfg file.
[19:28] <smoser> k.
[20:35] <Odd_Bloke> smoser: rangerpb: Around for a little while now, will take a quick look.
[20:35] <rangerpb> thanks Odd_Bloke 
[20:42] <Odd_Bloke> rangerpb: I assume GoodTests and BadTests are happy-path/bad-path?
[20:43] <rangerpb> correct
[21:18] <Odd_Bloke> smoser: rangerpb: I can't decide how I feel about the checking of log; it is a kind of contract that the unit under test has with the end user.
[21:18] <Odd_Bloke> But it's also the sort of test that can end up being very brittle.
[21:18] <rangerpb> yeah it is brittle due to changing of error messages == failed tests
[21:19] <Odd_Bloke> rangerpb: I wonder if perhaps relaxing the checks to just "did we log something at info level" and "did we log something at warn level" might be a good compromise?
[21:21] <rangerpb> the log is definitive which is why I put it in there.  im thinking either your suggestion or remove it completely and depend on counting calls to functions, etc
[21:21] <rangerpb> i suppose i could set some test vars in the code which are bool and I could check those
[21:22] <rangerpb> like finishing sucessfully or not, prefer that?
[21:22] <Odd_Bloke> rangerpb: That doesn't sound quite as good; you could move the logging out to log_success() and log_failure() functions, and check that those are called?
[21:23] <rangerpb> you mean the actual calls to the logger?
[21:23] <Odd_Bloke> I mean something like:
[21:23] <Odd_Bloke> def log_success():
[21:23] <Odd_Bloke>     LOGGER.info('rh_subscription plugin completed successfully')
[21:23] <rangerpb> yeah
[21:23] <rangerpb> i could do that
[21:24] <Odd_Bloke> And then we aren't testing the messages, just that the high-level communication to the user is happening.
[21:24] <rangerpb> sure
[21:24] <rangerpb> if you are comfy with that, i will do that
[21:25] <Odd_Bloke> rangerpb: Thanks. :)
[21:46] <Odd_Bloke> rangerpb: Just added a few more comments. :)
[21:48] <rangerpb> cool thanks man