CINXE.COM
[horizon][ptg] 2025.1 Epoxy PTG summary - openstack-discuss - lists.openstack.org
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="ROBOTS" content="INDEX, FOLLOW" /> <title> [horizon][ptg] 2025.1 Epoxy PTG summary - openstack-discuss - lists.openstack.org </title> <meta name="author" content="" /> <meta name="dc.language" content="en" /> <link rel="shortcut icon" href="/static/hyperkitty/img/favicon.ico" /> <link rel="stylesheet" href="/static/hyperkitty/libs/jquery/smoothness/jquery-ui-1.13.1.min.css" type="text/css" media="all" /> <link rel="stylesheet" href="/static/hyperkitty/libs/fonts/font-awesome/css/font-awesome.min.css" type="text/css" media="all" /> <link rel="stylesheet" href="/static/CACHE/css/output.efc3fa1aa8bc.css" type="text/css" media="all"><link rel="stylesheet" href="/static/CACHE/css/output.e68c4908b3de.css" type="text/css"><link rel="stylesheet" href="/static/CACHE/css/output.5d2fb738f7ee.css" type="text/css" media="all"> </head> <body> <nav class="navbar sticky-top navbar-expand-md mb-2" id="navbar-main"> <div class="container-xxl"> <div class="navbar-header"> <!--part of navbar that's always present--> <button type="button" class="navbar-toggler collapsed" data-bs-toggle="collapse" data-bs-target=".navbar-collapse"> <span class="fa fa-bars"></span> </button> <a class="navbar-brand" href="/archives/">lists.openstack.org</a> </div> <!-- /navbar-header --> <div class="d-flex"> <div class="auth dropdown d-md-none"> </div> <a href="/accounts/login/?next=/archives/list/openstack-discuss%40lists.openstack.org/thread/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/" class="nav-link d-md-none"> <span class="fa fa-sign-in"></span> Sign In </a> <a href="/accounts/signup/?next=/archives/list/openstack-discuss%40lists.openstack.org/thread/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/" class="nav-link d-md-none"> <span class="fa fa-user-plus"></span> Sign Up </a> </div> <div class="navbar-collapse collapse justify-content-end"> <!--part of navbar that's collapsed on small screens--> <!-- show dropdown for smaller viewports b/c login name/email may be too long --> <!-- only show this extra button/dropdown if we're in small screen sizes --> <a href="/mailman3/lists/openstack-discuss.lists.openstack.org/" class="nav-link"> <span class="fa fa-cog"></span> Manage this list </a> <a href="/accounts/login/?next=/archives/list/openstack-discuss%40lists.openstack.org/thread/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/" class="nav-link d-none d-md-block"> <span class="fa fa-sign-in"></span> Sign In </a> <a href="/accounts/signup/?next=/archives/list/openstack-discuss%40lists.openstack.org/thread/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/" class="nav-link d-none d-md-block"> <span class="fa fa-user-plus"></span> Sign Up </a> <form name="search" method="get" action="/archives/search" class="navbar-form navbar-right my-2 my-lg-2 ms-2" role="search"> <input type="hidden" name="mlist" value="openstack-discuss@lists.openstack.org" /> <div class="input-group"> <input name="q" type="text" class="form-control rounded-4 search" placeholder="Search this list" aria-label="Search this list" /> <button class="btn search-button" aria-label="Search"><span class="fa fa-search"></span></button> </div> </form> <!-- larger viewports --> <ul class="nav navbar-nav auth d-none d-md-flex"> </ul> </div> <!--/navbar-collapse --> </div><!-- /container for navbar --> </nav> <div class="modal fade" tabindex="-1" role="dialog" id="keyboard-shortcuts"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">Keyboard Shortcuts</h4> </div> <div class="modal-body"> <h3>Thread View</h3> <ul> <li><code>j</code>: Next unread message </li> <li><code>k</code>: Previous unread message </li> <li><code>j a</code>: Jump to all threads <li><code>j l</code>: Jump to MailingList overview </ul> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <div class="container-xxl" role="main"> <div class="row view-thread d-flex"> <!-- thread header: navigation (older/newer), thread title --> <div class="thread-header"> <div class="d-flex"> <div> <a id="next-thread" class="btn btn-secondary btn-sm " title="[cinder] No meeting today (10/30)" href="/archives/list/openstack-discuss@lists.openstack.org/thread/XHLGEEBUDWB7W47RJZVHXSDZAXA73ZYU/"> <span class="fa fa-chevron-left"></span> <span class="d-none d-md-inline">newer</span> </a> <br /> <a href="/archives/list/openstack-discuss@lists.openstack.org/thread/XHLGEEBUDWB7W47RJZVHXSDZAXA73ZYU/" title="[cinder] No meeting today (10/30)" class="thread-titles d-none d-md-block"> [cinder] No meeting today (10/30) </a> </div> <div class="flex-grow-1"> <h3>[horizon][ptg] 2025.1 Epoxy PTG summary</h3> </div> <div class="right"> <a id="prev-thread" class="btn btn-secondary btn-sm " title="GPU PCI passthrough woes." href="/archives/list/openstack-discuss@lists.openstack.org/thread/A32QXJ6DZKA5KFOR3DPMVSP24Z4POAEO/" > <span class="fa fa-chevron-right"></span> <span class="d-none d-md-inline">older</span> </a><br /> <a href="/archives/list/openstack-discuss@lists.openstack.org/thread/A32QXJ6DZKA5KFOR3DPMVSP24Z4POAEO/" title="GPU PCI passthrough woes." class="thread-titles d-none d-md-block"> GPU PCI passthrough woes. </a> </div> </div> </div> </div> <!-- /thread-header --> <div class="row"> <div class="col-sm-12 col-md-9"> <!-- main section, the email thread --> <div id="thread-content"> <!-- Start first email --> <div class="email email-first"> <div id="L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN" class="email-header"> <div class="gravatar-wrapper d-flex"> <div class="gravatar circle"> </div> <div class="email-author d-flex"> <h2 class="name"> <a href="/archives/users/d34448815e1c49b19df0c4f41b8293c0/" title="See the profile for Radomir Dopieralski" >Radomir Dopieralski</a> </h2> </div> </div> <div class="email-date right"> <span class="date d-none d-sm-inline"> 30 Oct 2024 </span> <span class="date d-sm-none"> 30 Oct '24 </span> <div class="time"> <span title="Sender's time: Oct. 30, 2024, 1:14 p.m.">5:14 a.m.</span> </div> </div> </div> <!-- /email-header: gravatar, author-info, date, peramlink, changed_subject --> <div class="email-body "> <p>We had two days of Horizon discussion on the last PTG, first the internal one: <a target="_blank" href="https://etherpad.opendev.org/p/horizon-epoxy-ptg">https://etherpad.opendev.org/p/horizon-epoxy-ptg</a> and then the cross-project sessions with other teams: <a target="_blank" href="https://etherpad.opendev.org/p/horizon-feature-gap">https://etherpad.opendev.org/p/horizon-feature-gap</a> On the first day we looked back at the previous cycle and summarized what was achieved, and what needs further attention. We mentioned the work done for Neutron API migrating it to OpenStackSDK, the improvements of integration and UI tests, and the work done by our Outreachy student. We discussed ways to make Horizon easier to approach for new developers. We also discussed the problems with AngularJS and a plan to remove it from Horizon. On the second day, we met with other project teams and discussed what needs to be done in Horizon to bring it up to speed with the progress made in other projects. We also discussed further work on migrating to OpenStackSDK. After further discussion, we decided to focus in this cycle on the following issues: • New SASS compiler library • Remove AngularJS • Research Unified Limits • Placement API Discussion — follow-up meeting with the Nova team • Use "direct" upload mode by default in the operator configuration • Start migration to OpenStackSDK for Nova • GUI for managing Keystone 2FA • Configuring integration tests for different themes • Better grooming of upstream bugs and easy-to-start issues In addition, if there are new contributors or we have spare time, we consider working on: • Keystone Re-enable user • Refresh Cinder API microversions • Hidden image in Glance • Filtering of images dropdown in rebuild dialog • Show backends in Glance information</p> </div> <div class="attachments"> <p class="attachments">Attachments:</p> <ul class="attachments-list list-unstyled"> <li><a href="/archives/list/openstack-discuss@lists.openstack.org/message/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/attachment/2/attachment.html">attachment.html</a> (text/html — 1.9 KB) </li> </ul> </div> <div class="email-info"> <div class="likeform-wrapper right"> <div class="messagelink pull-right"> <button class="toggle-font btn btn-sm" title="Display in fixed font" data-bs-toggle="tooltip" data-placement="bottom"> <i class="fa fa-font"></i> </button> <a href="/archives/list/openstack-discuss@lists.openstack.org/message/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/" title="Permalink for this message" data-bs-toggle="tooltip" data-placement="bottom"><i class="fa fa-link"></i></a> </div> <form method="post" class="likeform" action="/archives/list/openstack-discuss@lists.openstack.org/message/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/vote"> <input type="hidden" name="csrfmiddlewaretoken" value="xHYd1kdOMaZWFBD9wm79JmRP1kzbJbVxNIkHKG3mrINIX00JiweeyGh9xSwgQFXM"> <a class="youlike vote disabled" title="You must be logged-in to vote." href="#like" data-vote="1" aria-label="Like thread"> <i class="fa fa-thumbs-o-up"></i> 0 </a> <a class="youdislike vote disabled" title="You must be logged-in to vote." href="#dislike" data-vote="-1" aria-label="Dislike thread"> <i class="fa fa-thumbs-o-down"></i> 0 </a> </form> </div> <!-- Reply link --> <a class="reply reply-mailto" title="Reply" href="#"> <i class="fa fa-reply"></i> Reply </a> <!-- Attachments --> <!-- Reply form --> <div class="reply-form-unauthenticated"> <a class="btn btn-sm btn-primary" href="/accounts/login/?next=/archives/list/openstack-discuss%40lists.openstack.org/thread/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/#"> Sign in to reply online </a> <a class="btn btn-sm btn-secondary reply-mailto" href="mailto:openstack-discuss@lists.openstack.org?Subject=Re%3A%20%5Bhorizon%5D%5Bptg%5D%202025.1%20Epoxy%20PTG%20summary&In-Reply-To=<CAF_JR35ZEmYvSDjOESuMxGypdZXZNx5wbaAXHJoQRnZ-vxh-dg%40mail.gmail.com>" >Use email software</a></li> </div> </div> </div> <!-- End first email --> <p class="sort-mode"> <a href="/archives/list/openstack-discuss@lists.openstack.org/thread/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/?sort=date" >Show replies by date</a> </p> <div class="anchor-link"> <a id="replies"></a> </div> <div class="replies"> <img alt="Loading..." class="ajaxloader" src="/static/hyperkitty/img/ajax-loader.gif" /> <noscript> <a href="/archives/list/openstack-discuss@lists.openstack.org/thread/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/?noscript">Visit here for a non-javascript version of this page.</a> </noscript> </div> </div> </div> <div class="col-12 col-md-3"> <div class="anchor-link"> <a id="stats"></a> </div> <!-- right column --> <section id="thread-overview-info"> <!-- Start stats re: dates --> <div id="thread-date-info" class="row"> <div class="col"> <span class="days-num">28</span> <div class="days-text"> Age (days ago) </div> </div> <div class="col"> <span class="days-num">28</span> <div class="days-text"> Last active (days ago) </div> </div> </div> <!-- /Stats re: dates --> <p> <a href="/archives/list/openstack-discuss@lists.openstack.org/" class="btn btn-outline-primary btn-sm"> List overview </a> </p> <a href="/archives/list/openstack-discuss@lists.openstack.org/export/openstack-discuss@lists.openstack.org-L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN.mbox.gz?thread=L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN" title="This thread in gzipped mbox format" class="btn btn-outline-primary"> <i class="fa fa-download"></i> Download</a> <p class="thread-overview-details"> <div> <i class="fa fa-fw fa-comment"></i> 0 comments </div> <div> <i class="fa fa-fw fa-user"></i> 1 participants </div> </p> <form id="fav_form" name="favorite" method="post" class="favorite" action="/archives/list/openstack-discuss@lists.openstack.org/thread/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/favorite"> <input type="hidden" name="csrfmiddlewaretoken" value="xHYd1kdOMaZWFBD9wm79JmRP1kzbJbVxNIkHKG3mrINIX00JiweeyGh9xSwgQFXM"> <input type="hidden" name="action" value="add" /> <p> <a href="#AddFav" class="notsaved disabled" title="You must be logged-in to have favorites."> <i class="fa fa-fw fa-star"></i>Add to favorites</a> <a href="#RmFav" class="saved"> <i class="fa fa-fw fa-star"></i>Remove from favorites</a> </p> </form> <div id="tags"> <h3 id="tag-title">tags </h3> </div> <div id="participants"> <h3 id="participants_title">participants (1)</h3> <ul class="list-unstyled"> <li class="d-flex"> <div class="participant-gravatar circle"></div> <div class="participant-name d-flex align-items-center"> <span>Radomir Dopieralski</span> </div> </li> </ul> </div> </section> </div> </div> </div> <!-- end of content --> </div> <!-- /container for content --> <footer class="footer"> <div class="container"> <p class="text-muted"> <img class="logo" alt="HyperKitty" src="/static/hyperkitty/img/logo.png" /> Powered by <a href="http://hyperkitty.readthedocs.org">HyperKitty</a> version 1.3.12. </p> </div> </footer> <script src="/static/hyperkitty/libs/jquery/jquery-3.6.0.min.js"></script> <script src="/static/hyperkitty/libs/jquery/jquery-ui-1.13.1.min.js"></script> <script src="/static/CACHE/js/output.3aaa7705d68a.js"></script> <script> // Add the .js-enabled class to the body so we can style the elements // depending on whether Javascript is enabled. $(document).ready(function(){ $("body").addClass("js-enabled"); $(".gravatar").addClass("rounded-circle"); }); </script> <script type="text/javascript"> $(document).ready(function() { //enable tooltips for thread buttons $("btn#next-thread").tooltip(); $("btn#prev-thread").tooltip(); setup_category(); setup_tags(); setup_favorites(); // Hide quotes by default in the thread view fold_quotes("div.container-xxl"); // Load the replies update_thread_replies("/archives/list/openstack-discuss@lists.openstack.org/thread/L3QS34FYYY6AVUT46TRVXZAW6GFNKEPN/replies?sort=thread&last_view="); setup_unreadnavbar("#unreadnavbar"); setup_thread_keyboard_shortcuts(); }); </script> </body> </html>