[16:00] <smoser> o/
[16:00] <blackboxsw> \0
[16:00] <smoser> hey everywon
[16:01] <powersj> o/
[16:02] <blackboxsw> alright time, just about time for our holiday status meeting
[16:02] <blackboxsw> and time for less thinkos at the keyboard
[16:02] <ajorg> hi
[16:03] <rharper> o/
[16:04] <blackboxsw> excellent
[16:05] <blackboxsw> looks like we have folks around
[16:05] <blackboxsw> #startmeeting Cloud-init 'bi-weekly' status meeting
[16:05] <meetingology> Meeting started Mon Dec 11 16:05:16 2017 UTC.  The chair is blackboxsw. Information about MeetBot at http://wiki.ubuntu.com/meetingology.
[16:05] <meetingology> Available commands: action commands idea info link nick
[16:05] <smoser> thanks for hosting blackboxsw
[16:05] <blackboxsw> no problemo.
[16:05] <blackboxsw> happy holidays folks and thanks for joining.
[16:07] <blackboxsw> #topic In-progress Development
[16:07] <blackboxsw> As mentioned @ our 17.1 release, we're promising more frequent cloud-init releases.
[16:08] <blackboxsw> smoser has mailed the list informing cloud-init interested parties that we are targeting a 17.2 release for Thursday this week
[16:08] <blackboxsw> It's been a few weeks since we've hosted the meeting (I think we missed last meeting), so I'll post some of the development that has landed in trunk
[16:08] <smoser> #link https://lists.launchpad.net/cloud-init/msg00114.html
[16:09] <blackboxsw> * All integration tests now function with the nocloud-kvm backend
[16:09] <blackboxsw> * Fix apport for cloud-name options (LP: #1722564)
[16:09] <blackboxsw> * Improve warning message when templates aren't found (Robert Schweikert) (LP: #1730135)
[16:09] <blackboxsw> * Perform null checks for enabled/disabled Red Hat repos (Dave Mulford)
[16:09] <blackboxsw> * Fix openSUSE and SLES setup of /etc/hosts (Robert Schweikert) (LP: #1731022)
[16:09] <blackboxsw> * Catch UrlError when #include'ing URLs (Andrew Jorgensen)
[16:09] <smoser> ajorg replied with a request for https://code.launchpad.net/~ajorgens/cloud-init/+git/cloud-init/+merge/329657
[16:09] <smoser> that fell on deaf ears
[16:09] <blackboxsw> * Released stable release update (SRU) of 17.1-27-geb292c18 (LP: #1721847)
[16:09] <blackboxsw> * Cleanup dhclient background process after EC2 network discovery.
[16:09] <blackboxsw> * ntp: fix configuration template rendering for openSUSE and SLES (Robert Schweikert) LP: #1726572
[16:09] <blackboxsw> * fix manually running cloud-init after upgrade (LP: #1732917)
[16:09] <ajorg> truth
[16:09] <smoser> ajorg: i will review shortly
[16:09] <blackboxsw> * Queued upstream for merge into Bionic
[16:09] <blackboxsw> * Queued 17.1.46 SRU for Xenial, Zesty, and Artful
[16:09] <blackboxsw> * Fix EC2 race on sandboxed dhclient's pidfile during tempdir teardown (LP: #1735331)
[16:09] <blackboxsw> * Enable Bionic in Integration Tests
[16:09] <blackboxsw> * Create LXD and KVM Integration Tests in Jenkins
[16:10] <blackboxsw> As of end of last week, we are trying to blitz the review queue and dust off anything that has been sitting too long
[16:12] <blackboxsw> So a couple fixes went into Amazon's initial network setup, IPv6 support is live for Ubuntu series Xenial, Zesty, Artful and Bionic
[16:13] <ajorg> cool
[16:14] <blackboxsw> heh I blew that last topic. it should have been #topic Recent Changes.
[16:14] <blackboxsw> anyway I'll fix it in the logs when I publish
[16:15] <blackboxsw> As always , for historical docs from this meeting check this link
[16:15] <blackboxsw> #link http://cloud-init.github.io
[16:15] <blackboxsw> #topic In-progress Development (for real)
[16:15] <blackboxsw> So we have an active queue that is pretty healthy still
[16:15] <blackboxsw> #link http://bit.ly/ci-reviews
[16:16] <blackboxsw> smoser: rharper are we still trying to get through that queue as best we can for 17.2 or when do we think the window closes there?
[16:16] <smoser> i think we can spend some more time on queue today.
[16:16] <smoser> but that is about it really.
[16:16] <blackboxsw> yeah, want some settle 'bake' time before the 17.2 cut on Thursday
[16:17] <blackboxsw> We saw a couple Azure branches come in late last week.... Are there any branches folks are really excited about landing this week (today tomorrow?)
[16:18] <blackboxsw> I had hoped to get through a couple of Robert's as they don't seem very contentious.
[16:19] <smoser> the reporter bit seems pretty reasonable
[16:19] <smoser> other than its not actually used anywhere in the mp
[16:19] <smoser> ie, its non-contentious to add a reporter, but adding code that is not used is of not a lot of use :)
[16:19] <blackboxsw> true
[16:20] <ajorg> which mp is being discussed?
[16:20] <smoser> (https://code.launchpad.net/~paul-meyer/cloud-init/+git/cloud-init/+merge/334989)
[16:20] <blackboxsw> #link https://code.launchpad.net/~paul-meyer/cloud-init/+git/cloud-init/+merge/334989
[16:21] <ajorg> thanks
[16:23] <blackboxsw> With the upcoming holidays I expect things will be pretty slow after mid-next week, so we won't likely be landing a lot before the first of the new year.
[16:25] <robjo> If it's slow for you more time to review open merge proposals ;)
[16:25] <blackboxsw> This week we are also trying to get an SRU into ubuntu xenial, zesty and artful for some VMware/OVF datasource fixes for ds-identify and for pre-cusomization marker files courtesty (smoser & maitriyee)
[16:26] <blackboxsw> *courtesy* rather
[16:26] <smoser> ajorg: you could ping matthew on https://code.launchpad.net/~yeazelm/cloud-init/+git/cloud-init/+merge/331897
[16:27] <ajorg> yup
[16:27] <blackboxsw> and I know powersj is working on EC2 integration test support for cloud-init
[16:27] <powersj> yep!
[16:27] <powersj> Hoping to have an initial MP up this week
[16:27] <blackboxsw> it's gonna be excellent to automatically test these releases
[16:28] <blackboxsw> powersj: rharper smoser anything else in progress?
[16:28] <rharper> nothing here
[16:28] <ajorg> oh very nice.
[16:28] <dpb1> powersj: \o/
[16:28] <smoser> just the things that are in teh review queue. i put up one this morning for tmp file leakage
[16:28] <smoser> https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/335034
[16:29] <smoser> i think the yeazelm mp probably is just missing somethign simple bug haven't spent any time on it.
[16:29] <blackboxsw> ahh also we landed the initial /run/cloud-init/instance-data.json which we had talked about with larsks. It captures all metadata and userdata and some standardized properties which could help people script instance data.
[16:29] <smoser> yeah, that is neat.
[16:30] <blackboxsw> Yeah, we have yet to write up docs on using it (and we have an inprogress branch to allow using jinja templates in #cloud-config modules). But I don't expect this to land by 17.2
[16:31] <ajorg> did we? that's great!
[16:32] <blackboxsw> yeah only basic standardized properties currently.  +            'local-hostname': self.get_hostname(),
[16:32] <blackboxsw> 592	+            'instance-id': self.get_instance_id(),
[16:32] <blackboxsw> 593	+            'cloud-name': self.cloud_name,
[16:32] <blackboxsw> 594	+            'region': self.region,
[16:32] <blackboxsw> 595	+            'availability-zone': self.availability_zone}}
[16:32] <robjo> is that basically a re-implementation of python-ec2metadata? https://github.com/SUSE/Enceladus/tree/master/ec2utils/ec2metadata
[16:32] <blackboxsw> but it's a first pass. We expect to add more
[16:33] <blackboxsw> robjo: kindof, though generalized for all datasources
[16:34] <rharper> robjo: long term, it's expected to be more than just ec2; rather a common baseline of instance metadata independent the actual cloud, but , IIRC, having a cloud-specific area (or at least access to the raw data)
[16:34] <blackboxsw> it leaves a json-foramatted file containing any vendor data and user-data plus generalized/standardized fields extracted from that content which can be expected on all clouds
[16:35] <robjo> problem with "all" clouds is that Azure is very different
[16:35] <blackboxsw> since each datasource has that data already, it's essentially just formating it in a consumable file that others could levereage
[16:35] <robjo> although one can argue that a "name" is an id it still looks weird when 'instance-id' and is a name
[16:36] <blackboxsw> agreed robjo, some datasources may not provide different/less  content.
[16:36] <smoser> ajorg: http://paste.ubuntu.com/26164503/
[16:36] <ajorg> Is that one of the Azure differences? name vs. instance-id?
[16:36] <smoser> thats a demo of instance-data.json
[16:36] <robjo> yes, azure has names no numbers
[16:37] <robjo> it's more about "user expectations" as a "name" is an "identifier"
[16:37] <blackboxsw> I'll check that azure run now. I think I linked it to the branch originally
[16:37] <blackboxsw> ok I think it's probably a good to transition to open office hours now for the next 30 mins
[16:38] <smoser> what is 'name' versus 'instance-id' comment ?
[16:38] <smoser> ajorg: ?
[16:38] <blackboxsw> #topic Office Hours (for next 30 mins)
[16:38] <blackboxsw> feel free to continue the discussion now
[16:38] <robjo> I'd just caution of making the assumption that we can stick the information from that data sources straight into another format and then call it "generic instance information"
[16:38] <ajorg> smoser: re robjo's comment about "Azure is very different"
[16:39] <smoser> oh. yes. ok.
[16:39] <blackboxsw> azure instance-data
[16:39] <blackboxsw> #link http://pastebin.ubuntu.com/26075842/
[16:39] <dpb1> smoser: standup
[16:39] <smoser> yeah, they do have a 'id'
[16:40] <blackboxsw> #link http://paste.ubuntu.com/26164503/
[16:40] <ajorg> from DMI?
[16:40] <robjo> Which is useless in any any command
[16:40] <smoser> from the cd i think.
[16:41] <ajorg> robjo: ah, so the ID is unique (is it?) but can't be used to call any Azure APIs?
[16:41] <robjo> in EC2 the instance-id is useful to me if I want to run "aws" commands, but the instance ID shown in the pastebin is useless for any "az" command
[16:41] <robjo> ajorg: correct
[16:41] <robjo> in the "az" tools everything is a name
[16:42] <robjo> and thus to make the data cloud-init produces useful the -id should be the name of the VM
[16:42] <robjo> then I can parse that information and use it if I need to deal with the API
[16:43] <smoser> hm.
[16:43] <robjo> but providing that ID as its is basically just sticking information into the json to "fill a field" which is somewhat counter to the point I'd say
[16:43] <ajorg> robjo: there's a uniqueness constraint on the name too? but per-account or at-a-time or what?
[16:43] <smoser> i odnt knwo. although it is insteresting thought.
[16:43] <smoser> the issue is 'instance-id' is supposed to be an instance id
[16:43] <smoser> not a user provided name that can be provided mutliple times in a row.
[16:44] <smoser> i realize name is per-group unique, but if i
[16:44] <smoser>  a.) launch
[16:44] <smoser>  a.) launch 'foobar'
[16:44] <robjo> There is a uniqueness constraint in that one cannot run a VM with the same "name" in the same resource group
[16:44] <ajorg> so the question is if that ID provides global uniqueness, or if it provides a reference to the instance to be used via APIs
[16:44] <smoser>  b.) create capture
[16:44] <smoser>  c.) delete foobar
[16:44] <smoser>  d.) launch foobar
[16:44] <smoser> then 'd' wont look new
[16:45] <robjo> yes, it will it just takes a long time in Azure until the backend reaches "eventual" consistency and knows "foorbar" has been deleted previously
[16:45] <ajorg> It seems clear enough that cloud-init is looking for a unique ID
[16:45] <ajorg> But a user might want either, and probably an ID for API use.
[16:47] <robjo> Well if we provide a format of the data that is exposed to the user via documentation and expected to be used by the user than at that point, IMHO, user needs have higher priority than what cloud-init is looking for
[16:47] <ajorg> To decide which APIs to use, a script has to first look at which cloud it's on, so it has a chance to decide which value to use.
[16:47] <robjo> that cloud-init uses the id to make decisions about "pre-once", "per-always" is a different topic
[16:49] <robjo> Well that then kind of defeats the "generic instance information" claim, IMHO
[16:49] <robjo> you are basically saying 1.) look for the framework and then decide if on that framework the "generic instance information" is useful or not
[16:50] <robjo> 2.) If you happen to be on a platform where the "generic instance information" is not useful, go and collect your own
[16:50] <robjo> From a user perspective that is not very nice, IMHO
[16:51] <ajorg> oh, I was presuming we'd also include the Azure name, not that we'd include only a useless instance-id in that case.
[16:51] <ajorg> clouds that don't have a name, wouldn't include a value for it.
[16:52] <robjo> the pastebin only has the ID
[16:52] <ajorg> right, I'm saying we should add the name
[16:53] <robjo> This is why I am pointing out that "generic instance information" is not necessarily so easy to come by
[16:54] <blackboxsw> robjo: ultimately, I'd like the generalized content surfaced in instance-data.json to be something that external user's could get value from and script against. This first pass was a stripped down approach to some of that content.
[16:54] <smoser> we could add 'name' and have it be none yes.
[16:55] <smoser> the not-yet-written doc will state that consumers should not be confused by new field names.
[16:55] <blackboxsw> There are some fixes that need to be proposed to all datasources to better standardize on things like  public vs private addresses, external hostnames etc. Those I expect will come in subsequent passes.
[16:55] <robjo> it might be worth considering the concept of "equivalent instance information" where the entries in the json files get names/keys that are generic across all cloud frameworks and provide the euivalent information/usefulness to the user
[16:55] <smoser> but inside the 'v1', then content of a key will not change.
[16:55] <ajorg> robjo: that's a fair point, imho
[16:55] <smoser> but 'instance-id' is in fact 'instance-id'.  not 'name'.
[16:55] <blackboxsw> robjo: I think that is the intent of those 'v1' standardized fields.
[16:56] <smoser> note that lxd shares the same generic problem in this regard as azure. it uses user-provided name for instance-id. but does not provide an actual instance id of any sort.
[16:56] <blackboxsw> right per name/instance-id discussion, they feel separate, and I think there is value in adding a separate 'name' as smoser mentioned
[16:58] <robjo> Lets look at it from an API perspective, if I were to use the .json file wouldn't it be nice if I could just say  json.load().get{'instance_api_id')
[16:58] <robjo> for EC2 that returns the instance-id, for Azure it gives me the name
[16:59] <robjo> part of the idea of cloud-init is to keep the ugly details of the cloud framework away from the user
[16:59] <ajorg> if we were talking about the value of "region" we'd certainly want to yield the value that's useful for API calls.
[17:00] <robjo> so why would the .json data then retrieve from that idea and make the user know if I am in EC2 I need to use instance-id and if I am in Azure I need to use instance-name?
[17:01] <robjo> ajorg: agreed
[17:01] <smoser> it seems somewhat non-sense that azure gives an instance a unique id, but cannot take that in as an identifier to the instance.
[17:02] <robjo> AWS, GCE, and Azure all have the concept of "region" , not certain how IBM is handling that part in their setup but that may not be of interest to us at this point
[17:02] <smoser> your point is good though. but instance-id i really think needs to be a unique identifier (as much as possible) for this *instance*
[17:02] <ajorg> It sounded like smoser's 'v1' comment was meant to imply we could have a 'v2' that yields data differently than 'v1'.
[17:02] <smoser> softlayer has "datacenters"
[17:03] <robjo> smoser: I agree, but that's the way it is
[17:03] <smoser> at some point, ajorg we will of course realize that we're all idiots
[17:03] <smoser> and wonder What were we thinking!
[17:03] <smoser> and have a 'v2'
[17:04] <blackboxsw> <-- it takes some of us longer than others to realize that
[17:05] <ajorg> smoser: you're not convinced that today is that day?
[17:05] <smoser> i try to keep acknowledgement of that fact to be more than a few days later
[17:06] <ajorg> good to let it sink in first :-)
[17:06] <smoser> (compared to when i notice it, to allow for additional occurences)
[17:06] <ajorg> I'm not going to say it has to be changed, but I do think at the very least the azure name should be available.
[17:07] <blackboxsw> I think this discussion definitely sheds light on the fact that we should continue to bring these standardized instance-data discussions to this meeting for a quick feedback loop from you guys as it evolves :)
[17:07] <ajorg> :)
[17:08] <blackboxsw> #action blackboxsw bring up any updates in instance-data.json fields for discussion about common use-cases/patterns
[17:08] <meetingology> ACTION: blackboxsw bring up any updates in instance-data.json fields for discussion about common use-cases/patterns
[17:08] <ajorg> and it doesn't seem harmful to have the name only if the cloud provides one, just as if the cloud doesn't have a concept of an availability zone we'll skip that too.
[17:09] <blackboxsw> +1
[17:10] <blackboxsw> well i think this about wraps up our meeting for today
[17:10] <blackboxsw> any other topics for today?
[17:11] <ajorg> I pinged Matt Yeazel, but he didn't respond yet.
[17:11] <smoser> i think 'api-id' would lmake sense as a name.
[17:11] <ajorg> so nothing more from my end
[17:11] <ajorg> smoser: or 'api-instance-id'
[17:12] <smoser> that just seems confusing.
[17:12] <smoser> hm..
[17:12] <smoser> i see why you want the 'instance' portion there, but the thing i dont like is that implies that this is 'per instance'
[17:12] <ajorg> well, it's an API instance identifier.
[17:13] <smoser> which in fact it is not.
[17:13] <smoser> hm.
[17:13] <ajorg> Ah, okay, that's true, but if the cloud doesn't have a unique way to identify the instance to the API...
[17:13] <smoser> yeah
[17:14] <ajorg> someone should check that assumption... how do you refer to terminated instances? or how are they identified in logs?
[17:16] <ajorg> smoser: I just worry that someone's going to say "but in my API an API ID is this other thing"
[17:17] <blackboxsw> yeah before surfacing something like that we'd need to vet it
[17:17] <ajorg> In general I think there are enough differences between clouds that it's probably a losing battle to try to come up with something that's one-size-fits-all.
[17:17] <ajorg> The goal was to make the information available more readily than by calling out to metadata services, right?
[17:18] <ajorg> It's much harder to implement meta-data pulling for every cloud than to implement some logic that pulls the right value out of a JSON object, so it's still a big improvement even if it can't provide a unified view.
[17:21] <ajorg> anywho, I should go do other things.
[17:21] <blackboxsw> ajorg: yes that is the primary goal:  more easily access cloud-provided metadata
[17:21] <blackboxsw> if there is low-hanging fruit we can standardize I'm +1 on the concept
[17:22] <blackboxsw> that's where the standard 'v1' key came from
[17:22] <blackboxsw> but yeah I also don't think cloud-init needs to boil the ocean and standardize all fields
[17:22] <blackboxsw> we'll capture what low-hanging fruit we can
[17:22] <blackboxsw> and it'll take time
[17:22] <blackboxsw> ok. Thanks for the great discusssions/suggestions ajorg and robjo. keep 'em coming
[17:22] <blackboxsw> think I'll end meeting now
[17:22] <blackboxsw> until next time...
[17:22] <blackboxsw> #endmeeting
[17:22] <meetingology> Meeting ended Mon Dec 11 17:22:56 2017 UTC.
[17:22] <meetingology> Minutes:        http://ubottu.com/meetingology/logs/cloud-init/2017/cloud-init.2017-12-11-16.05.moin.txt
[17:24] <rharper> blackboxsw: thanks!
[17:31] <paulmey> oh wow... I'm sorry I missed that meeting. Sounds like my cloud was the subject for some of it... ;-)
[17:33] <smoser> yeah, you're trouble
[17:33] <smoser> :)
[17:33] <blackboxsw> no cookie for you
[17:33] <smoser> the disucssion was inteersting withregard to instance-id and name though
[17:33] <paulmey> yeah and the use of them...
[17:36] <paulmey> it's a nice chicken/egg discussion anyway, because the usability won't be clear until you've built the (wrong) thing...
[17:36] <paulmey> re https://code.launchpad.net/~paul-meyer/cloud-init/+git/cloud-init/+merge/334989
[17:38] <paulmey> anything you need from me?
[17:40] <blackboxsw> nothing at the moment, but we'll probably assign a review to you regarding instance-data when I start working instance-data standardization again.
[17:50] <paulmey> sounds good
[17:50] <paulmey> https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service#instance-metadata-data-categories has a list of the metadata that is currently there...
[17:51] <paulmey> I assume the discussion above was about the vmId (which also comes through DMI) vs resource-group/resource-name?
[17:51] <smoser> yeah
[17:52] <paulmey> I'm guessing *all the other clouds* just have one id that they use everywhere in the API's and then some way to look that id up in a more human-friendly way?
[17:54] <blackboxsw> a bold statement :)
[17:55] <paulmey> not a statement, I'm asking... hence the question mark... :-)
[17:58] <blackboxsw> paulmey: it's hard to say if that's the case, I would imagine not everywhere, but probably the majority of clouds. It would make using the cloud easier if there was a simple way to discover, use and operate on a single id given any API operation on that cloud.
[17:59] <blackboxsw> I don't have enough context on that at the moment, I was expecting to start harvesting more instance-data.json reports from clouds as we start iterating more on instance data.
[17:59] <robjo> GCE also has ID and name separate, but I think the ID is useful for API purposes in GCE, while in Azure it is useless
[18:00] <robjo> IN AWS the ID is the one unique identifier usefull for all operations and the "naming" of an instance is just a tag
[18:00] <smoser> paulmey: is that actually true ? there is no api way to input 'vmID'?
[18:00] <smoser> i guess you could probaly list details on everything and get name.
[18:00] <smoser> but yuck
[18:02] <paulmey> smoser: I think that is correct
[18:03] <paulmey> on the first incarnations of Azure, resources could not be moved between resource group and subscriptions
[18:03] <paulmey> at that point in time, the sub/rg/name triplet was a unique identifier
[18:04] <paulmey> but even then, in the delete/recreate scenario, it was hard for livesite engineers to figure out if operations were done on the same instance or a new instance
[18:05] <paulmey> which is when this vmId was introduced...
[18:06] <paulmey> so yes, all our API operations use user-supplied 'IDs'...
[18:07] <paulmey> IMDS let's you retrieve those now, but pre-IMDS, you had a hard time figuring those out
[18:13] <blackboxsw> gce instance-data.json just for reference http://paste.ubuntu.com/26165085/
[18:17] <smoser> paulmey: well, one improvement is that now i think these user-supplied ids are no longer required to be globally unique
[18:18] <smoser> at least my experience initially seemed like you had to pick a name in the cloudapp.net domain
[18:18] <smoser> and if someone else had that name, or azure deemed that name not appropriate for publish, you were denied
[18:19] <blackboxsw> so next status meeting schedule would be Christmas day. The next week Monday is New Year's Day,  I'm thinking  we skip it and just meeting January 8th. Anyone opposed?
[18:34] <smoser> rharper: https://mail.google.com/mail/u/2/#inbox/16046bdf55462464 ?
[18:34] <smoser> you mentioned that to me
[18:37] <dpb1> LOL
[18:38] <dpb1> scotts gmail link not likely to work for the general user
[18:43] <rharper> smoser: heh , what did I mention ?
[18:46] <smoser> nice
[18:46] <smoser> funny
[18:46] <smoser> um..
[18:48] <smoser> rharper: https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/335045
[18:48] <rharper> yes
[18:49] <rharper> +1
[18:54] <blkadder> Question: I want to add add a directory to a user’s .profile, however if I write the .profile using write_files I am finding that the .bashrc that is normally created by the system is no longer being written. Known isssue?
[18:55] <blkadder> In case it matters the .profile file is being written correctly.
[18:58] <smoser> blkadder: i'm guessing you're suggesting you want to add a driectory to PATH, right?
[18:58] <blkadder> I’m guessing that the file is being written before the user is being created and that since the system already sees a directory there it doens’t place the usual files.
[18:59] <blkadder> smoser: Correct.
[18:59] <smoser> write_files occurs before users are added.
[18:59] <smoser> you can do so with runcmd or user-scripts
[18:59] <blkadder> Alright will do that instead, thanks.
[18:59] <smoser> there is a missing feature for a late "write_files"
[18:59] <blkadder> Yes, will be glad when that exists. I think I have run into this before.
[19:01] <blkadder> Because it also potentially creates file ownership issues (if user doesn’t exist when written…)
[19:39] <smoser> blkadder: "before" ?
[19:40] <smoser> you also may well be able to just write a file to /etc/profile.d/
[19:40] <smoser> if it is a global-ish thing
[19:40] <blkadder> It is not.
[19:40] <blkadder> I just sed’d it.
[19:40] <blkadder> It’s functional but man my yaml files are getting ugly.
[19:41] <blkadder> And I am finding I need to place another layer of abstraction on top.
[20:21] <blackboxsw> typos aside smoser rharper do you generally agree with this ? https://code.launchpad.net/~sankaraditya/cloud-init/+git/cloud-init/+merge/331751/comments/877571
[20:24] <rharper> blackboxsw: I agree; I think it's worth asking if cc_timezone setting TZ=UTC is the same
[20:24] <rharper> note that, etc/timezone is different than the rcS; I'm not familiar with the debian rcS file
[20:25] <rharper> so maybe some more details on why it's rcS vs. the /etc/localtime/timezone changes that the base distros stuff does
[20:31] <smoser> blackboxsw: generally agree.
[20:32] <smoser> we can have the datasource provide information default information
[20:32] <smoser> azure does this.
[20:32] <smoser> it doesnt have to be vendor-data, if the datasource is surfacing that informationm, its fine to merge it into default config.
[20:34] <blackboxsw> good point in general that I should keep in mind. Though rcS format looks like it's a UTC=yes or UTC=no format instead of just <timezone-reference> so it's slightly different
[20:35] <blackboxsw> I don't really know how we should resolve that, other than debian-specific extension to write that file if the provided timezone == UTC
[20:36] <blackboxsw> not really sure how, in this, case the datasource would provide it as set_etc_timezone if fairly specific to what it expects to write.
[20:37] <blackboxsw> not really sure how, in this case, the datasource would provide it as set_etc_timezone if fairly specific to what it expects to write.
[20:37] <blackboxsw> silly punctuation
[20:38] <blackboxsw> hrm https://superuser.com/questions/476512/how-do-i-permanently-reset-the-time-zone-in-debian    is it true tzdata isn't kept across reboots?
[20:38]  * blackboxsw checks
[20:39] <rharper> hrm, it appears that the rcS UTC is referring to what the hardware clock is set to, UTC or LOCAL; that is different than timezone;
[20:39] <rharper> still feels like it should be a general distro setting
[20:39] <rharper> and ultimately, even if the hwclock is set to UTC or local, on next shutdown, generally the hwclock --sync-to-hw is run which takes the current time and writes that out
[20:40] <rharper> the newer way to configure hwclock is /etc/adjtime
[20:45] <blackboxsw> timezone retained on ubuntu across reboots. just to confirm our setting TZ is ok
[20:48] <smoser> oh. utc/uts ?
[20:48] <smoser> yeah. if they're really just setting that, that is not timezone.
[20:48] <smoser> that is different.
[20:49] <blackboxsw> robjo: I had a couple of inline questions about the pust-up handling on your branch https://code.launchpad.net/~rjschwei/cloud-init/+git/cloud-init/+merge/333904 .   Not sure about the intent or use-cases we are trying to support there
[20:50] <blackboxsw> looks like UTC only.     +    replace_with = "UTC=" + utc    # where utc== (yes|no)
[21:01] <smoser> blackboxsw: rharper hang out ofr a bit ?
[21:02] <smoser> go through review queue?
[21:02] <robjo> blackboxsw: thanks for catching the typos, fixed
[21:02] <rharper> y
[21:05] <rharper> smoser: i'm in
[21:53] <smoser> blackboxsw: rharper i'm going to pull https://code.launchpad.net/~rjschwei/cloud-init/+git/cloud-init/+merge/334338
[21:53] <smoser> unless you want to comment otherwise
[21:53] <smoser> as it seems reasonably well scoped
[21:54] <smoser> oh. and if one of you could review
[21:54] <smoser>  https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/334991
[21:54] <smoser> i willi pull that too
[21:54] <smoser> fairly easy recreate
[21:55] <smoser> i dont *love* adding another class to extend setup.py behavior but it other than it kind of being hacky, it is tested in centos, suse, ubuntu of recent vintage.
[21:55] <smoser> (ie, i was mostm concerned that there was not a "clean" way of extending the class to accomplish what i wanted)
[21:59] <blackboxsw> smoser: per your fix leaked tmpfile fix, would it be worth us adding the unittest name to the tmpfile prefix instead of just the Classname?
[21:59] <blackboxsw> it'd ease discovery of leaked files in the future
[21:59] <blackboxsw> though ci-<Classname>-<tmpsuffix> does make it at least a bit easier
[22:01] <blackboxsw> ohh right n/m this is from my use of the naked mkdtemp which didn't have any prefix
[22:02] <dojordan> @blackboxsw: I've addressed your latest round of PR comments. Can you look again when you get a chance? https://code.launchpad.net/~dojordan/cloud-init/+git/cloud-init/+merge/334341
[22:02] <blackboxsw> see the issue & fix. +1
[22:02] <blackboxsw> dojordan: your ears must have been burning.   We were talking about your branch a ajorg's a couple mins ago. Will wrap up your review shortly.
[22:07] <dojordan> thanks :)
[22:09] <rharper> smoser: reviewed/approved the reproducible-builds branch
[22:14] <blackboxsw> same with the unit test temp leaks branch approved
[22:14] <blackboxsw> dojordan: one minor nit left for me on your azure markerfile branch.
[22:15] <blackboxsw> I think the content looks good. not sure if we are landing it for 17.2 today, but should land shortly thereafter if not this week.
[22:15]  * blackboxsw still wanted to start things up with a markerfile and see what I can break
[22:16] <smoser> ok. so my plan is to grab ajorgens branch for instance-identity. blackboxsw you said youd' test that on openstack and on ec2 ?
[22:16] <smoser> if we get that i'm +1 on it and will pull and upload to ubuntu too
[22:16] <smoser> (in a couple hours)
[22:16] <blackboxsw> smoser: yeah I'm installing it now on ec2
[22:17] <smoser> then i think we're done with what we would pull
[22:17] <blackboxsw> then openstack
[22:17] <blackboxsw> +1 that
[22:18] <rharper> smoser: sounds like a plan
[22:19]  * powersj pushed 3 integration test enhancements; not urgent for next release, but required for EC2 support
[22:25] <dojordan> @blackboxsw, i'm not seeing your NIT comment for some reason. Is it the location of the marker file should be in the cloud init directory?
[22:26] <blackboxsw> hrm. dojordan maybe I didn't click submit. checking
[22:27] <dojordan> cool, got it
[22:27] <blackboxsw> strange my comment landed, but the inline review comment didn't for some reason. posted again dojordan see it line 140 of visual diff?
[22:27] <blackboxsw> ok
[22:27] <blackboxsw> good deal
[22:37] <blackboxsw> ok walked through ajorg's instance-identity on ec2 and openstack. Only thing I'd like to see is that this dynamic data we query get persisted in the datasource self.metadata so we can also write that to disk in instance-data.json. Right now the callchain doesn't actually manipulate self.metadata at all and so these data are not present for other consumers.
[22:41] <blackboxsw> I don't think that has to block this branch. We can add it in after the fact. But, it represents metadata that the Ec2DataSource relies on that isn't transparent in instance-data.json
[22:50] <blackboxsw> approved https://code.launchpad.net/~ajorgens/cloud-init/+git/cloud-init/+merge/329657
[22:52] <dojordan> @blackboxsw - fixed
[23:06] <blackboxsw> thanks dojordan looks good to me.