14:00:29 <dwalt> #startmeeting airship
14:00:30 <openstack> Meeting started Tue Jul 23 14:00:29 2019 UTC and is due to finish in 60 minutes.  The chair is dwalt. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:00:31 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
14:00:33 <openstack> The meeting name has been set to 'airship'
14:00:33 <dwalt> #topic rollcall
14:00:46 <dwalt> hello all! o/
14:00:56 <dwalt> filling in for mattmceuen today. Here is the agenda https://etherpad.openstack.org/p/airship-meeting-2019-07-23
14:01:10 <evrardjp> o/
14:01:20 <alexanderhughes> o/
14:01:49 <MattCoachCarter> o/
14:01:55 <howell> o/
14:02:11 <evgenyl> Hi everyone!
14:02:22 <roman_g> o/
14:03:24 <evrardjp> dwalt: filling in for mattmceuen -> he is away today?
14:04:17 <dwalt> evrardjp: he's in an all-day meeting. It's possible he will be lurking throughout the day though
14:04:25 <evrardjp> sorry to make use of the rollcall for small chat :)
14:04:36 <dwalt> no worries. breaking the ice :)
14:05:07 <evrardjp> Record breaking temperatures in Brussels, you could even say melting the ice :)
14:05:28 <evrardjp> at least, I, am melting.
14:05:46 <openstackgerrit> Ian Pittwood proposed airship/spyglass master: Add tests for site processor init  https://review.opendev.org/672115
14:05:53 <dwalt> haha. Can't say I'm upset with our 65 degress fahrenheit
14:05:59 <dwalt> Looks like the dust has settled on the agenda. Let's begin!
14:06:07 <dwalt> #topic WC nominations
14:06:28 <dwalt> Just a reminder: WC nominations close today at 19:00 UTC
14:06:54 <dwalt> So far, we have three candidates. For anyone who still plans to nominate, more info is here https://opendev.org/airship/governance#working-committee
14:07:49 <dwalt> I expect we'll here from mattmceuen about election information after the nomination period closes. Any questions regarding WC nominations or the election process?
14:08:13 <evrardjp> none
14:08:28 <dwalt> Awesome. Next topic!
14:08:31 <dwalt> #topic Code formatting across Airship (both Python and Go projects)
14:08:41 <dwalt> alexanderhughes: it's all you
14:09:16 <openstackgerrit> Luna Das proposed airship/promenade master: Create logging section in promenade.conf  https://review.opendev.org/629154
14:09:19 <alexanderhughes> thanks dwalt.  for background a few weeks ago we discussed standardizing our code bases with some tools.  for python this would be with YAPF and Flake8, with Go using goimports and gofmt
14:09:44 <alexanderhughes> I've proposed some docs changes to make these changes official and get the projects starting to implement the changes, I'd like to get one last round of reviews today and get this effort closed out by end of week
14:10:01 <alexanderhughes> Python: https://review.opendev.org/#/c/671291/ Go https://review.opendev.org/#/c/671318/
14:10:39 <alexanderhughes> howell as the lead dev on Go efforts I'd really appreciate your thoughts on the Go patch as well
14:10:53 <howell> definitely, I'm looking now
14:11:19 <roman_g> alexanderhughes: could those docs suggest (standardize) some Makefile procedure to be run before each code commit for review, please?
14:11:37 <dwalt> Thanks alexanderhuges. I'll give it another look today. Are you aware of any additional gates that will need to be added to enforce these standards once they are approved?
14:11:58 <dwalt> sorry, alexanderhughes
14:12:00 <roman_g> yes, yes, I'm talking basically the same
14:12:05 <roman_g> *about
14:12:28 <evrardjp> sorry to throw more tools into the mix, but was black discussed?
14:12:44 <alexanderhughes> I've added the sample configuration to Python docs changes on how we would gate using YAPF and Flake8.  I'll work with howell to make sure the work efforts on the Go gates are reflected in the documentation as well
14:12:48 <evrardjp> and yes, I like the question of dwalt :)
14:13:14 <roman_g> we already have section which describes standard Makefile targets (like 'make charts'). Probably we need another one for code formatting.
14:13:38 <evrardjp> thanks for clarifying alexanderhughes and roman_g
14:14:12 <alexanderhughes> well with the .style.yapf suggested in the docs most editors can use a python-yapf plugin and auto format when the developer is writing code.  in the event they fail to do that and fail to run a yapf command against their code the gates proposed will fail and notify them
14:14:27 <alexanderhughes> I can add more details suggesting those steps be taken before submitting code
14:14:41 <dwalt> Indeed. evrardjp, would you be able to give a brief explanation of black? I am not familiar
14:14:43 <alexanderhughes> same applies to Go code with gofmt/goimports
14:15:56 <evrardjp> dwalt: it's just a code formatter with very strong opinions. It's simple. It's generally rejected by openstack community (multiple threads in the openstack lists), but it's welcomed by some other members of the python community.
14:16:18 <evrardjp> it's integrated in many IDEs too
14:16:58 <evrardjp> but hey, I don't want to throw more tools into the mix. I just wondered if you thought about it, because it reduces the cognitive burden to have everyone writing the same way, which is, _I think_ the goal here
14:17:00 <dwalt> I just saw.. "the uncompromising code formatter". That's funny
14:17:18 <evrardjp> "very strong opinions" I said :)
14:17:35 <evrardjp> I just generally like the look of my code when I run it :D
14:18:06 <alexanderhughes> evrardjp black was not discussed previously, YAPF was suggested as some projects are using it already, Flake8 came up as a supporting tool to ensure things YAPF didn't enforce (import order) were handled automatically to free up reviewers to look at code changes rather than formatting
14:18:13 <ian-pittwood> I'm a fan of black too, but we do already have yapf integrated in several projects. I think either way the same goal of consistent code is accomplished
14:18:30 <evrardjp> ian-pittwood: that's the most important thing :)
14:18:43 <evrardjp> as long as it's consistent, it's good :)
14:18:59 <evrardjp> sorry for the sidetracking here
14:19:30 <dwalt> True consistency is good. The nice thing about code formatters too, is that they're easy to switch if we decide on another tool in a year or whenever
14:19:51 <dwalt> evrardjp: no worries! thanks for sharing
14:20:09 <dwalt> I'll keep that one in the back of my mind if this comes up again
14:21:16 <dwalt> Great, so I think we will have some more eyes on the formatting patches. Did anyone else want to add anything to this topic?
14:21:39 <roman_g> I did add :)
14:21:59 <roman_g> 'make format' or something like that would be nice to have
14:22:09 <dwalt> Sorry roman_g!
14:22:25 <dwalt> Can you add that to your changes alexanderhughes?
14:22:46 <alexanderhughes> gladly
14:23:08 <dwalt> awesome!
14:23:12 <dwalt> ty
14:23:18 <dwalt> #topic New project request: Porthole migration  (porthole)
14:23:26 <roman_g> alexanderhughes: https://airship-docs.readthedocs.io/en/latest/code-conventions.html#makefile
14:23:44 <dwalt> Diwakar, are you by chance here today?
14:23:46 <roman_g> Is Diwakar here?
14:24:08 <sudeepbatra55> Diwakar is trying to connect
14:24:41 <dwalt> sudeepbatra55: ty. Let's come back to this one later when Diwakar is on
14:24:54 <dwalt> #topic Pegleg validation enhancements on render and genesis bundle creation
14:25:11 <dwalt> alexanderhughes
14:26:22 <alexanderhughes> this came up when speaking with a consumer of Airship and his resiliency concerns.  the concern is that when we have site documents that get layered there's potential that some items are invalid - specifically IP addresses and their DNS entries (pki certs, rendered manifests etc.) his suggestion was to add more validation
14:26:53 <alexanderhughes> this would come up for certificates for example to make sure that the SANs are valid dns entries via some schema validation, and that site documents specifying an IP should also have the ability to ensure that IP has a fqdn, and that the fqdn is valid
14:27:31 <alexanderhughes> implementing it, I wanted to get opinions from the community if we should add these checks to Pegleg when rendering documents, generating certs, generating the genesis bundle - or if these validations make sense elsewhere, in a consumers Jenkins jobs for example
14:28:26 <evrardjp> alexanderhughes: as long as the tooling to validate exist in the first place, we can then iterate and reuse
14:28:51 <evrardjp> IMO Pegleg should validate itself, but it shouldn't prevent someone else from having those tests in CI in the first place
14:29:20 <roman_g> First idea which comes to my mind is that DNS in a location where user could run Pegleg could be different, and DNS entries may not be resolvable. Same with IP's.
14:30:47 <roman_g> And e.g. for validation of DNS entries - would you want to use system DNS servers, or DNS servers defined in site yamls?
14:31:31 <roman_g> So even if Pegleg would have this functionality built-in, it should not be enforced, I believe.
14:32:54 <alexanderhughes> agreed, it should be optional.  I think one thing we could do is validate based on some format.  for example when pegleg generates pki, the certs have SANs which can have DNS fields coming from the manifests.  we could add a check to ensure that the DNS follows a set pattern such that some.fqdn.com is checked to be valid and free of typos like some
14:32:55 <alexanderhughes> .f.qdn.co.m
14:33:43 <alexanderhughes> that check wouldn't rely on any dns servers or connectivity, it's just schema validation
14:33:44 <roman_g> This is probably already implemented. I might be mistaken, though.
14:34:05 <alexanderhughes> I'll have to check, that example in particular came up for this consumer so if it is implemented it may not have been used
14:34:34 <dwalt> I am also surprised if none of our components already provide this validation
14:35:07 <dwalt> If they do exist, I can see a desire to have that validation performed earlier though, like evrardjp mentioned
14:35:21 <roman_g> I remember I had linting errors for wrong IP address formats for sure
14:35:34 <evrardjp> if possible with code reuse, to prevent duplicating validation efforts
14:35:37 <alexanderhughes> we definitely provide schema validation, his requests went further though and wanted to validate the IP->dns mapping, and then validate the dns entry.  so essentially do a dig
14:36:39 <alexanderhughes> so if we focus on that piece, is this something that makes sense for Pegleg?  the points brought up previously about dns server and ips is a great point, I know personally where I run pegleg and the sites I consume the pegleg documents in are often times different
14:36:48 <dwalt> I see. I know the design calls are  a bit booked with Airship 2 items, but it may be worth floating the idea there at some point
14:36:59 <alexanderhughes> sounds good
14:37:17 <dwalt> it might make more sense to start integrating with that design as well
14:37:37 <dwalt> possibly a validation plugin for airshipctl. I'm just throwing ideas out, I'm not sure what the right answer is :)
14:37:59 <alexanderhughes> :)  no problem, I'll bring this up on next design call see if I can squeeze in among the airshipctl items
14:38:12 <dwalt> excellent!
14:38:35 <dwalt> anything else for alexanderhughes to capture on this topic?
14:39:08 <alexanderhughes> no, thanks for the thoughts on this, it'll be helpful when I get to the design call
14:39:26 <dwalt> np, glad to hear that
14:39:28 <dwalt> sudeepbatra55: do you know if we have Diwakar yet
14:40:12 <openstackgerrit> Narla Sandeep Narla Saibaba proposed airship/promenade master: Add custom apparmor profile for kubernetes-proxy  https://review.opendev.org/672029
14:40:17 <dwalt> or, you can speak on the topic if you'd like to
14:41:42 <dwalt> alrighty. #topic Roundtable
14:41:51 <dwalt> woops
14:41:52 <dwalt> #topic Roundtable
14:42:03 <evrardjp> nothing to add
14:42:05 <dwalt> Any additional items today, team?
14:43:35 <dwalt> I'll assume not. We are efficient today :)
14:43:39 <dwalt> #topic reviews
14:43:47 <dwalt> https://review.opendev.org/#/c/671337/ - Pegleg generate PKI updates
14:43:47 <dwalt> https://review.opendev.org/#/c/669743/ - Pegleg generate passphrases updates
14:44:13 <dwalt> alexanderhughes is requesting reviews on the above items if anyone has the chance to look today. Also, don't forget the code formatting changes!
14:44:17 <roman_g> Thanks, dwalt and everyone.
14:44:23 <alexanderhughes> thanks all!
14:45:24 <dwalt> Thanks everyone! Good meeting today
14:45:33 <dwalt> Have a great rest of the day
14:45:36 <dwalt> #endmeeting