Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
alex037yang
OpenXG-RAN
Commits
f43bbe67
Commit
f43bbe67
authored
Jan 21, 2019
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CI: adding support for L2 NFAPI simulation
Signed-off-by:
Raphael Defosseux
<
raphael.defosseux@eurecom.fr
>
parent
d0190899
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
672 additions
and
159 deletions
+672
-159
ci-scripts/Jenkinsfile-gitlab
ci-scripts/Jenkinsfile-gitlab
+28
-2
ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf
ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf
+236
-0
ci-scripts/conf_files/ue.nfapi.conf
ci-scripts/conf_files/ue.nfapi.conf
+44
-0
ci-scripts/oai-ci-vm-tool
ci-scripts/oai-ci-vm-tool
+25
-0
ci-scripts/runTestOnVM.sh
ci-scripts/runTestOnVM.sh
+339
-157
No files found.
ci-scripts/Jenkinsfile-gitlab
View file @
f43bbe67
...
...
@@ -166,6 +166,14 @@ pipeline {
}
}
stage
(
"Start VM -- L2-Sim"
)
{
steps
{
timeout
(
time:
5
,
unit:
'MINUTES'
)
{
sh
"./ci-scripts/oai-ci-vm-tool build --workspace $WORKSPACE --variant l2-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --daemon"
}
}
}
stage
(
"Start VM -- phy-sim"
)
{
steps
{
timeout
(
time:
5
,
unit:
'MINUTES'
)
{
...
...
@@ -215,7 +223,7 @@ pipeline {
steps
{
gitlabCommitStatus
(
name:
"Build eNb-ethernet"
)
{
timeout
(
time:
20
,
unit:
'MINUTES'
)
{
sh
"./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID}
--keep-vm-alive
"
sh
"./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
}
}
...
...
@@ -224,11 +232,20 @@ pipeline {
steps
{
gitlabCommitStatus
(
name:
"Build UE-ethernet"
)
{
timeout
(
time:
20
,
unit:
'MINUTES'
)
{
sh
"./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID}
--keep-vm-alive
"
sh
"./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
}
}
}
stage
(
"Build L2-Simulator-eNB"
)
{
steps
{
//gitlabCommitStatus(name: "Build UE-ethernet") {
timeout
(
time:
20
,
unit:
'MINUTES'
)
{
sh
"./ci-scripts/oai-ci-vm-tool wait --workspace $WORKSPACE --variant l2-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
}
//}
}
}
stage
(
"Build physical simulators"
)
{
steps
{
gitlabCommitStatus
(
name:
"Build phy-sim"
)
{
...
...
@@ -313,6 +330,15 @@ pipeline {
}
}
}
stage
(
"Test L2 simulator"
)
{
steps
{
//gitlabCommitStatus(name: "Test basic-sim") {
timeout
(
time:
30
,
unit:
'MINUTES'
)
{
sh
"./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant l2-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
//}
}
}
stage
(
"Build Flexran Controller"
)
{
when
{
expression
{
doFlexranCtrlTest
}
...
...
ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf
0 → 100644
View file @
f43bbe67
Active_eNBs
= (
"eNB-Eurecom-LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
(
{
//////////
Identification
parameters
:
eNB_ID
=
0
xe00
;
cell_type
=
"CELL_MACRO_ENB"
;
eNB_name
=
"eNB-Eurecom-LTEBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ( {
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
; } );
tr_s_preference
=
"local_mac"
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"3GPP_eNODEB"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
7
;
downlink_frequency
=
2685000000
L
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
0
;
N_RB_DL
=
50
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
pbch_repetition
=
"FALSE"
;
prach_root
=
0
;
prach_config_index
=
0
;
prach_high_speed
=
"DISABLE"
;
prach_zero_correlation
=
1
;
prach_freq_offset
=
2
;
pucch_delta_shift
=
1
;
pucch_nRB_CQI
=
0
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
0
;
pdsch_referenceSignalPower
= -
27
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_hoppingMode
=
"interSubFrame"
;
pusch_hoppingOffset
=
0
;
pusch_groupHoppingEnabled
=
"ENABLE"
;
pusch_groupAssignment
=
0
;
pusch_sequenceHoppingEnabled
=
"DISABLE"
;
pusch_nDMRS1
=
1
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
96
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
104
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format2
=
"deltaF0"
;
pucch_deltaF_Format2a
=
"deltaF0"
;
pucch_deltaF_Format2b
=
"deltaF0"
;
rach_numberOfRA_Preambles
=
64
;
rach_preamblesGroupAConfig
=
"DISABLE"
;
/*
rach_sizeOfRA_PreamblesGroupA
= ;
rach_messageSizeGroupA
= ;
rach_messagePowerOffsetGroupB
= ;
*/
rach_powerRampingStep
=
4
;
rach_preambleInitialReceivedTargetPower
= -
108
;
rach_preambleTransMax
=
10
;
rach_raResponseWindowSize
=
10
;
rach_macContentionResolutionTimer
=
48
;
rach_maxHARQ_Msg3Tx
=
4
;
pcch_default_PagingCycle
=
128
;
pcch_nB
=
"oneT"
;
bcch_modificationPeriodCoeff
=
2
;
ue_TimersAndConstants_t300
=
1000
;
ue_TimersAndConstants_t301
=
1000
;
ue_TimersAndConstants_t310
=
1000
;
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
//
Parameters
for
SIB18
rxPool_sc_CP_Len
=
"normal"
;
rxPool_sc_Period
=
"sf40"
;
rxPool_data_CP_Len
=
"normal"
;
rxPool_ResourceConfig_prb_Num
=
20
;
rxPool_ResourceConfig_prb_Start
=
5
;
rxPool_ResourceConfig_prb_End
=
44
;
rxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
rxPool_ResourceConfig_offsetIndicator_choice
=
0
;
rxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"00000000000000000000"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
/*
rxPool_dataHoppingConfig_hoppingParameter
=
0
;
rxPool_dataHoppingConfig_numSubbands
=
"ns1"
;
rxPool_dataHoppingConfig_rbOffset
=
0
;
rxPool_commTxResourceUC
-
ReqAllowed
=
"TRUE"
;
*/
//
Parameters
for
SIB19
discRxPool_cp_Len
=
"normal"
discRxPool_discPeriod
=
"rf32"
discRxPool_numRetx
=
1
;
discRxPool_numRepetition
=
2
;
discRxPool_ResourceConfig_prb_Num
=
5
;
discRxPool_ResourceConfig_prb_Start
=
3
;
discRxPool_ResourceConfig_prb_End
=
21
;
discRxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
discRxPool_ResourceConfig_offsetIndicator_choice
=
0
;
discRxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"f0ffffffff"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
}
);
srb1_parameters
:
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit
=
80
;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering
=
35
;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit
=
0
;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu
=
4
;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte
=
99999
;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold
=
4
;
}
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"CI_MME_IP_ADDR"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"ens3"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"CI_ENB_IP_ADDR"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"ens3"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"CI_ENB_IP_ADDR"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C
=
"CI_ENB_IP_ADDR"
;
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
local_s_if_name
=
"lo:"
;
remote_s_address
=
"127.0.0.1"
;
local_s_address
=
"127.0.0.2"
;
local_s_portc
=
50001
;
remote_s_portc
=
50000
;
local_s_portd
=
50011
;
remote_s_portd
=
50010
;
tr_s_preference
=
"nfapi"
;
tr_n_preference
=
"local_RRC"
;
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
=
{
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"info"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"high"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"medium"
;
};
ci-scripts/conf_files/ue.nfapi.conf
0 → 100644
View file @
f43bbe67
log_config
= {
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"info"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"medium"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"full"
;
};
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"nfapi"
;
local_n_if_name
=
"lo"
;
remote_n_address
=
"127.0.0.2"
;
local_n_address
=
"127.0.0.1"
;
local_n_portc
=
50000
;
remote_n_portc
=
50001
;
local_n_portd
=
50010
;
remote_n_portd
=
50011
;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
90
att_rx
=
0
;
bands
= [
7
,
38
,
42
,
43
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
125
;
}
);
ci-scripts/oai-ci-vm-tool
View file @
f43bbe67
...
...
@@ -40,6 +40,7 @@ function variant_usage {
echo
" --variant cppcheck OR -v4"
echo
" --variant enb-ethernet OR -v7"
echo
" --variant ue-ethernet OR -v8"
echo
" --variant l2-sim OR -v9"
echo
" --variant flexran-rtc OR -v10"
}
...
...
@@ -285,6 +286,18 @@ case $key in
NBARGS
=
$[$NBARGS
+256]
shift
;;
-v9
)
VM_NAME
=
ci-l2-sim
VM_MEMORY
=
8192
VM_CPU
=
8
ARCHIVES_LOC
=
l2_sim
LOG_PATTERN
=
.Rel14.txt
NB_PATTERN_FILES
=
4
BUILD_OPTIONS
=
"--eNB -t ETHERNET"
RUN_OPTIONS
=
"complex"
NBARGS
=
$[$NBARGS
+256]
shift
;;
-v10
)
VM_NAME
=
ci-flexran-rtc
ARCHIVES_LOC
=
flexran
...
...
@@ -350,6 +363,18 @@ case $key in
BUILD_OPTIONS
=
"--UE -t ETHERNET --noS1"
NBARGS
=
$[$NBARGS
+256]
;;
l2-sim
)
VM_NAME
=
ci-l2-sim
VM_MEMORY
=
8192
VM_CPU
=
8
ARCHIVES_LOC
=
l2_sim
LOG_PATTERN
=
.Rel14.txt
NB_PATTERN_FILES
=
4
BUILD_OPTIONS
=
"--eNB -t ETHERNET"
RUN_OPTIONS
=
"complex"
NBARGS
=
$[$NBARGS
+256]
shift
;;
flexran-rtc
)
VM_NAME
=
ci-flexran-rtc
ARCHIVES_LOC
=
flexran
...
...
ci-scripts/runTestOnVM.sh
View file @
f43bbe67
...
...
@@ -280,17 +280,171 @@ function recover_core_dump {
fi
}
function
terminate_ltebox_epc
{
echo
"echo
\"
cd /opt/ltebox/tools
\"
"
>
$1
echo
"cd /opt/ltebox/tools"
>>
$1
echo
"echo
\"
sudo ./stop_ltebox
\"
"
>>
$1
echo
"sudo ./stop_ltebox"
>>
$1
echo
"echo
\"
sudo daemon --name=simulated_hss --stop
\"
"
>>
$1
echo
"sudo daemon --name=simulated_hss --stop"
>>
$1
echo
"echo
\"
sudo killall --signal SIGKILL hss_sim
\"
"
>>
$1
echo
"sudo killall --signal SIGKILL hss_sim"
>>
$1
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$2
<
$1
rm
$1
function
install_epc_on_vm
{
local
LOC_EPC_VM_NAME
=
$1
local
LOC_EPC_VM_CMDS
=
$2
if
[
-d
/opt/ltebox-archives/
]
then
# Checking if all ltebox archives are available to run ltebx epc on a brand new VM
if
[
-f
/opt/ltebox-archives/ltebox_2.2.70_16_04_amd64.deb
]
&&
[
-f
/opt/ltebox-archives/etc-conf.zip
]
&&
[
-f
/opt/ltebox-archives/hss-sim.zip
]
then
echo
"############################################################"
echo
"Test EPC on VM (
$EPC_VM_NAME
) will be using ltebox"
echo
"############################################################"
LTEBOX
=
1
fi
fi
# Here we could have other types of EPC detection
# Do we need to start the EPC VM
echo
"EPC_VM_CMD_FILE =
$LOC_EPC_VM_CMDS
"
IS_EPC_VM_ALIVE
=
`
uvt-kvm list |
grep
-c
$LOC_EPC_VM_NAME
`
if
[
$IS_EPC_VM_ALIVE
-eq
0
]
then
echo
"############################################################"
echo
"Creating test EPC VM (
$LOC_EPC_VM_NAME
) on Ubuntu Cloud Image base"
echo
"############################################################"
uvt-kvm create
$LOC_EPC_VM_NAME
release
=
xenial
--unsafe-caching
fi
uvt-kvm
wait
$LOC_EPC_VM_NAME
--insecure
local
LOC_EPC_VM_IP_ADDR
=
`
uvt-kvm ip
$LOC_EPC_VM_NAME
`
echo
"
$LOC_EPC_VM_NAME
has for IP addr =
$LOC_EPC_VM_IP_ADDR
"
scp
-o
StrictHostKeyChecking
=
no /etc/apt/apt.conf.d/01proxy ubuntu@
$LOC_EPC_VM_IP_ADDR
:/home/ubuntu
# ltebox specific actions (install and start)
LTE_BOX_TO_INSTALL
=
1
if
[
$LTEBOX
-eq
1
]
then
echo
"ls -ls /opt/ltebox/tools/start_ltebox"
>
$LOC_EPC_VM_CMDS
RESPONSE
=
`
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$LOC_EPC_VM_IP_ADDR
<
$LOC_EPC_VM_CMDS
`
NB_EXES
=
`
echo
$RESPONSE
|
grep
-c
ltebox
`
if
[
$NB_EXES
-eq
1
]
;
then
LTE_BOX_TO_INSTALL
=
0
;
fi
fi
if
[
$LTEBOX
-eq
1
]
&&
[
$LTE_BOX_TO_INSTALL
-eq
1
]
then
echo
"############################################################"
echo
"Copying ltebox archives into EPC VM (
$LOC_EPC_VM_NAME
)"
echo
"############################################################"
scp
-o
StrictHostKeyChecking
=
no /opt/ltebox-archives/ltebox_2.2.70_16_04_amd64.deb ubuntu@
$LOC_EPC_VM_IP_ADDR
:/home/ubuntu
scp
-o
StrictHostKeyChecking
=
no /opt/ltebox-archives/etc-conf.zip ubuntu@
$LOC_EPC_VM_IP_ADDR
:/home/ubuntu
scp
-o
StrictHostKeyChecking
=
no /opt/ltebox-archives/hss-sim.zip ubuntu@
$LOC_EPC_VM_IP_ADDR
:/home/ubuntu
echo
"############################################################"
echo
"Install EPC on EPC VM (
$LOC_EPC_VM_NAME
)"
echo
"############################################################"
echo
"sudo cp 01proxy /etc/apt/apt.conf.d/"
>
$LOC_EPC_VM_CMDS
echo
"touch /home/ubuntu/.hushlogin"
>>
$LOC_EPC_VM_CMDS
echo
"echo
\"
sudo apt-get --yes --quiet install zip openjdk-8-jre libconfuse-dev libreadline-dev liblog4c-dev libgcrypt-dev libsctp-dev python2.7 python2.7-dev daemon iperf
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"sudo apt-get update > zip-install.txt 2>&1"
>>
$LOC_EPC_VM_CMDS
echo
"sudo apt-get --yes install zip openjdk-8-jre libconfuse-dev libreadline-dev liblog4c-dev libgcrypt-dev libsctp-dev python2.7 python2.7-dev daemon iperf >> zip-install.txt 2>&1"
>>
$LOC_EPC_VM_CMDS
# Installing HSS
echo
"echo
\"
cd /opt
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"cd /opt"
>>
$LOC_EPC_VM_CMDS
echo
"echo
\"
sudo unzip -qq /home/ubuntu/hss-sim.zip
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"sudo unzip -qq /home/ubuntu/hss-sim.zip"
>>
$LOC_EPC_VM_CMDS
echo
"echo
\"
cd /opt/hss_sim0609
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"cd /opt/hss_sim0609"
>>
$LOC_EPC_VM_CMDS
# Installing ltebox
echo
"echo
\"
cd /home/ubuntu
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"cd /home/ubuntu"
>>
$LOC_EPC_VM_CMDS
echo
"echo
\"
sudo dpkg -i ltebox_2.2.70_16_04_amd64.deb
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"sudo dpkg -i ltebox_2.2.70_16_04_amd64.deb >> zip-install.txt 2>&1"
>>
$LOC_EPC_VM_CMDS
echo
"echo
\"
cd /opt/ltebox/etc/
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"cd /opt/ltebox/etc/"
>>
$LOC_EPC_VM_CMDS
echo
"echo
\"
sudo unzip -qq -o /home/ubuntu/etc-conf.zip
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"sudo unzip -qq -o /home/ubuntu/etc-conf.zip"
>>
$LOC_EPC_VM_CMDS
echo
"sudo sed -i -e 's#EPC_VM_IP_ADDRESS#
$LOC_EPC_VM_IP_ADDR
#' gw.conf"
>>
$LOC_EPC_VM_CMDS
echo
"sudo sed -i -e 's#EPC_VM_IP_ADDRESS#
$LOC_EPC_VM_IP_ADDR
#' mme.conf"
>>
$LOC_EPC_VM_CMDS
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$LOC_EPC_VM_IP_ADDR
<
$LOC_EPC_VM_CMDS
rm
-f
$LOC_EPC_VM_CMDS
fi
}
function
start_epc
{
local
LOC_EPC_VM_NAME
=
$1
local
LOC_EPC_VM_CMDS
=
$2
local
LOC_EPC_VM_IP_ADDR
=
$3
if
[
$LTEBOX
-eq
1
]
then
echo
"############################################################"
echo
"Start EPC on EPC VM (
$LOC_EPC_VM_NAME
)"
echo
"############################################################"
echo
"echo
\"
cd /opt/hss_sim0609
\"
"
>
$LOC_EPC_VM_CMDS
echo
"cd /opt/hss_sim0609"
>>
$LOC_EPC_VM_CMDS
echo
"echo
\"
sudo daemon --unsafe --name=simulated_hss --chdir=/opt/hss_sim0609 ./starthss_real
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"sudo daemon --unsafe --name=simulated_hss --chdir=/opt/hss_sim0609 ./starthss_real"
>>
$LOC_EPC_VM_CMDS
echo
"echo
\"
cd /opt/ltebox/tools/
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"cd /opt/ltebox/tools/"
>>
$LOC_EPC_VM_CMDS
echo
"echo
\"
sudo ./start_ltebox
\"
"
>>
$LOC_EPC_VM_CMDS
echo
"nohup sudo ./start_ltebox > /home/ubuntu/ltebox.txt"
>>
$LOC_EPC_VM_CMDS
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$LOC_EPC_VM_IP_ADDR
<
$LOC_EPC_VM_CMDS
rm
-f
$LOC_EPC_VM_CMDS
i
=
"0"
echo
"ifconfig tun5 | egrep -c
\"
inet addr
\"
"
>
$LOC_EPC_VM_CMDS
while
[
$i
-lt
10
]
do
sleep
2
CONNECTED
=
`
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$LOC_EPC_VM_IP_ADDR
<
$LOC_EPC_VM_CMDS
`
if
[
$CONNECTED
-eq
1
]
then
i
=
"100"
else
i
=
$[$i
+1]
fi
done
rm
$LOC_EPC_VM_CMDS
if
[
$i
-lt
50
]
then
echo
"Problem w/ starting ltebox EPC"
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
exit
-1
fi
fi
# HERE ADD ANY INSTALL ACTIONS FOR ANOTHER EPC
}
function
retrieve_real_epc_ip_addr
{
local
LOC_EPC_VM_NAME
=
$1
local
LOC_EPC_VM_CMDS
=
$2
local
LOC_EPC_VM_IP_ADDR
=
$3
if
[
$LTEBOX
-eq
1
]
then
# in our configuration file, we are using pool 5
echo
"ifconfig tun5 | egrep
\"
inet addr
\"
| sed -e 's#^.*inet addr:##' -e 's# P-t-P:.*
\$
##'"
>
$LOC_EPC_VM_CMDS
REAL_EPC_IP_ADDR
=
`
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$LOC_EPC_VM_IP_ADDR
<
$LOC_EPC_VM_CMDS
`
echo
"EPC IP Address is :
$REAL_EPC_IP_ADDR
"
rm
$LOC_EPC_VM_CMDS
fi
}
function
terminate_epc
{
if
[
$LTEBOX
-eq
1
]
then
echo
"echo
\"
cd /opt/ltebox/tools
\"
"
>
$1
echo
"cd /opt/ltebox/tools"
>>
$1
echo
"echo
\"
sudo ./stop_ltebox
\"
"
>>
$1
echo
"sudo ./stop_ltebox"
>>
$1
echo
"echo
\"
sudo daemon --name=simulated_hss --stop
\"
"
>>
$1
echo
"sudo daemon --name=simulated_hss --stop"
>>
$1
echo
"echo
\"
sudo killall --signal SIGKILL hss_sim
\"
"
>>
$1
echo
"sudo killall --signal SIGKILL hss_sim"
>>
$1
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$2
<
$1
rm
$1
fi
}
function
start_flexran_ctrl
{
...
...
@@ -322,6 +476,85 @@ function query_flexran_ctrl_status {
rm
$1
}
function
build_ue_on_separate_folder
{
echo
"mkdir tmp-ue"
>
$1
echo
"cd tmp-ue"
>>
$1
echo
"echo
\"
unzip -qq -DD ../localZip.zip
\"
"
>>
$1
echo
"unzip -qq -DD ../localZip.zip"
>>
$1
# We may have some adaptation to do
if
[
-f
/opt/ltebox-archives/adapt_ue_l2_sim.txt
]
then
echo
"############################################################"
echo
"Doing some adaptation on UE side"
echo
"############################################################"
cat
/opt/ltebox-archives/adapt_ue_l2_sim.txt
>>
$1
fi
echo
"echo
\"
source oaienv
\"
"
>>
$1
echo
"source oaienv"
>>
$1
echo
"cd cmake_targets/"
>>
$1
echo
"mkdir log"
>>
$1
echo
"chmod 777 log"
>>
$1
echo
"echo
\"
./build_oai --UE -t ETHERNET
\"
"
>>
$1
echo
"./build_oai --UE -t ETHERNET > log/ue-build.txt 2>&1"
>>
$1
echo
"cd tools"
>>
$1
echo
"sudo ifconfig lo: 127.0.0.2 netmask 255.0.0.0 up"
>>
$1
echo
"sudo chmod 666 /etc/iproute2/rt_tables"
>>
$1
echo
"source init_nas_s1 UE"
>>
$1
echo
"ifconfig"
>>
$1
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$2
<
$1
rm
-f
$1
}
function
start_l2_sim_enb
{
local
LOC_VM_IP_ADDR
=
$2
local
LOC_EPC_IP_ADDR
=
$3
local
LOC_LOG_FILE
=
$4
local
LOC_NB_RBS
=
$5
local
LOC_CONF_FILE
=
$6
echo
"cd /home/ubuntu/tmp"
>
$1
echo
"echo
\"
sudo apt-get --yes --quiet install daemon
\"
"
>>
$1
echo
"sudo apt-get --yes install daemon >> /home/ubuntu/tmp/cmake_targets/log/daemon-install.txt 2>&1"
>>
$1
echo
"echo
\"
source oaienv
\"
"
>>
$1
echo
"source oaienv"
>>
$1
echo
"cd ci-scripts/conf_files/"
>>
$1
echo
"cp
$LOC_CONF_FILE
ci-
$LOC_CONF_FILE
"
>>
$1
echo
"sed -i -e 's#N_RB_DL.*=.*;#N_RB_DL =
$LOC_NB_RBS
;#' -e 's#CI_MME_IP_ADDR#
$LOC_EPC_IP_ADDR
#' -e 's#CI_ENB_IP_ADDR#
$LOC_VM_IP_ADDR
#' ci-
$LOC_CONF_FILE
"
>>
$1
echo
"echo
\"
grep N_RB_DL ci-
$LOC_CONF_FILE
\"
"
>>
$1
echo
"grep N_RB_DL ci-
$LOC_CONF_FILE
| sed -e 's#N_RB_DL.*=#N_RB_DL =#'"
>>
$1
echo
"echo
\"
cd /home/ubuntu/tmp/cmake_targets/lte_build_oai/build/
\"
"
>>
$1
echo
"sudo chmod 777 /home/ubuntu/tmp/cmake_targets/lte_build_oai/build/"
>>
$1
echo
"cd /home/ubuntu/tmp/cmake_targets/lte_build_oai/build/"
>>
$1
echo
"echo
\"
ulimit -c unlimited && ./lte-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-
$LOC_CONF_FILE
\"
> ./my-lte-softmodem-run.sh "
>>
$1
echo
"chmod 775 ./my-lte-softmodem-run.sh"
>>
$1
echo
"cat ./my-lte-softmodem-run.sh"
>>
$1
echo
"if [ -e /home/ubuntu/tmp/cmake_targets/log/
$LOC_LOG_FILE
]; then sudo sudo rm -f /home/ubuntu/tmp/cmake_targets/log/
$LOC_LOG_FILE
; fi"
>>
$1
echo
"sudo -E daemon --inherit --unsafe --name=enb_daemon --chdir=/home/ubuntu/tmp/cmake_targets/lte_build_oai/build/ -o /home/ubuntu/tmp/cmake_targets/log/
$LOC_LOG_FILE
./my-lte-softmodem-run.sh"
>>
$1
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$LOC_VM_IP_ADDR
<
$1
sleep
10
rm
$1
}
function
start_l2_sim_ue
{
local
LOC_VM_IP_ADDR
=
$2
local
LOC_LOG_FILE
=
$3
local
LOC_CONF_FILE
=
$4
echo
"echo
\"
cd /home/ubuntu/tmp-ue/cmake_targets/lte_build_oai/build/
\"
"
>>
$1
echo
"sudo chmod 777 /home/ubuntu/tmp-ue/cmake_targets/lte_build_oai/build/"
>>
$1
echo
"cd /home/ubuntu/tmp-ue/cmake_targets/lte_build_oai/build/"
>>
$1
echo
"echo
\"
ulimit -c unlimited && ./lte-uesoftmodem -O /home/ubuntu/tmp-ue/ci-scripts/conf_files/
$LOC_CONF_FILE
--L2-emul 3 --num-ues 1
\"
> ./my-lte-softmodem-run.sh "
>>
$1
echo
"chmod 775 ./my-lte-softmodem-run.sh"
>>
$1
echo
"cat ./my-lte-softmodem-run.sh"
>>
$1
echo
"if [ -e /home/ubuntu/tmp/cmake_targets/log/
$LOC_LOG_FILE
]; then sudo sudo rm -f /home/ubuntu/tmp/cmake_targets/log/
$LOC_LOG_FILE
; fi"
>>
$1
echo
"sudo -E daemon --inherit --unsafe --name=ue_daemon --chdir=/home/ubuntu/tmp-ue/cmake_targets/lte_build_oai/build/ -o /home/ubuntu/tmp/cmake_targets/log/
$LOC_LOG_FILE
./my-lte-softmodem-run.sh"
>>
$1
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$LOC_VM_IP_ADDR
<
$1
sleep
10
rm
$1
}
function
run_test_on_vm
{
echo
"############################################################"
echo
"OAI CI VM script"
...
...
@@ -459,148 +692,26 @@ function run_test_on_vm {
fi
mkdir
--parents
$ARCHIVES_LOC
# Creating a VM for EPC and installing SW
EPC_VM_NAME
=
`
echo
$VM_NAME
|
sed
-e
"s#basic-sim#epc#"
`
EPC_VM_CMDS
=
${
EPC_VM_NAME
}
_cmds.txt
LTEBOX
=
0
if
[
-d
/opt/ltebox-archives/
]
then
# Checking if all ltebox archives are available to run ltebx epc on a brand new VM
if
[
-f
/opt/ltebox-archives/ltebox_2.2.70_16_04_amd64.deb
]
&&
[
-f
/opt/ltebox-archives/etc-conf.zip
]
&&
[
-f
/opt/ltebox-archives/hss-sim.zip
]
then
echo
"############################################################"
echo
"Test EPC on VM (
$EPC_VM_NAME
) will be using ltebox"
echo
"############################################################"
LTEBOX
=
1
fi
fi
# Here we could have other types of EPC detection
# Do we need to start the EPC VM
EPC_VM_CMDS
=
`
echo
$VM_CMDS
|
sed
-e
"s#cmds#epc-cmds#"
`
echo
"EPC_VM_CMD_FILE =
$EPC_VM_CMDS
"
IS_EPC_VM_ALIVE
=
`
uvt-kvm list |
grep
-c
$EPC_VM_NAME
`
if
[
$IS_EPC_VM_ALIVE
-eq
0
]
then
echo
"############################################################"
echo
"Creating test EPC VM (
$EPC_VM_NAME
) on Ubuntu Cloud Image base"
echo
"############################################################"
uvt-kvm create
$EPC_VM_NAME
release
=
xenial
--unsafe-caching
fi
uvt-kvm
wait
$EPC_VM_NAME
--insecure
install_epc_on_vm
$EPC_VM_NAME
$EPC_VM_CMDS
EPC_VM_IP_ADDR
=
`
uvt-kvm ip
$EPC_VM_NAME
`
echo
"
$EPC_VM_NAME
has for IP addr =
$EPC_VM_IP_ADDR
"
scp
-o
StrictHostKeyChecking
=
no /etc/apt/apt.conf.d/01proxy ubuntu@
$EPC_VM_IP_ADDR
:/home/ubuntu
# ltebox specific actions (install and start)
LTE_BOX_TO_INSTALL
=
1
if
[
$LTEBOX
-eq
1
]
then
echo
"ls -ls /opt/ltebox/tools/start_ltebox"
>
$EPC_VM_CMDS
RESPONSE
=
`
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$EPC_VM_IP_ADDR
<
$EPC_VM_CMDS
`
NB_EXES
=
`
echo
$RESPONSE
|
grep
-c
ltebox
`
if
[
$NB_EXES
-eq
1
]
;
then
LTE_BOX_TO_INSTALL
=
0
;
fi
fi
if
[
$LTEBOX
-eq
1
]
&&
[
$LTE_BOX_TO_INSTALL
-eq
1
]
then
echo
"############################################################"
echo
"Copying ltebox archives into EPC VM (
$EPC_VM_NAME
)"
echo
"############################################################"
scp
-o
StrictHostKeyChecking
=
no /opt/ltebox-archives/ltebox_2.2.70_16_04_amd64.deb ubuntu@
$EPC_VM_IP_ADDR
:/home/ubuntu
scp
-o
StrictHostKeyChecking
=
no /opt/ltebox-archives/etc-conf.zip ubuntu@
$EPC_VM_IP_ADDR
:/home/ubuntu
scp
-o
StrictHostKeyChecking
=
no /opt/ltebox-archives/hss-sim.zip ubuntu@
$EPC_VM_IP_ADDR
:/home/ubuntu
# Starting EPC
start_epc
$EPC_VM_NAME
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
echo
"############################################################"
echo
"Install EPC on EPC VM (
$EPC_VM_NAME
)"
echo
"############################################################"
echo
"sudo cp 01proxy /etc/apt/apt.conf.d/"
>
$EPC_VM_CMDS
echo
"touch /home/ubuntu/.hushlogin"
>>
$EPC_VM_CMDS
echo
"echo
\"
sudo apt-get --yes --quiet install zip openjdk-8-jre libconfuse-dev libreadline-dev liblog4c-dev libgcrypt-dev libsctp-dev python2.7 python2.7-dev daemon iperf
\"
"
>>
$EPC_VM_CMDS
echo
"sudo apt-get update > zip-install.txt 2>&1"
>>
$EPC_VM_CMDS
echo
"sudo apt-get --yes install zip openjdk-8-jre libconfuse-dev libreadline-dev liblog4c-dev libgcrypt-dev libsctp-dev python2.7 python2.7-dev daemon iperf >> zip-install.txt 2>&1"
>>
$EPC_VM_CMDS
# Installing HSS
echo
"echo
\"
cd /opt
\"
"
>>
$EPC_VM_CMDS
echo
"cd /opt"
>>
$EPC_VM_CMDS
echo
"echo
\"
sudo unzip -qq /home/ubuntu/hss-sim.zip
\"
"
>>
$EPC_VM_CMDS
echo
"sudo unzip -qq /home/ubuntu/hss-sim.zip"
>>
$EPC_VM_CMDS
echo
"echo
\"
cd /opt/hss_sim0609
\"
"
>>
$EPC_VM_CMDS
echo
"cd /opt/hss_sim0609"
>>
$EPC_VM_CMDS
# Installing ltebox
echo
"echo
\"
cd /home/ubuntu
\"
"
>>
$EPC_VM_CMDS
echo
"cd /home/ubuntu"
>>
$EPC_VM_CMDS
echo
"echo
\"
sudo dpkg -i ltebox_2.2.70_16_04_amd64.deb
\"
"
>>
$EPC_VM_CMDS
echo
"sudo dpkg -i ltebox_2.2.70_16_04_amd64.deb >> zip-install.txt 2>&1"
>>
$EPC_VM_CMDS
echo
"echo
\"
cd /opt/ltebox/etc/
\"
"
>>
$EPC_VM_CMDS
echo
"cd /opt/ltebox/etc/"
>>
$EPC_VM_CMDS
echo
"echo
\"
sudo unzip -qq -o /home/ubuntu/etc-conf.zip
\"
"
>>
$EPC_VM_CMDS
echo
"sudo unzip -qq -o /home/ubuntu/etc-conf.zip"
>>
$EPC_VM_CMDS
echo
"sudo sed -i -e 's#EPC_VM_IP_ADDRESS#
$EPC_VM_IP_ADDR
#' gw.conf"
>>
$EPC_VM_CMDS
echo
"sudo sed -i -e 's#EPC_VM_IP_ADDRESS#
$EPC_VM_IP_ADDR
#' mme.conf"
>>
$EPC_VM_CMDS
fi
# Retrieve EPC real IP address
retrieve_real_epc_ip_addr
$EPC_VM_NAME
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
#
Starting EPC
if
[
$LTEBOX
-eq
1
]
#
We may have some adaptation to do
if
[
-f
/opt/ltebox-archives/adapt_ue_sim.txt
]
then
echo
"############################################################"
echo
"
Start EPC on EPC VM (
$EPC_VM_NAME
)
"
echo
"
Doing some adaptation on UE side
"
echo
"############################################################"
echo
"echo
\"
cd /opt/hss_sim0609
\"
"
>>
$EPC_VM_CMDS
echo
"cd /opt/hss_sim0609"
>>
$EPC_VM_CMDS
echo
"echo
\"
sudo daemon --unsafe --name=simulated_hss --chdir=/opt/hss_sim0609 ./starthss_real
\"
"
>>
$EPC_VM_CMDS
echo
"sudo daemon --unsafe --name=simulated_hss --chdir=/opt/hss_sim0609 ./starthss_real"
>>
$EPC_VM_CMDS
echo
"echo
\"
cd /opt/ltebox/tools/
\"
"
>>
$EPC_VM_CMDS
echo
"cd /opt/ltebox/tools/"
>>
$EPC_VM_CMDS
echo
"echo
\"
sudo ./start_ltebox
\"
"
>>
$EPC_VM_CMDS
echo
"nohup sudo ./start_ltebox > /home/ubuntu/ltebox.txt"
>>
$EPC_VM_CMDS
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$EPC_VM_IP_ADDR
<
$EPC_VM_CMDS
rm
-f
$EPC_VM_CMDS
# We may have some adaptation to do
if
[
-f
/opt/ltebox-archives/adapt_ue_sim.txt
]
then
echo
"############################################################"
echo
"Doing some adaptation on UE side"
echo
"############################################################"
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
< /opt/ltebox-archives/adapt_ue_sim.txt
fi
i
=
"0"
echo
"ifconfig tun5 | egrep -c
\"
inet addr
\"
"
>
$EPC_VM_CMDS
while
[
$i
-lt
10
]
do
sleep
2
CONNECTED
=
`
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$EPC_VM_IP_ADDR
<
$EPC_VM_CMDS
`
if
[
$CONNECTED
-eq
1
]
then
i
=
"100"
else
i
=
$[$i
+1]
fi
done
rm
$EPC_VM_CMDS
if
[
$i
-lt
50
]
then
echo
"Problem w/ starting ltebox EPC"
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
exit
-1
fi
fi
# HERE ADD ANY INSTALL ACTIONS FOR ANOTHER EPC
# Retrieve EPC real IP address
if
[
$LTEBOX
-eq
1
]
then
# in our configuration file, we are using pool 5
echo
"ifconfig tun5 | egrep
\"
inet addr
\"
| sed -e 's#^.*inet addr:##' -e 's# P-t-P:.*
\$
##'"
>
$EPC_VM_CMDS
REAL_EPC_IP_ADDR
=
`
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$EPC_VM_IP_ADDR
<
$EPC_VM_CMDS
`
echo
"EPC IP Address is :
$REAL_EPC_IP_ADDR
"
rm
$EPC_VM_CMDS
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
< /opt/ltebox-archives/adapt_ue_sim.txt
fi
echo
"############################################################"
...
...
@@ -621,7 +732,7 @@ function run_test_on_vm {
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_UE_LOG_FILE
$ARCHIVES_LOC
recover_core_dump
$VM_CMDS
$VM_IP_ADDR
$ARCHIVES_LOC
/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
terminate_
ltebox_
epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
terminate_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
exit
-1
fi
...
...
@@ -680,7 +791,7 @@ function run_test_on_vm {
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_UE_LOG_FILE
$ARCHIVES_LOC
recover_core_dump
$VM_CMDS
$VM_IP_ADDR
$ARCHIVES_LOC
/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
terminate_
ltebox_
epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
terminate_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
exit
-1
fi
...
...
@@ -739,7 +850,7 @@ function run_test_on_vm {
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_UE_LOG_FILE
$ARCHIVES_LOC
recover_core_dump
$VM_CMDS
$VM_IP_ADDR
$ARCHIVES_LOC
/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
terminate_
ltebox_
epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
terminate_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
exit
-1
fi
...
...
@@ -791,7 +902,7 @@ function run_test_on_vm {
if
[
$j
-lt
50
]
then
echo
"ERROR: compiling flexran controller on vm went wrong"
terminate_
ltebox_
epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
terminate_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
exit
-1
fi
...
...
@@ -801,7 +912,7 @@ function run_test_on_vm {
if
[
$IS_FLEXRAN_VM_ALIVE
-eq
0
]
then
echo
"ERROR: Flexran Ctl VM is not alive"
terminate_
ltebox_
epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
terminate_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
exit
-1
fi
...
...
@@ -835,7 +946,7 @@ function run_test_on_vm {
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_UE_LOG_FILE
$ARCHIVES_LOC
recover_core_dump
$VM_CMDS
$VM_IP_ADDR
$ARCHIVES_LOC
/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
terminate_
ltebox_
epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
terminate_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
stop_flexran_ctrl
$FLEXRAN_CTL_VM_CMDS
$FLEXRAN_CTL_VM_IP_ADDR
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
exit
-1
...
...
@@ -878,7 +989,7 @@ function run_test_on_vm {
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_UE_LOG_FILE
$ARCHIVES_LOC
recover_core_dump
$VM_CMDS
$VM_IP_ADDR
$ARCHIVES_LOC
/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
terminate_
ltebox_
epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
terminate_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
exit
-1
fi
...
...
@@ -929,7 +1040,7 @@ function run_test_on_vm {
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_UE_LOG_FILE
$ARCHIVES_LOC
recover_core_dump
$VM_CMDS
$VM_IP_ADDR
$ARCHIVES_LOC
/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
terminate_
ltebox_
epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
terminate_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
exit
-1
fi
...
...
@@ -980,7 +1091,7 @@ function run_test_on_vm {
# scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
# scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
# recover_core_dump $VM_CMDS $VM_IP_ADDR $ARCHIVES_LOC/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
# terminate_
ltebox_
epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
# terminate_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
# echo "TEST_KO" > $ARCHIVES_LOC/test_final_status.log
# exit -1
# fi
...
...
@@ -1016,10 +1127,7 @@ function run_test_on_vm {
echo
"Terminate EPC"
echo
"############################################################"
if
[
$LTEBOX
-eq
1
]
then
terminate_ltebox_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
fi
terminate_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
if
[
$KEEP_VM_ALIVE
-eq
0
]
then
...
...
@@ -1051,4 +1159,78 @@ function run_test_on_vm {
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
fi
fi
if
[[
"
$RUN_OPTIONS
"
==
"complex"
]]
&&
[[
$VM_NAME
=
~ .
*
-l2-sim
.
*
]]
then
PING_STATUS
=
0
IPERF_STATUS
=
0
if
[
-d
$ARCHIVES_LOC
]
then
rm
-Rf
$ARCHIVES_LOC
fi
mkdir
--parents
$ARCHIVES_LOC
# Building UE elsewhere in VM
build_ue_on_separate_folder
$VM_CMDS
$VM_IP_ADDR
# Creating a VM for EPC and installing SW
EPC_VM_NAME
=
`
echo
$VM_NAME
|
sed
-e
"s#l2-sim#l2-epc#"
`
EPC_VM_CMDS
=
${
EPC_VM_NAME
}
_cmds.txt
LTEBOX
=
0
install_epc_on_vm
$EPC_VM_NAME
$EPC_VM_CMDS
EPC_VM_IP_ADDR
=
`
uvt-kvm ip
$EPC_VM_NAME
`
# Starting EPC
start_epc
$EPC_VM_NAME
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
# Retrieve EPC real IP address
retrieve_real_epc_ip_addr
$EPC_VM_NAME
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
echo
"############################################################"
echo
"Starting the eNB in FDD-5MHz mode"
echo
"############################################################"
CURRENT_ENB_LOG_FILE
=
fdd_05MHz_enb.log
start_l2_sim_enb
$VM_CMDS
$VM_IP_ADDR
$EPC_VM_IP_ADDR
$CURRENT_ENB_LOG_FILE
25 rcc.band7.tm1.nfapi.conf
echo
"############################################################"
echo
"Starting the UEs"
echo
"############################################################"
CURRENT_UE_LOG_FILE
=
fdd_05MHz_ue.log
start_l2_sim_ue
$VM_CMDS
$VM_IP_ADDR
$CURRENT_UE_LOG_FILE
ue.nfapi.conf
sleep
30
echo
"ping -I oip1 -c 20
$REAL_EPC_IP_ADDR
"
>
$VM_CMDS
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
<
$VM_CMDS
echo
"############################################################"
echo
"Terminate enb/ue simulators"
echo
"############################################################"
terminate_enb_ue_basic_sim
$VM_CMDS
$VM_IP_ADDR
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_ENB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_UE_LOG_FILE
$ARCHIVES_LOC
echo
"############################################################"
echo
"Terminate EPC"
echo
"############################################################"
terminate_epc
$EPC_VM_CMDS
$EPC_VM_IP_ADDR
if
[
$KEEP_VM_ALIVE
-eq
0
]
then
echo
"############################################################"
echo
"Destroying VMs"
echo
"############################################################"
uvt-kvm destroy
$VM_NAME
ssh-keygen
-R
$VM_IP_ADDR
uvt-kvm destroy
$EPC_VM_NAME
ssh-keygen
-R
$EPC_VM_IP_ADDR
fi
if
[
$STATUS
-eq
0
]
then
echo
"TEST_OK"
>
$ARCHIVES_LOC
/test_final_status.log
else
echo
"TEST_KO"
>
$ARCHIVES_LOC
/test_final_status.log
fi
fi
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment