Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 471151

Summary: Migrate RelEng infrastructure to use GEF HIPP (hudson instance per project).
Product: [Tools] GEF Reporter: Alexander Nyßen <nyssen>
Component: RelEngAssignee: gef-inbox <gef-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: cletavernier, mtlais, psuzzi
Version: 0.1.0   
Target Milestone: 3.10.1 (Mars SR1) M2   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 471150    
Bug Blocks:    

Description Alexander Nyßen CLA 2015-06-26 12:15:41 EDT
As generally discussed on our mailing list, we should migrate to use a HIPP for GEF. I created #471150 to request a HIPP instance. We can set-up all build jobs there and migrate the promotion scripts (maybe also promoting to a composite update-site, as requested in bug #471137) before removing the jobs on the shared hudson instance.
Comment 1 Alexander Nyßen CLA 2015-07-03 02:31:01 EDT
HIPP instance has been created and gef jobs have been migrated. Currently, gef4-master is still unstable because of bug #471755.

I still have to update our promotion scripts and will remove the old jobs on the shared Hudson instance. 

We will also have to update our project meta-data as well as the already promoted drop-files (build.cfg) to point to the HIPP.
Comment 2 Alexander Nyßen CLA 2015-07-07 06:55:32 EDT
In addition, the cron jobs to publish integration builds have to be replaced as well (turned into Hudson jobs).
Comment 3 Alexander Nyßen CLA 2015-07-08 06:55:37 EDT
The following things have been done already :
- The gef-master, gef4-master, and gef-maintenance builds have been migrated to http://hudson.eclipse.org/gef. 
- I adjusted our promotion scripts and created respective promotion jobs that invoke them. 
- I replaced the cron jobs on builds.eclipse.org with time triggers for the promote-gef4-master and promote-gef-master jobs. 
- I further updated our meta-data w.r.t to builds and update-sites (the CI update sites refer to hudson). 
- I also adjusted the build.cfg of all non-archived drop files to refer to the new HIPP instance as well and disabled the jobs on the shared instance. 

What remains to be done:
-I will try to setup build promotion directly from the respective gef-master, gef-maintenance, and gef4-master jobs by using the Promoted Builds Plugin.
-I will change the promotion scripts to produce a composite update site.
-After a composite update site is in place, the maintenance build can also be promoted automatically each Friday (up to now, these mix with the master interim builds).
Comment 4 Alexander Nyßen CLA 2015-07-08 10:35:19 EDT
I adjusted the gef4 publish script to create a composite update site and recreated our integration, milestones, and releases sites as composite sites.
Comment 5 Camille Letavernier CLA 2015-07-09 06:49:19 EDT
Hi Alexander,

Our build (Papyrus) refers to http://download.eclipse.org/tools/gef/updates/milestones (Which is also the update site referenced in the Simultaneous Release), and it fails on the following error:

[ERROR] Internal error: java.lang.RuntimeException: Failed to load p2 repository with ID 'gef' from location http://download.eclipse.org/tools/gef/updates/milestones: Unable to read repository at http://download.eclipse.org/tools/gef/updates/milestones. No repository found at http://download.eclipse.org/tools/gef/updates/milestones/features. -> [Help 1]
[...]
Caused by: java.lang.RuntimeException: Failed to load p2 repository with ID 'gef' from location http://download.eclipse.org/tools/gef/updates/milestones
[...]
Caused by: org.eclipse.equinox.p2.core.ProvisionException: Unable to read repository at http://download.eclipse.org/tools/gef/updates/milestones
[...]
Caused by: org.eclipse.equinox.p2.core.ProvisionException: No repository found at http://download.eclipse.org/tools/gef/updates/milestones/features.
[...]

See https://hudson.eclipse.org/papyrus/job/Papyrus-Master/1751/console
Comment 6 Alexander Nyßen CLA 2015-07-09 07:55:11 EDT
(In reply to Camille Letavernier from comment #5)
> Hi Alexander,
> 
> Our build (Papyrus) refers to
> http://download.eclipse.org/tools/gef/updates/milestones (Which is also the
> update site referenced in the Simultaneous Release), and it fails on the
> following error:
> 
> [ERROR] Internal error: java.lang.RuntimeException: Failed to load p2
> repository with ID 'gef' from location
> http://download.eclipse.org/tools/gef/updates/milestones: Unable to read
> repository at http://download.eclipse.org/tools/gef/updates/milestones. No
> repository found at
> http://download.eclipse.org/tools/gef/updates/milestones/features. -> [Help
> 1]
> [...]
> Caused by: java.lang.RuntimeException: Failed to load p2 repository with ID
> 'gef' from location http://download.eclipse.org/tools/gef/updates/milestones
> [...]
> Caused by: org.eclipse.equinox.p2.core.ProvisionException: Unable to read
> repository at http://download.eclipse.org/tools/gef/updates/milestones
> [...]
> Caused by: org.eclipse.equinox.p2.core.ProvisionException: No repository
> found at http://download.eclipse.org/tools/gef/updates/milestones/features.
> [...]
> 
> See https://hudson.eclipse.org/papyrus/job/Papyrus-Master/1751/console

I worked on migrating the milestones update site to a composite site this morning. It should be ok now. Could you please try again?
Comment 7 Camille Letavernier CLA 2015-07-09 08:46:13 EDT
I've started a build a minute ago and it failed with the same error

https://hudson.eclipse.org/papyrus/job/Papyrus-Master/1753/console
Comment 8 Alexander Nyßen CLA 2015-07-09 08:51:03 EDT
Where does the ID "gef" come from, you try to look up? The composite repo I created has the name 'GEF milestones'.
Comment 9 Alexander Nyßen CLA 2015-07-09 09:00:26 EDT
(In reply to Alexander Nyßen from comment #8)
> Where does the ID "gef" come from, you try to look up? The composite repo I
> created has the name 'GEF milestones'.

And, could it be that mirrors are involved (I changed the site and it may not be properly propagated yet)?
Comment 10 Alexander Nyßen CLA 2015-07-09 09:03:48 EDT
(In reply to Alexander Nyßen from comment #9)
> (In reply to Alexander Nyßen from comment #8)
> > Where does the ID "gef" come from, you try to look up? The composite repo I
> > created has the name 'GEF milestones'.
> 
> And, could it be that mirrors are involved (I changed the site and it may
> not be properly propagated yet)?

I identified the problem. The contents of the compositeContent.xml is not valid. I will check it.
Comment 11 Alexander Nyßen CLA 2015-07-09 10:33:02 EDT
(In reply to Alexander Nyßen from comment #10)
> (In reply to Alexander Nyßen from comment #9)
> > (In reply to Alexander Nyßen from comment #8)
> > > Where does the ID "gef" come from, you try to look up? The composite repo I
> > > created has the name 'GEF milestones'.
> > 
> > And, could it be that mirrors are involved (I changed the site and it may
> > not be properly propagated yet)?
> 
> I identified the problem. The contents of the compositeContent.xml is not
> valid. I will check it.

Should be fixed now. Can you give it another try?
Comment 12 Camille Letavernier CLA 2015-07-09 10:34:51 EDT
> Should be fixed now. Can you give it another try?

Yes, it seems to work now (The build went a little bit further and is still running)

Thanks!
Comment 13 Alexander Nyßen CLA 2015-07-10 04:36:09 EDT
I have migrated the gef interim, milestones, and releases sites into composite sites as well. 

Furthermore, I have enabled that GEF4 drop files are promoted now as well (update-site archive). We will have to adjust the downloads web-page to make them visible.

I have also scheduled integration promotions for gef-master, gef-maintenance, and gef4-master now for each Friday.
Comment 14 Alexander Nyßen CLA 2015-07-10 09:45:35 EDT
The promotion plugin seems to be too limited for our cases, so I will not set up a respective configuration. 

Everything else is now in place. All jobs run successfully, the promotion jobs are also functional, and all update sites are converted to composite sites. The project-meta-data has been updated, included the changed CI update sites. Furthermore, weekly integration build promotions are scheduled for gef-master, gef-maintenance, and gef4-master. The old jobs on the shared instance are disabled.
Comment 15 Mazen Tlais CLA 2015-07-15 06:23:05 EDT
Hello Alexandre,

I have a similar problem while building my eclipse project using maven.

I wonder if the site is up to date.



[ERROR] Internal error: java.lang.RuntimeException: Failed to load p2 repository with ID 'GEF' from location http://download.eclipse.org/tools/gef/updates/releases/: Unable to read repository at http://download.eclipse.org/tools/gef/updates/releases. No repository found at http://download.eclipse.org/tools/gef/updates/releases/3.4.0. -> [Help 1]


org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: Failed to load p2 repository with ID 'GEF' from location http://download.eclipse.org/tools/gef/updates/releases/


Thank you
Comment 16 Alexander Nyßen CLA 2015-07-15 09:22:30 EDT
> [ERROR] Internal error: java.lang.RuntimeException: Failed to load p2
> repository with ID 'GEF' from location
> http://download.eclipse.org/tools/gef/updates/releases/: Unable to read
> repository at http://download.eclipse.org/tools/gef/updates/releases. No
> repository found at
> http://download.eclipse.org/tools/gef/updates/releases/3.4.0. -> [Help 1]
> 
> 
> org.apache.maven.InternalErrorException: Internal error:
> java.lang.RuntimeException: Failed to load p2 repository with ID 'GEF' from
> location http://download.eclipse.org/tools/gef/updates/releases/


I can browse the repository with p2 browser and eclipse install UI without problems. However, the 3.4.0, 3.4.1, and 3.4.2 update-sites, nested within the composite site, are still "old-/pre-p2-style" repositories. Maybe this causes problems.
Comment 17 Alexander Nyßen CLA 2015-07-15 09:27:52 EDT
(In reply to Alexander Nyßen from comment #16)
> > [ERROR] Internal error: java.lang.RuntimeException: Failed to load p2
> > repository with ID 'GEF' from location
> > http://download.eclipse.org/tools/gef/updates/releases/: Unable to read
> > repository at http://download.eclipse.org/tools/gef/updates/releases. No
> > repository found at
> > http://download.eclipse.org/tools/gef/updates/releases/3.4.0. -> [Help 1]
> > 
> > 
> > org.apache.maven.InternalErrorException: Internal error:
> > java.lang.RuntimeException: Failed to load p2 repository with ID 'GEF' from
> > location http://download.eclipse.org/tools/gef/updates/releases/
> 
> 
> I can browse the repository with p2 browser and eclipse install UI without
> problems. However, the 3.4.0, 3.4.1, and 3.4.2 update-sites, nested within
> the composite site, are still "old-/pre-p2-style" repositories. Maybe this
> causes problems.

It could also be a caching problem.
Comment 18 Mazen Tlais CLA 2015-07-15 10:57:38 EDT
(In reply to Alexander Nyßen from comment #17)
> (In reply to Alexander Nyßen from comment #16)
> > > [ERROR] Internal error: java.lang.RuntimeException: Failed to load p2
> > > repository with ID 'GEF' from location
> > > http://download.eclipse.org/tools/gef/updates/releases/: Unable to read
> > > repository at http://download.eclipse.org/tools/gef/updates/releases. No
> > > repository found at
> > > http://download.eclipse.org/tools/gef/updates/releases/3.4.0. -> [Help 1]
> > > 
> > > 
> > > org.apache.maven.InternalErrorException: Internal error:
> > > java.lang.RuntimeException: Failed to load p2 repository with ID 'GEF' from
> > > location http://download.eclipse.org/tools/gef/updates/releases/
> > 
> > 
> > I can browse the repository with p2 browser and eclipse install UI without
> > problems. However, the 3.4.0, 3.4.1, and 3.4.2 update-sites, nested within
> > the composite site, are still "old-/pre-p2-style" repositories. Maybe this
> > causes problems.
> 
> It could also be a caching problem.


when I browse the following link: 
http://download.eclipse.org/tools/gef/updates/releases/3.4.0/


It shows the following:

<site><description url="http://download.eclipse.org/tools/gef/updates/releases/site.xml">
	To install these plugins, point Eclipse at this site. 
	</description>
...


BUT, when I open the site.xml URL, it can not be found.
http://download.eclipse.org/tools/gef/updates/releases/site.xml not found


by the way, I noticed that another site.xml exists and available by replacing "updates" by "update-site" inside the URL: http://download.eclipse.org/tools/gef/update-site/releases/site.xml.

Maybe the URL must be replaced ?
Comment 19 Alexander Nyßen CLA 2015-07-15 11:03:38 EDT
> when I browse the following link: 
> http://download.eclipse.org/tools/gef/updates/releases/3.4.0/
> 
> 
> It shows the following:
> 
> <site><description
> url="http://download.eclipse.org/tools/gef/updates/releases/site.xml">
> 	To install these plugins, point Eclipse at this site. 
> 	</description>
> ...
> 
> 
> BUT, when I open the site.xml URL, it can not be found.
> http://download.eclipse.org/tools/gef/updates/releases/site.xml not found
> 
> 
> by the way, I noticed that another site.xml exists and available by
> replacing "updates" by "update-site" inside the URL:
> http://download.eclipse.org/tools/gef/update-site/releases/site.xml.
> 
> Maybe the URL must be replaced ?

/tools/gef/update-site was the old update-site url we published to before 3.8.0. Is is still in place (but should actually be removed). Before I migrated to the composite site, I had a single integrated site into which I had merged all those sites that are nested below the composite site (so they were converted to the new p2 format). When creating the composite site now, I started from the individual update sites. 

The best solution will be to convert the old update-sites to p2 format, so the new composite site is fully p2 compliant. I will take care of it.
Comment 20 Alexander Nyßen CLA 2015-07-15 12:32:00 EDT
I converted the 3.4.0, 3.4.1, and 3.4.2 sites into new-style p2 repositories. Please give it another try.
Comment 21 Mazen Tlais CLA 2015-07-15 12:45:24 EDT
(In reply to Alexander Nyßen from comment #20)
> I converted the 3.4.0, 3.4.1, and 3.4.2 sites into new-style p2
> repositories. Please give it another try.

I have now a new Error:

[INFO] Fetching p2.index from http://download.eclipse.org/tools/gef/updates/releases/ (0B at 0B/s)
[INFO] 1 operation remaining.
[INFO] Fetching p2.index from http://download.eclipse.org/tools/gef/updates/releases/ (130B at 0B/s)
[INFO] Adding repository http://download.eclipse.org/tools/gef/updates/releases
[INFO] Fetching content.jar from http://download.eclipse.org/tools/gef/updates/releases/3.4.0/ (0B of 7.41kB at 0B/s)
[INFO] 1 operation remaining.
[INFO] Fetching content.jar from http://download.eclipse.org/tools/gef/updates/releases/3.4.0/ (2.44kB of 7.41kB at 0B/s)

[ERROR] Partial IU: org.eclipse.gef.source
[ERROR] Partial IU: org.eclipse.gef.examples.ui.pde
[ERROR] Partial IU: org.eclipse.gef.examples.flow
[ERROR] Partial IU: org.eclipse.gef.doc.isv
[ERROR] Partial IU: org.eclipse.gef.examples.text
[ERROR] Partial IU: org.eclipse.zest.core
[ERROR] Partial IU: org.eclipse.zest.source
[ERROR] Partial IU: org.eclipse.gef.examples.source
[ERROR] Partial IU: org.eclipse.zest.layouts
[ERROR] Partial IU: org.eclipse.gef.examples.shapes
[ERROR] Partial IU: org.eclipse.draw2d.doc.isv
[ERROR] Partial IU: org.eclipse.draw2d
[ERROR] Partial IU: org.eclipse.draw2d.source
[ERROR] Partial IU: org.eclipse.gef.examples.logic
[ERROR] Partial IU: org.eclipse.gef
[ERROR] Internal error: java.lang.RuntimeException: Failed to load p2 repository with ID 'GEF' from location http://download.eclipse.org/tools/gef/updates/releases/: Unable to read repository at http://download.eclipse.org/tools/gef/updates/releases. The p2 repository at http://download.eclipse.org/tools/gef/updates/releases/3.4.0 contains partial IUs (see above) from an old style update site which cannot be used for dependency resolution -> [Help 1]
Comment 22 Alexander Nyßen CLA 2015-07-15 14:07:18 EDT
OK. I recreated them using p2.mirror. Now I have used tycho to actually convert the sites. Can you give it another try?
Comment 23 Alexander Nyßen CLA 2015-07-15 14:42:21 EDT
I now further converted 3.5.0, 3.5.1, and 3.5.2, and ensured they are added to the GEF category. 3.6.0 through 3.7.2 are still on my list...
Comment 24 Alexander Nyßen CLA 2015-07-15 15:26:54 EDT
I now also re-created 3.6.0, 3.6.1, 3.6.2, 3.7.0, 3.7.1, and 3.7.2 by means of tycho and adjusted the category. The site should now be clean.
Comment 25 Mazen Tlais CLA 2015-07-16 08:54:33 EDT
(In reply to Alexander Nyßen from comment #24)
> I now also re-created 3.6.0, 3.6.1, 3.6.2, 3.7.0, 3.7.1, and 3.7.2 by means
> of tycho and adjusted the category. The site should now be clean.

Yes indeed, it works now for GEF. Thank you.

I have the same problems with webtools, maybe thay migrate also.
Comment 26 Alexander Nyßen CLA 2015-07-16 15:03:06 EDT
Ok, as the jobs on the shared instance have been removed and everything seems to be appropriate now, resolving this as fixed.