diff options
-rw-r--r-- | INFO | 1 | ||||
-rw-r--r-- | jjb/armband/armband-ci-jobs.yml | 18 | ||||
-rwxr-xr-x | jjb/dovetail/dovetail-run.sh | 3 | ||||
-rwxr-xr-x | jjb/fuel/fuel-deploy.sh | 53 | ||||
-rw-r--r-- | jjb/infra/bifrost-verify-jobs.yml | 2 | ||||
-rwxr-xr-x | jjb/infra/bifrost-verify.sh | 4 | ||||
-rw-r--r-- | jjb/opnfv/opnfv-docker.sh | 19 | ||||
-rw-r--r-- | jjb/opnfv/opnfv-utils.yml | 40 | ||||
-rw-r--r-- | prototypes/bifrost/playbooks/roles/bifrost-prepare-for-test-dynamic/defaults/main.yml | 4 | ||||
-rw-r--r-- | prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml | 11 | ||||
-rwxr-xr-x | prototypes/bifrost/scripts/test-bifrost-deployment.sh | 4 | ||||
-rw-r--r-- | prototypes/puppet-infracloud/hiera/common.yaml | 94 | ||||
-rw-r--r-- | prototypes/puppet-infracloud/manifests/site.pp | 14 | ||||
-rwxr-xr-x | utils/jenkins-jnlp-connect.sh | 1 | ||||
-rw-r--r-- | utils/test/reporting/css/default.css | 6 | ||||
-rw-r--r-- | utils/test/reporting/js/trend.js | 7 |
16 files changed, 186 insertions, 95 deletions
@@ -20,6 +20,7 @@ Jose Lausuch (Ericsson, jose.lausuch@ericsson.com) Ryota Mibu (NEC, r-mibu@cq.jp.nec.com) Mei Mei (Huawei, meimei@huawei.com) Trevor Bramwell (Linux Foundation, tbramwell@linuxfoundation.org) +Serena Feng (ZTE, feng.xiaowei@zte.com.cn) Link to TSC approval of the project: http://ircbot.wl.linuxfoundation.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-07-14-14.00.html Link to TSC voting for removal of Victor Laza as committer: http://meetbot.opnfv.org/meetings/opnfv-meeting/2016/opnfv-meeting.2016-02-16-14.59.html diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index f6b48656a..55ab7fc34 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -228,7 +228,7 @@ - trigger: name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 0 * * 1' + - timed: '0 0 * * 1,6' - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger' triggers: @@ -236,7 +236,7 @@ - trigger: name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 0 * * 3' + - timed: '0 0 * * 3,7' - trigger: name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger' triggers: @@ -251,23 +251,23 @@ - trigger: name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-colorado-trigger' triggers: - - timed: '0 4 * * *' + - timed: '0 8 * * 1,4,6' - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-colorado-trigger' triggers: - - timed: '0 8 * * *' + - timed: '0 16 * * 2,5' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger' + name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger' triggers: - - timed: '0 12 * * *' + - timed: '0 8 * * 1,3,6' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger' + name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger' triggers: - - timed: '0 16 * * *' + - timed: '0 16 * * 2,4,7' - trigger: name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger' triggers: - - timed: '0 20 * * *' + - timed: '0 8 * * 3,5,7' #--------------------------------------------------------------- # Enea Armband CI Virtual Triggers running against master branch #--------------------------------------------------------------- diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh index 6453425ce..3f7a47bee 100755 --- a/jjb/dovetail/dovetail-run.sh +++ b/jjb/dovetail/dovetail-run.sh @@ -48,5 +48,8 @@ sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/dovetail:${DOCKER_T echo "Dovetail: store results..." sudo cp -r /home/opnfv/dovetail/results ./ +#To make sure the file owner is jenkins, for the copied results files in the above line +#if not, there will be error when next time to wipe workspace +sudo chown -R jenkins:jenkins ${WORKSPACE}/results echo "Dovetail: done!" diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index 2104d9090..ef47ff0e3 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -104,58 +104,5 @@ if [[ $exit_code -ne 0 ]]; then exit $exit_code else echo "Deployment is successful!" -fi - -# Quick and dirty fix for SFC scenatio - will be fixed properly post-release -if [[ ! "$DEPLOY_SCENARIO" =~ "os-odl_l2-sfc" ]]; then exit 0 fi - -echo -echo "SFC Scenario is deployed" -echo - -# The stuff below is here temporarily and will be fixed once the release is out -# The stuff below is here temporarily and will be fixed once the release is out -export FUEL_MASTER_IP=10.20.0.2 -export TACKER_SCRIPT_URL="https://git.opnfv.org/cgit/fuel/plain/prototypes/sfc_tacker/poc.tacker-up.sh?h=${GIT_BRANCH#*/}" -export CONTROLLER_NODE_IP=$(sshpass -pr00tme /usr/bin/ssh -o UserKnownHostsFile=/dev/null \ - -o StrictHostKeyChecking=no root@$FUEL_MASTER_IP 'fuel node list' | \ - grep controller | head -1 | cut -d'|' -f5) - -# we can't do much if we do not have the controller IP -if [[ ! "$CONTROLLER_NODE_IP" =~ "10.20.0" ]]; then - echo "Unable to retrieve controller IP" - exit 1 -fi - -echo -echo "Copying and executing poc.tacker-up.sh script on controller node $CONTROLLER_NODE_IP" -echo - -expect << END -spawn /usr/bin/ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root $::env(FUEL_MASTER_IP) -expect { - -re ".*sword.*" { - exp_send "r00tme\r" - } -} -expect "# " -send "/usr/bin/ssh -l root $::env(CONTROLLER_NODE_IP)\r" -expect "# " -send "PS1=\"tacker_poc> \"\r" -expect -re {tacker_poc> $} -send "sudo apt-get install -y git\r" -expect -re {tacker_poc> $} -sleep 10 -send "/bin/mkdir -p /root/sfc-poc && cd /root/sfc-poc\r" -expect -re {tacker_poc> $} -send "git clone https://gerrit.opnfv.org/gerrit/fuel && cd fuel\r" -expect -re {tacker_poc> $} -send "/bin/bash /root/sfc-poc/fuel/prototypes/sfc_tacker/poc.tacker-up.sh\r" -expect -re {tacker_poc> $} -send "exit\r" -expect "Connection to $::env(CONTROLLER_NODE_IP) closed. " -send "exit\r" -expect "Connection to $::env(FUEL_MASTER_IP) closed. " -END diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml index b117b32ae..17796a832 100644 --- a/jjb/infra/bifrost-verify-jobs.yml +++ b/jjb/infra/bifrost-verify-jobs.yml @@ -173,4 +173,6 @@ file-paths: - compare-type: ANT pattern: 'prototypes/bifrost/**' + - compare-type: ANT + pattern: 'jjb/infra/**' readable-message: true diff --git a/jjb/infra/bifrost-verify.sh b/jjb/infra/bifrost-verify.sh index 759b50b8e..f7920a36f 100755 --- a/jjb/infra/bifrost-verify.sh +++ b/jjb/infra/bifrost-verify.sh @@ -18,6 +18,7 @@ function fix_ownership() { echo "Not running as part of Jenkins. Handle the logs manually." else sudo chown -R jenkins:jenkins $WORKSPACE + sudo chown -R jenkins:jenkins ${HOME}/.cache fi } @@ -30,6 +31,9 @@ fi # remove previously cloned repos sudo /bin/rm -rf /opt/bifrost /opt/puppet-infracloud /opt/stack /opt/releng +# Fix up permissions +fix_ownership + # clone all the repos first and checkout the patch afterwards sudo git clone https://git.openstack.org/openstack/bifrost /opt/bifrost sudo git clone https://git.openstack.org/openstack-infra/puppet-infracloud /opt/puppet-infracloud diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/opnfv/opnfv-docker.sh index f56de7f60..e637f7b32 100644 --- a/jjb/opnfv/opnfv-docker.sh +++ b/jjb/opnfv/opnfv-docker.sh @@ -67,22 +67,9 @@ fi # cd to directory where Dockerfile is located -if [[ "$DOCKER_REPO_NAME" == "opnfv/bottlenecks" ]]; then - cd $WORKSPACE/ci/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/cperf" ]]; then - cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/dovetail" ]]; then - cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/functest" ]]; then - cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/qtip" ]]; then - cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/storperf" ]]; then - cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/yardstick" ]]; then - cd $WORKSPACE/tests/ci/docker/yardstick-ci -else - echo "ERROR: DOCKER_REPO_NAME parameter not valid: $DOCKER_REPO_NAME" +cd $WORKSPACE/docker +if [ ! -f ./Dockerfile ]; then + echo "ERROR: Dockerfile not found." exit 1 fi diff --git a/jjb/opnfv/opnfv-utils.yml b/jjb/opnfv/opnfv-utils.yml new file mode 100644 index 000000000..94a99d451 --- /dev/null +++ b/jjb/opnfv/opnfv-utils.yml @@ -0,0 +1,40 @@ +- project: + + name: opnfv-utils + + jobs: + - 'prune-docker-images' +######################## +# job templates +######################## +- job-template: + name: 'prune-docker-images' + + disabled: false + + concurrent: true + + parameters: + - node: + name: SLAVE_NAME + description: Slaves to prune docker images + default-slaves: + - arm-build1 + - arm-build2 + - ericsson-build4 + - ericsson-build5 + - lf-build2 + allowed-multiselect: true + ignore-offline-nodes: true + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - shell: | + #!/bin/bash + + (docker ps -q; docker ps -aq) | sort | uniq -u | xargs --no-run-if-empty docker rm + docker images -f dangling=true -q | xargs --no-run-if-empty docker rmi + + triggers: + - timed: '@midnight' diff --git a/prototypes/bifrost/playbooks/roles/bifrost-prepare-for-test-dynamic/defaults/main.yml b/prototypes/bifrost/playbooks/roles/bifrost-prepare-for-test-dynamic/defaults/main.yml deleted file mode 100644 index 69eb787e7..000000000 --- a/prototypes/bifrost/playbooks/roles/bifrost-prepare-for-test-dynamic/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -node_ssh_pause: 10 -wait_timeout: 1900 -multinode_testing: false diff --git a/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml b/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml index b4dffdccf..d650f1056 100644 --- a/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml +++ b/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml @@ -67,13 +67,18 @@ - role: ironic-enroll-dynamic - { role: ironic-inspect-node, when: inspect_nodes | default('false') | bool == true } - hosts: baremetal + name: "Create configuration drive files" + become: no + connection: local + roles: + - role: bifrost-configdrives-dynamic +- hosts: baremetal vars: multinode_testing: "{{ inventory_dhcp | bool == true }}" - name: "Create configuration drive files and deploy machines." + name: "Deploy machines." become: no connection: local + serial: 1 roles: - - role: bifrost-configdrives-dynamic - role: bifrost-deploy-nodes-dynamic - role: bifrost-prepare-for-test-dynamic - serial: 1 diff --git a/prototypes/bifrost/scripts/test-bifrost-deployment.sh b/prototypes/bifrost/scripts/test-bifrost-deployment.sh index fb49afc42..773697efe 100755 --- a/prototypes/bifrost/scripts/test-bifrost-deployment.sh +++ b/prototypes/bifrost/scripts/test-bifrost-deployment.sh @@ -18,6 +18,7 @@ ENABLE_VENV="false" USE_DHCP="false" USE_VENV="false" BUILD_IMAGE=true +PROVISION_WAIT_TIMEOUT=${PROVISION_WAIT_TIMEOUT:-2400} # Set defaults for ansible command-line options to drive the different # tests. @@ -114,7 +115,8 @@ ${ANSIBLE} -vvvv \ -e download_ipa=${DOWNLOAD_IPA} \ -e create_ipa_image=${CREATE_IPA_IMAGE} \ -e write_interfaces_file=${WRITE_INTERFACES_FILE} \ - -e ipv4_gateway=192.168.122.1 + -e ipv4_gateway=192.168.122.1 \ + -e wait_timeout=${PROVISION_WAIT_TIMEOUT} EXITCODE=$? if [ $EXITCODE != 0 ]; then diff --git a/prototypes/puppet-infracloud/hiera/common.yaml b/prototypes/puppet-infracloud/hiera/common.yaml index 1fcde2f75..6096b9c83 100644 --- a/prototypes/puppet-infracloud/hiera/common.yaml +++ b/prototypes/puppet-infracloud/hiera/common.yaml @@ -76,5 +76,95 @@ hosts: compute00.opnfvlocal: ip: 192.168.122.4 -# br-eth0 for debian, br_ens3 for RHEL -bridge_name: br-eth0 +# settings for bifrost +bridge_name: br_opnfv +ironic_db_password: pass +bifrost_mysql_password: pass +bifrost_ssh_private_key: | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAvwr2LbfJQuKZDOQse+DQHX84c9LCHvQfy0pu15JkiLM5dUtx + hLr/5fxSzblubS4WkNZVsGTtUp51f8yoQyltqquGlVfUf0GO+PCLaRp0arhli0Rl + sAGatI12amnrVap82jINiKQRO+UnF97z2hiB35Zxko4jSaPOOiL48DEKowZHL2Ja + jjUt6dXcaNotXNaKZpcxz92gdZhFOPU8BrJ/mI9k9u6QI/4qLG/WzW4frHLigA1t + OrZ3Nnu3tloWNsS1lh71KRfEv46VD8tCAZfXqJtjdH4Z4AUO++CLF/K4zXhIoFqU + Wf8aS64YzoaAfnJ+jUwKs92dVjuFtbEk+t2YLQIDAQABAoIBAQCAr++YaD6oUV9r + caANaiiGVhY+3u9oTmXEWMVFbRVPh/riaglzsUuDLm7QqWIbJXqJ4fcitTmv95GK + nt+RLizzVEt5+gnoFs8qHU6rY+ibos6z+0TMRKhjiw8DK4oc0JT9nc3EB1CcmgW1 + bLeyZ+PEKuEiKaDXkAHw43HwyfgyS3Lc90TSaLj3P7egsBuhx1Yy+wgyiPQ/bF0b + OBLHHK+nwYLGAq25n/+zA7XAndc2OQd4KzUJcvjyND+IMYnzEbeFH36UcFqbvgGu + nR55yIrCxsxcJhhT2slMNtg/xCmo3Jzz1kNBtwbNBik4/5Lkckny0xhQl+h7vz9U + +cKjwfK5AoGBAPSy/JHMeQ5/rzbA5LAZhVa/Yc4B5datkwLNg6mh4CzMabJs8AKd + de05XB/Nq6Hfp8Aa7zLt2GIb3iqF6w/y+j8YAXS2KQD8/HDs2/9Oxr512kfssk5D + dcpTqeIFetzM9pqnctVXBGlbz0QLeL+lT3kXY00+CBm6LjEv8dsPxZr3AoGBAMfd + nDnTjUVZ+sRpTBDM3MhKLMETxNWNDaozL+SgpYQwtKlSTfQVdFcM66a8qCFjQFsc + /6AjL0bjCA5u859IoQ4ValD0vgkyLHdEN0P1Grf3MK8kjOW1A1s1i2FY6U0z9AM2 + zsUCA9bB5A9wwxwofoa8VkaDpVSMITbakVoNxJj7AoGAImcft2fmBTHScoJAJLoR + 0xZpK8t8gug4aQZ34luN5v5+RcWnINb+g3GzEA2cec+2B/5BbwmdiH2eiJ/3YnCo + 2kIHwl7x+N+Ypk/GxmhO7Owo2j/e+b3mS6HjmpFmqrBuY2PzcyceyalMxKZQPbGC + MOYm4e88uFFCuUuiV0gqYhUCgYBmSFhCE6yxeCnoSEbgNicq7SLYMIjEDOqYVpfE + 9h2ed9qM6IzyQ+SFBBy4+MVGSOfPeRis2DTCnz8pO8i7lEyvy2/cPFPgmue8pZFu + 2smwqfUlPJxKlgdArzdEO18x3kubNXo9whk614EiEcAX8fVGeK3iak665Pe+fb5z + Cqa47wKBgDp3/dgtMneoePKNefy4a9vp5y4XKviC6GOrr0xpEM2ptZ+I7mUJcACN + KbaW0dPgtS1cApelmF73IAJRYbKMW7lQzql61IoGw4pGTIMPKerqRs/hTWYPZiSG + QHWf3iTV5uQr6cSRoUgkAUHVw2KTGad41RAhDp352iakZuNNBFga + -----END RSA PRIVATE KEY----- +bifrost_ssh_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/CvYtt8lC4pkM5Cx74NAdfzhz0sIe9B/LSm7XkmSIszl1S3GEuv/l/FLNuW5tLhaQ1lWwZO1SnnV/zKhDKW2qq4aVV9R/QY748ItpGnRquGWLRGWwAZq0jXZqaetVqnzaMg2IpBE75ScX3vPaGIHflnGSjiNJo846IvjwMQqjBkcvYlqONS3p1dxo2i1c1opmlzHP3aB1mEU49TwGsn+Yj2T27pAj/iosb9bNbh+scuKADW06tnc2e7e2WhY2xLWWHvUpF8S/jpUPy0IBl9eom2N0fhngBQ774IsX8rjNeEigWpRZ/xpLrhjOhoB+cn6NTAqz3Z1WO4W1sST63Zgt yolanda@trasto +infracloud_vlan: 415 +infracloud_gateway_ip: 172.30.13.1 +default_network_interface: eno3 +dhcp_static_mask: 255.255.255.128 +dchp_pool_start: 10.20.0.130 +dhcp_pool_end: 10.20.0.254 +network_interface: eno1 +ipv4_nameserver: 8.8.8.8 +ipv4_subnet_mask: 255.255.255.0 +ipv4_gateway: 172.30.13.1 +ironic_inventory: + controller00.opnfvlocal: + driver: agent_ipmitool + driver_info: + power: + ipmi_address: 172.30.8.90 + ipmi_username: admin + provisioning_ipv4_address: 10.20.0.130 + ipv4_address: 172.30.13.90 + ansible_ssh_host: 172.30.13.90 + ipv4_gateway: 172.30.13.1 + ipv4_interface_mac: 00:1e:67:f9:9b:35 + name: controller00.opnfvlocal + nics: + - mac: a4:bf:01:01:a9:fc + - mac: 00:1e:67:f6:9b:35 + properties: + cpu_arch: x86_64 + cpus: '44' + disk_size: '1800' + ram: '65536' + uuid: 00a22849-2442-e511-906e-0012795d96dd + compute00.opnfvlocal: + driver: agent_ipmitool + driver_info: + power: + ipmi_address: 172.30.8.91 + ipmi_username: admin + provisioning_ipv4_address: 10.20.0.131 + ipv4_address: 172.30.13.91 + ansible_ssh_host: 172.30.13.91 + ipv4_gateway: 172.30.13.1 + ipv4_subnet_mask: 255.255.255.0 + name: compute00.opnfvlocal + nics: + - mac: a4:bf:01:01:a9:d4 + - mac: 00:1e:67:f6:9b:37 + properties: + cpu_arch: x86_64 + cpus: '44' + disk_size: '1800' + ram: '65536' + uuid: 0051e926-f242-e511-906e-0012795d96dd +ipmi_passwords: {'172.30.8.90': 'octopus', '172.30.8.91': 'octopus'} +neutron_subnet_cidr: '192.168.122.0/24' +neutron_subnet_gateway: '192.168.122.1' +neutron_subnet_allocation_pools: + - 'start=192.168.122.50,end=192.168.122.254' +virt_type: 'qemu' diff --git a/prototypes/puppet-infracloud/manifests/site.pp b/prototypes/puppet-infracloud/manifests/site.pp index 31c45767f..f09bfe2e9 100644 --- a/prototypes/puppet-infracloud/manifests/site.pp +++ b/prototypes/puppet-infracloud/manifests/site.pp @@ -34,11 +34,9 @@ node 'controller00.opnfvlocal' { ssl_cert_file_contents => hiera('ssl_cert_file_contents'), br_name => hiera('bridge_name'), controller_public_address => $::fqdn, - neutron_subnet_cidr => '192.168.122.0/24', - neutron_subnet_gateway => '192.168.122.1', - neutron_subnet_allocation_pools => [ - 'start=192.168.122.50,end=192.168.122.254', - ], + neutron_subnet_cidr => hiera('neutron_subnet_cidr'), + neutron_subnet_gateway => hiera('neutron_subnet_gateway'), + neutron_subnet_allocation_pools => hiera('neutron_subnet_allocation_pools'), opnfv_password => hiera('opnfv_password'), } } @@ -61,7 +59,7 @@ node 'compute00.opnfvlocal' { ssl_key_file_contents => hiera('ssl_key_file_contents'), br_name => hiera('bridge_name'), controller_public_address => 'controller00.opnfvlocal', - virt_type => 'qemu', + virt_type => hiera('virt_type'), } } @@ -73,7 +71,7 @@ node 'jumphost.opnfvlocal' { } } -node 'baremetal.opnfvlocal' { +node 'baremetal.opnfvlocal', 'lfpod5-jumpserver' { class { '::opnfv::server': iptables_public_udp_ports => [67, 69], sysadmins => hiera('sysadmins', []), @@ -91,10 +89,12 @@ node 'baremetal.opnfvlocal' { vlan => hiera('infracloud_vlan'), gateway_ip => hiera('infracloud_gateway_ip'), default_network_interface => hiera('default_network_interface'), + dhcp_static_mask => hiera('dhcp_static_mask'), dhcp_pool_start => hiera('dhcp_pool_start'), dhcp_pool_end => hiera('dhcp_pool_end'), network_interface => hiera('network_interface'), ipv4_nameserver => hiera('ipv4_nameserver'), ipv4_subnet_mask => hiera('ipv4_subnet_mask'), + bridge_name => hiera('bridge_name'), } } diff --git a/utils/jenkins-jnlp-connect.sh b/utils/jenkins-jnlp-connect.sh index 4b710cab2..9ef4298ef 100755 --- a/utils/jenkins-jnlp-connect.sh +++ b/utils/jenkins-jnlp-connect.sh @@ -151,6 +151,7 @@ fi usage() { cat << EOF +**this file must be copied to the jenkins home directory to work** jenkins-jnlp-connect.sh configures monit to keep slave connection up Checks for new versions of slave.jar run as root to create pid directory and create monit config. diff --git a/utils/test/reporting/css/default.css b/utils/test/reporting/css/default.css index 7da5e277a..a9fa69db7 100644 --- a/utils/test/reporting/css/default.css +++ b/utils/test/reporting/css/default.css @@ -102,3 +102,9 @@ h2 { stroke: #000; shape-rendering: crispEdges; } + +.dot { + fill: steelblue; + stroke: steelblue; + stroke-width: 1.5px; +} diff --git a/utils/test/reporting/js/trend.js b/utils/test/reporting/js/trend.js index ec48e75ef..f24213382 100644 --- a/utils/test/reporting/js/trend.js +++ b/utils/test/reporting/js/trend.js @@ -63,6 +63,13 @@ var trend = function(container, trend_data) { .attr("d", valueline(trend_data)) .attr("stroke", "steelblue") .attr("fill", "none"); + + trend_svg.selectAll(".dot") + .data(trend_data) + .enter().append("circle") + .attr("r", 2.5) + .attr("cx", function(d) { return trend_x(d.date); }) + .attr("cy", function(d) { return trend_y(d.score); }); return trend; } |