Movatterモバイル変換


[0]ホーム

URL:


Release Processes

Release Processes

This document describes the process and week-per-week steps related topreparing the release. It should be adapted to take team holidays andother commitments into account, and turned into a clear action plan forthe release cycle.

Week after previous release

  1. Process any late or blocked release requests for deliverablesfor any branch (treating the new series branch as stable).

  2. Prepare for the next release cycle by adding deliverable files under thenext cycle’s directory. Remove any deliverable files from the current cyclethat ended up not having any releases. Then run the following command to usethe current cycle deliverables to generate placeholders for the next cycle:

    tox -e venv -- init-series $SERIES $NEXT_SERIES

    Submit your changes by using the gerrit topic$series-init-series.

    Warning

    At this point, the trailing deliverables of the previous seriesare not necessarily released yet. Adding them here is not an issue,however, we should be vigilant and ensure to create new releasesfor the previous series first.

  3. Coordinate with the Infrastructure team to swap out the previous cyclesigning key and establish the new one for the starting cycle.

  4. Create the $series-relmgt-tracking etherpad using themake-tracking-etherpad command.For example:

    tox-evenv--make-tracking-padussuri

    The output from this command can be pasted into a$SERIES-relmgt-tracking etherpad. Set title formatting for the topsections. Then highlight all listed weeks and set toHeading 3 style.Fill in the contents of one of the weeks with the typical items, then copyand past that into each subsequent week to prepare for the rest of thecycle.

  5. Email PTLs directly one time to explain the use of the “[release][ptl]”email tag on the openstack-discuss list and tell them to pay attentionto [release] countdown emails. Use the following email template andsend it with$SERIESCycleInformation as email subject:

    This email is going out to all PTLs and release liaisons for $SERIES.Welcome to the $SERIES series. On behalf of the release management team, Ijust wanted to say hello and make sure you had the information you needto know what to do and what to expect during this coming release cycle.Release Schedule================If you haven't seen it yet, please take a look at the published schedule forthis cycle:    https://releases.openstack.org/$SERIES/schedule.htmlThat lists all of the major milestones along the way as we work towards thecoordinated release on $release-date.Community-wide deadlines are listed under the "Cross-project events" column.You may notice some projects have added project-specific deadlines under the"Project-specific events" column. That can be done by submitting a patch to theopenstack/releases repo updating the doc/source/$SERIES/schedule.* files, ifyou would like to make sure those deadlines are published somewhere.Countdown Emails================Throughout the cycle, we will be sending regular "countdown" emails to theopenstack-discuss mailing list. If you have filtering set up for mailing listemails, please make sure you are not filtering out subject lines that contain"[release]" and "[ptl]" tags.These countdown emails will contain important updates on upcoming deadlines andinformation about necessary actions throughout the cycle. We try to keep themto a minimum, so earlier on in the cycle they will not be sent weekly, butaround deadline times and especially towards the end of the cycle, these willgo out weekly to make sure everyone has the information they need to get workdone in time. Your attention to these emails would be appreciated. We will tryto keep them short.Deliverables============The release process may be new for a few of you. All official OpenStackdeliverables are released by updating deliverable files in theopenstack/releases repo:    https://opendev.org/openstack/releases/src/branch/master/deliverables/$SERIESPlease take a look at your deliverable files and make sure the release-modelmatches what the team plans to follow for this cycle. This model is a way tocommunicate to downstream consumers what to expect, so the release team usesyour declared model to determine when and how to enforce different steps duringthe cycle.Details on the release models and what they mean, as well as documentation onhow to use the releases repo, can be found in the references section here:    https://releases.openstack.org/index.html#referencesThat has documentation for some of our tooling too. The most important one youmay want to know about is the new-release tooling so you don't need to editthose yaml files directly. That command can be used like this:    tools/new_release.sh $SERIES cinder featureThe last part can be major (major version bump), feature (minor version bump),and bugfix (bugfix, or the Z in X.Y.Z).Reviews=======Because of the strict timing of the cycle schedule, it is important that youreview release patches within some days or usually until Thursdays EOB ifpossible. Please look at the incoming review request emails (sent by gerrit)from openstack/releases repository regularly or at least check your inbox atleast once or twice a week:    https://review.opendev.org/q/project:openstack/releases+reviewer:self+is:openThe above link shows a customised list of release patches that only containspatches that you are added as reviewer. Release managers use a script to addPTLs and release liaisons to their relevant release patches as reviewers.Release Liaisons================If anyone should be added as a release liaison, or removed, just submit a patchto update the data/release_liaisons.yaml file in the openstack/releases repowith current information for your team.Please contact us at any point with any questions. We can be reached on theopenstack-discuss mailing list with the [release] tag, or on IRC in the#openstack-release channel.Thanks for your attention. I hope the $SERIES cycle goes well for everyone.
  6. At the end of the week, send the following weekly email content:

    Welcome back to the release countdown emails! These will be sent atmajor points in the $SERIES development cycle, which should concludewith a final release on $release-date.Development Focus-----------------At this stage in the release cycle, focus should be on planning the$SERIES development cycle, assessing $SERIES community goals and approving$SERIES specs.General Information-------------------$remark-on-series-length. In case you haven't seen it yet, please takea look over the schedule for this release:https://releases.openstack.org/$SERIES/schedule.htmlBy default, the team PTL is responsible for handling the release cycleand approving release requests. This task can (and probably should) bedelegated to release liaisons. Now is a good time to review releaseliaison information for your team and make sure it is up to date:https://opendev.org/openstack/releases/src/branch/master/data/release_liaisons.yamlBy default, all your team deliverables from the $PREVIOUS_SERIES release arecontinued in $SERIES with a similar release model.Upcoming Deadlines & Dates--------------------------$other-upcoming-event_$SERIES-1 milestone: $milestone1

Week before milestone-1

  1. Review cycle-trailing projects to check which haven’t released yet.Ask them to prepare their releases, if they haven’t already. The listof pending cycle-trailing deliverables can be determined by runningthe command:

    tox -e venv -- list-deliverables --series $LASTSERIES \    --type trailing --missing-final
  2. At the end of the week, send the following weekly email content:

    Development Focus-----------------The $SERIES-1 milestone is next week, on $milestone1! Project team plansfor the $SERIES cycle should now be solidified.General Information-------------------Libraries need to be released at least once per milestone period. Nextweek, the release team will propose releases for any library which hadchanges but has not been otherwise released since the $LASTSERIES release.PTL's or release liaisons, please watch for these and give a +1 toacknowledge them. If there is some reason to hold off on a release, letus know that as well, by posting a -1. If we do not hear anything at allby the end of the week, we will assume things are OK to proceed.NB: If one of your libraries is still releasing 0.x versions, startthinking about when it will be appropriate to do a 1.0 version. Theversion number does signal the state, real or perceived, of the library,so we strongly encourage going to a full major version once things arein a good and usable state.Upcoming Deadlines & Dates--------------------------$SERIES-1 milestone: $milestone1

Milestone-1

  1. Ensure that all trailing projects have been branched for the previousseries.

    • List unbranched projects using:

      tools/list_unbranched_projects.sh
    • Propose a patch to branch the missing ones.

  2. Propose autoreleases for cycle-with-intermediary libraries whichdid not release since the previous release.

    • List them using:

      tox-evenv-- \list-deliverables \--unreleased \--modelcycle-with-intermediary \--typeclient-library \--typelibrary \>/tmp/deliverables.log
    • Edit the generated file (/tmp/deliverables.log) to remove tox’s logs.

    • Generate release requests for all cycle-with-intermediary librarieswhich had changes, but did not release since the previous release.

      Warning

      process_auto_releases will ask you to enter a topic for the patches.Please use$series-milestone-1 as topic.

      For this, run (c.ftools/process_auto_releases.sh):

      tools/process_auto_releases.sh $SERIES $(cat /tmp/deliverables.log)

      That patch will be used as a base to communicate with the team: ifa team wants to wait for a specific patch to make it to the library,someone from the team can -1 the patch to have it held, or updatethat patch with a different commit SHA.

      Here is an example of milestone 1 generated for Wallaby:

      https://review.opendev.org/q/topic:%22w1-c-w-i%22

    • Between Tuesday and Thursday, merge as soon as possible the patches thatget +1 from the PTL or the release liaison.

    • On the Friday, merge patches that did not get any feedback from PTL orrelease liaison. Discuss standing -1s to see if they should be grantedan exception and wait until next week.

  3. To catch if there are acl issues in newly created repositories,run tools/aclissues.py to detect potential leftovers in Gerrit ACLsallowing official deliverables to be directly tagged or branched withoutgoing through openstack/releases. You need to specify the locationof up-to-date checkouts for the governance and the project-configrepositories. For example:

    tools/aclissues.py../project-config../governance

    If the tool reports any violation, you can re-run it with--patch togenerate needed changes in ../project-config to align ACLs with governance,and propose the changes for review.

  4. At the end of the week, send the following weekly email content:

    Development Focus-----------------We are now past the $SERIES-1 milestone. Teams should now be focused onfeature development and completion of goals [0].[0] https://governance.openstack.org/tc/goals/selected/index.htmlGeneral Information-------------------Our next milestone in this development cycle will be $SERIES-2, on$milestone2. This milestone is when we freeze the list of deliverablesthat will be included in the $SERIES final release, so if you plan tointroduce new deliverables in this release, please propose a change toadd an empty deliverable file in the deliverables/$SERIES directory ofthe openstack/releases repository.Now is also generally a good time to look at bugfixes that wereintroduced in the master branch that might make sense to be backportedand released in a stable release.If you have any question around the OpenStack release process, feel freeto ask on this mailing-list or on the #openstack-release channel on IRC.Upcoming Deadlines & Dates--------------------------$SERIES-2 Milestone: $milestone2

Week after milestone-1

  1. Review any remaining milestone-1 exceptions

  2. Ensure that all new-release patches in requirements repository for themilestone-1 releases are merged. This should be an empty list:

    https://review.opendev.org/q/project:openstack/requirements+branch:master+is:open+topic:new-release

Between Milestone-1 and Milestone-2

  1. Send the following weekly email content:

    Development Focus-----------------The $SERIES-2 milestone will happen in next month, on $milestone2.$SERIES-related specs should now be finalized so that teams can moveto implementation ASAP. Some teams observe specific deadlines onthe second milestone (mostly spec freezes): please refer tohttps://releases.openstack.org/$SERIES/schedule.html for details.General Information-------------------Please remember that libraries need to be released at least once permilestone period. At milestone 2, the release team will propose releasesfor any library that has not been otherwise released since milestone 1.Other non-library deliverables that follow the cycle-with-intermediaryrelease model should have an intermediary release before milestone-2.Those who haven't will be proposed to switch to the cycle-with-rc model,which is more suited to deliverables that are released only once per cycle.At milestone-2 we also freeze the contents of the final release. If youhave a new deliverable that should be included in the final release, youshould make sure it has a deliverable file in:https://opendev.org/openstack/releases/src/branch/master/deliverables/$seriesYou should request a beta release (or intermediary release) for those newdeliverables by milestone-2. We understand some may not be quite readyfor a full release yet, but if you have something minimally viable toget released it would be good to do a 0.x release to exercise the releasetooling for your deliverables. See the MembershipFreeze description formore details: https://releases.openstack.org/$SERIES/schedule.html#$S-mfFinally, now may be a good time for teams to check on any stablereleases that need to be done for your deliverables. If you havebugfixes that have been backported, but no stable release gettingthose. If you are unsure what is out there committed but not released,in the openstack/releases repo, running the command"tools/list_stable_unreleased_changes.sh <cycle_name>" gives a nice report.Upcoming Deadlines & Dates--------------------------$SERIES-2 Milestone: $milestone2

Week before Milestone-2

  1. Ahead of MembershipFreeze, rungovernance_consistency.py:

    python3 tools/governance_consistency.py $series $project_yaml_file

    This tool will list all inconsistencies between the deliverables describedin the governance’s reference “projects.yaml” file and the deliverablesdefined in the $series directory or the _independent directory.There should ideally be none.

    For deliverables defined in governance but not in deliverable files,they might be listed in the TC list of ‘inactive’ projects. Otherwisethey should either be tagged as a release management exception if they donot need to be released (seerelease-management key in the governanceprojects.yaml file) or an empty deliverable file should be added to theseries so that we can properly track it. Leftovers are considered too youngto be released in the next release and will be reconsidered at the nextcycle.

    For deliverables defined in deliverable files but not in (active)governance, their deliverable file should generally be removed from the$series directory, or marked release-model:abandoned if present in the_independent directory.

  2. Send the following weekly email content:

    Development Focus-----------------The $SERIES-2 milestone is next week, on $milestone2! $SERIES-relatedspecs should now be finalized so that teams can move to implementationASAP. Some teams observe specific deadlines on the second milestone(mostly spec freezes): please refer tohttps://releases.openstack.org/$SERIES/schedule.html for details.General Information-------------------Libraries need to be released at least once per milestone period. Nextweek, the release team will propose releases for any library that has notbeen otherwise released since milestone 1. PTL's and release liaisons,please watch for these and give a +1 to acknowledge them. If there issome reason to hold off on a release, let us know that as well. A +1would be appreciated, but if we do not hear anything at all by the endof the week, we will assume things are OK to proceed.Remember that non-library deliverables that follow thecycle-with-intermediary release model should have an intermediaryrelease before milestone-2. Those who haven't will be proposed to switchto the cycle-with-rc model, which is more suited to deliverables thatare released only once per cycle.Next week is also the deadline to freeze the contents of the finalrelease. All new '$SERIES' deliverables need to have a deliverable filein https://opendev.org/openstack/releases/src/branch/master/deliverablesand need to have done a release by milestone-2.Changes proposing those deliverables for inclusion in $SERIES have beenposted, please update them with an actual release request before themilestone-2 deadline if you plan on including that deliverable in $SERIES,or -1 if you need one more cycle to be ready.Upcoming Deadlines & Dates--------------------------$SERIES-2 Milestone: $milestone2

Milestone-2

  1. Generate a list of all cycle-with-intermediary libraries which did notrelease since the YYYY-MM-DD date of milestone-1. For this, run:

    tox-evenv-- \list-deliverables \--unreleased-sinceYYYY-MM-DD \--modelcycle-with-intermediary \--typeclient-library \--typelibrary \>/tmp/deliverables.log

    Then, edit the generated file to remove tox’s logs.

    Generate release requests for all cycle-with-intermediary librarieswhich had changes, but did not release since milestone-1.

    Warning

    process_auto_releases will ask you to enter a topic for the patches.Please use$series-milestone-2 as topic.

    For this, run (c.ftools/process_auto_releases.sh):

    tools/process_auto_releases.sh $SERIES $(cat /tmp/deliverables.log)

    That patch will be used as a base to communicate with the team:if a team wants to wait for a specific patch to make it to the library,someone from the team can -1 the patch to have it held, or updatethat patch with a different commit SHA.

    Here is an example of milestone 2 generated for Wallaby:

    https://review.opendev.org/q/topic:%22w2-c-w-i%22

  2. To catch if there are acl issues in newly created repositories,runtools/aclissues.py to detect potential leftovers in Gerrit ACLsallowing official deliverables to be directly tagged or branched withoutgoing through openstack/releases. You need to specify the locationof up-to-date checkouts for the governance and the project-configrepositories. For example:

    tools/aclissues.py../project-config../governance

    If the tool reports any violation, you can re-run it with--patch togenerate needed changes in ../project-config to align ACLs with governance,and propose the changes for review.

  3. Send the following weekly email content:

    Development Focus-----------------We are now past the $SERIES-2 milestone, and entering the last developmentphase of the cycle. Teams should be focused on implementing planned workfor the cycle.Now is a good time to review those plans and reprioritize anything ifneeded based on the what progress has been made and what looks realisticto complete in the next few weeks.General Information-------------------Looking ahead to the end of the release cycle, please be aware of thefeature freeze dates. Those vary depending on deliverable type:* General libraries (except client libraries) need to have their last  feature release before Non-client library freeze ($nclfreeze). Their  stable branches are cut early.* Client libraries (think python-*client libraries) need to have their  last feature release before Client library freeze ($milestone3)* Deliverables following a cycle-with-rc model (that would be most  services) observe a Feature freeze on that same date, $milestone3.  Any feature addition beyond that date should be discussed on the  mailing-list and get PTL approval. After feature freeze, cycle-with-rc  deliverables need to produce a first release candidate (and a stable  branch) before RC1 deadline ($rc1-deadline)* Deliverables following cycle-with-intermediary model can release as  necessary, but in all cases before Final RC deadline ($final-rc-deadline)Upcoming Deadlines & Dates--------------------------Non-client library freeze: $nclfreeze (R-6 week)Client library freeze: $milestone3 (R-5 week)$SERIES-3 milestone: $milestone3 (R-5 week)$other-upcoming-event

Week after Milestone-2

  1. Review any remaining milestone-2 exceptions

  2. Ensure that all new-release patches in requirements repository for themilestone-2 releases are merged. This should be an empty list:

    https://review.opendev.org/q/project:openstack/requirements+branch:master+is:open+topic:new-release

  3. Now that we are past MembershipFreeze, we should check if the OpenStack mapwill need to be updated to reflect future final release contents. If anychanges are needed, those should be proposed in Gerrit as changes to theopeninfra/openstack-map repository.

  4. Plan the next release cycle schedule based on the number of desired weeks orby making sure the cycle ends within a few weeks of the next developerevent. Using the Monday of the close of the last cycle, and theMonday of the planned last week of the new cycle, use the tooltools/list_weeks.py to generate the release schedule YAML file.For example:

    ./tools/list_weeks.pyt2019-04-152019-10-16

    The generated output can be used to set up the schedule similar to what wasdone for theUssuri release.

    Note

    Useformat-yamldoc/source/$series/schedule.yaml before pushingthe patch to gerrit to check consistency.

Between Milestone-2 and Milestone-3

  1. Generate a list of intermediary-released service deliverables that havenot done a release in this cycle yet. For this, use:

    tox-evenv--list-deliverables--unreleased \--modelcycle-with-intermediary \--typehorizon-plugin--typeother--typeservice

    Intermediary-released deliverables that did release only once duringthe last cycle, and have not done a release yet are good candidates toswitch to the cycle-with-rc model, which is much more suitable fordeliverables that are only released once per cycle.

    Note

    Not every deliverable meeting the above criteria should be encouragedto change release model. For example if there are very limited changesper cycle, a single release without RCs is probably OK. A team mayalso want to keep the possibility of releasing multiple times percycle.

    Deliverables possibly meeting the criteria should be reviewed during therelease meeting, and a release model change should be proposed for alldeliverables where it could make sense. PTLs and release liaisons maydecide to:

    • immediately release an intermediary release (and -1 the proposed change)

    • confirm the release model change (+1 the proposed change)

    • stay uncertain for this cycle of how many releases will be made, butacknowledge that they need to do a release before RC1 (-1 the proposedchange)

  2. Send the following weekly email content:

    General Information-------------------The following cycle-with-intermediary deliverables have not done anyintermediary release yet during this cycle. The cycle-with-rc releasemodel is more suited for deliverables that plan to be released only onceper cycle. As a result, we have proposed[1] to change the release modelfor the following deliverables:[ list of deliverables ][1] https://review.opendev.org/#/q/topic:$series-cwiPTLs and release liaisons for each of those deliverables can either +1the release model change, or propose an intermediary release for thatdeliverable. In absence of answer by the end of R-10 week we'll considerthat the switch to cycle-with-rc is preferable.We also published a proposed release schedule for the upcoming$nextseries cycle. Please check out the separate thread:[ link to thread ]Upcoming Deadlines & Dates--------------------------Non-client library freeze: $nclfreeze (R-6 week)Client library freeze: $milestone3 (R-5 week)$SERIES-3 milestone: $milestone3 (R-5 week)$other-upcoming-event

R-8 week

  1. Make sure the next development series name has been added to thedata/series_status.yaml file.

  2. Send the following weekly email content:

    Development Focus-----------------We are entering the last weeks of the $series development cycle. Fromnow until the final release, we'll send a countdown email like thisevery week.It's probably a good time for teams to take stock of their library andclient work that needs to be completed yet. The non-client library freezeis coming up, followed closely by the client lib freeze. Please planaccordingly to avoid any last minute rushes to get key functionality in.General Information-------------------Next week is the Extra-AC freeze, in preparation for elections. Allcontributions to OpenStack are valuable, but some are not expressed asGerrit code changes. Please list active contributors to your project teamwho do not have a code contribution this cycle, and therefore won'tautomatically be considered an Active Contributor and allowedto vote. This is done by adding extra-acs tohttps://opendev.org/openstack/governance/src/branch/master/reference/projects.yamlbefore the Extra-AC freeze on $extraac.A quick reminder of the upcoming freeze dates. Those vary depending ondeliverable type:* Oslo libraries are entering feature freeze next week, $extraac.* General libraries (except client libraries) need to have their lastfeature release before Non-client library freeze ($nclfreeze). Theirstable branches are cut early.* Client libraries (think python-*client libraries) need to have theirlast feature release before Client library freeze ($milestone3)* Deliverables following a cycle-with-rc model (that would be mostservices) observe a Feature freeze on that same date, $milestone3. Anyfeature addition beyond that date should be discussed on the mailing-listand get PTL approval. After feature freeze, cycle-with-rc deliverablesneed to produce a first release candidate (and a stable branch) beforeRC1 deadline ($rc1-deadline)* Deliverables following cycle-with-intermediary model can release asnecessary, but in all cases before Final RC deadline ($final-rc-deadline)Finally, now is also a good time to start planning what highlights youwant for your deliverables in the cycle highlights. The deadline tosubmit an initial version for those is set to one week after Featurefreeze ($highlights).Background on cycle-highlights:http://lists.openstack.org/pipermail/openstack-dev/2017-December/125613.htmlProject Team Guide, Cycle-Highlights:https://docs.openstack.org/project-team-guide/release-management.html#cycle-highlightsjeremy [at] openstack.org/fungi on IRC is available if you needhelp selecting or writing your highlights.Upcoming Deadlines & Dates--------------------------Extra-AC freeze: $extraac (R-7 week)Oslo feature freeze: $extraac (R-7 week)Non-client library freeze: $nclfreeze (R-6 week)Client library freeze: $milestone3 (R-5 week)$SERIES-3 milestone: $milestone3 (R-5 week)Cycle highlights deadline: $highlights (R-4 week)$other-upcoming-event

R-7 week (Extra-AC deadline week)

  1. Notify the Infrastructure team togenerate an artifact signing key(but not replace the current one yet), andbegin the attestation process.

  2. Check with the Technical Committee to make sure Python runtimes have beendetermined for the next development cycle and that Zuul job templates havebeen created to include those runtimes.

    The upcoming release deadlines may include the creation of stable branches.When that branching is performed, automated patches will be proposed to themaster branch of those repos to switch them over to the next cycle’s jobtemplate. If the template is not defined yet, those patches will get a Zuulerror. A recheck of failed patches will clear that up once the template isdefined, but it is best if any errors can be avoided to make sure thepatches get approved in a timely manner.

  3. Send the following weekly email content:

    Development Focus-----------------Work on libraries should be wrapping up, in preparation for the variouslibrary-related deadlines coming up. Now is a good time to make decisionson deferring feature work to the next development cycle in order to beable to focus on finishing already-started feature work.General Information-------------------We are now getting close to the end of the cycle, and will be graduallyfreezing feature work on the various deliverables that make up theOpenStack release.This coming week is the deadline for general libraries (except clientlibraries): their last feature release needs to happen before "Non-clientlibrary freeze" on $nclfreeze. Only bugfixes releases will be allowedbeyond this point.When requesting those library releases, you can also include thestable/$series branching request with the review (as an example, see the"branches" section here:https://opendev.org/openstack/releases/src/branch/master/deliverables/pike/os-brick.yaml#n2In the next weeks we will have deadlines for:* Client libraries (think python-*client libraries), which need to havetheir last feature release before "Client library freeze" ($milestone3)* Deliverables following a cycle-with-rc model (that would be mostservices), which observe a Feature freeze on that same date, $milestone3.Any feature addition beyond that date should be discussed on themailing-list and get PTL approval.As we are getting to the point of creating stable/$series branches, thiswould be a good point for teams to review membership in their$project-stable-maint groups. Once the stable/$series branches are cutfor a repo, the ability to approve any necessary backports into thosebranches for $series will be limited to the members of that stable team.If there are any questions about stable policy or stable team membership,please reach out in the #openstack-stable channel.Upcoming Deadlines & Dates--------------------------Non-client library freeze: $nclfreeze (R-6 week)Client library freeze: $milestone3 (R-5 week)$SERIES-3 milestone: $milestone3 (R-5 week)Cycle Highlights Due: $highlight (R-4 week)$series final release: $release-date$other-upcoming-event

R-6 week (Final Library Release deadline)

  1. Propose autoreleases for cycle-with-intermediary libraries (excludingclient libraries) which had commits that have not been included in arelease.

    • List them using:

      ./tools/list_library_unreleased_changes.sh>/tmp/cwiff.log
    • Clean the generated list to keep projects names only.

    • Generate the patches by usingprocess_auto_releases:

      ./tools/process_auto_releases.sh $SERIES $(cat /tmp/cwiff.log)

      Warning

      process_auto_releases will ask you to enter a topic for the patches.Please use$series-final-non-client-libs as topic.

    • That patch will be used as a base to communicate with theteam: if a team wants to wait for a specific patch to make it to thelibrary, someone from the team can -1 the patch to have it held, or updatethat patch with a different commit SHA.

      Note

      At this point, we wantall changes in the deliverables, to ensurethat we have CI configuration up to date when the stable branchis created later.

    • Allow thestable/$series branch to be requested with each libraryfinal release if they know they are ready. Do not require branching atthis point in case of critical issues requiring another approved releasepast the freeze date.

    • Between Tuesday and Thursday, merge as soon as possible the patches thatget +1 from the PTL or the release liaison.

    • On the Friday, merge patches that did not get any feedback from PTL orrelease liaison. Discuss standing -1s to see if they should be grantedan exception and wait until next week.

  2. At the end of the week, send weekly email content preparing for R-5 week:

    Development Focus-----------------We are getting close to the end of the $series cycle! Next week on$milestone3 is the $series-3 milestone, also known as feature freeze.It's time to wrap up feature work in the services and their clientlibraries, and defer features that won't make it to the $next-series cycle.General Information-------------------This coming week is the deadline for client libraries: their last featurerelease needs to happen before "Client library freeze" on $milestone3.Only bugfix releases will be allowed beyond this point.When requesting those library releases, you can also include thestable/$series branching request with the review. As an example, see the"branches" section here:https://opendev.org/openstack/releases/src/branch/master/deliverables/pike/os-brick.yaml#n2$milestone3 is also the deadline for feature work in all OpenStackdeliverables following the cycle-with-rc model. To help those projectsproduce a first release candidate in time, only bugfixes should be allowedin the master branch beyond this point. Any feature work past that deadlinehas to be raised as a Feature Freeze Exception (FFE) and approved by theteam PTL.Finally, feature freeze is also a good time for submitting a first versionof your cycle-highlights. Cycle highlights are the raw data that helps shapewhat is communicated in press releases and other release activity at theend of the cycle, avoiding direct contacts from marketing folks. Seehttps://docs.openstack.org/project-team-guide/release-management.html#cycle-highlightsfor more details.Upcoming Deadlines & Dates--------------------------$series-3 milestone (feature freeze): $milestone3 (R-5 week)RC1 deadline: $rc1-deadline (R-3 week)Final RC deadline: $final-rc-deadline (R-1 week)Final $SERIES release: $release-date$other-upcoming-event

R-5 week (Milestone-3)

  1. Process any remaining library freeze exception.

  2. Ensure that all new-release patches in requirements repository for thelibrary releases are merged. This should be an empty list:

    https://review.opendev.org/q/project:openstack/requirements+branch:master+is:open+topic:new-release

  3. Propose autoreleases (process_auto_releases) forcycle-with-intermediary client libraries which had commits that havenot been included in a release.

    • List them using:

      ./tools/list_client_library_unreleased_changes.sh

      Warning

      process_auto_releases will ask you to enter a topic for the patches.Please use$series-milestone-3 as topic.

    • That patch will be used as a baseto communicate with the team: if a team wants to wait for a specific patchto make it to the library, someone from the team can -1 the patch to haveit held, or update that patch with a different commit SHA.

    • Allow thestable/$series branch to be requested with each clientlibrary final release if they know they are ready. Do not requirebranching at this point in case of critical issues requiring anotherapproved release past the freeze date.

    • Between Tuesday and Thursday, merge as soon as possible the patches thatget +1 from the PTL or the release liaison.

    • On the Friday, merge patches that did not get any feedback from PTL orrelease liaison. Discuss standing -1s to see if they should be grantedan exception and wait until next week.

  4. Evaluate any non-client libraries that did not have any change merged over thecycle to see if it is time totransition them to the independent releasemodel.

    Note: client libraries (and other libraries strongly tied to anotherdeliverable) should generally follow their parent deliverable releasemodel, even if they did not have a lot of activity themselves).

    If it is OK to transition them, propose to move the deliverable file tothe_independent directory.

    If it is not OK to transition them, propose a new minor release and stablebranch from HEAD.

    A full list of unreleasedlibraries andclient-libraries for the cyclecan be found with:

    tox-evenv--list-deliverables--unreleased--typelibrary--typeclient-library
  5. List cycle-with-intermediary deliverables that have not been released yet:

    tox-evenv--list-deliverables--unreleased \--modelcycle-with-intermediary \--typehorizon-plugin--typeother--typeservice

    Send a separate email targeted to teams with such unreleased deliverablessaying:

    Quick reminder that we'll need a release very soon for a number ofdeliverables following a cycle-with-intermediary release model but whichhave not done *any* release yet in the $series cycle:{{list-of-deliverables}}Those should be released ASAP, and in all cases before $rc1-deadline, sothat we have a release to include in the final $series release.
  6. On Friday, remind the requirements team to freeze changes toopenstack/requirements by applying -2 to allopen patches. Ensure that reviewers do not approve changes createdby the proposal bot, but do approve changes for new OpenStack deliverablereleases.

  7. At the end of the week, send weekly email content for R-4 week.

    Note: String freezes are applied toI18n team target projectsand withcycle-with-rc orcycle-with-intermediary release model:

    Development Focus-----------------We just passed feature freeze! Until release branches are cut, youshould stop accepting featureful changes to deliverables following thecycle-with-rc release model, or to libraries. Exceptions should bediscussed on separate threads on the mailing-list, and feature freezeexceptions approved by the team's PTL.Focus should be on finding and fixing release-critical bugs, so thatrelease candidates and final versions of the $series deliverables can beproposed, well ahead of the final $series release date.General Information-------------------We are still finishing up processing a few release requests, but the$series release requirements are now frozen. If new library releases areneeded to fix release-critical bugs in $series, you must request aRequirements Freeze Exception (RFE) from the requirements team before wecan do a new release to avoid having something released in $series thatis not actually usable. This is done by posting to the openstack-discussmailing list with a subject line similar to:        [$PROJECT][requirements] RFE requested for $PROJECT_LIBInclude justification/reasoning for why a RFE is needed for this lib.If/when the requirements team OKs the post-freeze update, we can thenprocess a new release.A soft String freeze is now in effect, in order to let the I18N team do thetranslation work in good conditions. In Horizon and the various dashboardplugins, you should stop accepting changes that modify user-visiblestrings. Exceptions should be discussed on the mailing-list. By$rc-final-date this will become a hard string freeze, with no changesin user-visible strings allowed.Actions-------stable/$series branches should be created soon for all not-already-branchedlibraries. You should expect 2-3 changes to be proposed for each: a.gitreview update, a reno update (skipped for projects not using reno),and a tox.ini constraints URL update. Please review those in priorityso that the branch can be functional ASAP.The Prelude section of reno release notes is rendered as the top leveloverview for the release. Any important overall messaging for $serieschanges should be added there to make sure the consumers of your releasenotes see them.Upcoming Deadlines & Dates--------------------------RC1 deadline: $rc1-deadline (R-3 week)Final RC deadline: $final-rc-deadline (R-1 week)Final $SERIES release: $release-date$other-upcoming-event

R-4 week

  1. Process any remaining client library freeze exception.

  2. Ensure that all new-release patches in requirements repository for theclient library releases are merged. This should be an empty list:

    https://review.opendev.org/q/project:openstack/requirements+branch:master+is:open+topic:new-release

  3. Early in the week, email openstack-discuss list to remind PTLs thatcycle-highlights are due this week so that they can be included inrelease marketing preparations.

  4. Freeze all cycle-based library releases except for release-criticalbugs. Independently-released libraries may still be released, butconstraint or requirement changes will be held until after the freezeperiod.

    Note

    Do not release libraries without a link to a message to openstack-discussrequesting a requirements RFE and an approval response from that team.

  5. Proposestable/$series branch creation for all client and non-clientlibraries that had not requested it at freeze time.

    • The following command may be used:

      tox-evenv--propose-library-branches--include-clients

      Warning

      Please use$series-stable-branches as gerrit topic.

      After the above command created the branch cut changes,tools/bulk_review.sh script can be used to propose them in separatepatches, grouped by teams.

    • That patch will be used as a baseto communicate with the team: if a team wants to wait for a specific patchto make it to the library, someone from the team can -1 the patch to haveit held, or update that patch with a different commit SHA.

    • On the Friday, merge patches that did not get any feedback from PTL orrelease liaison. Discuss standing -1s to see if they should be grantedan exception and wait until next week.

  6. List cycle-with-intermediary deliverables that have not been refreshed inthe last 2 months. For this, use the following command, with YYYY-MM-DDbeing the day two months ago:

    tox-evenv--list-deliverables--unreleased-sinceYYYY-MM-DD \--modelcycle-with-intermediary \--typehorizon-plugin--typeother--typeservice

    Send a separate email targeted to teams with such old deliverablessaying:

    Quick reminder that for deliverables following the cycle-with-intermediarymodel, the release team will use the latest $series release available onrelease week.The following deliverables have done a $series release, but it was notrefreshed in the last two months: {{list_of_deliverables}}You should consider making a new one very soon, so that we don't use anoutdated version for the final release.
  7. At the end of the week, send weekly email content preparing for R-3 week:

    Development Focus-----------------The Release Candidate (RC) deadline is next Thursday, $rc1-deadline. Workshould be focused on fixing any release-critical bugs.General Information-------------------All deliverables released under a cycle-with-rc model should have a firstrelease candidate by the end of the week, from which a stable/$seriesbranch will be cut. This branch will track the $series release.Once stable/$series has been created, the master branch will be ready toswitch to $next-series development. While the master branch will no longerbe feature-frozen, please prioritize any work necessary for completing$series plans.  Release-critical bugfixes will need to be merged in themaster branch first, then backported to the stable/$series branch beforea new release candidate can be proposed.Actions-------Early in the week, the release team will be proposing RC1 patches for allcycle-with-rc projects, using the latest commit from the master branch.If your team is ready to go for cutting RC1, please let us know byleaving a +1 on these patches.If there are still a few more patches needed before RC1, you can -1 thepatch and update it later in the week with the new commit hash you wouldlike to use. Remember, stable/$series branches will be created with this,so you will want to make sure you have what you need included to avoidneeding to backport changes from the master branch (which willtechnically then be $next-series) to this stable branch for anyadditional RCs before the final release.The release team will also be proposing releases for any deliverablefollowing a cycle-with-intermediary model that has not produced any $seriesrelease so far.Finally, now is a good time to finalize release highlights. Releasehighlights help shape the messaging around the release and make sure thatyour work is properly represented.Upcoming Deadlines & Dates--------------------------RC1 deadline: $rc1-deadline (R-3 week)Final RC deadline: $final-rc-deadline (R-1 week)Final $SERIES release: $release-date$other-upcoming-event

R-3 week (RC1 deadline)

  1. Process any remaining library branching exception.

  2. On the Monday, generate release requests for all deliverablesthat have do not have a suitable candidate yet. That includes:

    • Branchdevstack-plugin-* delivrables. Usually devstack plugings arebranchless and tagless so out of our jurisdiction, however, some are justtagless so they are deliverables that must be branched. Please use thegerrit topicdevstack-plugin-$series to help to track them. Examplehttps://review.opendev.org/c/openstack/releases/+/785180

    • cycle-with-intermediary deliverables that have not released yet, forwhich a release should be proposed from HEAD. Stable branch creationshould be included, unless the deliverable has specified the‘stable-branch-type: none’ option. You can list those using:

      tox-evenv--list-deliverables--unreleased \--modelcycle-with-intermediary \--typehorizon-plugin--typeother--typeservice

      Note

      The command lists some deliverables that clearly don’t need a release(like requirements, release-tests). If there are multiple deliverablesthat require a release, then feel free to useprocess_auto_releasesto generate the patches. Please use$series-cwi-not-released astopic.

    • cycle-with-rc that are not trailing deliverables and that have not donea RC1 yet, for which a release should be proposed from HEAD, and includestable branch creation. You can list those using:

      tools/list_rc1.sh
    • Generate patches by usingprocess_auto_releases.

      Warning

      process_auto_releases will ask you to enter a topic for the patches.Please use$series-rc1-deadline as topic.

    • Those patches will be used as a base to communicate with the team:if a team wants to wait for a specific patch to make it to the release,someone from the team can -1 the patch to have it held, or updatethat patch with a different commit SHA.

    • Between Tuesday and Thursday, merge as soon as possible the patches thatget +1 from the PTL or the release liaison.

    • By EOD Thursday, ideally we would want a +1 from the PTL and/orrelease liaison to indicate approval. However we will consider theabsence of -1 or otherwise negative feedback as an indicator that theautomatically proposed patches can be approved.

    • On the Friday, merge patches that did not get any feedback from PTL orrelease liaison. Discuss standing -1s to see if they should be grantedan exception and wait until next week.

  3. At the end of the week, send weekly email content preparing for R-2 week:

    Development Focus-----------------At this point we should have release candidates (RC1 or recent intermediaryrelease) for all the $series deliverables. Teams should be working on anyrelease-critical bugs that would require another RC or intermediary releasebefore the final release.Actions-------Early in the week, the release team will be proposing stable/$series branchcreation for all deliverables that have not branched yet, using the latestavailable $series release as the branch point. If your team is ready to gofor creating that branch, please let us know by leaving a +1 on thesepatches.If you would like to wait for another release before branching, you can -1the patch and update it later in the week with the new release you wouldlike to use. By the end of the week the release team will merge thosepatches though, unless an exception is granted.Once stable/$series branches are created, if a release-critical bug isdetected, you will need to fix the issue in the master branch first, thenbackport the fix to the stable/$series branch before releasing out of thestable/$series branch.After all of the cycle-with-rc projects have branched we will branchdevstack, grenade, and the requirements repos. This will effectively openthem up for $next-series development, though the focus should still be onfinishing up $series until the final release.Opening up the new development cycle is also a good opportunity to teamsto revise their zuul jobs and used nodesets and clean up all unnecessaryones.For projects with translations, watch for any translation patches comingthrough and merge them quickly. A new release should be produced so thattranslations are included in the final $series release.Finally, now is a good time to finalize release notes. In particular,consider adding any relevant "prelude" content. Release notes aretargetted for the downstream consumers of your project, so it would begreat to include any useful information for those that are going to pickup and use or deploy the $series version of your project.Upcoming Deadlines & Dates--------------------------Final RC deadline: $final-rc-deadline (R-1 week)Final $SERIES release: $release-date$other-upcoming-event

R-2 week

  1. Process any standing RC1 deadline exceptions.

  2. Gracefully release tempest plugins with latest changes available. Tempestplugins are branchless however they should be released on theirHEAD atthe end of each cycle at least(cf.the legacy cycle automatic model andthe tempest-plugin type).

    • You can preview unreleased changes by using:

      $ tox -e venv -- list-deliverables --type tempest-plugin$ tools/list_unreleased_changes.sh wallaby <tempest-plugin-projects>
    • Process auto release for those who need to be released:

      $ tools/process_auto_releases.sh $series <tempest-plugin-projects-list>

      Warning

      Please use$series-tp-latest as gerrit topic.

  3. On the Monday, generate stable branches for all cycle deliverables thatare still missing one.

    • You can list those using:

      tox-evenv--list-deliverables--no-stable-branch--cycle-based-no-trailing

      Warning

      Please use$series-missing-stable-branches as gerrit topic.

    • Those patches will be used as a base to communicate with the team:if a team wants to wait and make another release before the branch iscut, someone from the team can -1 the patch to have it held, or updatethat patch to include another release and stable branch point.

    • Between Tuesday and Thursday, merge as soon as possible the patches thatget +1 from the PTL or the release liaison.

    • On the Friday, merge patches that did not get any feedback from PTL orrelease liaison. Discuss standing -1s to see if they should be grantedan exception and wait until next week.

  4. After all the projects enabled in devstack by default have been branched,we can engage with the QA, I18n and Requirements PTLs to finalize thestable branch setup:

    Note

    Information about PTLs could be easily retrieved either from thegovernance projector from therelease project.

    • At this point all projects should have their branches created,as doing the branching first is a prerequisite to allow us to branchrequirements. You can ensure that all projects are branched by usingtox-evenv--list-deliverables--no-stable-branch--cycle-based-no-trailing where a non empty list mean that someprojects are missing a stable branch and a patch should be proposed tocreate it. The requirements team expect an empty output of thiscommand, so you should not continue to the next point until its outputis empty.

      Note

      The previous command will return therequirements deliverablehowever in this case this one can be ignored, because our goal is tobranch it.

    • If the previous list is empty then remind the QA PTL to manage theirrelease duties (cf.https://wiki.openstack.org/wiki/QA/releases).

      Note

      More examples about the QA team’s patches during the ussuri cycle areavailable herehttps://review.opendev.org/#/q/topic:qa-ussuri-release

      Note

      As soon as grenade is updated for the new branch (see the RC1instructions that follow), projects without stable branches maystart seeing issues with their grenade jobs because without thestable branch the branch selection will cause the jobs to runmaster->master instead of previous->master. At the end of Ocatathis caused trouble for the Ironic team, for example.

    • Remind the I18n SIG lead to update the translation tools for the new stableseries.

    • If the previous list is empty then we can remind the requirementsPTL to propose an update to the deliverable file to createthestable/$series branch foropenstack/requirements and thenremind to him to announce that the requirements freeze is liftedfrom master.

      Note

      We wait until after the other projects have branched tocreate the branch for requirements because tests for the stablebranches of those projects will fall back to using the masterbranch of requirements until the same stable branch is created,but if the branch for the requirements repo exists early thechanges happening in master on the other projects will not use itand we can have divergence between the requirements being testedand being declared as correct.

  5. Ensure that all projects that are publishing release notes have thenotes link included in their deliverable file. This is done by runningthe command:

    tools/add_release_note_links.sh $series

    Then submit the updated deliverable files in one patch to update thedocs.

    Example given:https://review.opendev.org/#/c/723540/

  6. Let cycle-with-rc projects iterate on RCs as needed. The final releasecandidate for each project needs to be prepared at least one week beforethe final release date.

    Note

    Try to avoid creating more than 3 release candidates so we are notcreating candidates that consumers are then trained to ignore. Eachrelease candidate should be kept for at least 1 day, so if there is aproposal to create RCx but clearly a reason to create another one,delay RCX to include the additional patches. Teams that know they willneed additional release candidates can submit the requests and markthem WIP until actually ready, so the release team knows that morecandidates are coming.

  7. At the end of the week, send weekly email content preparing for R-1 week:

    Development Focus-----------------We are on the final mile of the $series development cycle!Remember that the $series final release will include the latest releasecandidate (for cycle-with-rc deliverables) or the latest intermediaryrelease (for cycle-with-intermediary deliverables) available.$final-rc-deadline is the deadline for final $series release candidatesas well as any last cycle-with-intermediary deliverables. We will thenenter a quiet period until we tag the final release on $release-date.Teams should be prioritizing fixing release-critical bugs, before thatdeadline.Otherwise it's time to start planning the $next-series development cycle,including discussing Forum and PTG sessions content, in preparation of$other-upcoming-event.Actions-------Watch for any translation patches coming through on the stable/$seriesbranch and merge them quickly. If you discover a release-critical issue,please make sure to fix it on the master branch first, then backport thebugfix to the stable/$series branch before triggering a new release.Please drop by #openstack-release with any questions or concerns aboutthe upcoming release !Upcoming Deadlines & Dates--------------------------Final $SERIES release: $release-date$other-upcoming-event

R-1 week (Final RC deadline)

  1. Process any remaining stable branching exception.

  2. Notify the Technical Committee that it should be safe to applythe Documentation Release process to create the new release serieslanding pages for docs.openstack.org. The process works better ifthey wait until most of the projects have their stable branchescreated, but they can do the work before the final release date toavoid having to synchronize with the release team on that day.

    Note

    This task was originally aimed towards the Documentation team,but that team does not exist anymore. The task can be done byfollowing theUpdatewwwpagesforendofrelease sectionof theDocumentation Contributor Guide.

    See example patches:https://review.opendev.org/q/topic:www-dalmatian-final

    (Further information about Documentation can be seen at theformerTechnical Writing SIG’s page)

  3. On the day before the deadline for final release candidates,propose last-minute RCs where needed:

    • Check the list of unreleased changes for cycle-with-rc projects, byrunning the following command in the releases repo working directory:

      $ ./tools/list_rc_updates.sh
    • Propose patches creating a new RC for those that have unreleasedbugfixes or updated translations. Generate patches by usingprocess_auto_releases.

      Warning

      process_auto_releases will ask you to enter a topic for the patches.Please use$series-final-rc as topic.

    • Patches that get a +1 from PTL or release liaison should be approved.A -1 will mean that the PTL prefers to wait for a post-release stableupdate. Patches that get no feedback by the deadline should be abandoned.

  4. At the end of the week, send weekly email content preparing for R-0 week:

    Development Focus-----------------We will be releasing the coordinated OpenStack $series release next week,on $release-date. Thanks to everyone involved in the $series cycle!We are now in pre-release freeze, so no new deliverable will be createduntil final release, unless a release-critical regression is spotted.Otherwise, teams attending the PTG in $ptg-location should start to planwhat they will be discussing there, by creating and filling team etherpads.You can access the list of PTG etherpads at:http://ptg.openstack.org/etherpads.htmlGeneral Information-------------------On release day, the release team will produce final versions ofdeliverables following the cycle-with-rc release model, by re-taggingthe commit used for the last RC.A patch doing just that will be proposed. PTLs and release liaisons shouldwatch for that final release patch from the release team. While notrequired, we would appreciate having an ack from each team before weapprove it on the 16th, so that their approval is included in the metadatathat goes onto the signed tag.Upcoming Deadlines & Dates--------------------------Final $SERIES release: $release-date$other-upcoming-event
  5. After the email is sent, usepropose-final-releases to tag theexisting most recent release candidates as the final release forprojects using the cycle-with-rc model.

R+0 week (Final Release)

  1. We are in pre-release freeze. Only release-critical regressions, orlegal compliance issues, or bugs making it otherwise impossible to installand use the software on release day, should be considered by the releasemanagement team for a pre-release freeze exception. If approved,release freeze exceptions should trigger the production of a new RC (orcycle-with-intermediary release) and (if needed) a regeneration of thefinal release patch.

  2. On release day freeze all other release activity by holding stable branchreleases while coordinated release is underway.

  3. On Tuesday ask the infra team to prepare and merge the temporary semaphoreremoval patch to speed up the release notes publishing at release day.

  4. Few hours before approving the release patch ensure that all the availablerelease note landing pages are present(example:https://review.opendev.org/c/openstack/releases/+/786374):

    tools/add_release_note_links.sh $SERIES
  5. On release day (around 10:00 UTC), approve the final release patch createdearlier. Before merging the patch ensure that used infras are operational,you can do that by looking athttps://status.python.org/ and by asking toour infra team how is the situation of the openstack infra.

    Note

    This needs to happen several hours before the press releasefrom the foundation (to give us time to handle failures) but nottoo far in advance (to avoid releasing the day before the pressrelease).

  6. Once the final patch is proceesed, run themissing-releases scriptto check for missing tarballs on the release page before the announcement:

    tox -e venv -- missing-releases --series $SERIES

    If there are any missing deliverables, fix them.

    Warning

    process_auto_releases will ask you to enter a topic for the patches.Please use$series-final-missing-deliverables as topic.

  7. Before 13:00 UTC update the doc pages with the series marked as released.(example:https://review.opendev.org/c/openstack/openstack-manuals/+/945319)

    Warning

    The doc pages need approximately 1 hour to refresh, so needs to be donewell in time

  8. Mark series as released on releases.o.o, by updatingdoc/source/$series/index.rst,data\series_status.yaml, andchanging the default series inopenstack_releases/default.py..

    Seehttps://review.opendev.org/#/c/727746 for an example.

    Note

    This item can be staged as a patch on top of the final release patch.

    Thenext-phase date should be set to the first Monday after theperiod declared for the Maintained phase.Seehttps://docs.openstack.org/project-team-guide/stable-branches.html#maintenance-phases

  9. Send release announcement email toopenstack-announce@lists.openstack.org, based ontemplates/final.txt. Coordinate the timing of the email withthe press release from the Foundation staff.

  10. Send an email to the openstack-discuss list to point to the officialrelease announcement from the previous step, and declareopenstack/releases unfrozen for releases on the new series.

updated: 'Fri Feb 20 16:54:26 2026, commit eda2d29b6'
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed underCreative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

Contents


[8]ページ先頭

©2009-2026 Movatter.jp