summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rwxr-xr-xutils/fetch_os_creds.sh9
-rwxr-xr-xutils/gpg_import_key.sh37
-rw-r--r--utils/opnfv-artifacts.py11
-rw-r--r--utils/push-test-logs.sh6
-rwxr-xr-xutils/retention_script.sh2
-rw-r--r--utils/test/declaration/addtestcase.php40
-rw-r--r--utils/test/declaration/index.php221
-rw-r--r--utils/test/declaration/testcases.php36
8 files changed, 338 insertions, 24 deletions
diff --git a/utils/fetch_os_creds.sh b/utils/fetch_os_creds.sh
index c240976d8..0f4b25db8 100755
--- a/utils/fetch_os_creds.sh
+++ b/utils/fetch_os_creds.sh
@@ -80,9 +80,16 @@ if [ "$installer_type" == "fuel" ]; then
#ip_fuel="10.20.0.2"
verify_connectivity $installer_ip
+ env=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \
+ 'fuel env'|grep operational|head -1|awk '{print $1}') &> /dev/null
+ if [ -z $env ]; then
+ error "No operational environment detected in Fuel"
+ fi
+ env_id="${FUEL_ENV:-$env}"
+
# Check if controller is alive (online='True')
controller_ip=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \
- 'fuel node | grep controller | grep "True\| 1" | awk -F\| "{print \$5}" | tail -1' | \
+ "fuel node --env ${env_id} | grep controller | grep 'True\| 1' | awk -F\| '{print \$5}' | head -1" | \
sed 's/ //g') &> /dev/null
if [ -z $controller_ip ]; then
diff --git a/utils/gpg_import_key.sh b/utils/gpg_import_key.sh
index 80b7c397e..f45e40919 100755
--- a/utils/gpg_import_key.sh
+++ b/utils/gpg_import_key.sh
@@ -7,25 +7,42 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-
function isinstalled {
-if rpm -q "$@" >/dev/null 2>&1; then
- true
- else
- echo installing "$1"
- sudo yum install "$1"
- false
+
+source /etc/os-release; echo ${ID/*, /}
+
+if [[ ${ID/*, /} =~ "centos" ]]; then
+ if rpm -q "$@" >/dev/null 2>&1; then
+ true
+ else
+ echo installing "$1"
+ sudo yum install "$1"
+ false
+ fi
+
+elif [[ ${ID/*, /} =~ "ubuntu" ]]; then
+ if dpkg-query -W -f'${Status}' "$@" 2>/dev/null | grep -q "ok installed"; then
+ true
+ else
+ echo installing "$1"
+ sudo apt-get install -y "$1"
+ false
+ fi
+else
+ echo "Distro not supported"
+ exit 0
fi
+
}
if ! isinstalled gnupg2; then
echo "error with install"
- exit 1
+ exit 0
fi
if ! which gsutil;
then echo "error gsutil not installed";
- exit 1
+ exit 0
fi
if gpg2 --list-keys | grep "opnfv-helpdesk@rt.linuxfoundation.org"; then
@@ -33,7 +50,7 @@ if gpg2 --list-keys | grep "opnfv-helpdesk@rt.linuxfoundation.org"; then
else
if [ -z "$NODE_NAME" ];
then echo "Cannot find node name"
- exit 1
+ exit 0
else echo "Importing key for '$NODE_NAME'";
gsutil cp gs://opnfv-signing-keys/"$NODE_NAME"-subkey .
gpg2 --import "$NODE_NAME"-subkey
diff --git a/utils/opnfv-artifacts.py b/utils/opnfv-artifacts.py
index f826d5ce6..876efedba 100644
--- a/utils/opnfv-artifacts.py
+++ b/utils/opnfv-artifacts.py
@@ -130,14 +130,6 @@ def has_logs(gerrit_review):
return False
-def has_md5hash(item):
- """
- If a file has an md5hash available, grab it
- """
- if 'md5Hash' in item:
- return item['md5Hash']
- return False
-
def has_ignorable_extension(filename):
for extension in ignore_extensions:
@@ -158,7 +150,6 @@ def get_results(key):
'items('
'name,'
'mediaLink,'
- 'md5Hash,'
'updated,'
'contentType,'
'size'
@@ -189,7 +180,6 @@ def get_results(key):
else:
href = site['mediaLink']
href_type = 'download'
- md5 = has_md5hash(site)
gerrit = has_gerrit_review(site_split)
logs = False # has_logs(gerrit)
@@ -215,7 +205,6 @@ def get_results(key):
'href': href,
'href_type': href_type,
'proxy_href': proxy,
- 'md5hash': md5,
}
if project in releases:
diff --git a/utils/push-test-logs.sh b/utils/push-test-logs.sh
index 964b41908..d36561d2d 100644
--- a/utils/push-test-logs.sh
+++ b/utils/push-test-logs.sh
@@ -23,7 +23,9 @@ dir_result="${HOME}/opnfv/$project/results/${branch}"
node_list=(\
'lf-pod1' 'lf-pod2' 'intel-pod2' 'intel-pod3' \
'intel-pod5' 'intel-pod6' 'intel-pod7' 'intel-pod8' \
-'ericsson-pod2' 'huawei-pod1' 'huawei-pod2' 'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4')
+'ericsson-pod2' \
+'huawei-pod1' 'huawei-pod2' 'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4')
+
if [[ ! " ${node_list[@]} " =~ " ${testbed} " ]]; then
echo "This is not a CI POD. Aborting pushing the logs to artifacts."
@@ -52,7 +54,7 @@ if [ -d "$dir_result" ]; then
echo "Not possible to push results to artifact: gsutil not installed.";
else
echo "copy result files to artifact $project_artifact"
- gsutil -m cp -r "$dir_result" gs://artifacts.opnfv.org/"$project_artifact"/
+ gsutil -m cp -r "$dir_result" gs://artifacts.opnfv.org/"$project_artifact"/ >/dev/null 2>&1
fi
fi
else
diff --git a/utils/retention_script.sh b/utils/retention_script.sh
index 7e50623ca..b2177930b 100755
--- a/utils/retention_script.sh
+++ b/utils/retention_script.sh
@@ -22,6 +22,7 @@ for x in armband ovsnfv fuel apex compass4nfv
do
echo "Looking at artifacts for project $x"
+ echo "In path gs://artifacts.opnfv.org/$x"
while IFS= read -r artifact; do
@@ -31,6 +32,7 @@ do
if [[ "$daysold" -gt "10" ]]; then
echo "$daysold Days old deleting: $(basename $artifact)"
+ gsutil rm "$artifact"
else
echo "$daysold Days old retaining: $(basename $artifact)"
fi
diff --git a/utils/test/declaration/addtestcase.php b/utils/test/declaration/addtestcase.php
new file mode 100644
index 000000000..0e5bed689
--- /dev/null
+++ b/utils/test/declaration/addtestcase.php
@@ -0,0 +1,40 @@
+<?php
+function sendPostData($url, $post){
+ $ch = curl_init($url);
+ $headers= array('Accept: application/json','Content-Type: application/json');
+ curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
+ curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
+ $result = curl_exec($ch);
+ curl_close($ch);
+ return $result;
+}
+
+if(isset($_REQUEST['url'])){
+ $url=$_REQUEST['url'];
+}
+if(isset($_REQUEST['name'])){
+ $name=$_REQUEST['name'];
+}
+if(isset($_REQUEST['desc'])){
+ $desc=$_REQUEST['desc'];
+}
+if(isset($_REQUEST['project'])){
+
+ $url_send=$_REQUEST['project'];
+ $url_send="http://testresults.opnfv.org:80/test/api/v1/projects/".$url_send."/cases";
+ $str_data=array('url'=>$url,'name'=>$name,'description'=>$desc);
+ $str_data=json_encode($str_data);
+ $res=sendPostData($url_send, $str_data);
+ echo '<div class="alert alert-success"> <strong>Success!</strong> Added New test Case </div>';
+
+}else{
+
+ echo '<div class="alert alert-danger"> <strong>Error!</strong> Failed to Add New test Case </div>';
+
+}
+
+?>
+
diff --git a/utils/test/declaration/index.php b/utils/test/declaration/index.php
new file mode 100644
index 000000000..b2c5d0370
--- /dev/null
+++ b/utils/test/declaration/index.php
@@ -0,0 +1,221 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <title>OPNFV DashBoard</title>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
+ <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
+<script>
+$(function() {
+
+ $('form#new_testcase').on('submit', function(){
+ var selected = $('select#sel_pro2').find("option:selected").val();
+ var uri = $('input#uri').val();
+ var name = $('input#name').val();
+ var desc = $('textarea#desc').val();
+ var new_url="http://testresults.opnfv.org:80/test/api/v1/projects/"+selected+"/cases";
+ $.post("addtestcase.php", {"project":selected,"url":uri,"name":name,"description":desc}, function(result){
+ $("div#result").html(result);
+ });
+ });
+
+});
+
+$(function() {
+
+ $('select#sel1').on('change', function(){
+ var selected = $(this).find("option:selected").val();
+ var new_url="http://testresults.opnfv.org:80/test/api/v1/projects/"+selected+"/cases";
+ //$.post('testcases.php', {project: selected});
+ console.log(selected);
+ $.post("testcases.php", {project: selected}, function(result){
+ $("div#4a").html(result);
+ });
+
+ });
+
+});
+</script>
+<style>
+body {
+ padding : 10px ;
+}
+
+#exTab1 .tab-content {
+ color : black;
+ padding : 5px 15px;
+}
+
+#exTab2 h3 {
+ color : white;
+ background-color: #428bca;
+ padding : 5px 15px;
+}
+
+/* remove border radius for the tab */
+
+#exTab1 .nav-pills > li > a {
+ border-radius: 0;
+}
+
+/* change border radius for the tab , apply corners on top*/
+
+#exTab3 .nav-pills > li > a {
+ border-radius: 4px 4px 0 0 ;
+}
+
+#exTab3 .tab-content {
+ color : white;
+ background-color: #428bca;
+ padding : 5px 15px;
+}
+
+</style>
+</head>
+<body>
+
+<div class="container">
+ <h1>OPNFV DASHBOARD: </h1></div>
+<div id="exTab1" class="container">
+ <ul class="nav nav-pills">
+ <li class="active">
+ <a href="#1a" data-toggle="tab">PODS</a>
+ </li>
+ <li><a href="#2a" data-toggle="tab">PROJECTS</a>
+ </li>
+ <li><a href="#3a" data-toggle="tab">TESTCASES</a>
+ </li>
+ <li><a href="#5a" data-toggle="tab">ADD TESTCASE</a>
+ </li>
+ <li><a href="http://testresults.opnfv.org/kibana_dashboards/" >RESULTS</a>
+ </li>
+ </ul>
+ <div class="tab-content clearfix">
+ <div class="tab-pane active" id="1a">
+ <table class="table table-striped">
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>Pod Name</th>
+ <th>Creation Date</th>
+ <th>Role</th>
+ <th>Mode</th>
+ </tr>
+ </thead>
+ <?php
+ $url = "http://testresults.opnfv.org:80/test/api/v1/pods";
+ $response = file_get_contents($url);
+ $data = json_decode($response);
+ $pods = $data->pods;
+ $i=1;
+ foreach ( $pods as $pod ){
+
+ $column_str="";
+ $column_str="<tr><td>".$i."</td>";
+ $column_str=$column_str."<td>".$pod->name."</td>";
+ $column_str= $column_str."<td>".$pod->creation_date."</td>";
+ $column_str= $column_str."<td>".$pod->role."</td>";
+ $column_str= $column_str."<td>".$pod->mode."</td>";
+ $column_str= $column_str."</tr>";
+ echo $column_str;
+ $i=$i+1;
+ }
+ ?>
+ </table>
+ </div>
+ <div class="tab-pane" id="2a">
+ <table class="table table-striped">
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>Project</th>
+ <th>Creation Date</th>
+ </tr>
+ </thead>
+ <?php
+ $url = "http://testresults.opnfv.org:80/test/api/v1/projects";
+ $response = file_get_contents($url);
+ $data = json_decode($response);
+ $projects=$data->projects;
+ $i=0;
+ foreach ( $projects as $project ){
+
+ $column_str="";
+ $column_str="<tr><td>".$i."</td>";
+ $column_str=$column_str."<td>".$project->name."</td>";
+ $column_str= $column_str."<td>".$project->creation_date."</td>";
+ $column_str= $column_str."</tr>";
+ echo $column_str;
+ $i=$i+1;
+ }
+?>
+ </table>
+ </div>
+ <div class="tab-pane" id="3a">
+<div class="form-group">
+ <label for="sel1">Select list:</label>
+ <select class="form-control" id="sel1">
+<?php
+ $url = "http://testresults.opnfv.org:80/test/api/v1/projects";
+ $response = file_get_contents($url);
+ $data = json_decode($response);
+ $projects=$data->projects;
+ $i=0;
+ $firstvalue=$projects[0]->name;
+ foreach ( $projects as $project ){
+ $column_str="";
+ $column_str="<option>".$project->name."</option>";
+ echo $column_str;
+ }
+
+?>
+</select>
+</div>
+ <div class="tab-pane" id="4a">
+ <?php
+ require "testcases.php";
+ ?>
+ </div>
+ </div>
+ <div class="tab-pane" id="5a">
+ <form role="form" id="new_testcase">
+<div class="form-group">
+ <label for="sel1">Select list:</label>
+ <select class="form-control" id="sel_pro2">
+<?php
+ $url = "http://testresults.opnfv.org:80/test/api/v1/projects";
+ $response = file_get_contents($url);
+ $data = json_decode($response);
+ $projects=$data->projects;
+ $i=0;
+ $firstvalue=$projects[0]->name;
+ foreach ( $projects as $project ){
+ $column_str="";
+ $column_str="<option>".$project->name."</option>";
+ echo $column_str;
+ }
+?>
+</select>
+</div>
+<div class="form-group"> <!-- Name field -->
+ <label class="control-label " for="name">TestCase URI</label>
+ <input class="form-control" id="uri" name="uri" type="text"/>
+ </div>
+<div class="form-group"> <!-- Name field -->
+ <label class="control-label " for="name">TestCase Name</label>
+ <input class="form-control" id="name" name="name" type="text"/>
+ </div>
+<div class="form-group"> <!-- Name field -->
+ <label class="control-label " for="name">Description</label>
+ <textarea class="form-control" rows="5" id="desc"></textarea>
+ </div>
+ <button type="submit" class="btn btn-default">Submit</button>
+</form>
+ </div>
+<div class="container" id="result"></div>
+ </div>
+</div>
+</body>
+</html>
diff --git a/utils/test/declaration/testcases.php b/utils/test/declaration/testcases.php
new file mode 100644
index 000000000..20645807e
--- /dev/null
+++ b/utils/test/declaration/testcases.php
@@ -0,0 +1,36 @@
+<?php
+ if(isset($_REQUEST['project'])){
+ $selected=$_REQUEST['project'];
+ }
+ else{
+ $url = "http://testresults.opnfv.org:80/test/api/v1/projects";
+ $response = file_get_contents($url);
+ $data = json_decode($response);
+ $projects=$data->projects;
+ $selected=$projects[0]->name;
+ }
+ $new_url="http://testresults.opnfv.org:80/test/api/v1/projects/".$selected."/cases";
+ $response = file_get_contents($new_url);
+ $data = json_decode($response);
+ $testcases=$data->testcases;
+ $i=0;
+ $column_str="";
+ $column_str=$column_str."<table class=\"table table-striped\"><tr>";
+ $column_str=$column_str."<th>#</th><th>Test Case Name</th>";
+ $column_str=$column_str."<th>Creation Date</th>";
+ $column_str=$column_str."<th>Description</th></tr>";
+ foreach ( $testcases as $testcase ){
+ $i=$i+1;
+ $column_str=$column_str."<tr>";
+ $column_str=$column_str."<td>".$i."</td>";
+ $column_str=$column_str."<td>".$testcase->name."</td>";
+ $column_str=$column_str."<td>".$testcase->creation_date."</td>";
+ $column_str=$column_str."<td>".$testcase->description."</td>";
+ $column_str=$column_str."</tr>";
+
+ }
+ $column_str=$column_str."</table>";
+ echo $column_str;
+
+?>
+