Difference between revisions of "Dirac Development"

From GridPP Wiki
Jump to: navigation, search
(Dirac in a box (Basic Setup))
(Replaced content with "This page is left empty in protest at not being able to delete it. <hr> [https://www.gridpp.ac.uk/wiki/Dirac Back] to the Dirac overview page.")
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Official Documentation ==
+
This page is left empty in protest at not being able to delete it.
[https://github.com/DIRACGrid/DIRAC/wiki/GitSetup GitSetup] <br>
+
[http://diracgrid.org/files/docs/DeveloperGuide/DevelopmentEnvironment/DeveloperInstallation/index.html DeveloperInstallation] <br>
+
[http://diracgrid.org/files/docs/DeveloperGuide/AddingNewComponents/index.html AddingNewComponents] <br>
+
  
== Dirac in a box (Basic Setup) ==
+
<hr>
* Setup yourself up with a hostcert and a EMI UI, eg by following [https://www.gridpp.ac.uk/wiki/Dirac_on_a_vm_at_cern these] instructions.
+
[https://www.gridpp.ac.uk/wiki/Dirac Back] to the Dirac overview page.
* Open the relevant ports:
+
<pre>
+
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT
+
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9130:9200 -j ACCEPT
+
</pre>
+
* Install git (and emacs ;-).
+
* Make a dirac user, and copy the hostcert/key into .globus
+
* su - dirac
+
* Set git up correctly:
+
<pre>
+
    git config --global user.name "Your Name"
+
    git config --global user.email you@example.com
+
</pre>
+
* You also need the ssh key you use on github
+
* To save you from typos (the script does not deal well with that :-D ) use "ssh-add -t 1h"
+
* wget http://www.hep.ph.ic.ac.uk/~dbauer/dirac/dirac_in_a_box.py
+
* <pre> ./dirac_in_a_box.py /opt/dirac/ git@github.com:ic-hep </pre>
+
* Ignore "Exception _mysql_exceptions.ProgrammingError" errors
+
* [https://www.gridpp.ac.uk/wiki/Testing_a_Dirac_server Test] your server.
+
 
+
== Fixing a bug/adding a feature :-) ==
+
* take ownership of the [https://github.com/ic-hep/DIRAC/issues bug/feature] you want to fix
+
* make a branch: Example: The branch is bug1 and the modified file is ConfigurationSystem/Client/CSCLI.py:
+
<pre>
+
cd /opt/dirac/DIRAC
+
git status (should say "# On branch rel-v6r12")
+
git pull
+
git branch bug1
+
git checkout bug1
+
git status (should say "# On branch bug1")
+
</pre>
+
* now add your code/restart the relevant components and test your code :-)
+
<pre>
+
git add ConfigurationSystem/Client/CSCLI.py
+
git commit -m "CLI to accept ctrl-D"
+
git status
+
</pre>
+
* and push it back to github
+
<pre>
+
git push -u origin bug1
+
</pre>
+
* Now go to the git repo webpage and issue a pull request (ensuring to send the request to our (ic-hep) repo, not the main DIRAC repo - check the defaults !!)
+
*  Finally: Switch back to main branch
+
<pre>
+
git checkout rel-v6r12
+
</pre>
+
and delete the local copy of the bug1  <pre> git branch -d bug1 </pre>
+

Latest revision as of 14:07, 12 June 2024

This page is left empty in protest at not being able to delete it.


Back to the Dirac overview page.