Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Difference between revisions of "GOCDB/Release4/Development"

From EGIWiki
Jump to navigation Jump to search
(Replaced content with "{{Template:Op menubar}} {{Template:GOCDB_menubar}} This page has moved to GOCDB/Roadmap")
 
(89 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<< Back to [[GOCDB/Documentation_Index]] <br/>
{{Template:Op menubar}}
{{Template:GOCDB_menubar}}


==Recent Completed Developments==
This page has moved to [[GOCDB/Roadmap]]
* GOCDB-4.2 Released - 25 November 2011 https://www.sysadmin.hep.ac.uk/svn/grid-monitoring/tags/gocdb/GOCDB-4.2/gocdb/changeLog.txt
** Scoping of sites and service endpoints https://rt.egi.eu/rt/Ticket/Display.html?id=2789 Sites and SEs marked as being part of the EGI grid will be exposed to the central operational tools while Local entities are not considered part of the EGI infrastructure.
* GOCDB-4.1 Release - 01 November 2011 https://www.sysadmin.hep.ac.uk/svn/grid-monitoring/tags/gocdb/GOCDB-4.1/gocdb/changeLog.txt
** Refactored PROM db API. The underlying database code has been refactored considerably for greater flexibility and stability. All changes to the database are now atomic facilitating transaction demarcation in higher level business routines. Database interactions are now performed through a database agnostic API interface.
*** (Before v4.1, the GOCDB PROM API did not allow transaction demarcation in high level business operations, such as inserting a site and adding new SE because explicit commits and rollbacks were declared in low-level PLSQL functions including fnNewLink(), fnUpdateObject(), fnDeleteObject(), fnDeleteLink(). Consequently, any business operation that invoked these functions multiple times in a single processing unit was not atomic, and gocdb 4.0 could leave the db in an inconsistent state if an error occurred since full rollback was not possible (e.g. on site creation Savannah 74860). This almost certainly accounted for a number of previously reported data inconsistencies. Refactoring the database logic was therefore high priority and is a regionalisation pre-requisite; either <i>all</i> or <i>none</i> of the data should be committed to the central gocdb when publishing from regional to central).
** Refactored much of the code base initially (inc. MVC) to support scoping but also to provide more flexibility long term (using a flexible controller per page architecture with view templates). This will make future change requests easier to fulfill and gives us more flexibility to make user interface improvements.
*** (Before v4.1, GOCDB used a generic module for drawing all forms and GUI components such as tables. This module defined a single code path which was too rigid, making it difficult to deal with form/table requirements on a per-page basis).
** New View Site page (to support scoping and to address user issues with the current View Site page) https://rt.egi.eu/guest/Ticket/Display.html?id=974
** New View Service Endpoint page
** Added current UTC time to New Downtime page https://rt.egi.eu/guest/Ticket/Display.html?id=1210
** Added context sensitive page titles https://rt.egi.eu/rt/Ticket/Display.html?id=1109
** Added "All" button to table view https://rt.egi.eu/guest/Ticket/Display.html?id=974
* Refactored database code to be atomic (required to implement scoping) - Oct 2011 (release into production end Oct/start-Nov) https://rt.egi.eu/rt/Ticket/Display.html?id=943 (details below)
* New Downtime interface much improved, moved to single page + can now select all endpoints under one site - September 2011
* Moved Site, User and Endpoint manipulation to new MVC architecture ready to support scoping - July 2011 https://rt.egi.eu/rt/Ticket/Display.html?id=943
* Fixed a few long term bugs with adding and editing sites and users - July 2011
* Increased front end responsiveness - July 2011
* Cleaned old roles - June 2011 https://rt.egi.eu/rt/Ticket/Display.html?id=931
* Added a URL field to service endpoint objects to support UNICORE services - May 2011 https://rt.egi.eu/rt/Ticket/Display.html?id=975 (note, even though a single URL field is displayed per Endpoint, a new Gocdb_Endpoint_Location entity was created in order to link multiple service endpoint locations per SE if this becomes a future requirement - see [[Media:GocdbGlue2UnicoreV2.pdf]]).
* Add a "my site" link in the main menu - May 2011 https://rt.egi.eu/rt/Ticket/Display.html?id=1091 (note, this uses the new controller-per page with templates design as summarized below).
* Record Certification Status History - May 2011 https://rt.egi.eu/rt/Ticket/Display.html?id=939
* Allow authorised operators to suspend sites at central level - March 2011 https://rt.egi.eu/rt/Ticket/Display.html?id=1094
* Show when a site entered the current production status - March 2011 https://wiki.egi.eu/wiki/GOCDB/PI/get_cert_status_date
* Consolidated Wiki and all documentation.
 
==Current Developments==
The developments we are currently working on are listed below. They come from the agreed development list, as defined by the Operational Tools Advisory Group (OTAG) who filters and prioritizes user requests.<br/>
(related: [[https://rt.egi.eu/rt/Search/Results.html?Format=%27%20%20%20%3Cb%3E%3Ca%20href%3D%22__WebPath__%2FTicket%2FDisplay.html%3Fid%3D__id__%22%3E__id__%3C%2Fa%3E%3C%2Fb%3E%2FTITLE%3A%23%27%2C%0A%27%3Cb%3E%3Ca%20href%3D%22__WebPath__%2FTicket%2FDisplay.html%3Fid%3D__id__%22%3E__Subject__%3C%2Fa%3E%3C%2Fb%3E%2FTITLE%3ASubject%27%2C%0A%27__Status__%27%2C%0A%27__QueueName__%27%2C%0A%27__OwnerName__%27%2C%0A%27__Priority__%27%2C%0A%27__NEWLINE__%27%2C%0A%27%27%2C%0A%27%3Csmall%3E__Requestors__%3C%2Fsmall%3E%27%2C%0A%27%3Csmall%3E__CreatedRelative__%3C%2Fsmall%3E%27%2C%0A%27%3Csmall%3E__ToldRelative__%3C%2Fsmall%3E%27%2C%0A%27%3Csmall%3E__LastUpdatedRelative__%3C%2Fsmall%3E%27%2C%0A%27%3Csmall%3E__TimeLeft__%3C%2Fsmall%3E%27&Order=ASC|ASC|ASC|ASC&OrderBy=id|||&Query=Queue%20%3D%20%27requirements%27%20AND%20%28%20%20Status%20%3D%20%27new%27%20OR%20Status%20%3D%20%27open%27%20OR%20Status%20%3D%20%27accepted%27%20OR%20Status%20%3D%20%27developed%27%20OR%20Status%20%3D%20%27stalled%27%20OR%20Status%20%3D%20%27feedback%27%20%29%20AND%20%27CF.{Category%20%28level%202%29}%27%20LIKE%20%27GOCDB%20%28Operational%20Tools%29%27%20AND%20Queue%20%3D%20%27requirements%27%20AND%20%27CF.{Category%20%28level%201%29}%27%20LIKE%20%27Operational%20Tools%27&RowsPerPage=50&SavedChartSearchId=new&SavedSearchId=RT%3A%3AUser-3851-SavedSearch-1174 GOCDB development items is available in the EGI RT ticket tracker]])
 
<!--
===The object cardinality logic needs to be refactored===
to fix known issues, particularly Domain, Production-Status and Service-Endpoint objects.
-->
 
<!--
===Data Scoping in the Central GOCDB===
Expected approx end Nov. The following tasks need to be completed to introduce scoping to the central GOCDB instance. "DONE" means completed in our current development version of GOCDB and not necessarily put into production.
 
* Enable database level tagging to allow scoping of data - <b>DONE</b>
* Modify PI queries to be scope aware (e.g. get_downtime?scope=Regional) - <b>DONE</b>
* Atomic database access - <b>IN PROGRESS</b>
* Add scoping capability to the web portal - <b>IN PROGRESS</b>
** This is being achieved through MVC implementation of inserting / editing objects
*** Add / Edit Service Endpoint - <b>DONE</b>
*** Add / Edit Site - <b>DONE</b>
*** Add / Edit Downtime  - <b>DONE</b>
*** Add / Edit User - <b>DONE</b>
*** Add / Edit Role - <b>IN PROGRESS</b>
* Remove old Non-MVC code - <b>IN PROGRESS</b>
* Remove old XML Input code
* Indicate what scope data has in the web portal
** When viewing an individual object
** When viewing a table of objects
* Add scope specific web portal views
** View Local Sites
** View EGI Sites
** Scope Specific Search
-->
===The GOCDB role/permissions model will be updated===
in order to cater for a finer grained permissions currently emerging as a new EGI requirement. More information available here: [[GOCDB/Release4/Development/NewRoles]]
 
===Establish a central GOCDB readonly failover===
A central GOCDB webportal failover will be installed at Fraunhofer ITWM. A DNS switch for the 'goc.egi.eu' domain between the production server and the failover server is in place. Once installed, the failover will be readonly in order to prevent data-synchronization problems. 
 
===Explicitly indicate if all SEs of a site are in downtime through the PI===
 
===Support for Virtual Site Entities (VSite)===
There is a requirement to group existing Service Endpoints (currently grouped under their corresponding 'owning' physical Site) under a new 'Virtual Site' entity, see: [[GOCDB/Release4/Development/VSites]]
 
===Redevelop the xml_output module to implement nested XML collections [not confirmed]===
probably using the Query2XML package. This is necessary because the existing XML Output module will only generate flat XML documents (e.g. that often map to individual DB entities). Currently SQL joins/associations between Sites, SEs and URLs cannot be represented as hierarchical/nested XML documents (for example, consider nesting multiple EndpointLocation objects and URLs within a single ServiceEndpoint element, see: [[Media:GocdbGlue2UnicoreV2.pdf]]). It is likely that this is a requirement for regionalisation to implement the proposed XML 'synch' docs described at: https://wiki.egi.eu/wiki/GOCDB/Release4/Regionalisation/Data_Transfer_Format
 
 
Regionalisation related developments are given in their own page: [[GOCDB/Release4/Regionalisation]]<br />
Feedback received on the new system is given at: [[GOCDB/Release4/Feedback]]
 
== Development Roadmap ==
* v4.1 Released 01 Nov 2011 https://www.sysadmin.hep.ac.uk/svn/grid-monitoring/tags/gocdb/GOCDB-4.1/gocdb/changeLog.txt
* v4.2 Released 25 Nov 2011 (includes Scoping) https://www.sysadmin.hep.ac.uk/svn/grid-monitoring/tags/gocdb/GOCDB-4.2/gocdb/changeLog.txt
* Central GOCDB failover in place, end Dec 2011.
* v4.3 Finer grained roles/permissions, Jan 2012
* v4.4 Virtual Sites (VSites), ~March 2012
* [Not confirmed] Replace current XML output module to cater for nested XML collections
* [Not confirmed] Generating valid GLUE2 XML document from GOCDB data, see: [[GOCDB/Release4/Development/GLUE2Compatibility]].
* [Not confirmed] Support for VOs (maybe query SEs by supported VO)
* A re-prioritization exercise will then determine the next major developments.
 
 
 
<!--
{|{{egi-table}}
! development item !! Estimated release !! Estimated date
|-
| Provide a production quality package for GOCDB regional module || 4.0d7 || Oct 2010
|-
| Improvement of GOCDB failover system and backend replication || 4.0.1 || May 2011
|-
| New service endpoint URL associations for new service types (see above) || ? || April/June 2011
|- 
| Re-develop GUI Logic (see above) || ? || Sept 2011 (EGI-Y2)
|-
| Update/refactor role model for finer grained permissions (see above) || ? || EGI-Y2
|-
| Data scoping by tagging GOCDB entities (see above) || ? || EGI-Y2
|-
| Regionalisation [[GOCDB/Release4/Regionalisation]] || ? || EGI-Y2/3
|-
| Work on GOCDB and Operations Portal common front end || ? || EGI-Y2
|-
| GOCDB interface to the dynamic information system (BDII/GluE) || ? || EGI-Y3
|}
-->
 
<!--
| Consolidation and polishing of the web admin interface for GOCDB regional module || 4.0.2 || Mar 2011
|-
| Provide a SOAP interface to GOCDB in parallel to GOCDBPI || 4.0.2 || Mar 2011
|-
| Provide a MySQL version of the GOCDB regional module || 4.1 || May 2011
|-
| GOCDB interface to MyEGEE framework or equivalent || ? || EGI-Y2
|-
-->

Latest revision as of 10:04, 2 April 2015