You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Background

This page documents the installation proceedure at SLAC.

Unix accounts

No log in. No password.

[yee@terapaths home]$ sudo /usr/sbin/luseradd terapaths -u 30000 -g terapaths

Java

From: here

[yee@terapaths installation]$ sudo mkdir /usr/java
Password:
[yee@terapaths installation]$ sudo mv jdk1.5.0_13/ /usr/java/

SJSAS

From here

[terapaths@terapaths installation]$ sh sjsas_pe-8_2-linux.bin 
sjsas_pe-8_2-linux.bin: sjsas_pe-8_2-linux.bin: cannot execute binary file
[terapaths@terapaths installation]$ chmod ugo+x sjsas_pe-8_2-linux.bin 
The Sun Java System Application Server Platform Edition components will be
installed in the following directory, which is referred to as the "Installation
Directory".To use this directory, press only the Enter key. To use a different
directory, type in the full path of the directory to use followed by pressing
the Enter key.

   Installation Directory [/home/terapaths/SUNWappserver] {"<" goes back, "!"
   exits}: 

The directory "/home/terapaths/SUNWappserver" does not exist.



Do you want to create it now or choose another directory?

1. Create Directory
2. Choose New

   Enter the number corresponding to your choice  [1] {"<" goes back, "!"
   exits} 1
The Sun Java System Application Server requires a Java 2 SDK.
   Please provide the path to a Java 2 SDK 1.4.1 or greater.
   Recommended version is 1.4.2 or greater. [/usr/java/jdk1.5.0_13] {"<" goes
   back, "!" exits} 
Supply the administrator user's password and override any of the other initial
configuration settings as necessary.
   Administrator User [admin] {"<" goes back, "!" exits}: 
   Administrator User's Password (8 chars minimum):
   Re-enter Password:
   Do you want to store administrator user name and password in user preference
   file [yes] {"<" goes back, "!" exits}? yes
   Administration Port [4848] {"<" goes back, "!" exits}: 53470
   HTTP Port [8080] {"<" goes back, "!" exits}: 40860
   HTTPS Port [8181] {"<" goes back, "!" exits}: 48580

Please choose installation options.

   Do you want to upgrade from previous Application Server version [no] {"<"
   goes back, "!" exits}? 

Installation Successful.

Next Steps:

    1. Access the About Application Server PE 8 welcome page at:
       file:///home/terapaths/SUNWappserver/docs/about.html

    2. Start the Application Server by executing:
       /home/terapaths/SUNWappserver/bin/asadmin start-domain domain1

    3. Start the Admin Console:
       http://localhost:53470

Append to configuration file

/home/terapaths/SUNWappserver/domains/domain1/config/server.policy
// TeraPaths-specific permissions

// Permission to NetworkDeviceController to create ClassLoaders for hardware drivers

grant codeBase "file:${com.sun.aas.instanceRoot}/generated/ejb/j2ee-modules/terapathsNetworkDeviceControllers/-" {
permission java.lang.RuntimePermission "createClassLoader";
};

grant codeBase "file:${com.sun.aas.instanceRoot}/applications/j2ee-modules/terapathsNetworkDeviceControllers/-" {
permission java.lang.RuntimePermission "createClassLoader";
};

// Permissions needed by WAN proxy server(s)

grant codeBase "file:${com.sun.aas.instanceRoot}/generated/ejb/j2ee-modules/terapathsESnetOSCARSProxy/-" {
permission java.security.AllPermission;
permission java.lang.RuntimePermission "getClassLoader";
permission java.lang.RuntimePermission "createClassLoader";
permission java.net.SocketPermission "*", "connect,accept,resolve";
permission java.io.FilePermission "<>", "read,write,delete";
};

grant codeBase "file:${com.sun.aas.instanceRoot}/applications/j2ee-modules/terapathsESnetOSCARSProxy/-" {
permission java.security.AllPermission;
permission java.lang.RuntimePermission "getClassLoader";
permission java.lang.RuntimePermission "createClassLoader";
permission java.net.SocketPermission "*", "connect,accept,resolve";
permission java.io.FilePermission "<>", "read,write,delete";
};

Change jvm settings, place within <java-config/> tag at end.

/home/terapaths/SUNWappserver/domains/domain1/config/domain.xml
<!-- this is to prevent the java.lang.OutOfMemoryError: PermGen space during deployment-->
<jvm-options>-XX:MaxPermSize=256m</jvm-options>
<!-- -->
<!-- additional jvm options to fix file descriptor leak due to sockets not being closed (bug#:6321777)  -->
<jvm-options>-server</jvm-options>
<jvm-options>-Dcom.sun.enterprise.web.connector.grizzly.useKeepAliveAlgorithm=true</jvm-options>
<jvm-options>-Dcom.sun.enterprise.web.connector.grizzly.socketSoTimeout=30000</jvm-options>
<jvm-options>-Dcom.sun.enterprise.web.connector.grizzly.maxKeepAliveRequests=250</jvm-options>
<jvm-options>-Dcom.sun.enterprise.server.ss.ASQuickStartup=false</jvm-options>
<!-- end of additional jvm options -->

MySQL

download server client libs

[root@terapaths installation]# rpm -Uhv MySQL-*
error: Failed dependencies:
	MySQL conflicts with mysql-4.1.20-2.RHEL4.1.0.1.i386
[root@terapaths installation]# rpm -e mysql-4.1.20 
error: Failed dependencies:
	libmysqlclient.so.14 is needed by (installed) cyrus-sasl-sql-2.1.19-14.i386
	libmysqlclient.so.14(libmysqlclient_14) is needed by (installed) cyrus-sasl-sql-2.1.19-14.i386
[root@terapaths installation]# rpm -Uhv MySQL-server-community-5.0.45-0.rhel4.x86_64.rpm 
error: Failed dependencies:
	MySQL conflicts with mysql-4.1.20-2.RHEL4.1.0.1.i386
[root@terapaths installation]# rpm -e mysql-4.1.20 
error: Failed dependencies:
	libmysqlclient.so.14 is needed by (installed) cyrus-sasl-sql-2.1.19-14.i386
	libmysqlclient.so.14(libmysqlclient_14) is needed by (installed) cyrus-sasl-sql-2.1.19-14.i386
[root@terapaths installation]# rpm -e cyrus-sasl-sql-2.1.19
[root@terapaths installation]# rpm -e mysql-4.1.20 

Change users

[root@terapaths installation]# mysql 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.45-community MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select User,Host from mysql.user
    -> ;
+------+-----------+
| User | Host      |
+------+-----------+
| root | 127.0.0.1 | 
| root | localhost | 
| root | terapaths | 
+------+-----------+
3 rows in set (0.01 sec)
mysql> create database terapaths;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON terapaths.* TO 'terapaths'@'localhost' IDENTIFIED BY '********';
Query OK, 0 rows affected (0.00 sec)

mysql> select User,Host from mysql.user
    -> ;
+-----------+-----------+
| User      | Host      |
+-----------+-----------+
| root      | 127.0.0.1 | 
| root      | localhost | 
| terapaths | localhost | 
| root      | terapaths | 
+-----------+-----------+
4 rows in set (0.00 sec)

mysql> 

Database creation

Create the terapaths MySQL database by running terapaths-create-1.2.0.sql.

[terapaths@terapaths dist]$ pwd
/home/terapaths/installation/dist
[terapaths@terapaths dist]$ mysql -u terapaths -D terapaths -p < terapaths-create-1.2.0.sql 
Enter password: 
[terapaths@terapaths ~]$ mysql -u terapaths -p -D terapaths
Enter password: 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.0.45-community MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show tables;
+-----------------------+
| Tables_in_terapaths   |
+-----------------------+
| WANServiceURL         | 
| bandwidthClasses      | 
| diffServClasses       | 
| hosts                 | 
| remoteLANServiceURL   | 
| reservations          | 
| routerDrivers         | 
| routerManagers        | 
| routers               | 
| routes                | 
| systemMessages        | 
| terapathsDatabaseInfo | 
| users                 | 
| virtualRouterMembers  | 
| virtualRouters        | 
+-----------------------+
15 rows in set (0.01 sec)

Edit terapaths-populate-1.2.0.sql to match your network host information and run it to populate the database.

[yee@terapaths installation]$ cat terapaths-end2end-SLACside-secure-1.2.0.sql 
--
-- Populate the TeraPaths database for the TeraPaths UMich-side secure testbed
-- MySQL server on tera01.ultralight.org (192.84.86.25) 
-- Database structure version 1.2.0
-- 01/23/07
--

USE terapaths;


--
-- database settings
--
INSERT INTO terapathsDatabaseInfo (
	version,
	creationTimeStamp,
	serverIpAddress,
	serverName,
	siteName
) VALUES (
	"1.2.0",
	NOW(),
	"192.124.59.130",
	"terapaths.slac.stanford.edu",
	"SLAC"
);

--
-- drivers for communication between instance and router
INSERT INTO routerDrivers (
	name,
	driverInfo
) VALUES (
	"DUMMY_DRIVER",
	"hardware,DUMMY,type,DUMMY,os,DUMMY,comm_protocol,DUMMY"
);

INSERT INTO routerDrivers (
	name,
	driverInfo
) VALUES (
	"CISCO_WS-C6509_IOS_TELNET",
	"hardware,CISCO,type,WS-6509,os,IOS,comm_protocol,TELNET"
);

INSERT INTO routerDrivers (
	name,
	driverInfo
) VALUES (
	"CISCO_WS-C6509_IOS_SSH",
	"hardware,CISCO,type,WS-6509,os,IOS,comm_protocol,SSH"
);

SELECT @driver := LAST_INSERT_ID();



--
-- terapath instance, and endpoint to communicate to
--
INSERT INTO routerManagers (
	ipAddress,
	name,
	wsdlURL,
	interface,
	managerDir
) VALUES (
	"192.124.59.130",
	"terapaths01.slac.stanford.edu",
	"https://192.124.59.130:48580/terapathsNetworkDeviceControllers/tpsNDC",
	"GigabitEthernet3/33",
	"/home/terapaths/routerConfig"
);

SELECT @edgeManager := LAST_INSERT_ID();

SELECT @borderManager := @edgeManager;
--
-- routers
--
INSERT INTO routers (
	ipAddress,
	name,
	routerInfo,
	driverParameters,
	driverId,
	managingNodeId,
	position
) VALUES (
	"192.124.59.129",
	"tera",
	"hardware,CISCO,type,WS-6509,os,IOS12.2(18)SXD1",
	"system_prompt,tera,terapaths,********,entry_pass,********,enable_pass,********,policy_name_root,QoS_nile",
	@driver,
	@edgeManager,
	"edge"
);

SELECT @edge := LAST_INSERT_ID();
SELECT @border := @edge;

INSERT INTO virtualRouters (
	name
) VALUES (
	"tera (physical-edge)"
);

SELECT @vedge := LAST_INSERT_ID();

INSERT INTO virtualRouters (
	name
) VALUES (
	"nile (physical-border)"
);

SELECT @vborder := LAST_INSERT_ID();

INSERT INTO virtualRouterMembers (
	virtualRouterId,
	routerId
) VALUES
	(<at:var at:name="vedge," />edge),
	(<at:var at:name="vborder," />border);

INSERT INTO routes (
	edge,
	border
) VALUES (
	@vedge,
	@vborder	
);
	
SELECT @route := LAST_INSERT_ID();

--
-- worker nodes
---
INSERT INTO hosts (
	ipAddress,
	name,
	route,
	interface
) VALUES 
	("192.124.59.200", "node00.slac.stanford.edu", @route, "GigabitEthernet3/4"),
	("192.124.59.201", "node01.slac.stanford.edu", @route, "GigabitEthernet3/5"),
	("192.124.59.202", "node02.slac.stanford.edu", @route, "GigabitEthernet3/6"),
	("192.124.59.203", "node03.slac.stanford.edu", @route, "GigabitEthernet3/7"),
	("192.124.59.204", "node04.slac.stanford.edu", @route, "GigabitEthernet3/8"),
	("192.124.59.205", "node05.slac.stanford.edu", @route, "GigabitEthernet3/9"),
	("192.124.59.206", "node06.slac.stanford.edu", @route, "GigabitEthernet3/10"),
	("192.124.59.207", "node07.slac.stanford.edu", @route, "GigabitEthernet3/11"),
	("192.124.59.208", "node08.slac.stanford.edu", @route, "GigabitEthernet3/12");

INSERT INTO remoteLANServiceURL (
	ipAddress,
	mask,
	maskedIpAddress,
	prefix,
	wsdlURL,
	preference
) VALUES
	("198.124.220.0", "255.255.255.0", ipAddr2dec("198.124.220.0")&ipAddr2dec("255.255.255.0"), 24, "https://198.124.220.9:48588/terapathsRemoteTPsListeners/tpsRTPsL", 0);

INSERT INTO WANServiceURL (
	ipAddress,
	mask,
	maskedIpAddress,
	prefix,
	wsdlURL,
	preference
) VALUES
	("198.124.220.0", "255.255.255.0", ipAddr2dec("198.124.220.0")&ipAddr2dec("255.255.255.0"), 24, "OSCARS,https://oscars.es.net/axis2/services/OSCARS", 0);

INSERT INTO diffServClasses (
	name,
	dscp,
	aggregateBandwidth,
	configured,
	active
) VALUES
	("BE",0,0,0,0),
	("CS01",1,0,0,0),
	("CS02",2,0,0,0),
	("CS03",3,0,0,0),
	("CS04",4,0,0,0),
	("CS05",5,0,0,0),
	("CS06",6,0,0,0),
	("CS07",7,0,0,0),
	("CS1",8,0,0,0),
	("CS11",9,0,0,0),
	("AF11",10,0,0,0),
	("CS13",11,0,0,0),
	("AF12",12,0,0,0),
	("CS15",13,0,0,0),
	("AF13",14,0,0,0),
	("CS17",15,0,0,0),
	("CS2",16,0,0,0),
	("CS21",17,0,0,0),
	("AF21",18,0,0,0),
	("CS23",19,0,0,0),
	("AF22",20,0,0,0),
	("CS25",21,0,0,0),
	("AF23",22,0,0,0),
	("CS27",23,0,0,0),
	("CS3",24,0,0,0),
	("CS31",25,0,0,0),
	("AF31",26,0,0,0),
	("CS33",27,0,0,0),
	("AF32",28,0,0,0),
	("CS35",29,0,0,0),
	("AF33",30,0,0,0),
	("CS37",31,0,0,0),
	("CS4",32,0,0,0),
	("CS41",33,0,0,0),
	("AF41",34,0,0,0),
	("CS43",35,0,0,0),
	("AF42",36,0,0,0),
	("CS45",37,0,0,0),
	("AF43",38,0,0,0),
	("CS47",39,0,0,0),
	("CS5",40,0,0,0),
	("CS51",41,0,0,0),
	("CS52",42,0,0,0),
	("CS53",43,0,0,0),
	("CS54",44,0,0,0),
	("CS55",45,0,0,0),
	("EF",46,0,0,0),
	("CS57",47,0,0,0),
	("CS6",48,0,0,0),
	("CS61",49,0,0,0),
	("CS62",50,0,0,0),
	("CS63",51,0,0,0),
	("CS64",52,0,0,0),
	("CS65",53,0,0,0),
	("CS66",54,0,0,0),
	("CS67",55,0,0,0),
	("CS7",56,0,0,0),
	("CS71",57,0,0,0),
	("CS72",58,0,0,0),
	("CS73",59,0,0,0),
	("CS74",60,0,0,0),
	("CS75",61,0,0,0),
	("CS76",62,0,0,0),
	("CS77",63,0,0,0);

--Simple partitioning of bandwidth for testbed's 1 Gbit connection

UPDATE diffServClasses SET aggregateBandwidth= 15000000, configured=1 WHERE name="CS1";
UPDATE diffServClasses SET aggregateBandwidth= 20000000, configured=1 WHERE name="AF11";
UPDATE diffServClasses SET aggregateBandwidth= 40000000, configured=1 WHERE name="CS2";
UPDATE diffServClasses SET aggregateBandwidth= 50000000, configured=1 WHERE name="AF21";
UPDATE diffServClasses SET aggregateBandwidth= 75000000, configured=1 WHERE name="AF31";
UPDATE diffServClasses SET aggregateBandwidth=100000000, configured=1 WHERE name="AF41";
UPDATE diffServClasses SET aggregateBandwidth=150000000, configured=1 WHERE name="CS47";
UPDATE diffServClasses SET aggregateBandwidth=200000000, configured=1 WHERE name="EF";
UPDATE diffServClasses SET aggregateBandwidth=250000000, configured=1 WHERE name="CS7";

INSERT INTO bandwidthClasses (
	name,
	diffServClassId,
	bandwidth,
	type,
	configured,
	active 
) VALUES
	("CS1_1",(SELECT id FROM diffServClasses WHERE name="CS1"),  5000000,"shared",1,0),
	("CS1_2",(SELECT id FROM diffServClasses WHERE name="CS1"), 5000000,"shared",1,0),
	("CS1_3" ,(SELECT id FROM diffServClasses WHERE name="CS1"), 5000000,"shared",1,0),
	("AF11_1",(SELECT id FROM diffServClasses WHERE name="AF11"),10000000,"shared",1,0),	
	("AF11_2",(SELECT id FROM diffServClasses WHERE name="AF11"),10000000,"shared",1,0),	
	("CS2_1",(SELECT id FROM diffServClasses WHERE name="CS2"), 20000000,"shared",1,0),
	("CS2_2",(SELECT id FROM diffServClasses WHERE name="CS2"), 20000000,"shared",1,0),
	("AF21",(SELECT id FROM diffServClasses WHERE name="AF21"), 50000000,"static",1,0),
	("AF31",(SELECT id FROM diffServClasses WHERE name="AF31"), 75000000,"static",1,0),
	("AF41",(SELECT id FROM diffServClasses WHERE name="AF41"), 100000000,"static",1,0),
	("CS47",(SELECT id FROM diffServClasses WHERE name="CS47"), 150000000,"static",1,0),
	("EF",(SELECT id FROM diffServClasses WHERE name="EF"), 200000000,"static",1,0),
	("CS7",(SELECT id FROM diffServClasses WHERE name="CS7"),  250000000,"static",1,0);

--Default user

INSERT INTO users (
	userName,
	passWord,
	type
) VALUES
	('terapaths',PASSWORD('********'),'standard');
[yee@terapaths installation]$ 

Edit terapaths.properties to contain the database info and service module URLs for each host at which one or more terapaths modules will be deployed.

Edit proxy.properties to match your WAN provider accounts (currently only ESnet/OSCARS is supported)

Edit terapathsWebInterfaceDefaults to contain the defaults of your choice for the web interface.

Copy the file to the /home/terapaths directory of the host where terapathsWebInterface will be deployed.
The defaults can be changed at any time, even when the service is running.
This file overrides the build-in defaults.

Edit autodeploy-hosts to describe which modules to deploy at which hosts.

Run the 'terapaths-deploy' script.

  • No labels