| |
| META TOPICPARENT |
name="ACSTrainingCourse" |
Group Exercises
|
| |
General Setup
Course virtual machine |
|
< < | To run the SL5 vmware virtual machine SL5 (32 bits) containing the ACS release 2014.2 you'll need the latest version of vmware player (linux, windows), vmware workstation (linux, windows) or vmware fusion (mac). To reduce the load on the host machine, each machine is running at user level 3 (no graphical environment). Your host environment should be able to |
> > | To run the SL5 vmware virtual machine SL5 (32 bits) containing the ACS release 2014.2 you'll need the latest version of vmware player (linux, windows), vmware workstation (linux, windows) or vmware fusion (mac). To reduce the load on the host machine, each machine is running at user level 3 (no graphical environment). Your host environment should be able to open xterms and ssh connections to the guest OS. |
| | Network
The network is configured to assign a fix IP address to each virtual machine. The course virtual machines will be named: |
| | Group Exercise #1: Setting up an ACS work environment
Before you begin
- Check that your machine is booting correctly and getting a fix IP address
|
|
< < |
- Check that almamgr account exits and that you can login to it
- Check that the /alma/ACS-2014.2/ directory exists and is populated
|
> > |
- Check that
almamgr account exits and that you can login to it
- Check that the
/alma/ACS-2014.2/ directory exists and is populated
|
| |
- Check that your development account is using a bash shell
|
|
< < |
-
- Simply run echo $SHELL and check that the output reads /bin/bash
|
> > |
-
- Simply run
echo $SHELL and check that the output reads /bin/bash
|
| | Setting up the ACS environment variables |
|
< < |
- Create a .acs directory
- run cp -r /alma/ACS-2014.2/ACSSW/config/.acs $HOME
|
> > |
- Create a
.acs directory
-
run cp -r /alma/ACS-2014.2/ACSSW/config/.acs $HOME
|
| |
- Source the ACS bash profile
|
|
< < |
-
- add the following lines to your $HOME/.bashrc file
|
> > |
-
- add the following lines to your
$HOME/.bashrc file
|
| |
export INTROOT=$HOME/introot
source .acs/.bash_profile.acs |
| | user>
Starting/stopping ACS services and running the tools |
|
< < |
- Start the ACS Command Center typing acscommandcenter at the command line
- Start ACS services and manager pressing the start button on the GUI. Alternatively, type acsStart at the command line
|
> > |
- Start the ACS Command Center typing
acscommandcenter at the command line
- Start ACS services and manager pressing the start button on the GUI. Alternatively, type
acsStart at the command line
|
| |
- Start containers. ACS default demo containers are named:
- bilboContainer (C++)
- frodoContainer (Java)
|
| | acsStartContainer -
acsStopContainer
|
|
< < |
- Start the tools from the Tools menu. Object Explorer and Logging Client in particular. Alternatively you can start the tools from the command line with the following commands:
objexp
jlog
|
> > |
- Start the tools from the Tools menu. Object Explorer and Logging Client in particular. Alternatively you can start the tools from the command line with the following commands:
objexp, jlog
|
| |
- Activate and deactivate ACS components from the object explorer
- Stop ACS and all running containers by pressing the stop button on the GUI or using the command
line: acsStop
Group Exercise #2: Setting up a development environment
Setting up the your local git repository
Git is used as the source code repository. Below are the elementary working commands. A more complete git commands reference is here. Before you start you need to define your git user name (same as development account) and e-mail: |
|
< < |
- git-config --global user.name $USER
- git-config --global user.email $USER@$HOSTNAME
|
> > |
-
git-config --global user.name $USER
-
git-config --global user.email $USER@$HOSTNAME
|
| | Cloning the course repository
There is a central git repository at the integration server. You will clone that repository and do all further changes locally by issuing: |
|
< < |
- git clone ssh://integration/opt/git/los.git
|
> > |
-
git clone ssh://integration/opt/git/los.git
|
| | Pulling from the repository to get updates
You can get the latests updates for your local repository from the central server: |
|
< < | |
> > | |
| | Pushing to the repository to provide your updates
To commit changes to your local repository: |
|
< < |
- git add [changed files]
- git commit
|
> > |
-
git add [changed files]
-
git commit
|
| | And to push your changes back to the central server (and make them available to others): |
|
< < | |
> > | |
| | If you are not sure you can always check the change status:
Setting up your INTROOT area |
| | Setting up your your first software module
Documentation about tools and module structure: ALMA Software Development Tools and Integration Procedures.
Create a new module using the getTemplate command: |
|
< < |
- cd ~/
- getTemplate -> directoryStructure -> create WS_MODROOT area ->
|
> > |
-
cd ~/
-
getTemplate -> directoryStructure -> create WS_MODROOT area ->
|
| | Inside the ICD module, run make all to compile the IDL files and generate all stubs and skeletons. |
|
< < |
- cd ~//ICD/src; make clean all install
- cd ˜///src; make clean all install
|
> > |
-
cd ~//ICD/src; make clean all install
- =cd ˜///src; make clean all install =
|
| |
Group Exercise #N: LOS Development |
|
> > | Assignments |
| | The suggested development teams composition is: |
|
< < | Database
Scheduler
Instrument
Telescope
Integration |
> > |
- Database (C++):
- Scheduler (C++):
- Instrument (C++):
- Telescope (C++):
- Integration: Jorge, Tomás
|
| | First Day
Second Day
Group Exercise #N: LOS Integration |