--- tags: Agenda --- # Flight Plan [TOC] ## Old Etherpad https://etherpad.openstack.org/p/Airship_FlightPlan ## Scope for Airship 2 Release What are we doing between Beta and Product/Release ### Bot Jenkins Jobs https://jenkins.nc.opensource.att.com/job/development/job/MaintenanceJobs/ ### Hostconfig * Complete All Day 2 Provisioning Lifecycle management activities . * Hostconfig activities/roles/tasks ### ImageBuilder * Declarative Image Management * Integration with CI ### Airshipctl * Integration with ImageBuilder * complete security/secrets subcommands i.e. password / secrets rotation * Complete Host Generator / Variable Catalogue using BIOS/FIRMWARE * CAPI v1alphav4 integration? * Migration from Flux Helm Operator > Flux helm-controller * Finalize Airshipctl incomplete commands * airshipctl document validate * airshipctl clusterctl delete * airshipctl cluster status * Auditing * ?? What does this mean for s in terms of capabilitites for Airshipctl * PhaseManifest * Airshipctl & Telemetry of the Phase Run's * Do we need to define what this means? * Multicluster/ Workload cluster support * Inject or extrapolate kubeconfig into manifests when appropriate ### Airship in a POD ### Treasuremap * Integration with airship hostconfig for day 2 CI/CD * HostConfig Function is part of the library. * Integration with airshipctl secrets capabilitites? * Continue to enhance their catalog of well curated software library to support industry use cases. * Complete NC type - Should be able to deploy CNTT like deployments. * This means full core baremetal deployments. * Where do we integrate/gate/functionality such as RAID/BIOS config changes ? Is that a Treasuremap item ### Documentation ### GAPS - What else do we want to add for discussion , add below: ## Projects | Project | Issues | | - | - | | Host Config Operator | https://github.com/airshipit/hostconfig-operator/issues?q=is%3Aopen+is%3Aissue+label%3Atriage | | Treasuremap | https://github.com/airshipit/treasuremap/issues?q=is%3Aopen+is%3Aissue+label%3Atriage | | Images - Image Builder | https://github.com/airshipit/images/labels | | Airshipctl | https://github.com/airshipit/airshipctl/issues?q=is%3Aopen+is%3Aissue+label%3Atriage | | Docs | https://github.com/airshipit/docs/issues | ## Discussions ### June 9, 2021 * [#555](https://github.com/airshipit/airshipctl/issues/555) < K8s 1.18 to 1.20 upgrade. Get concurrence on creating additional issues for upgrading k8s for the additional providers (Azure, GCP, Openstack). Will [#556](https://github.com/airshipit/airshipctl/issues/556) suffice to cover Docker or is that just a temporary deal? ISSUES: 1. Normalize the phase plans across the different airshipctl sites, by setting up the same site-type inheritance *for the phases entrypoint* as already exists for `test-site`. The default phase plan in the `gating` type should be suitable for the general case -- i.e. everything besides bare metal deployments (which have their own phases). At the e.g. `docker` site level, it can just consume those phase plans & use them; at the `test-site` level it'll need to patch the plan to have all the bare metal phases as it has today. 2. Make the `gating` type a fully-fledged type, by moving the meat of the phase payload entrypoints from the site level to the type level. The site-level phase payload entrypoints will be very skinny after this (just like in treasuremap), making only the tweaks that are needed to tune the phase payloads per-provider. ### May 26, 2021 * (Larry) Looking to close airshipctl issue #443. Need a quick discussion to get a consensus on whether new issue is needed per issue comments. Are we making it a standard with our manifests to deploy CRD and CR in different phases or is this a case-by-case thing? https://github.com/airshipit/airshipctl/issues/443#issuecomment-841486573 ### May 19, 2021 * Triage * Review 2.1 issues missing priority (just a few) * Sync up on 2.1 Timeline and Logistics * When should we create v2.1 branches? * When should we tag images? * Walk through the branching process * etc.. * Can we make the release announcement a single document (for OpenFoundation and Blog). ### May 5, 2021 * **<u>V2.1 Open Issue Count:**</u> * 105 open issues * 70 assigned * 23 critical, 24 medium, 9 low, 8 non-docs not prioritized, 6 docs not prioritized * 35 unnassigned --> **move to Future?** * 5 critical, 11 medium, 2 low, 4 non-docs not prioritized, 13 docs not prioritized * **<u>New issues - can they be moved to Future?**</u> * Unassigned * [Make executors respect timeouts (airshipctl #533, v2.1)]( https://github.com/airshipit/airshipctl/issues/533) STATUS: Kostiantyn to discuss on 5/6 (future) Design Call * Assigned * (Siraj Y) - [Generate VersionsCatalogue and NetworkCatalogue schemas via kubebuilder (airshipctl #532, v2.1)]( https://github.com/airshipit/airshipctl/issues/532) STATUS: Siraj confirms this will be complete <= 1 week. * (Bijaya) - [Metadata.yaml should be a complete kubernetes style yaml (airshipctl #530, v2.1)](https://github.com/airshipit/airshipctl/issues/530) STATUS: Bijaya confirms this will be complete <= 2 week(s). * Unknown * [Bump urllib3 from 1.25.3 to 1.25.8 in docs #34](https://github.com/airshipit/docs/pull/34) ### April 28, 2021 ### April 21, 2021 ### April 14, 2021 ### April 7, 2021 ### March 31, 2021 * Sync up on remaining work for v2.0 release * Remaining patches from yesterday's merge push * SSH key gen: https://review.opendev.org/c/airship/airshipctl/+/774251 * Sreejith's Helm-Collator update to airshipctl: https://review.opendev.org/c/airship/airshipctl/+/784122 * Bump treasuremap's airshipctl pin: https://review.opendev.org/c/airship/treasuremap/+/784091 * Kustomize install script in TM: https://review.opendev.org/c/airship/treasuremap/+/783911 * STL3 manifests * Deployment documentation * When should we create v2.0 branches? * When the four patchsets above merge. * Full list of branched repos? * treasuremap (will pin images and collate charts) * airshipctl * Full list of tagged repos? * airshipctl * images * charts * hostconfig-operator * treasuremap * When should we tag images? * Soon after branching * Then update treasuremap versions.yamls to point at pins * Walk through the branching process * Treasuremap: 1. Branch Treasuremap v2 -> new v2.0 branch (today) 2. Stabilize v2.0 branch, pin versions.yaml airship components to v2.0.0 tags in v2.0 branch 3. At about the same time: * Rename master branch -> v1.9 * Rename v2 branch -> master * Tag v2.0 branch -> v2.0.0 * Other v2.0 release automation * Let's revisit our strategy for tagging/pinning KRM functions now that our overall release strategy has evolved * Decision: * Stay with the previous plan of moving vX tags for KRM functions * Tag KRM functions with vX.Y.Z as well * Start the KRM functions at tags v2 / v2.0.0, but they'll rev independently of the rest of Airship after that * We can decide to pin to either vX or vX.Y.Z in our formal releases * Some 2.1 issues have been closed. Should any of these be marked with 2.0 milestone for release purposes: * https://github.com/airshipit/airshipctl/issues?q=is%3Aissue+is%3Aclosed+milestone%3Av2.1 * https://github.com/airshipit/treasuremap/issues?q=is%3Aissue+is%3Aclosed+milestone%3Av2.1 ### March 24, 2021 #### Continued Planning for the v2.0 release * Critical PSs & Issues * Any open V2.0 items we can move to V2.1, or Future? * Logistics * Blog post with announcement * Writing 2 Documents * Airship 2 - Under the hood - lifecycle (ongoing almost done) * Airship 2 - Under the hood - manifest (just started) * Airship 2 Announcement ... * Overview (high level explanation) * Date links * Say that the other blogs are ... [ Maybe just link to the other available blogs] * Feature list needed? * Tool will work BAU. Compare against Beta, and produce lists * Will manually add the content of the overview. * Branch v2 will be created monday cob (CST) for all repos * * Monday will decide what issues and ops are punted to 2.1 * Wed Flight Plan - Decide what we should merge from master into v2 * Thu (Condititonal) Morning Create the release artifacts if we have the working BMH * LAb Status report by Monday 4 EST * This will move day to day if the lab is no working. * Release Process [ document process ] * Branching strategy . * Will create new branches for every Major and Minor release * Patches will be applied to specific minor or major branches that they apply to. * Development will occur against master * Branch for upcoming release is created a few days before target milestone * How many days before we think we need to do this? * About a week or sooner * Guidance is to do it at the Point in time where dev is somewhat stable? ### March 17, 2021 ### March 10, 2021 #### Planning for the v2.0 release * What is the release ? * artifacts we own * ImageBuilder IMAGE that is tagged 2.0 * airshipctl IMAGE that is tagged 2.0 * HostConfig IMAGE that is tagged 2.0 * artifacts we dont own * Plugins IMAGE that is tagged with their own version number * How does arship keep track of the related artifacts * updating versions catalogue * will be updated every we cut a release, and therefore i.e will tie to ppropriate point plugin version. * TODO manual versions update for now, see if we can get automation in place * Update treasuremp appropriately * Script release will : * generates release notes * generates the airshipctl image in quay with the right tag * TODO lets update the github actions on teh repo for the release. * Announcement in the BLOG or Mailing List * Start writing what that going to look a ... * Go here to read the docs?? * How does the release work * Two phase appproach : * 1st we build artifacts offr version release. Tag all artifacts * update versions.yaml in arshipctl * Update treasuremap version #### Planning for the v2.1 release When : Target is End of April .. Time to define a release? Potential scope: * Robustness * More complete hostconfig toolkit * More solid treasuremap.. * Driving the BM lab in STl3 from treasuremap gates. * Whatever falls out of 2.0 * Plan in use ... * Can we have a gate that uses airshipctl plan instead of phases. * Solidify the documentation * * Scope that is fast-followon to v2.0 * SIP & VINO * Treasuremap manifests for subclusters * Consider moving some Day-2 operations / baremetal-operator scope here * Updating some versions?, like * CAPI... * CAPM3 * Metal3 What do we want our release scheule to be - 3 or 4 times per year maybe? #### Issues review (Mike email/list sent Monday) Keeping/abandoning a few V2.0 PSs, and confirming if unassigned V2 Issues can be moved to postV2 ### March 3, 2021 #### Treasuremap function > type labeling * Completed labeling, added comments to include in the labeled type. ### Feb 25, 2021 #### Path forward for Treasuremap function > type mapping Next steps from the 2/23 Design Call 1) Are we going to rename the network-cloud type to multi-tenant-type? Is so, the assumption is we’ll want a new V2.0 issue for that. How will that impact the downstream work? **New Issue: Rename network-cloud type to multi-tenant: https://github.com/airshipit/treasuremap/issues/97** 2) Should we create a new `type: multi-tenant` label? Currently have `type: airship-core` & `type: network-cloud`. **Done** 3) Create a post V2.0 issue for the “new” network-cloud type which would incorporate OSH **Yes: create new issue: https://github.com/airshipit/treasuremap/issues/98** 4) Create new a new V2.0 issue to include Host Config Operator, NGINX Ingress Controller, Tigera Operator in the airship-core type (for the functions which have already been delivered) **Yes: create a new issue: https://github.com/airshipit/treasuremap/issues/99(HCO). NGINX and Tigera already included in airship-core** 5) Andrew & Larry to go through the issues list from the spreadsheet and label the issues with `type: airship-core` or `type: multi-tenant/nc` labels 6) Socialize that those who are working these issues need to ensure they’re incorporated into the appropriate type based on the added label. ____________________ ISSUE : Treasuremap will nightly pin airshipctl, to keep a stable working version of treasuremap. A gate will validate that its safe to update airshipctl: https://github.com/airshipit/treasuremap/issues/100 ### Feb 17, 2021 * status of the gerrit to github bot. ### Feb 10, 2021 #### Can any of these airshipctl issues be closed? 449 – One related change is merged. May need more. 429 – Need status 427 – Related change merged 405 – Related change merged 379 – Two related changes merged 374 – All related patchsets seem to be merged 359 – Three related changes merged 320 – Related change merged and comment says “IMO this issue might be closed” 252 – Question in comments as to whether this can be closed 202 – This was closed once and then re-opened by gerrit activity. All patchsets now seem to be merged 179 – Obsolete? 79 – Comments indicate may be ready to close Bot : * Add Ians change/ps * ### Feb 3, 2021 #### Vote for Discontinue SIG YAML Calls below * (Rodolfo) +1 * (Dmitry) +1 * (mattmceuen) +1 #### New Repo in Airship []: Create new Repo gerrit-to-github-bot Fork this https://github.com/ianpittwood/Gerrit-to-Github-Issues Project creation request: https://review.opendev.org/c/openstack/project-config/+/773936 Need to be able to use it for multile repos Either multiple instances or change the code #### Will manage pushing -> Priority of Issues and State of v2 by relying on queries such as : is:open is:issue label:priority/critical label:"ready for review" Filtering on each project but Prioritu label, and ready for review. Discuss on Flight Plan/Mailing list .. Repositories sip + vino should start to upstream issues after a cut over date when the code has met minimal reqs downstream. Will prep the repos with labels, milestone. #### Treasuremap Exercise Functions that are not assocated with types will not be tested. Since CI/CDD pipelines only applies to types. * We have a collection of functions * We need to map the functions target to v2 or beyond * We need to identify which type a function belongs to * We need to define which types will be part of v2 How do we tag/identify what functions go with what types? Labels, new issues? * Create label for each type for identification purposes. * When creating the issue for the function, include which type(s) in which the function should be included. * The developer who is working the function creation issue should be responsible for including it in the types that are specified in the issue. * We are making the assumption all other types inherit airship-core, and will also inherit the functions associated with airship-core. * When a new type is defined, part of the issue to create the type should include which functions are part of the type. * What should we capture in regards to incubation phase? << **Needs Discussion** @jezogwza ### Jan 27, 2021 #### Agree on new Milestone Target Date for GA of v2 * Agree new Milestone is MArch 31 strategy wise, for all Airship v2 scope. * However we want a quantification that shows the work that means between now and then. ### Jan 20, 2021 #### Issues Needed * cluster init , when run twice in a row causes issues. [#450](https://github.com/airshipit/airshipctl/issues/450) * image command needs to be removed once image builder integration is fully merged. -- Email sent to Craig to confirm * plan list support -o yaml to be equivalent to phase list -o yaml [Already been worked] * Enhance the way version command works to a more generic approach tie to the repository brannch/version etc https://docs.google.com/spreadsheets/d/1YnVC_yQr7m-TUDaLz0xGndkoVIlO2emIwoGirbPBz-8/edit#gid=0 ### Jan 13, 2021 #### Discuss approach for types * How do we tag/identify what functions go with what types? Labels, new issues? * Create label for each type for identification purposes. * When creating the issue for the function, include which type(s) in which the function should be included. * The developer who is working the function creation issue should be responsible for including it in the types that are specified in the issue. * We are making the assumption all other types inherit airship-core, and will also inherit the functions associated with airship-core. * When a new type is defined, part of the issue to create the type should include which functions are part of the type. * What should we capture in regards to incubation phase? << **Needs Discussion** @jezogwza * What functions should be included in the airship-core & nc types? * Which of those functions are deemed necessary for v2.0 GA vs. follow on after GA? * This assumes that we'll be including both airship-core & nc types as part of the v2.0 treasuremap offering (vs. just airship-core) #### Prioritize issues with triage label * Examine list of issues with the `triage` label and prioritize them ### Jan 6, 2021 #### Lets start the year * by assesing where we are * Milestone for v2 is Jan 31, do we need to move it * Is there a conference or other timeline incentive to align with? --- Issue : Define Strategy for gating once plan run is available. ### Dec 16, 2020 #### Treasuremap review * New LMA issues - Sudeep Batra * Close out existing issues #11 - #16 inclusive * Treasuremap issues, should we start specifying to which type they apply? Label(s)? * Existing open issues sorted by oldest to newest https://github.com/airshipit/treasuremap/issues?page=1&q=is%3Aissue+is%3Aopen+-label%3Aairshipv1+sort%3Acreated-asc * Review for current relevance * Assign priority as most do not have How do we indicate tha a function belongs to a type: - New issue explicitly stating include function X in type y, by tis mechanism ? - ### Dec 9, 2020 #### Category labels With the design evolution, the original "component/xxx" labels have become stale. At the same time, we are trying to be more fine grained in identifying the outstanding work & priority. We have dropped the component labels and are introducing the following new categories in order of importance for all open, unassigned issues: | Label | Description | | ------------------ | --------------------------------------------------- | | 1-Core | Relates to airshipctl core components (i.e. go code)| | 2-Manifests | Relates to manifest/document set related issues | | 3-Container | Relates to plugin related issues | | 4-Gating | Relates to issues with Zuul & gating | | 5-Documentation | Improvements or additions to documentation | | 6-upstream/project | Requires a change to an external project. The "project" should be the project name (e.g. clusterctl, helm, metal3, etc.) | | 7-NiceToHave | Relates to issues of lower priority that are not part of critical functionality or have work arounds. When these get pulled in, should get one of the above category labels | References: https://github.com/airshipit/airshipctl/labels https://github.com/airshipit/airshipctl/labels/1-Core https://github.com/airshipit/airshipctl/labels/2-Manifests https://github.com/airshipit/airshipctl/labels/3-Container https://github.com/airshipit/airshipctl/labels/4-Gating https://github.com/airshipit/airshipctl/labels/5-Documentation https://github.com/airshipit/airshipctl/labels/6-upstream/helm https://github.com/airshipit/airshipctl/labels/6-upstream/metal3-io https://github.com/airshipit/airshipctl/labels/7-NiceToHave All open treasuremap issues are labeled as 2-Manifests https://github.com/airshipit/airshipctl/treasuremap/2-Manifests Lets cchange #### "Ready for Review" without assignees There's a handful of issues that are currently "Ready for Review" that were likely referenced with the "Related Change" commit tag. Look to see if any can be closed. https://github.com/airshipit/airshipctl/issues?q=is%3Aissue+is%3Aopen+no%3Aassignee+label%3A%22ready+for+review%22 #### Priority of open treasuremap issues Several open treasuremap issues that do not have priority. Review to see if they are stale or should be updated with a priority https://github.com/airshipit/treasuremap/issues?q=is%3Aissue+is%3Aopen+-label%3Apriority%2Fcritical+-label%3Apriority%2Fmedium+-label%3Aairshipv1 ### Dec 2, 2020 #### V2.0 Checkpoint * Discuss plan for any beta sub-releases before GA. * https://github.com/airshipit/airshipctl/issues/354 < Revisit based on work Sean has done * If we do, what would be included and what are target dates? * Are there high priority [unassigned issues](https://github.com/airshipit/airshipctl/issues?q=is%3Aissue+is%3Aopen+no%3Aassignee+milestone%3Av2.0) that should be addressed sooner rather than later? * Do we want to organize the open issues into an ordered backlog? Can coordiante offline. - sub releases ... - Airship What is an Airship version Is it a collection of airship components..? Or every components has the same version, i.e. - v2.0 - v2.3 we need to define a mechanism to manage interelated consistency between subcomponets. define : * v[MAJOR RELEASE].[MINOR RELEASE].[POINT RELEASE] - Airshipctl - Periodically.. - 2 weeks aling with sprints ? - Monthly.. - How do we release - Push a tag/... details to follow - Release Numbering/Version - v2.0-beta.1 - v2.0-beta.2 - .... - v2.0.0-beta.n - v2.0.0 - v2.0.1 - v2.0.2 - v2.0.3 - ImageBuilder - Hostconfig - Release Numbering/Version - v2.0.0-beta.1 - v2.0.0 - v2.0.3 - No changes * https://github.com/airshipit/airshipui/issues There are currently 15 open airshipui issues (including 1 documentation) and none of them are currently assigned. Need to go through these issues to ensure each is still valid and assign a priority so that we can put focus on a few of these for design discussion and implementation. It seems the higher priority items are probably 41, 45, 55, 48, 56, 57, 58. ### Nov 18, 2020 ### Nov 11, 2020 * [Review stale issues](https://github.com/airshipit/airshipctl/issues?q=is%3Aissue+is%3Aopen+label%3Astale) < click for filter * [V2.0 issues Ready for Review](https://github.com/airshipit/airshipctl/issues?q=is%3Aissue+is%3Aopen+label%3A%22ready+for+review%22+milestone%3A%22v2.0%22) < Any critical ones needing more immediate attention? ### Oct 21, 2020 * Host Config Operator issues (new project to triage coming out of 10/15 design call) * https://github.com/airshipit/hostconfig-operator/issues * Will #1 serve as a model for the rest? * Integration with treasuremap, are we good with one general integration issue, or will we need 1:1 with each host-config-operator issue? * https://github.com/airshipit/treasuremap/issues/41 ### Oct 14, 2020 How do we keep documentation up to date. MAtt mentioned some model that openstack helm is using to gate the documentation. TBD ... ### Oct 7, 2020 #### New Issues * Need to define a CRD/Schema for the Variable Catalogue's * Do we need multiple Kind's? * Should try to keep the number of catalogues to a minimum. * i.e. Versions vs Network is very different? * So that is the reason why we need multiple. * This should be define in the airshipctl/tree/master/pkg/api/v1alpha1 like other objects. * Let's start with the Versions catalogue (https://github.com/airshipit/airshipctl/blob/master/manifests/function/airshipctl-catalogues/versions-airshipctl.yaml) to determine the ability of driving this with a structured CRD. * Need an issue to deal with "remote direct to use phases" * That is associated with this patchset. Related Change #752363 Subject: Refactor remote direct to use phases Link: https://review.opendev.org/752363 Status: NEW Owner: Kostyantyn Kalynovskyi (kkalynovskyi@mirantis.com) Approvals Code-Review +1 Vladislav Kuzmin +1 Vladimir Kozhukalov +1 srinivasa muly Verified +1 Zuul Workflow -1 Kostyantyn Kalynovskyi Last Updated: 2020-10-06 11:00:07 CDT ### Sept 30, 2020 Is the time right to introduce schema / CRDs for catalogues? * Today they're all un-schema'd VariableCatalogue objects * Opportunities to fat finger all kinds of things * Catalogues are going to have per-site content, so need a good UX * If we implement this Now, need to delete VariableCatalogues in a few cases * Related to the no-op "VariableCatalogue plugin script" * If we implement this Later... I thought Kustomize Functions bought us something, but I can't think of what that would be * Proposal: implement it Now, and do JSON patch deletes on catalogues when needed