From 9caf12471e8b79f17f5cf97606680510ae53054c Mon Sep 17 00:00:00 2001 From: Jonathan Hasenburg Date: Mon, 18 Jan 2021 16:02:04 +0000 Subject: [PATCH 1/7] Update dependencies --- node-manager/playbooks/0102_agent.yml | 15 +++++++++++++++ node-manager/requirements.txt | 5 ++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/node-manager/playbooks/0102_agent.yml b/node-manager/playbooks/0102_agent.yml index b57ccfb..c691ae7 100644 --- a/node-manager/playbooks/0102_agent.yml +++ b/node-manager/playbooks/0102_agent.yml @@ -14,7 +14,9 @@ - iproute-tc - python3 - python3-pip + - python-pip - rsync + - docker # to allow non-root usage to use tcconfig for easier manual debugging - name: Allow TC Usage @@ -41,6 +43,19 @@ state: started become: yes + - name: Create Docker Group for non Sudo Access + shell: groupadd docker + become: yes + ignore_errors: yes + + - name: Add User to Docker Group + shell: usermod -aG docker $USER + become: yes + + - name: Reload Group + shell: newgrp docker + become: yes + - name: Copy Agent synchronize: src: "{{ playbook_dir }}/../../node-agent" diff --git a/node-manager/requirements.txt b/node-manager/requirements.txt index 09877e9..d9a7488 100644 --- a/node-manager/requirements.txt +++ b/node-manager/requirements.txt @@ -1,3 +1,2 @@ -ansible==2.9.6 -boto3==1.12.39 -boto==2.49.0 +ansible==2.10.5 +boto3==1.16.56 \ No newline at end of file From 0f3d274e4115d72f490d27da73241b83aea63694 Mon Sep 17 00:00:00 2001 From: Jonathan Hasenburg Date: Mon, 18 Jan 2021 18:26:46 +0000 Subject: [PATCH 2/7] add boto --- node-manager/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/node-manager/requirements.txt b/node-manager/requirements.txt index d9a7488..a171a24 100644 --- a/node-manager/requirements.txt +++ b/node-manager/requirements.txt @@ -1,2 +1,3 @@ ansible==2.10.5 -boto3==1.16.56 \ No newline at end of file +boto3==1.16.56 +boto==2.49.0 \ No newline at end of file From a0c860177ab6357b5b79624c6d08e231c4cf41b1 Mon Sep 17 00:00:00 2001 From: Jonathan Hasenburg Date: Mon, 18 Jan 2021 20:27:52 +0000 Subject: [PATCH 3/7] Continue migration to ubuntu --- README.md | 1 - .../lib/controllers/networkController.js | 2 +- node-manager/README.md | 1 + node-manager/lib/data/multi-file.js | 2 +- node-manager/playbooks/0102_agent.yml | 27 +- .../playbooks/scripts/install_docker.sh | 502 ++++++++++++++++++ .../playbooks/scripts/install_node.sh | 6 +- 7 files changed, 520 insertions(+), 21 deletions(-) create mode 100644 node-manager/playbooks/scripts/install_docker.sh diff --git a/README.md b/README.md index a2c1d7d..1c5dd76 100644 --- a/README.md +++ b/README.md @@ -80,4 +80,3 @@ Supports advanced functionality to improve the user experience. - Does not use ec2 inventory - Uses node and npm to manage phases - Network characteristics can be changed at runtime and on a per-container level -- No prerequisites for ami, just needs to be Amazon Linux 2 diff --git a/node-agent/lib/controllers/networkController.js b/node-agent/lib/controllers/networkController.js index 7558740..73f9f06 100644 --- a/node-agent/lib/controllers/networkController.js +++ b/node-agent/lib/controllers/networkController.js @@ -32,7 +32,7 @@ module.exports = function(app) { res.status(500).send({"message": "Could not update network as tcconfig is not installed", "error": result}) } else { logger.error("Unexpected error:") - logger.error(error) + logger.error(result) res.status(500).send({"message": "Could not update network, there was an unexpected error", "error": result.stack}) } } diff --git a/node-manager/README.md b/node-manager/README.md index b6e6307..1524dfd 100644 --- a/node-manager/README.md +++ b/node-manager/README.md @@ -7,6 +7,7 @@ The Node Manager is configured by four configuration files that should be placed - `orchestration.jsonc`: defines the orchestration schedule You can find documentation on how to structure these configuration files and available capabilities in the two provided examples. +Note that MockFog has only been tested with AMIs based on Ubuntu 20.04; also, there needs to be an ubuntu user. The [CRExplorer example](./run-example-crexplorer) will result in the deployment of the [CRExplorer](https://github.com/MoeweX/crexplorer) container on two machines out of three emulated servers. The orchestration schedule lets CRExplorer explore available resources and network characteristics. The [Smart Factory example](./run-example-smartfactory) will result in the deployment of a [Smart Factory Application](https://github.com/MoeweX/smart-factory-fog-example) on multiple machines. The orchestration schedule comprises infrastructure and workload generation changes. diff --git a/node-manager/lib/data/multi-file.js b/node-manager/lib/data/multi-file.js index bb93613..ad79195 100644 --- a/node-manager/lib/data/multi-file.js +++ b/node-manager/lib/data/multi-file.js @@ -66,7 +66,7 @@ function getHosts(machineMeta, container, deployment) { const hostsDataObject = machineMeta.hostsDataObject return `[all:vars] -ansible_ssh_user=ec2-user +ansible_ssh_user=ubuntu ansible_ssh_common_args='-o StrictHostKeyChecking=no' # --------------------------------------- diff --git a/node-manager/playbooks/0102_agent.yml b/node-manager/playbooks/0102_agent.yml index c691ae7..a1c282f 100644 --- a/node-manager/playbooks/0102_agent.yml +++ b/node-manager/playbooks/0102_agent.yml @@ -4,19 +4,19 @@ hosts: machines tasks: - - name: Install Yum Packages - yum: + - name: Install Packages + apt: name: "{{ packages }}" state: present + update_cache: yes become: yes vars: packages: - - iproute-tc + - iproute2 - python3 - python3-pip - - python-pip - rsync - - docker + - chrony # to allow non-root usage to use tcconfig for easier manual debugging - name: Allow TC Usage @@ -25,13 +25,14 @@ - name: Install Node script: scripts/install_node.sh - args: - creates: ~/.nvm/nvm.sh - name: Install TCConfig shell: pip3 install "tcconfig==0.25.2" become: yes + - name: Install Docker + script: scripts/install_docker.sh + - name: Install Docker SDK pip: name: docker @@ -49,21 +50,19 @@ ignore_errors: yes - name: Add User to Docker Group - shell: usermod -aG docker $USER - become: yes - - - name: Reload Group - shell: newgrp docker + user: + name: ubuntu + group: docker become: yes - name: Copy Agent synchronize: src: "{{ playbook_dir }}/../../node-agent" - dest: "/home/ec2-user/" + dest: "~/" - name: Install Agent npm: - path: "/home/ec2-user/node-agent" + path: "~/node-agent" state: present - name: Allow Hard Time Sync diff --git a/node-manager/playbooks/scripts/install_docker.sh b/node-manager/playbooks/scripts/install_docker.sh new file mode 100644 index 0000000..6397546 --- /dev/null +++ b/node-manager/playbooks/scripts/install_docker.sh @@ -0,0 +1,502 @@ +#!/bin/sh +set -e +# Docker CE for Linux installation script +# +# See https://docs.docker.com/install/ for the installation steps. +# +# This script is meant for quick & easy install via: +# $ curl -fsSL https://get.docker.com -o get-docker.sh +# $ sh get-docker.sh +# +# For test builds (ie. release candidates): +# $ curl -fsSL https://test.docker.com -o test-docker.sh +# $ sh test-docker.sh +# +# NOTE: Make sure to verify the contents of the script +# you downloaded matches the contents of install.sh +# located at https://github.com/docker/docker-install +# before executing. +# +# Git commit from https://github.com/docker/docker-install when +# the script was uploaded (Should only be modified by upload job): +SCRIPT_COMMIT_SHA="3d8fe77c2c46c5b7571f94b42793905e5b3e42e4" + + +# The channel to install from: +# * nightly +# * test +# * stable +# * edge (deprecated) +DEFAULT_CHANNEL_VALUE="stable" +if [ -z "$CHANNEL" ]; then + CHANNEL=$DEFAULT_CHANNEL_VALUE +fi + +DEFAULT_DOWNLOAD_URL="https://download.docker.com" +if [ -z "$DOWNLOAD_URL" ]; then + DOWNLOAD_URL=$DEFAULT_DOWNLOAD_URL +fi + +DEFAULT_REPO_FILE="docker-ce.repo" +if [ -z "$REPO_FILE" ]; then + REPO_FILE="$DEFAULT_REPO_FILE" +fi + +mirror='' +DRY_RUN=${DRY_RUN:-} +while [ $# -gt 0 ]; do + case "$1" in + --mirror) + mirror="$2" + shift + ;; + --dry-run) + DRY_RUN=1 + ;; + --*) + echo "Illegal option $1" + ;; + esac + shift $(( $# > 0 ? 1 : 0 )) +done + +case "$mirror" in + Aliyun) + DOWNLOAD_URL="https://mirrors.aliyun.com/docker-ce" + ;; + AzureChinaCloud) + DOWNLOAD_URL="https://mirror.azure.cn/docker-ce" + ;; +esac + +command_exists() { + command -v "$@" > /dev/null 2>&1 +} + +is_dry_run() { + if [ -z "$DRY_RUN" ]; then + return 1 + else + return 0 + fi +} + +is_wsl() { + case "$(uname -r)" in + *microsoft* ) true ;; # WSL 2 + *Microsoft* ) true ;; # WSL 1 + * ) false;; + esac +} + +is_darwin() { + case "$(uname -s)" in + *darwin* ) true ;; + *Darwin* ) true ;; + * ) false;; + esac +} + +deprecation_notice() { + distro=$1 + date=$2 + echo + echo "DEPRECATION WARNING:" + echo " The distribution, $distro, will no longer be supported in this script as of $date." + echo " If you feel this is a mistake please submit an issue at https://github.com/docker/docker-install/issues/new" + echo + sleep 10 +} + +get_distribution() { + lsb_dist="" + # Every system that we officially support has /etc/os-release + if [ -r /etc/os-release ]; then + lsb_dist="$(. /etc/os-release && echo "$ID")" + fi + # Returning an empty string here should be alright since the + # case statements don't act unless you provide an actual value + echo "$lsb_dist" +} + +add_debian_backport_repo() { + debian_version="$1" + backports="deb http://ftp.debian.org/debian $debian_version-backports main" + if ! grep -Fxq "$backports" /etc/apt/sources.list; then + (set -x; $sh_c "echo \"$backports\" >> /etc/apt/sources.list") + fi +} + +echo_docker_as_nonroot() { + if is_dry_run; then + return + fi + if command_exists docker && [ -e /var/run/docker.sock ]; then + ( + set -x + $sh_c 'docker version' + ) || true + fi + your_user=your-user + [ "$user" != 'root' ] && your_user="$user" + # intentionally mixed spaces and tabs here -- tabs are stripped by "<<-EOF", spaces are kept in the output + echo "If you would like to use Docker as a non-root user, you should now consider" + echo "adding your user to the \"docker\" group with something like:" + echo + echo " sudo usermod -aG docker $your_user" + echo + echo "Remember that you will have to log out and back in for this to take effect!" + echo + echo "WARNING: Adding a user to the \"docker\" group will grant the ability to run" + echo " containers which can be used to obtain root privileges on the" + echo " docker host." + echo " Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface" + echo " for more information." + +} + +# Check if this is a forked Linux distro +check_forked() { + + # Check for lsb_release command existence, it usually exists in forked distros + if command_exists lsb_release; then + # Check if the `-u` option is supported + set +e + lsb_release -a -u > /dev/null 2>&1 + lsb_release_exit_code=$? + set -e + + # Check if the command has exited successfully, it means we're in a forked distro + if [ "$lsb_release_exit_code" = "0" ]; then + # Print info about current distro + cat <<-EOF + You're using '$lsb_dist' version '$dist_version'. + EOF + + # Get the upstream release info + lsb_dist=$(lsb_release -a -u 2>&1 | tr '[:upper:]' '[:lower:]' | grep -E 'id' | cut -d ':' -f 2 | tr -d '[:space:]') + dist_version=$(lsb_release -a -u 2>&1 | tr '[:upper:]' '[:lower:]' | grep -E 'codename' | cut -d ':' -f 2 | tr -d '[:space:]') + + # Print info about upstream distro + cat <<-EOF + Upstream release is '$lsb_dist' version '$dist_version'. + EOF + else + if [ -r /etc/debian_version ] && [ "$lsb_dist" != "ubuntu" ] && [ "$lsb_dist" != "raspbian" ]; then + if [ "$lsb_dist" = "osmc" ]; then + # OSMC runs Raspbian + lsb_dist=raspbian + else + # We're Debian and don't even know it! + lsb_dist=debian + fi + dist_version="$(sed 's/\/.*//' /etc/debian_version | sed 's/\..*//')" + case "$dist_version" in + 10) + dist_version="buster" + ;; + 9) + dist_version="stretch" + ;; + 8|'Kali Linux 2') + dist_version="jessie" + ;; + esac + fi + fi + fi +} + +semverParse() { + major="${1%%.*}" + minor="${1#$major.}" + minor="${minor%%.*}" + patch="${1#$major.$minor.}" + patch="${patch%%[-.]*}" +} + +do_install() { + echo "# Executing docker install script, commit: $SCRIPT_COMMIT_SHA" + + if command_exists docker; then + docker_version="$(docker -v | cut -d ' ' -f3 | cut -d ',' -f1)" + MAJOR_W=1 + MINOR_W=10 + + semverParse "$docker_version" + + shouldWarn=0 + if [ "$major" -lt "$MAJOR_W" ]; then + shouldWarn=1 + fi + + if [ "$major" -le "$MAJOR_W" ] && [ "$minor" -lt "$MINOR_W" ]; then + shouldWarn=1 + fi + + cat >&2 <<-'EOF' + Warning: the "docker" command appears to already exist on this system. + + If you already have Docker installed, this script can cause trouble, which is + why we're displaying this warning and provide the opportunity to cancel the + installation. + + If you installed the current Docker package using this script and are using it + EOF + + if [ $shouldWarn -eq 1 ]; then + cat >&2 <<-'EOF' + again to update Docker, we urge you to migrate your image store before upgrading + to v1.10+. + + You can find instructions for this here: + https://github.com/docker/docker/wiki/Engine-v1.10.0-content-addressability-migration + EOF + else + cat >&2 <<-'EOF' + again to update Docker, you can safely ignore this message. + EOF + fi + + cat >&2 <<-'EOF' + + You may press Ctrl+C now to abort this script. + EOF + ( set -x; sleep 20 ) + fi + + user="$(id -un 2>/dev/null || true)" + + sh_c='sh -c' + if [ "$user" != 'root' ]; then + if command_exists sudo; then + sh_c='sudo -E sh -c' + elif command_exists su; then + sh_c='su -c' + else + cat >&2 <<-'EOF' + Error: this installer needs the ability to run commands as root. + We are unable to find either "sudo" or "su" available to make this happen. + EOF + exit 1 + fi + fi + + if is_dry_run; then + sh_c="echo" + fi + + # perform some very rudimentary platform detection + lsb_dist=$( get_distribution ) + lsb_dist="$(echo "$lsb_dist" | tr '[:upper:]' '[:lower:]')" + + if is_wsl; then + echo + echo "WSL DETECTED: We recommend using Docker Desktop for Windows." + echo "Please get Docker Desktop from https://www.docker.com/products/docker-desktop" + echo + cat >&2 <<-'EOF' + + You may press Ctrl+C now to abort this script. + EOF + ( set -x; sleep 20 ) + fi + + case "$lsb_dist" in + + ubuntu) + if command_exists lsb_release; then + dist_version="$(lsb_release --codename | cut -f2)" + fi + if [ -z "$dist_version" ] && [ -r /etc/lsb-release ]; then + dist_version="$(. /etc/lsb-release && echo "$DISTRIB_CODENAME")" + fi + ;; + + debian|raspbian) + dist_version="$(sed 's/\/.*//' /etc/debian_version | sed 's/\..*//')" + case "$dist_version" in + 10) + dist_version="buster" + ;; + 9) + dist_version="stretch" + ;; + 8) + dist_version="jessie" + ;; + esac + ;; + + centos|rhel) + if [ -z "$dist_version" ] && [ -r /etc/os-release ]; then + dist_version="$(. /etc/os-release && echo "$VERSION_ID")" + fi + ;; + + *) + if command_exists lsb_release; then + dist_version="$(lsb_release --release | cut -f2)" + fi + if [ -z "$dist_version" ] && [ -r /etc/os-release ]; then + dist_version="$(. /etc/os-release && echo "$VERSION_ID")" + fi + ;; + + esac + + # Check if this is a forked Linux distro + check_forked + + # Run setup for each distro accordingly + case "$lsb_dist" in + ubuntu|debian|raspbian) + pre_reqs="apt-transport-https ca-certificates curl" + if [ "$lsb_dist" = "debian" ]; then + # libseccomp2 does not exist for debian jessie main repos for aarch64 + if [ "$(uname -m)" = "aarch64" ] && [ "$dist_version" = "jessie" ]; then + add_debian_backport_repo "$dist_version" + fi + fi + + if ! command -v gpg > /dev/null; then + pre_reqs="$pre_reqs gnupg" + fi + apt_repo="deb [arch=$(dpkg --print-architecture)] $DOWNLOAD_URL/linux/$lsb_dist $dist_version $CHANNEL" + ( + if ! is_dry_run; then + set -x + fi + $sh_c 'apt-get update -qq >/dev/null' + $sh_c "DEBIAN_FRONTEND=noninteractive apt-get install -y -qq $pre_reqs >/dev/null" + $sh_c "curl -fsSL \"$DOWNLOAD_URL/linux/$lsb_dist/gpg\" | apt-key add -qq - >/dev/null" + $sh_c "echo \"$apt_repo\" > /etc/apt/sources.list.d/docker.list" + $sh_c 'apt-get update -qq >/dev/null' + ) + pkg_version="" + if [ -n "$VERSION" ]; then + if is_dry_run; then + echo "# WARNING: VERSION pinning is not supported in DRY_RUN" + else + # Will work for incomplete versions IE (17.12), but may not actually grab the "latest" if in the test channel + pkg_pattern="$(echo "$VERSION" | sed "s/-ce-/~ce~.*/g" | sed "s/-/.*/g").*-0~$lsb_dist" + search_command="apt-cache madison 'docker-ce' | grep '$pkg_pattern' | head -1 | awk '{\$1=\$1};1' | cut -d' ' -f 3" + pkg_version="$($sh_c "$search_command")" + echo "INFO: Searching repository for VERSION '$VERSION'" + echo "INFO: $search_command" + if [ -z "$pkg_version" ]; then + echo + echo "ERROR: '$VERSION' not found amongst apt-cache madison results" + echo + exit 1 + fi + search_command="apt-cache madison 'docker-ce-cli' | grep '$pkg_pattern' | head -1 | awk '{\$1=\$1};1' | cut -d' ' -f 3" + # Don't insert an = for cli_pkg_version, we'll just include it later + cli_pkg_version="$($sh_c "$search_command")" + pkg_version="=$pkg_version" + fi + fi + ( + if ! is_dry_run; then + set -x + fi + if [ -n "$cli_pkg_version" ]; then + $sh_c "apt-get install -y -qq --no-install-recommends docker-ce-cli=$cli_pkg_version >/dev/null" + fi + $sh_c "apt-get install -y -qq --no-install-recommends docker-ce$pkg_version >/dev/null" + ) + echo_docker_as_nonroot + exit 0 + ;; + centos|fedora|rhel) + yum_repo="$DOWNLOAD_URL/linux/$lsb_dist/$REPO_FILE" + if ! curl -Ifs "$yum_repo" > /dev/null; then + echo "Error: Unable to curl repository file $yum_repo, is it valid?" + exit 1 + fi + if [ "$lsb_dist" = "fedora" ]; then + pkg_manager="dnf" + config_manager="dnf config-manager" + enable_channel_flag="--set-enabled" + disable_channel_flag="--set-disabled" + pre_reqs="dnf-plugins-core" + pkg_suffix="fc$dist_version" + else + pkg_manager="yum" + config_manager="yum-config-manager" + enable_channel_flag="--enable" + disable_channel_flag="--disable" + pre_reqs="yum-utils" + pkg_suffix="el" + fi + ( + if ! is_dry_run; then + set -x + fi + $sh_c "$pkg_manager install -y -q $pre_reqs" + $sh_c "$config_manager --add-repo $yum_repo" + + if [ "$CHANNEL" != "stable" ]; then + $sh_c "$config_manager $disable_channel_flag docker-ce-*" + $sh_c "$config_manager $enable_channel_flag docker-ce-$CHANNEL" + fi + $sh_c "$pkg_manager makecache" + ) + pkg_version="" + if [ -n "$VERSION" ]; then + if is_dry_run; then + echo "# WARNING: VERSION pinning is not supported in DRY_RUN" + else + pkg_pattern="$(echo "$VERSION" | sed "s/-ce-/\\\\.ce.*/g" | sed "s/-/.*/g").*$pkg_suffix" + search_command="$pkg_manager list --showduplicates 'docker-ce' | grep '$pkg_pattern' | tail -1 | awk '{print \$2}'" + pkg_version="$($sh_c "$search_command")" + echo "INFO: Searching repository for VERSION '$VERSION'" + echo "INFO: $search_command" + if [ -z "$pkg_version" ]; then + echo + echo "ERROR: '$VERSION' not found amongst $pkg_manager list results" + echo + exit 1 + fi + search_command="$pkg_manager list --showduplicates 'docker-ce-cli' | grep '$pkg_pattern' | tail -1 | awk '{print \$2}'" + # It's okay for cli_pkg_version to be blank, since older versions don't support a cli package + cli_pkg_version="$($sh_c "$search_command" | cut -d':' -f 2)" + # Cut out the epoch and prefix with a '-' + pkg_version="-$(echo "$pkg_version" | cut -d':' -f 2)" + fi + fi + ( + if ! is_dry_run; then + set -x + fi + # install the correct cli version first + if [ -n "$cli_pkg_version" ]; then + $sh_c "$pkg_manager install -y -q docker-ce-cli-$cli_pkg_version" + fi + $sh_c "$pkg_manager install -y -q docker-ce$pkg_version" + ) + echo_docker_as_nonroot + exit 0 + ;; + *) + if [ -z "$lsb_dist" ]; then + if is_darwin; then + echo + echo "ERROR: Unsupported operating system 'macOS'" + echo "Please get Docker Desktop from https://www.docker.com/products/docker-desktop" + echo + exit 1 + fi + fi + echo + echo "ERROR: Unsupported distribution '$lsb_dist'" + echo + exit 1 + ;; + esac + exit 1 +} + +# wrapped up in a function so that we have some protection against only getting +# half the file during "curl | sh" +do_install diff --git a/node-manager/playbooks/scripts/install_node.sh b/node-manager/playbooks/scripts/install_node.sh index a6149db..298cce0 100644 --- a/node-manager/playbooks/scripts/install_node.sh +++ b/node-manager/playbooks/scripts/install_node.sh @@ -1,6 +1,4 @@ #!/bin/bash -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash -. ~/.nvm/nvm.sh -nvm install node -node -e "console.log('Running Node.js ' + process.version)" +curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - +sudo apt-get install -y nodejs From cb8fa8c23c922a38c991ea03f2cf9284e3b2b6d1 Mon Sep 17 00:00:00 2001 From: Jonathan Hasenburg Date: Tue, 19 Jan 2021 10:57:02 +0000 Subject: [PATCH 4/7] Add netplan file generation --- node-manager/lib/data/machine-meta.js | 46 ++++++++++++++++++- .../lib/stages/01_infrastructure/02_agent.js | 14 ++++++ node-manager/playbooks/0102_agent.yml | 10 ++++ 3 files changed, 69 insertions(+), 1 deletion(-) diff --git a/node-manager/lib/data/machine-meta.js b/node-manager/lib/data/machine-meta.js index 65141f6..eabdf9c 100644 --- a/node-manager/lib/data/machine-meta.js +++ b/node-manager/lib/data/machine-meta.js @@ -48,7 +48,7 @@ function getPublicIP(machine_name, instances) { } /** - * Returns the the machine name of the machine with the given public_ip. + * Returns the machine name of the machine with the given public_ip. * * @param {String} public_ip * @param {Object} instances the machine meta json instances object @@ -61,6 +61,47 @@ function getMachineNameFromPublicIp(public_ip, instances) { } } +/** + * Returns the netplan string + * @param {String} machine_name + * @param {Object} instances the machine meta json instances object + */ + +function getNetplanString(machine_name, instances) { + const network_interfaces = getInstance(machine_name, instances).network_interfaces + + // mac addresses + const addresses = {} + + for (const network_interface of network_interfaces) { + const ip = network_interface.private_ip_address + if (ip.startsWith("10.0.2.")) { + addresses["internal"] = network_interface.mac_address + } else if (ip.startsWith("10.0.1.")) { + addresses["management"] = network_interface.mac_address + } + } + + return `network: + ethernets: + eth0: + dhcp4: true + dhcp6: false + match: + macaddress: ${addresses["management"]} + set-name: eth0 + eth1: + dhcp4: true + dhcp6: false + match: + macaddress: ${addresses["internal"]} + set-name: eth1 + version: 2 +` + + +} + //************************************* // Hosts file helper //************************************* @@ -98,6 +139,9 @@ module.exports = function(fileLocation) { getMachineNameFromPublicIp: function(public_ip) { return getMachineNameFromPublicIp(public_ip, machineMeta.instances) }, + getNetplanString: function(machine_name) { + return getNetplanString(machine_name, machineMeta.instances) + }, hostsDataObject: getHostsDataObject(machineMeta) } } diff --git a/node-manager/lib/stages/01_infrastructure/02_agent.js b/node-manager/lib/stages/01_infrastructure/02_agent.js index 59f5db9..cfefe22 100644 --- a/node-manager/lib/stages/01_infrastructure/02_agent.js +++ b/node-manager/lib/stages/01_infrastructure/02_agent.js @@ -2,6 +2,7 @@ const fs = require("fs") const fsp = fs.promises const infrastructure = require("../../data/infrastructure.js") +const machineMetaF = require("../../data/machine-meta.js") const common = require("../common.js") const Phase = require("../phase.js") @@ -20,6 +21,7 @@ class Child extends Phase { async parseInput() { this.infra = infrastructure() + this.machineMeta = machineMetaF() } async runPrePlaybookTasks() { @@ -27,6 +29,18 @@ class Child extends Phase { await fsp.writeFile(this.varPath, this.infra.awsYML) this.logger.info("Agent playbook vars written to " + this.varPath) + // write netplan file + for (const machine of this.infra.infra.machines) { + const machine_name = machine.machine_name + const netplan_string = this.machineMeta.getNetplanString(machine_name) + const machine_dir = conf.runMachinesDir + machine_name + conf.checkFolderExists(machine_dir) + const netplan_path = machine_dir + "/netplan.yml" + + await fsp.writeFile(netplan_path, netplan_string) + this.logger.info("Wrote netplan file for " + machine_name + " to " + netplan_path) + } + // create playbook object this.playbook = new common.Playbook(this.playbookPath, this.varPath, ["-i", `${conf.runDir}hosts`, `--key-file=${conf.runDir}${this.infra.infra.aws.ssh_key_name}.pem`]) } diff --git a/node-manager/playbooks/0102_agent.yml b/node-manager/playbooks/0102_agent.yml index a1c282f..6a4614f 100644 --- a/node-manager/playbooks/0102_agent.yml +++ b/node-manager/playbooks/0102_agent.yml @@ -18,6 +18,16 @@ - rsync - chrony + - name: Copy Netplan Configuration + copy: + src: "{{ playbook_dir }}/../run/machines/{{ hostvars[inventory_hostname].machine_name }}/netplan.yml" + dest: "/etc/netplan/50-cloud-init.yaml" + become: yes + + # - name: Apply Netplan Configuration + # shell: netplan --debug apply + # become: yes + # to allow non-root usage to use tcconfig for easier manual debugging - name: Allow TC Usage shell: setcap cap_net_admin+ep /usr/sbin/tc From 51aa439f2618a3fed7bfe4432dfb78c7a4a9c609 Mon Sep 17 00:00:00 2001 From: Jonathan Hasenburg Date: Tue, 19 Jan 2021 12:24:59 +0000 Subject: [PATCH 5/7] Rename network interface adapter --- node-agent/lib/services/dockerService.js | 1 + node-agent/lib/services/networkService.js | 2 +- node-agent/swagger.json | 4 ++-- node-manager/README.md | 4 ++-- node-manager/lib/data/machine-meta.js | 8 ++++---- node-manager/lib/services/manipulationService.js | 4 ++-- node-manager/playbooks/0102_agent.yml | 8 +++++--- 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/node-agent/lib/services/dockerService.js b/node-agent/lib/services/dockerService.js index 4179e90..3ec0fff 100644 --- a/node-agent/lib/services/dockerService.js +++ b/node-agent/lib/services/dockerService.js @@ -41,6 +41,7 @@ async function updateMCRConfigs(newList) { currentMCRList = newList } catch (error) { logger.error("Could not update machine container resource configurations") + logger.error(JSON.stringify(error)) throw error } } diff --git a/node-agent/lib/services/networkService.js b/node-agent/lib/services/networkService.js index 8bd82fd..1f07ad2 100644 --- a/node-agent/lib/services/networkService.js +++ b/node-agent/lib/services/networkService.js @@ -58,7 +58,7 @@ function getOtherHostIPs(json) { ips = [] try { - for (host in config["eth1"]["outgoing"]) { + for (host in config["ens6"]["outgoing"]) { ips.push(host.toString().replace("dst-network=", "").split("/")[0]) } } catch(error) { diff --git a/node-agent/swagger.json b/node-agent/swagger.json index 4c1bb1d..9b2b5b0 100644 --- a/node-agent/swagger.json +++ b/node-agent/swagger.json @@ -298,7 +298,7 @@ "tcconfig": { "type": "object", "properties": { - "eth0": { + "ens5": { "type": "object", "properties": { "outgoing": { @@ -309,7 +309,7 @@ } } }, - "eth1": { + "ens6": { "type": "object", "properties": { "outgoing": { diff --git a/node-manager/README.md b/node-manager/README.md index 1524dfd..1a81399 100644 --- a/node-manager/README.md +++ b/node-manager/README.md @@ -32,8 +32,8 @@ Start this phase by running `node app.js bootstrap`, this: - Creates a var file for the bootstrap playbook at `run/vars/` - Bootstraps the infrastructure on AWS based on `run/infrastructure.jsonc` - Setup a VPC - - Setup a management subnet (access to internet, only ssh and node agent) -> mapped to eth0 - - Setup an internal subnet (access to all other machines, all traffic) -> mapped to eth1 + - Setup a management subnet (access to internet, only ssh and node agent) -> assumed to be mapped to ens5 + - Setup an internal subnet (access to all other machines, all traffic) -> assumed to be mapped to ens6 - Start EC2 instances that are part of this VPC - Pulls ssh key and writes it to `run/.pem`. - Pulls machine facts and writes them to `run/machines/machine_meta.jsonc` diff --git a/node-manager/lib/data/machine-meta.js b/node-manager/lib/data/machine-meta.js index eabdf9c..56d6b28 100644 --- a/node-manager/lib/data/machine-meta.js +++ b/node-manager/lib/data/machine-meta.js @@ -84,18 +84,18 @@ function getNetplanString(machine_name, instances) { return `network: ethernets: - eth0: + ens5: dhcp4: true dhcp6: false match: macaddress: ${addresses["management"]} - set-name: eth0 - eth1: + set-name: ens5 + ens6: dhcp4: true dhcp6: false match: macaddress: ${addresses["internal"]} - set-name: eth1 + set-name: ens6 version: 2 ` diff --git a/node-manager/lib/services/manipulationService.js b/node-manager/lib/services/manipulationService.js index 8d25639..d5e8086 100644 --- a/node-manager/lib/services/manipulationService.js +++ b/node-manager/lib/services/manipulationService.js @@ -82,11 +82,11 @@ function getTCConfigs(infrastructure, machineMeta) { } tcConfig[start.machine_name] = { - "eth0": { + "ens5": { "outgoing": {}, "incoming": {} }, - "eth1": { + "ens6": { "outgoing": outgoing, "incoming": {} } diff --git a/node-manager/playbooks/0102_agent.yml b/node-manager/playbooks/0102_agent.yml index 6a4614f..ad3c290 100644 --- a/node-manager/playbooks/0102_agent.yml +++ b/node-manager/playbooks/0102_agent.yml @@ -23,10 +23,12 @@ src: "{{ playbook_dir }}/../run/machines/{{ hostvars[inventory_hostname].machine_name }}/netplan.yml" dest: "/etc/netplan/50-cloud-init.yaml" become: yes + register: copy_code - # - name: Apply Netplan Configuration - # shell: netplan --debug apply - # become: yes + - name: Apply Netplan Configuration + shell: netplan --debug apply + become: yes + when: copy_code.changed # to allow non-root usage to use tcconfig for easier manual debugging - name: Allow TC Usage From 71f872045143919b09375b8e81a57676b43f1005 Mon Sep 17 00:00:00 2001 From: Jonathan Hasenburg Date: Tue, 19 Jan 2021 17:37:36 +0000 Subject: [PATCH 6/7] Reset ssh connection after docker group change --- node-manager/lib/data/multi-file.js | 2 +- node-manager/playbooks/0102_agent.yml | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/node-manager/lib/data/multi-file.js b/node-manager/lib/data/multi-file.js index ad79195..7cc534f 100644 --- a/node-manager/lib/data/multi-file.js +++ b/node-manager/lib/data/multi-file.js @@ -66,7 +66,7 @@ function getHosts(machineMeta, container, deployment) { const hostsDataObject = machineMeta.hostsDataObject return `[all:vars] -ansible_ssh_user=ubuntu +ansible_user=ubuntu ansible_ssh_common_args='-o StrictHostKeyChecking=no' # --------------------------------------- diff --git a/node-manager/playbooks/0102_agent.yml b/node-manager/playbooks/0102_agent.yml index ad3c290..8fa59b2 100644 --- a/node-manager/playbooks/0102_agent.yml +++ b/node-manager/playbooks/0102_agent.yml @@ -4,6 +4,11 @@ hosts: machines tasks: + - name: Print Network Interfaces + debug: + msg: "{{ hostvars[inventory_hostname]['ansible_%s' | format(item)] }}" + with_items: "{{ ansible_interfaces }}" + - name: Install Packages apt: name: "{{ packages }}" @@ -18,6 +23,11 @@ - rsync - chrony + # to allow non-root usage to use tcconfig for easier manual debugging + - name: Allow TC Usage + shell: setcap cap_net_admin+ep /usr/sbin/tc + become: yes + - name: Copy Netplan Configuration copy: src: "{{ playbook_dir }}/../run/machines/{{ hostvars[inventory_hostname].machine_name }}/netplan.yml" @@ -30,20 +40,18 @@ become: yes when: copy_code.changed - # to allow non-root usage to use tcconfig for easier manual debugging - - name: Allow TC Usage - shell: setcap cap_net_admin+ep /usr/sbin/tc - become: yes - - name: Install Node script: scripts/install_node.sh + when: copy_code.changed - name: Install TCConfig shell: pip3 install "tcconfig==0.25.2" become: yes + when: copy_code.changed - name: Install Docker script: scripts/install_docker.sh + when: copy_code.changed - name: Install Docker SDK pip: @@ -67,6 +75,9 @@ group: docker become: yes + - name: Reset SSH Connection + meta: reset_connection + - name: Copy Agent synchronize: src: "{{ playbook_dir }}/../../node-agent" From 1c36941fd3661ff4292d38aaf1dee05821323b50 Mon Sep 17 00:00:00 2001 From: Jonathan Hasenburg Date: Tue, 19 Jan 2021 17:39:39 +0000 Subject: [PATCH 7/7] Add run-example-creexplorer-ubuntu --- .../appdata/crexplorer-server1/env_file.env | 4 + .../appdata/crexplorer-server1/log.txt | 573 ++++++++++++++++ .../appdata/crexplorer-server2/env_file.env | 4 + .../appdata/crexplorer-server2/log.txt | 647 ++++++++++++++++++ .../appdata/crexplorer/env_file.env | 4 + .../node-exporter-server1/env_file.env | 0 .../node-exporter-server2/env_file.env | 0 .../appdata/node-exporter/env_file.env | 0 .../config/container.jsonc | 22 + .../config/deployment.jsonc | 12 + .../config/infrastructure.jsonc | 39 ++ .../config/orchestration.jsonc | 160 +++++ .../run-example-crexplorer-ubuntu/hosts | 38 + .../machines/connection_delays.jsonc | 53 ++ .../machine_container_resources.jsonc | 17 + .../machines/machine_meta.jsonc | 1 + .../machines/server1/mcrConfig.json | 12 + .../machines/server1/netplan.yml | 15 + .../machines/server1/tcconfig.json | 33 + .../machines/server2/mcrConfig.json | 12 + .../machines/server2/netplan.yml | 15 + .../machines/server2/tcconfig.json | 33 + .../machines/server3/mcrConfig.json | 1 + .../machines/server3/netplan.yml | 15 + .../machines/server3/tcconfig.json | 33 + .../vars/0101_bootstrap.yml | 19 + .../vars/0102_agent.yml | 5 + .../vars/0201_prepare.yml | 5 + .../vars/0202_start.yml | 5 + .../vars/0203_stop.yml | 5 + .../vars/0204_collect.yml | 5 + .../vars/container/crexplorer.yml | 6 + .../vars/container/node-exporter.yml | 6 + 33 files changed, 1799 insertions(+) create mode 100644 node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server1/env_file.env create mode 100644 node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server1/log.txt create mode 100644 node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server2/env_file.env create mode 100644 node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server2/log.txt create mode 100644 node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer/env_file.env create mode 100644 node-manager/run-example-crexplorer-ubuntu/appdata/node-exporter-server1/env_file.env create mode 100644 node-manager/run-example-crexplorer-ubuntu/appdata/node-exporter-server2/env_file.env create mode 100644 node-manager/run-example-crexplorer-ubuntu/appdata/node-exporter/env_file.env create mode 100644 node-manager/run-example-crexplorer-ubuntu/config/container.jsonc create mode 100644 node-manager/run-example-crexplorer-ubuntu/config/deployment.jsonc create mode 100644 node-manager/run-example-crexplorer-ubuntu/config/infrastructure.jsonc create mode 100644 node-manager/run-example-crexplorer-ubuntu/config/orchestration.jsonc create mode 100644 node-manager/run-example-crexplorer-ubuntu/hosts create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/connection_delays.jsonc create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/machine_container_resources.jsonc create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/machine_meta.jsonc create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/server1/mcrConfig.json create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/server1/netplan.yml create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/server1/tcconfig.json create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/server2/mcrConfig.json create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/server2/netplan.yml create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/server2/tcconfig.json create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/server3/mcrConfig.json create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/server3/netplan.yml create mode 100644 node-manager/run-example-crexplorer-ubuntu/machines/server3/tcconfig.json create mode 100644 node-manager/run-example-crexplorer-ubuntu/vars/0101_bootstrap.yml create mode 100644 node-manager/run-example-crexplorer-ubuntu/vars/0102_agent.yml create mode 100644 node-manager/run-example-crexplorer-ubuntu/vars/0201_prepare.yml create mode 100644 node-manager/run-example-crexplorer-ubuntu/vars/0202_start.yml create mode 100644 node-manager/run-example-crexplorer-ubuntu/vars/0203_stop.yml create mode 100644 node-manager/run-example-crexplorer-ubuntu/vars/0204_collect.yml create mode 100644 node-manager/run-example-crexplorer-ubuntu/vars/container/crexplorer.yml create mode 100644 node-manager/run-example-crexplorer-ubuntu/vars/container/node-exporter.yml diff --git a/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server1/env_file.env b/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server1/env_file.env new file mode 100644 index 0000000..bb3cc41 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server1/env_file.env @@ -0,0 +1,4 @@ +PORT=8080 +LOGFILE=/crexplorer/log.txt +PING=10.0.2.57 +EVENT_ENDPOINT=https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message diff --git a/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server1/log.txt b/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server1/log.txt new file mode 100644 index 0000000..7a84c39 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server1/log.txt @@ -0,0 +1,573 @@ +17:25:24 - Starting to ping 10.0.2.57 +17:25:24 - Starting CRExplorer webserver at port 8080, a request could look like http://localhost:8080/run?max_memory=30 +17:25:24 - Ping to 10.0.2.57 is 30.03ms +17:25:26 - Ping to 10.0.2.57 is 30.1ms +17:25:28 - Ping to 10.0.2.57 is 30.32ms +17:25:30 - Ping to 10.0.2.57 is 30.17ms +17:25:32 - Ping to 10.0.2.57 is 30.07ms +17:25:34 - Ping to 10.0.2.57 is 30.21ms +17:25:36 - Ping to 10.0.2.57 is 30.09ms +17:25:38 - Ping to 10.0.2.57 is 30.24ms +17:25:40 - Ping to 10.0.2.57 is 32.78ms +17:25:42 - Ping to 10.0.2.57 is 30.11ms +17:25:45 - Ping to 10.0.2.57 is 30.09ms +17:25:47 - Ping to 10.0.2.57 is 30.22ms +17:25:49 - Ping to 10.0.2.57 is 30.12ms +17:25:51 - Ping to 10.0.2.57 is 30.11ms +17:25:53 - Ping to 10.0.2.57 is 30.12ms +17:25:55 - Ping to 10.0.2.57 is 30.1ms +17:25:57 - Ping to 10.0.2.57 is 30.41ms +17:25:59 - Ping to 10.0.2.57 is 30.1ms +17:26:01 - Ping to 10.0.2.57 is 30.16ms +17:26:03 - Ping to 10.0.2.57 is 30.05ms +17:26:05 - Ping to 10.0.2.57 is 30.06ms +17:26:07 - Ping to 10.0.2.57 is 30.16ms +17:26:09 - Ping to 10.0.2.57 is 30.2ms +17:26:11 - Ping to 10.0.2.57 is 30.33ms +17:26:13 - Ping to 10.0.2.57 is 30.06ms +17:26:15 - Ping to 10.0.2.57 is 30.11ms +17:26:17 - Ping to 10.0.2.57 is 30.14ms +17:26:19 - Ping to 10.0.2.57 is 30.15ms +17:26:21 - Ping to 10.0.2.57 is 30.05ms +17:26:23 - Ping to 10.0.2.57 is 30.1ms +17:26:25 - Ping to 10.0.2.57 is 30.07ms +17:26:27 - Ping to 10.0.2.57 is 30.06ms +17:26:29 - Ping to 10.0.2.57 is 30.11ms +17:26:31 - Ping to 10.0.2.57 is 30.18ms +17:26:33 - Ping to 10.0.2.57 is 30.13ms +17:26:35 - Ping to 10.0.2.57 is 30.04ms +17:26:37 - Ping to 10.0.2.57 is 30.11ms +17:26:39 - Ping to 10.0.2.57 is 30.05ms +17:26:41 - Ping to 10.0.2.57 is 30.22ms +17:26:43 - Ping to 10.0.2.57 is 30.08ms +17:26:44 - Prepared run, max_memory is 200 +17:26:44 - ############################# +17:26:44 - ############################# +17:26:44 - Now in state memory1 +17:26:44 - ############################# +17:26:44 - ############################# +17:26:44 - Starting CPU benchmark +17:26:45 - Ping to 10.0.2.57 is 30.0ms +17:26:48 - Ping to 10.0.2.57 is 30.03ms +17:26:50 - Ping to 10.0.2.57 is 35.12ms +17:26:52 - Ping to 10.0.2.57 is 30.07ms +17:26:54 - Ping to 10.0.2.57 is 30.03ms +17:26:55 - CPU-Time needed for CPU benchmark: 7.0909261926666245s (SD=0.09635382236295571s) +17:26:55 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=cpu +17:26:55 - Status code was 200 +17:26:55 - Trying to allocate up to 200mb of memory, printing allocated amount starting at 100mb: +17:26:55 - 100mb +17:26:55 - 101mb +17:26:55 - 102mb +17:26:55 - 103mb +17:26:55 - 104mb +17:26:55 - 105mb +17:26:55 - 106mb +17:26:55 - 107mb +17:26:55 - 108mb +17:26:55 - 109mb +17:26:55 - 110mb +17:26:55 - 111mb +17:26:55 - 112mb +17:26:55 - 113mb +17:26:55 - 114mb +17:26:55 - 115mb +17:26:55 - 116mb +17:26:55 - 117mb +17:26:55 - 118mb +17:26:55 - 119mb +17:26:55 - 120mb +17:26:55 - 121mb +17:26:55 - 122mb +17:26:55 - 123mb +17:26:55 - 124mb +17:26:55 - 125mb +17:26:55 - 126mb +17:26:55 - 127mb +17:26:55 - 128mb +17:26:55 - 129mb +17:26:55 - 130mb +17:26:55 - 131mb +17:26:55 - 132mb +17:26:56 - Ping to 10.0.2.57 is 30.11ms +17:26:58 - Ping to 10.0.2.57 is 30.08ms +17:27:00 - Ping to 10.0.2.57 is 30.28ms +17:27:02 - Ping to 10.0.2.57 is 30.1ms +17:27:04 - Ping to 10.0.2.57 is 30.08ms +17:27:07 - ############################# +17:27:07 - ############################# +17:27:07 - Now in state network1 +17:27:07 - ############################# +17:27:07 - ############################# +17:27:07 - Starting CPU benchmark +17:27:08 - Ping to 10.0.2.57 is 2000ms +17:27:10 - Ping to 10.0.2.57 is 42.99ms +17:27:14 - Ping to 10.0.2.57 is 2000ms +17:27:16 - Ping to 10.0.2.57 is 40.02ms +17:27:17 - CPU-Time needed for CPU benchmark: 7.0995426966666555s (SD=0.017112482908400378s) +17:27:17 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=cpu +17:27:17 - Status code was 200 +17:27:17 - Trying to allocate up to 200mb of memory, printing allocated amount starting at 100mb: +17:27:17 - 100mb +17:27:17 - 101mb +17:27:17 - 102mb +17:27:17 - 103mb +17:27:17 - 104mb +17:27:17 - 105mb +17:27:17 - 106mb +17:27:17 - 107mb +17:27:17 - 108mb +17:27:17 - 109mb +17:27:17 - 110mb +17:27:17 - 111mb +17:27:17 - 112mb +17:27:17 - 113mb +17:27:17 - 114mb +17:27:17 - 115mb +17:27:17 - 116mb +17:27:17 - 117mb +17:27:17 - 118mb +17:27:17 - 119mb +17:27:17 - 120mb +17:27:17 - 121mb +17:27:17 - 122mb +17:27:17 - 123mb +17:27:17 - 124mb +17:27:17 - 125mb +17:27:17 - 126mb +17:27:17 - 127mb +17:27:17 - 128mb +17:27:17 - 129mb +17:27:17 - 130mb +17:27:17 - 131mb +17:27:17 - 132mb +17:27:17 - 133mb +17:27:17 - 134mb +17:27:17 - 135mb +17:27:17 - 136mb +17:27:17 - 137mb +17:27:17 - 138mb +17:27:17 - 139mb +17:27:17 - 140mb +17:27:17 - 141mb +17:27:17 - 142mb +17:27:17 - 143mb +17:27:17 - 144mb +17:27:17 - 145mb +17:27:17 - 146mb +17:27:17 - 147mb +17:27:17 - 148mb +17:27:17 - 149mb +17:27:17 - 150mb +17:27:17 - 151mb +17:27:17 - 152mb +17:27:17 - 153mb +17:27:17 - 154mb +17:27:17 - 155mb +17:27:17 - 156mb +17:27:17 - 157mb +17:27:17 - 158mb +17:27:17 - 159mb +17:27:17 - 160mb +17:27:17 - 161mb +17:27:17 - 162mb +17:27:17 - 163mb +17:27:17 - 164mb +17:27:17 - 165mb +17:27:17 - 166mb +17:27:17 - 167mb +17:27:17 - 168mb +17:27:17 - 169mb +17:27:17 - 170mb +17:27:17 - 171mb +17:27:17 - 172mb +17:27:17 - 173mb +17:27:18 - 174mb +17:27:18 - 175mb +17:27:18 - 176mb +17:27:18 - 177mb +17:27:18 - 178mb +17:27:18 - 179mb +17:27:18 - 180mb +17:27:18 - 181mb +17:27:18 - 182mb +17:27:18 - 183mb +17:27:18 - 184mb +17:27:18 - 185mb +17:27:18 - 186mb +17:27:18 - 187mb +17:27:18 - 188mb +17:27:18 - 189mb +17:27:18 - 190mb +17:27:18 - 191mb +17:27:18 - 192mb +17:27:18 - 193mb +17:27:18 - 194mb +17:27:18 - 195mb +17:27:18 - 196mb +17:27:18 - 197mb +17:27:18 - 198mb +17:27:18 - 199mb +17:27:18 - 200mb +17:27:18 - +Was able to allocate all needed memory +17:27:18 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=memory +17:27:18 - Status code was 200 +17:27:20 - Ping to 10.0.2.57 is 2000ms +17:27:22 - Ping to 10.0.2.57 is 40.05ms +17:27:24 - Ping to 10.0.2.57 is 40.2ms +17:27:26 - Ping to 10.0.2.57 is 40.06ms +17:27:28 - Ping to 10.0.2.57 is 0.15ms +17:27:29 - ############################# +17:27:29 - ############################# +17:27:29 - Now in state cpu1 +17:27:29 - ############################# +17:27:29 - ############################# +17:27:29 - Starting CPU benchmark +17:27:30 - Ping to 10.0.2.57 is 99.72ms +17:27:32 - Ping to 10.0.2.57 is 99.1ms +17:27:34 - Ping to 10.0.2.57 is 99.09ms +17:27:36 - Ping to 10.0.2.57 is 99.11ms +17:27:39 - Ping to 10.0.2.57 is 99.06ms +17:27:41 - Ping to 10.0.2.57 is 99.07ms +17:27:43 - Ping to 10.0.2.57 is 99.0ms +17:27:45 - Ping to 10.0.2.57 is 99.06ms +17:27:47 - Ping to 10.0.2.57 is 99.02ms +17:27:49 - Ping to 10.0.2.57 is 99.05ms +17:27:51 - Ping to 10.0.2.57 is 99.17ms +17:27:53 - Ping to 10.0.2.57 is 99.08ms +17:27:55 - Ping to 10.0.2.57 is 99.1ms +17:27:57 - Ping to 10.0.2.57 is 98.97ms +17:28:00 - Ping to 10.0.2.57 is 99.02ms +17:28:02 - Ping to 10.0.2.57 is 96.18ms +17:28:04 - Ping to 10.0.2.57 is 99.03ms +17:28:06 - Ping to 10.0.2.57 is 99.07ms +17:28:08 - Ping to 10.0.2.57 is 99.13ms +17:28:10 - Ping to 10.0.2.57 is 98.95ms +17:28:10 - CPU-Time needed for CPU benchmark: 27.394130681333348s (SD=0.17376316049026388s) +17:28:10 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=cpu +17:28:12 - Ping to 10.0.2.57 is 30.04ms +17:28:14 - Ping to 10.0.2.57 is 30.09ms +17:28:16 - Ping to 10.0.2.57 is 30.31ms +17:28:18 - Ping to 10.0.2.57 is 30.08ms +17:28:20 - Ping to 10.0.2.57 is 30.21ms +17:28:22 - Ping to 10.0.2.57 is 30.07ms +17:28:24 - Ping to 10.0.2.57 is 30.06ms +17:28:25 - Status code was 200 +17:28:25 - Trying to allocate up to 200mb of memory, printing allocated amount starting at 100mb: +17:28:26 - 100mb +17:28:26 - 101mb +17:28:26 - 102mb +17:28:26 - 103mb +17:28:26 - 104mb +17:28:26 - 105mb +17:28:26 - 106mb +17:28:26 - 107mb +17:28:26 - 108mb +17:28:26 - 109mb +17:28:26 - 110mb +17:28:26 - 111mb +17:28:26 - 112mb +17:28:26 - 113mb +17:28:26 - 114mb +17:28:26 - 115mb +17:28:26 - 116mb +17:28:26 - 117mb +17:28:26 - 118mb +17:28:26 - 119mb +17:28:26 - 120mb +17:28:26 - 121mb +17:28:26 - 122mb +17:28:26 - 123mb +17:28:26 - 124mb +17:28:26 - 125mb +17:28:26 - 126mb +17:28:26 - 127mb +17:28:26 - 128mb +17:28:26 - 129mb +17:28:26 - 130mb +17:28:26 - 131mb +17:28:26 - 132mb +17:28:26 - 133mb +17:28:26 - 134mb +17:28:26 - 135mb +17:28:26 - 136mb +17:28:26 - 137mb +17:28:26 - 138mb +17:28:26 - 139mb +17:28:26 - 140mb +17:28:26 - 141mb +17:28:26 - 142mb +17:28:26 - 143mb +17:28:26 - 144mb +17:28:26 - 145mb +17:28:26 - 146mb +17:28:26 - 147mb +17:28:26 - 148mb +17:28:26 - 149mb +17:28:26 - 150mb +17:28:26 - 151mb +17:28:26 - 152mb +17:28:26 - 153mb +17:28:26 - 154mb +17:28:26 - 155mb +17:28:26 - 156mb +17:28:26 - 157mb +17:28:26 - 158mb +17:28:26 - 159mb +17:28:26 - 160mb +17:28:26 - 161mb +17:28:26 - 162mb +17:28:26 - 163mb +17:28:26 - 164mb +17:28:26 - 165mb +17:28:26 - 166mb +17:28:26 - 167mb +17:28:26 - 168mb +17:28:26 - 169mb +17:28:26 - 170mb +17:28:26 - 171mb +17:28:26 - 172mb +17:28:26 - 173mb +17:28:26 - 174mb +17:28:26 - 175mb +17:28:26 - 176mb +17:28:26 - 177mb +17:28:26 - 178mb +17:28:26 - 179mb +17:28:26 - 180mb +17:28:26 - 181mb +17:28:26 - 182mb +17:28:26 - 183mb +17:28:26 - 184mb +17:28:26 - 185mb +17:28:26 - 186mb +17:28:26 - 187mb +17:28:26 - 188mb +17:28:26 - 189mb +17:28:26 - 190mb +17:28:26 - 191mb +17:28:26 - 192mb +17:28:26 - 193mb +17:28:26 - 194mb +17:28:26 - 195mb +17:28:26 - 196mb +17:28:26 - 197mb +17:28:26 - 198mb +17:28:26 - 199mb +17:28:26 - 200mb +17:28:26 - +Was able to allocate all needed memory +17:28:26 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=memory +17:28:26 - Ping to 10.0.2.57 is 30.05ms +17:28:28 - Ping to 10.0.2.57 is 30.14ms +17:28:30 - Ping to 10.0.2.57 is 30.12ms +17:28:31 - Status code was 200 +17:28:32 - Ping to 10.0.2.57 is 15.13ms +17:28:34 - Ping to 10.0.2.57 is 30.08ms +17:28:36 - Ping to 10.0.2.57 is 30.09ms +17:28:39 - Ping to 10.0.2.57 is 30.07ms +17:28:41 - Ping to 10.0.2.57 is 30.11ms +17:28:43 - Ping to 10.0.2.57 is 30.07ms +17:28:45 - Ping to 10.0.2.57 is 30.1ms +17:28:47 - Ping to 10.0.2.57 is 30.23ms +17:28:48 - ############################# +17:28:48 - ############################# +17:28:48 - Now in state final +17:28:48 - ############################# +17:28:48 - ############################# +17:28:48 - Starting CPU benchmark +17:28:49 - Ping to 10.0.2.57 is 30.11ms +17:28:51 - Ping to 10.0.2.57 is 30.16ms +17:28:53 - Ping to 10.0.2.57 is 30.08ms +17:28:55 - Ping to 10.0.2.57 is 30.09ms +17:28:57 - Ping to 10.0.2.57 is 30.12ms +17:28:59 - Ping to 10.0.2.57 is 30.0ms +17:28:59 - CPU-Time needed for CPU benchmark: 7.085557735333357s (SD=0.14949998540401271s) +17:28:59 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=cpu +17:29:01 - Ping to 10.0.2.57 is 30.15ms +17:29:03 - Ping to 10.0.2.57 is 30.06ms +17:29:05 - Ping to 10.0.2.57 is 30.11ms +17:29:07 - Ping to 10.0.2.57 is 30.09ms +17:29:09 - Ping to 10.0.2.57 is 30.08ms +17:29:11 - Ping to 10.0.2.57 is 30.13ms +17:29:13 - Ping to 10.0.2.57 is 30.11ms +17:29:14 - Status code was 404 +17:29:14 - Trying to allocate up to 200mb of memory, printing allocated amount starting at 100mb: +17:29:14 - 100mb +17:29:14 - 101mb +17:29:14 - 102mb +17:29:14 - 103mb +17:29:14 - 104mb +17:29:14 - 105mb +17:29:14 - 106mb +17:29:14 - 107mb +17:29:14 - 108mb +17:29:14 - 109mb +17:29:14 - 110mb +17:29:14 - 111mb +17:29:14 - 112mb +17:29:14 - 113mb +17:29:14 - 114mb +17:29:14 - 115mb +17:29:14 - 116mb +17:29:14 - 117mb +17:29:14 - 118mb +17:29:14 - 119mb +17:29:14 - 120mb +17:29:14 - 121mb +17:29:14 - 122mb +17:29:14 - 123mb +17:29:14 - 124mb +17:29:14 - 125mb +17:29:14 - 126mb +17:29:14 - 127mb +17:29:14 - 128mb +17:29:14 - 129mb +17:29:14 - 130mb +17:29:14 - 131mb +17:29:14 - 132mb +17:29:14 - 133mb +17:29:14 - 134mb +17:29:14 - 135mb +17:29:14 - 136mb +17:29:14 - 137mb +17:29:14 - 138mb +17:29:14 - 139mb +17:29:14 - 140mb +17:29:14 - 141mb +17:29:14 - 142mb +17:29:14 - 143mb +17:29:14 - 144mb +17:29:14 - 145mb +17:29:14 - 146mb +17:29:14 - 147mb +17:29:14 - 148mb +17:29:14 - 149mb +17:29:14 - 150mb +17:29:14 - 151mb +17:29:14 - 152mb +17:29:14 - 153mb +17:29:14 - 154mb +17:29:14 - 155mb +17:29:14 - 156mb +17:29:14 - 157mb +17:29:14 - 158mb +17:29:14 - 159mb +17:29:14 - 160mb +17:29:14 - 161mb +17:29:14 - 162mb +17:29:14 - 163mb +17:29:14 - 164mb +17:29:14 - 165mb +17:29:14 - 166mb +17:29:14 - 167mb +17:29:14 - 168mb +17:29:14 - 169mb +17:29:14 - 170mb +17:29:14 - 171mb +17:29:14 - 172mb +17:29:14 - 173mb +17:29:14 - 174mb +17:29:14 - 175mb +17:29:14 - 176mb +17:29:14 - 177mb +17:29:14 - 178mb +17:29:14 - 179mb +17:29:14 - 180mb +17:29:14 - 181mb +17:29:14 - 182mb +17:29:14 - 183mb +17:29:14 - 184mb +17:29:14 - 185mb +17:29:14 - 186mb +17:29:14 - 187mb +17:29:14 - 188mb +17:29:14 - 189mb +17:29:14 - 190mb +17:29:14 - 191mb +17:29:14 - 192mb +17:29:14 - 193mb +17:29:14 - 194mb +17:29:14 - 195mb +17:29:14 - 196mb +17:29:14 - 197mb +17:29:14 - 198mb +17:29:14 - 199mb +17:29:14 - 200mb +17:29:14 - +Was able to allocate all needed memory +17:29:14 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=memory +17:29:15 - Ping to 10.0.2.57 is 30.22ms +17:29:17 - Ping to 10.0.2.57 is 30.06ms +17:29:19 - Ping to 10.0.2.57 is 30.1ms +17:29:19 - Status code was 404 +17:29:21 - Ping to 10.0.2.57 is 30.06ms +17:29:23 - Ping to 10.0.2.57 is 30.13ms +17:29:25 - Ping to 10.0.2.57 is 30.1ms +17:29:27 - Ping to 10.0.2.57 is 30.08ms +17:29:29 - Ping to 10.0.2.57 is 30.06ms +17:29:31 - Ping to 10.0.2.57 is 30.11ms +17:29:33 - Ping to 10.0.2.57 is 30.18ms +17:29:35 - Ping to 10.0.2.57 is 30.57ms +17:29:37 - Ping to 10.0.2.57 is 30.12ms +17:29:39 - Ping to 10.0.2.57 is 30.02ms +17:29:42 - Ping to 10.0.2.57 is 30.1ms +17:29:44 - Ping to 10.0.2.57 is 30.08ms +17:29:46 - Ping to 10.0.2.57 is 30.13ms +17:29:48 - Ping to 10.0.2.57 is 30.07ms +17:29:50 - Ping to 10.0.2.57 is 30.14ms +17:29:52 - Ping to 10.0.2.57 is 30.18ms +17:29:54 - Ping to 10.0.2.57 is 30.18ms +17:29:56 - Ping to 10.0.2.57 is 30.22ms +17:29:58 - Ping to 10.0.2.57 is 30.16ms +17:30:00 - Ping to 10.0.2.57 is 30.17ms +17:30:02 - Ping to 10.0.2.57 is 30.11ms +17:30:04 - Ping to 10.0.2.57 is 30.05ms +17:30:06 - Ping to 10.0.2.57 is 30.04ms +17:30:08 - Ping to 10.0.2.57 is 30.04ms +17:30:10 - Ping to 10.0.2.57 is 30.09ms +17:30:12 - Ping to 10.0.2.57 is 30.17ms +17:30:14 - Ping to 10.0.2.57 is 30.06ms +17:30:16 - Ping to 10.0.2.57 is 30.16ms +17:30:18 - Ping to 10.0.2.57 is 30.05ms +17:30:20 - Ping to 10.0.2.57 is 30.14ms +17:30:22 - Ping to 10.0.2.57 is 30.13ms +17:30:24 - Ping to 10.0.2.57 is 30.11ms +17:30:26 - Ping to 10.0.2.57 is 30.07ms +17:30:28 - Ping to 10.0.2.57 is 30.07ms +17:30:30 - Ping to 10.0.2.57 is 30.23ms +17:30:32 - Ping to 10.0.2.57 is 30.07ms +17:30:34 - Ping to 10.0.2.57 is 30.06ms +17:30:36 - Ping to 10.0.2.57 is 35.52ms +17:30:38 - Ping to 10.0.2.57 is 30.15ms +17:30:40 - Ping to 10.0.2.57 is 30.23ms +17:30:43 - Ping to 10.0.2.57 is 30.06ms +17:30:45 - Ping to 10.0.2.57 is 30.39ms +17:30:47 - Ping to 10.0.2.57 is 30.13ms +17:30:49 - Ping to 10.0.2.57 is 30.25ms +17:30:51 - Ping to 10.0.2.57 is 30.79ms +17:30:53 - Ping to 10.0.2.57 is 30.09ms +17:30:55 - Ping to 10.0.2.57 is 30.16ms +17:30:57 - Ping to 10.0.2.57 is 30.06ms +17:30:59 - Ping to 10.0.2.57 is 30.12ms +17:31:01 - Ping to 10.0.2.57 is 30.22ms +17:31:03 - Ping to 10.0.2.57 is 30.05ms +17:31:05 - Ping to 10.0.2.57 is 30.35ms +17:31:07 - Ping to 10.0.2.57 is 30.07ms +17:31:09 - Ping to 10.0.2.57 is 30.07ms +17:31:11 - Ping to 10.0.2.57 is 30.05ms +17:31:13 - Ping to 10.0.2.57 is 30.05ms +17:31:15 - Ping to 10.0.2.57 is 30.08ms +17:31:17 - Ping to 10.0.2.57 is 30.04ms +17:31:19 - Ping to 10.0.2.57 is 30.14ms +17:31:21 - Ping to 10.0.2.57 is 30.23ms +17:31:23 - Ping to 10.0.2.57 is 30.23ms +17:31:25 - Ping to 10.0.2.57 is 30.05ms +17:31:27 - Ping to 10.0.2.57 is 30.22ms +17:31:29 - Ping to 10.0.2.57 is 30.62ms +17:31:31 - Ping to 10.0.2.57 is 30.09ms +17:31:33 - Ping to 10.0.2.57 is 30.13ms +17:31:35 - Ping to 10.0.2.57 is 30.06ms +17:31:37 - Ping to 10.0.2.57 is 30.13ms +17:31:39 - Ping to 10.0.2.57 is 30.28ms diff --git a/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server2/env_file.env b/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server2/env_file.env new file mode 100644 index 0000000..bb3cc41 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server2/env_file.env @@ -0,0 +1,4 @@ +PORT=8080 +LOGFILE=/crexplorer/log.txt +PING=10.0.2.57 +EVENT_ENDPOINT=https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message diff --git a/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server2/log.txt b/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server2/log.txt new file mode 100644 index 0000000..74b133e --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer-server2/log.txt @@ -0,0 +1,647 @@ +17:25:24 - Starting to ping 10.0.2.57 +17:25:24 - Starting CRExplorer webserver at port 8080, a request could look like http://localhost:8080/run?max_memory=30 +17:25:24 - Ping to 10.0.2.57 is 10.04ms +17:25:26 - Ping to 10.0.2.57 is 10.35ms +17:25:28 - Ping to 10.0.2.57 is 9.99ms +17:25:30 - Ping to 10.0.2.57 is 9.99ms +17:25:32 - Ping to 10.0.2.57 is 9.98ms +17:25:34 - Ping to 10.0.2.57 is 10.03ms +17:25:36 - Ping to 10.0.2.57 is 9.97ms +17:25:38 - Ping to 10.0.2.57 is 10.19ms +17:25:40 - Ping to 10.0.2.57 is 10.06ms +17:25:42 - Ping to 10.0.2.57 is 10.19ms +17:25:44 - Ping to 10.0.2.57 is 9.98ms +17:25:46 - Ping to 10.0.2.57 is 9.98ms +17:25:48 - Ping to 10.0.2.57 is 10.09ms +17:25:50 - Ping to 10.0.2.57 is 10.0ms +17:25:52 - Ping to 10.0.2.57 is 10.01ms +17:25:54 - Ping to 10.0.2.57 is 10.15ms +17:25:56 - Ping to 10.0.2.57 is 10.2ms +17:25:58 - Ping to 10.0.2.57 is 10.12ms +17:26:00 - Ping to 10.0.2.57 is 10.01ms +17:26:02 - Ping to 10.0.2.57 is 9.85ms +17:26:04 - Ping to 10.0.2.57 is 9.96ms +17:26:06 - Ping to 10.0.2.57 is 0.1ms +17:26:08 - Ping to 10.0.2.57 is 10.01ms +17:26:10 - Ping to 10.0.2.57 is 10.06ms +17:26:12 - Ping to 10.0.2.57 is 10.02ms +17:26:14 - Ping to 10.0.2.57 is 10.04ms +17:26:16 - Ping to 10.0.2.57 is 10.07ms +17:26:18 - Ping to 10.0.2.57 is 10.02ms +17:26:20 - Ping to 10.0.2.57 is 10.19ms +17:26:22 - Ping to 10.0.2.57 is 10.05ms +17:26:24 - Ping to 10.0.2.57 is 10.12ms +17:26:27 - Ping to 10.0.2.57 is 10.09ms +17:26:29 - Ping to 10.0.2.57 is 5.07ms +17:26:31 - Ping to 10.0.2.57 is 10.01ms +17:26:33 - Ping to 10.0.2.57 is 10.12ms +17:26:35 - Ping to 10.0.2.57 is 10.14ms +17:26:37 - Ping to 10.0.2.57 is 10.05ms +17:26:39 - Ping to 10.0.2.57 is 10.03ms +17:26:41 - Ping to 10.0.2.57 is 10.04ms +17:26:43 - Ping to 10.0.2.57 is 9.99ms +17:26:44 - Prepared run, max_memory is 200 +17:26:44 - ############################# +17:26:44 - ############################# +17:26:44 - Now in state memory1 +17:26:44 - ############################# +17:26:44 - ############################# +17:26:44 - Starting CPU benchmark +17:26:45 - Ping to 10.0.2.57 is 20.61ms +17:26:47 - Ping to 10.0.2.57 is 10.16ms +17:26:49 - Ping to 10.0.2.57 is 9.99ms +17:26:51 - Ping to 10.0.2.57 is 9.98ms +17:26:53 - Ping to 10.0.2.57 is 9.96ms +17:26:55 - Ping to 10.0.2.57 is 10.05ms +17:26:55 - CPU-Time needed for CPU benchmark: 7.408629595666658s (SD=0.3450100611744541s) +17:26:55 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=cpu +17:26:55 - Status code was 200 +17:26:55 - Trying to allocate up to 200mb of memory, printing allocated amount starting at 100mb: +17:26:55 - 100mb +17:26:55 - 101mb +17:26:55 - 102mb +17:26:55 - 103mb +17:26:55 - 104mb +17:26:55 - 105mb +17:26:55 - 106mb +17:26:55 - 107mb +17:26:55 - 108mb +17:26:55 - 109mb +17:26:55 - 110mb +17:26:55 - 111mb +17:26:55 - 112mb +17:26:55 - 113mb +17:26:55 - 114mb +17:26:55 - 115mb +17:26:55 - 116mb +17:26:55 - 117mb +17:26:55 - 118mb +17:26:55 - 119mb +17:26:55 - 120mb +17:26:55 - 121mb +17:26:55 - 122mb +17:26:55 - 123mb +17:26:55 - 124mb +17:26:55 - 125mb +17:26:55 - 126mb +17:26:55 - 127mb +17:26:55 - 128mb +17:26:55 - 129mb +17:26:55 - 130mb +17:26:55 - 131mb +17:26:55 - 132mb +17:26:55 - 133mb +17:26:55 - 134mb +17:26:55 - 135mb +17:26:55 - 136mb +17:26:55 - 137mb +17:26:55 - 138mb +17:26:55 - 139mb +17:26:55 - 140mb +17:26:55 - 141mb +17:26:55 - 142mb +17:26:55 - 143mb +17:26:55 - 144mb +17:26:55 - 145mb +17:26:55 - 146mb +17:26:55 - 147mb +17:26:55 - 148mb +17:26:55 - 149mb +17:26:55 - 150mb +17:26:55 - 151mb +17:26:55 - 152mb +17:26:55 - 153mb +17:26:55 - 154mb +17:26:55 - 155mb +17:26:55 - 156mb +17:26:55 - 157mb +17:26:55 - 158mb +17:26:55 - 159mb +17:26:55 - 160mb +17:26:55 - 161mb +17:26:55 - 162mb +17:26:55 - 163mb +17:26:55 - 164mb +17:26:55 - 165mb +17:26:55 - 166mb +17:26:55 - 167mb +17:26:55 - 168mb +17:26:55 - 169mb +17:26:55 - 170mb +17:26:55 - 171mb +17:26:55 - 172mb +17:26:55 - 173mb +17:26:55 - 174mb +17:26:55 - 175mb +17:26:55 - 176mb +17:26:55 - 177mb +17:26:55 - 178mb +17:26:55 - 179mb +17:26:55 - 180mb +17:26:55 - 181mb +17:26:55 - 182mb +17:26:55 - 183mb +17:26:55 - 184mb +17:26:55 - 185mb +17:26:55 - 186mb +17:26:55 - 187mb +17:26:55 - 188mb +17:26:55 - 189mb +17:26:55 - 190mb +17:26:55 - 191mb +17:26:55 - 192mb +17:26:55 - 193mb +17:26:55 - 194mb +17:26:55 - 195mb +17:26:55 - 196mb +17:26:55 - 197mb +17:26:55 - 198mb +17:26:56 - 199mb +17:26:56 - 200mb +17:26:56 - +Was able to allocate all needed memory +17:26:56 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=memory +17:26:56 - Status code was 200 +17:26:57 - Ping to 10.0.2.57 is 10.18ms +17:26:59 - Ping to 10.0.2.57 is 9.99ms +17:27:01 - Ping to 10.0.2.57 is 10.06ms +17:27:03 - Ping to 10.0.2.57 is 10.03ms +17:27:05 - Ping to 10.0.2.57 is 10.1ms +17:27:07 - ############################# +17:27:07 - ############################# +17:27:07 - Now in state network1 +17:27:07 - ############################# +17:27:07 - ############################# +17:27:07 - Starting CPU benchmark +17:27:07 - Ping to 10.0.2.57 is 23.8ms +17:27:09 - Ping to 10.0.2.57 is 19.96ms +17:27:11 - Ping to 10.0.2.57 is 19.98ms +17:27:15 - Ping to 10.0.2.57 is 2000ms +17:27:18 - CPU-Time needed for CPU benchmark: 7.271021599000012s (SD=0.18125106725546708s) +17:27:18 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=cpu +17:27:18 - Status code was 200 +17:27:18 - Trying to allocate up to 200mb of memory, printing allocated amount starting at 100mb: +17:27:18 - 100mb +17:27:18 - 101mb +17:27:18 - 102mb +17:27:18 - 103mb +17:27:18 - 104mb +17:27:18 - 105mb +17:27:18 - 106mb +17:27:18 - 107mb +17:27:18 - 108mb +17:27:18 - 109mb +17:27:18 - 110mb +17:27:18 - 111mb +17:27:18 - 112mb +17:27:18 - 113mb +17:27:18 - 114mb +17:27:18 - 115mb +17:27:18 - 116mb +17:27:18 - 117mb +17:27:18 - 118mb +17:27:18 - 119mb +17:27:18 - 120mb +17:27:18 - 121mb +17:27:18 - 122mb +17:27:18 - 123mb +17:27:18 - 124mb +17:27:18 - 125mb +17:27:18 - 126mb +17:27:18 - 127mb +17:27:18 - 128mb +17:27:18 - 129mb +17:27:18 - 130mb +17:27:18 - 131mb +17:27:18 - 132mb +17:27:18 - 133mb +17:27:18 - 134mb +17:27:18 - 135mb +17:27:18 - 136mb +17:27:18 - 137mb +17:27:18 - 138mb +17:27:18 - 139mb +17:27:18 - 140mb +17:27:18 - 141mb +17:27:18 - 142mb +17:27:18 - 143mb +17:27:18 - 144mb +17:27:18 - 145mb +17:27:18 - 146mb +17:27:18 - 147mb +17:27:18 - 148mb +17:27:18 - 149mb +17:27:18 - 150mb +17:27:18 - 151mb +17:27:18 - 152mb +17:27:18 - 153mb +17:27:18 - 154mb +17:27:18 - 155mb +17:27:18 - 156mb +17:27:18 - 157mb +17:27:18 - 158mb +17:27:18 - 159mb +17:27:18 - 160mb +17:27:18 - 161mb +17:27:18 - 162mb +17:27:18 - 163mb +17:27:18 - 164mb +17:27:18 - 165mb +17:27:18 - 166mb +17:27:18 - 167mb +17:27:18 - 168mb +17:27:18 - 169mb +17:27:18 - 170mb +17:27:18 - 171mb +17:27:18 - 172mb +17:27:18 - 173mb +17:27:18 - 174mb +17:27:18 - 175mb +17:27:18 - 176mb +17:27:18 - 177mb +17:27:18 - 178mb +17:27:18 - 179mb +17:27:18 - 180mb +17:27:18 - 181mb +17:27:18 - 182mb +17:27:18 - 183mb +17:27:18 - 184mb +17:27:18 - 185mb +17:27:18 - 186mb +17:27:18 - 187mb +17:27:18 - 188mb +17:27:18 - 189mb +17:27:18 - 190mb +17:27:18 - 191mb +17:27:18 - 192mb +17:27:18 - 193mb +17:27:18 - 194mb +17:27:18 - 195mb +17:27:18 - 196mb +17:27:18 - 197mb +17:27:18 - 198mb +17:27:18 - 199mb +17:27:18 - 200mb +17:27:18 - +Was able to allocate all needed memory +17:27:18 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=memory +17:27:18 - Status code was 200 +17:27:19 - Ping to 10.0.2.57 is 2000ms +17:27:21 - Ping to 10.0.2.57 is 20.88ms +17:27:23 - Ping to 10.0.2.57 is 20.02ms +17:27:27 - Ping to 10.0.2.57 is 2000ms +17:27:29 - Ping to 10.0.2.57 is 10.02ms +17:27:29 - ############################# +17:27:29 - ############################# +17:27:29 - Now in state cpu1 +17:27:29 - ############################# +17:27:29 - ############################# +17:27:29 - Starting CPU benchmark +17:27:31 - Ping to 10.0.2.57 is 10.05ms +17:27:33 - Ping to 10.0.2.57 is 10.03ms +17:27:35 - Ping to 10.0.2.57 is 9.94ms +17:27:37 - Ping to 10.0.2.57 is 9.99ms +17:27:39 - Ping to 10.0.2.57 is 10.02ms +17:27:40 - CPU-Time needed for CPU benchmark: 7.2623041893333875s (SD=0.2124208234688048s) +17:27:40 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=cpu +17:27:40 - Status code was 200 +17:27:40 - Trying to allocate up to 200mb of memory, printing allocated amount starting at 100mb: +17:27:40 - 100mb +17:27:40 - 101mb +17:27:40 - 102mb +17:27:40 - 103mb +17:27:40 - 104mb +17:27:40 - 105mb +17:27:40 - 106mb +17:27:40 - 107mb +17:27:40 - 108mb +17:27:40 - 109mb +17:27:40 - 110mb +17:27:40 - 111mb +17:27:40 - 112mb +17:27:40 - 113mb +17:27:40 - 114mb +17:27:40 - 115mb +17:27:40 - 116mb +17:27:40 - 117mb +17:27:40 - 118mb +17:27:40 - 119mb +17:27:40 - 120mb +17:27:40 - 121mb +17:27:40 - 122mb +17:27:40 - 123mb +17:27:40 - 124mb +17:27:40 - 125mb +17:27:40 - 126mb +17:27:40 - 127mb +17:27:40 - 128mb +17:27:40 - 129mb +17:27:40 - 130mb +17:27:40 - 131mb +17:27:40 - 132mb +17:27:40 - 133mb +17:27:40 - 134mb +17:27:40 - 135mb +17:27:40 - 136mb +17:27:40 - 137mb +17:27:40 - 138mb +17:27:40 - 139mb +17:27:40 - 140mb +17:27:40 - 141mb +17:27:40 - 142mb +17:27:40 - 143mb +17:27:40 - 144mb +17:27:40 - 145mb +17:27:40 - 146mb +17:27:40 - 147mb +17:27:40 - 148mb +17:27:40 - 149mb +17:27:40 - 150mb +17:27:40 - 151mb +17:27:40 - 152mb +17:27:40 - 153mb +17:27:40 - 154mb +17:27:40 - 155mb +17:27:40 - 156mb +17:27:40 - 157mb +17:27:40 - 158mb +17:27:40 - 159mb +17:27:40 - 160mb +17:27:40 - 161mb +17:27:40 - 162mb +17:27:40 - 163mb +17:27:40 - 164mb +17:27:40 - 165mb +17:27:40 - 166mb +17:27:40 - 167mb +17:27:40 - 168mb +17:27:40 - 169mb +17:27:40 - 170mb +17:27:40 - 171mb +17:27:40 - 172mb +17:27:40 - 173mb +17:27:40 - 174mb +17:27:40 - 175mb +17:27:40 - 176mb +17:27:40 - 177mb +17:27:40 - 178mb +17:27:40 - 179mb +17:27:40 - 180mb +17:27:40 - 181mb +17:27:40 - 182mb +17:27:40 - 183mb +17:27:40 - 184mb +17:27:40 - 185mb +17:27:40 - 186mb +17:27:40 - 187mb +17:27:40 - 188mb +17:27:40 - 189mb +17:27:40 - 190mb +17:27:40 - 191mb +17:27:40 - 192mb +17:27:40 - 193mb +17:27:40 - 194mb +17:27:40 - 195mb +17:27:40 - 196mb +17:27:40 - 197mb +17:27:40 - 198mb +17:27:40 - 199mb +17:27:40 - 200mb +17:27:40 - +Was able to allocate all needed memory +17:27:40 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=memory +17:27:40 - Status code was 200 +17:27:41 - Ping to 10.0.2.57 is 10.1ms +17:27:43 - Ping to 10.0.2.57 is 9.99ms +17:27:45 - Ping to 10.0.2.57 is 10.11ms +17:27:47 - Ping to 10.0.2.57 is 10.0ms +17:27:49 - Ping to 10.0.2.57 is 9.96ms +17:27:51 - Ping to 10.0.2.57 is 10.01ms +17:27:53 - Ping to 10.0.2.57 is 9.99ms +17:27:55 - Ping to 10.0.2.57 is 10.14ms +17:27:57 - Ping to 10.0.2.57 is 10.01ms +17:27:59 - Ping to 10.0.2.57 is 9.98ms +17:28:01 - Ping to 10.0.2.57 is 10.08ms +17:28:03 - Ping to 10.0.2.57 is 10.11ms +17:28:05 - Ping to 10.0.2.57 is 10.05ms +17:28:07 - Ping to 10.0.2.57 is 10.08ms +17:28:09 - Ping to 10.0.2.57 is 10.13ms +17:28:11 - Ping to 10.0.2.57 is 10.09ms +17:28:13 - Ping to 10.0.2.57 is 9.99ms +17:28:15 - Ping to 10.0.2.57 is 9.98ms +17:28:17 - Ping to 10.0.2.57 is 9.98ms +17:28:19 - Ping to 10.0.2.57 is 10.04ms +17:28:21 - Ping to 10.0.2.57 is 10.01ms +17:28:23 - Ping to 10.0.2.57 is 10.07ms +17:28:25 - Ping to 10.0.2.57 is 10.02ms +17:28:27 - Ping to 10.0.2.57 is 9.98ms +17:28:29 - Ping to 10.0.2.57 is 10.05ms +17:28:31 - Ping to 10.0.2.57 is 10.01ms +17:28:33 - Ping to 10.0.2.57 is 0.13ms +17:28:35 - Ping to 10.0.2.57 is 10.21ms +17:28:37 - Ping to 10.0.2.57 is 10.03ms +17:28:39 - Ping to 10.0.2.57 is 9.99ms +17:28:41 - Ping to 10.0.2.57 is 10.23ms +17:28:43 - Ping to 10.0.2.57 is 10.08ms +17:28:45 - Ping to 10.0.2.57 is 10.17ms +17:28:47 - Ping to 10.0.2.57 is 10.07ms +17:28:48 - ############################# +17:28:48 - ############################# +17:28:48 - Now in state final +17:28:48 - ############################# +17:28:48 - ############################# +17:28:48 - Starting CPU benchmark +17:28:49 - Ping to 10.0.2.57 is 10.02ms +17:28:51 - Ping to 10.0.2.57 is 10.05ms +17:28:53 - Ping to 10.0.2.57 is 9.95ms +17:28:55 - Ping to 10.0.2.57 is 9.95ms +17:28:57 - Ping to 10.0.2.57 is 10.07ms +17:28:59 - CPU-Time needed for CPU benchmark: 7.316740180999962s (SD=0.3190011976081147s) +17:28:59 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=cpu +17:28:59 - Status code was 404 +17:28:59 - Trying to allocate up to 200mb of memory, printing allocated amount starting at 100mb: +17:28:59 - 100mb +17:28:59 - 101mb +17:28:59 - 102mb +17:28:59 - 103mb +17:28:59 - 104mb +17:28:59 - 105mb +17:28:59 - 106mb +17:28:59 - 107mb +17:28:59 - 108mb +17:28:59 - 109mb +17:28:59 - 110mb +17:28:59 - 111mb +17:28:59 - 112mb +17:28:59 - 113mb +17:28:59 - 114mb +17:28:59 - 115mb +17:28:59 - 116mb +17:28:59 - 117mb +17:28:59 - 118mb +17:28:59 - 119mb +17:28:59 - 120mb +17:28:59 - 121mb +17:28:59 - 122mb +17:28:59 - 123mb +17:28:59 - 124mb +17:28:59 - 125mb +17:28:59 - 126mb +17:28:59 - 127mb +17:28:59 - 128mb +17:28:59 - 129mb +17:28:59 - 130mb +17:28:59 - 131mb +17:28:59 - 132mb +17:28:59 - 133mb +17:28:59 - 134mb +17:28:59 - 135mb +17:28:59 - 136mb +17:28:59 - 137mb +17:28:59 - 138mb +17:28:59 - 139mb +17:28:59 - 140mb +17:28:59 - 141mb +17:28:59 - 142mb +17:28:59 - 143mb +17:28:59 - 144mb +17:28:59 - 145mb +17:28:59 - 146mb +17:28:59 - 147mb +17:28:59 - 148mb +17:28:59 - 149mb +17:28:59 - 150mb +17:28:59 - 151mb +17:28:59 - 152mb +17:28:59 - 153mb +17:28:59 - 154mb +17:28:59 - 155mb +17:28:59 - 156mb +17:28:59 - 157mb +17:28:59 - 158mb +17:28:59 - 159mb +17:28:59 - 160mb +17:28:59 - 161mb +17:28:59 - 162mb +17:28:59 - 163mb +17:28:59 - 164mb +17:28:59 - 165mb +17:28:59 - 166mb +17:28:59 - 167mb +17:28:59 - 168mb +17:28:59 - 169mb +17:28:59 - 170mb +17:28:59 - 171mb +17:28:59 - 172mb +17:28:59 - 173mb +17:28:59 - 174mb +17:28:59 - 175mb +17:28:59 - 176mb +17:28:59 - 177mb +17:28:59 - 178mb +17:28:59 - 179mb +17:28:59 - 180mb +17:28:59 - 181mb +17:28:59 - 182mb +17:28:59 - 183mb +17:28:59 - 184mb +17:28:59 - 185mb +17:28:59 - 186mb +17:28:59 - 187mb +17:28:59 - 188mb +17:28:59 - 189mb +17:28:59 - 190mb +17:28:59 - 191mb +17:28:59 - 192mb +17:28:59 - 193mb +17:28:59 - 194mb +17:28:59 - 195mb +17:28:59 - 196mb +17:28:59 - 197mb +17:28:59 - 198mb +17:28:59 - 199mb +17:28:59 - 200mb +17:28:59 - +Was able to allocate all needed memory +17:28:59 - Sending benchmark completed message to https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message?event_name=memory +17:28:59 - Ping to 10.0.2.57 is 9.98ms +17:29:00 - Status code was 404 +17:29:01 - Ping to 10.0.2.57 is 10.13ms +17:29:03 - Ping to 10.0.2.57 is 10.0ms +17:29:05 - Ping to 10.0.2.57 is 10.11ms +17:29:08 - Ping to 10.0.2.57 is 10.23ms +17:29:10 - Ping to 10.0.2.57 is 10.11ms +17:29:12 - Ping to 10.0.2.57 is 10.04ms +17:29:14 - Ping to 10.0.2.57 is 10.2ms +17:29:16 - Ping to 10.0.2.57 is 9.99ms +17:29:18 - Ping to 10.0.2.57 is 10.02ms +17:29:20 - Ping to 10.0.2.57 is 10.04ms +17:29:22 - Ping to 10.0.2.57 is 10.05ms +17:29:24 - Ping to 10.0.2.57 is 10.11ms +17:29:26 - Ping to 10.0.2.57 is 10.01ms +17:29:28 - Ping to 10.0.2.57 is 10.03ms +17:29:30 - Ping to 10.0.2.57 is 10.21ms +17:29:32 - Ping to 10.0.2.57 is 10.19ms +17:29:34 - Ping to 10.0.2.57 is 9.99ms +17:29:36 - Ping to 10.0.2.57 is 10.0ms +17:29:38 - Ping to 10.0.2.57 is 10.12ms +17:29:40 - Ping to 10.0.2.57 is 9.98ms +17:29:42 - Ping to 10.0.2.57 is 9.98ms +17:29:44 - Ping to 10.0.2.57 is 10.14ms +17:29:46 - Ping to 10.0.2.57 is 10.1ms +17:29:48 - Ping to 10.0.2.57 is 10.12ms +17:29:50 - Ping to 10.0.2.57 is 10.07ms +17:29:52 - Ping to 10.0.2.57 is 10.1ms +17:29:54 - Ping to 10.0.2.57 is 10.1ms +17:29:56 - Ping to 10.0.2.57 is 10.12ms +17:29:58 - Ping to 10.0.2.57 is 10.05ms +17:30:00 - Ping to 10.0.2.57 is 10.02ms +17:30:02 - Ping to 10.0.2.57 is 10.81ms +17:30:04 - Ping to 10.0.2.57 is 10.01ms +17:30:06 - Ping to 10.0.2.57 is 10.12ms +17:30:08 - Ping to 10.0.2.57 is 9.99ms +17:30:10 - Ping to 10.0.2.57 is 10.03ms +17:30:12 - Ping to 10.0.2.57 is 10.04ms +17:30:14 - Ping to 10.0.2.57 is 10.07ms +17:30:16 - Ping to 10.0.2.57 is 10.02ms +17:30:18 - Ping to 10.0.2.57 is 9.98ms +17:30:20 - Ping to 10.0.2.57 is 10.05ms +17:30:22 - Ping to 10.0.2.57 is 9.98ms +17:30:24 - Ping to 10.0.2.57 is 9.98ms +17:30:26 - Ping to 10.0.2.57 is 10.1ms +17:30:28 - Ping to 10.0.2.57 is 10.12ms +17:30:30 - Ping to 10.0.2.57 is 10.0ms +17:30:32 - Ping to 10.0.2.57 is 9.98ms +17:30:34 - Ping to 10.0.2.57 is 10.26ms +17:30:36 - Ping to 10.0.2.57 is 10.14ms +17:30:38 - Ping to 10.0.2.57 is 10.05ms +17:30:40 - Ping to 10.0.2.57 is 10.06ms +17:30:42 - Ping to 10.0.2.57 is 9.96ms +17:30:44 - Ping to 10.0.2.57 is 10.14ms +17:30:46 - Ping to 10.0.2.57 is 9.99ms +17:30:48 - Ping to 10.0.2.57 is 10.17ms +17:30:50 - Ping to 10.0.2.57 is 10.01ms +17:30:52 - Ping to 10.0.2.57 is 10.2ms +17:30:54 - Ping to 10.0.2.57 is 9.99ms +17:30:56 - Ping to 10.0.2.57 is 10.11ms +17:30:58 - Ping to 10.0.2.57 is 9.89ms +17:31:00 - Ping to 10.0.2.57 is 10.19ms +17:31:02 - Ping to 10.0.2.57 is 9.99ms +17:31:04 - Ping to 10.0.2.57 is 10.08ms +17:31:06 - Ping to 10.0.2.57 is 10.04ms +17:31:08 - Ping to 10.0.2.57 is 10.14ms +17:31:10 - Ping to 10.0.2.57 is 10.08ms +17:31:12 - Ping to 10.0.2.57 is 10.1ms +17:31:14 - Ping to 10.0.2.57 is 10.12ms +17:31:16 - Ping to 10.0.2.57 is 9.99ms +17:31:18 - Ping to 10.0.2.57 is 9.96ms +17:31:20 - Ping to 10.0.2.57 is 10.08ms +17:31:22 - Ping to 10.0.2.57 is 10.02ms +17:31:24 - Ping to 10.0.2.57 is 10.0ms +17:31:26 - Ping to 10.0.2.57 is 10.01ms +17:31:28 - Ping to 10.0.2.57 is 10.0ms +17:31:30 - Ping to 10.0.2.57 is 10.01ms +17:31:32 - Ping to 10.0.2.57 is 9.97ms +17:31:34 - Ping to 10.0.2.57 is 10.2ms +17:31:36 - Ping to 10.0.2.57 is 10.01ms +17:31:38 - Ping to 10.0.2.57 is 10.03ms diff --git a/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer/env_file.env b/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer/env_file.env new file mode 100644 index 0000000..bb3cc41 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/appdata/crexplorer/env_file.env @@ -0,0 +1,4 @@ +PORT=8080 +LOGFILE=/crexplorer/log.txt +PING=10.0.2.57 +EVENT_ENDPOINT=https://3512-b7dbf171-7203-401b-92ee-ee6a64486435.ws-eu03.gitpod.io/v3/transition/message diff --git a/node-manager/run-example-crexplorer-ubuntu/appdata/node-exporter-server1/env_file.env b/node-manager/run-example-crexplorer-ubuntu/appdata/node-exporter-server1/env_file.env new file mode 100644 index 0000000..e69de29 diff --git a/node-manager/run-example-crexplorer-ubuntu/appdata/node-exporter-server2/env_file.env b/node-manager/run-example-crexplorer-ubuntu/appdata/node-exporter-server2/env_file.env new file mode 100644 index 0000000..e69de29 diff --git a/node-manager/run-example-crexplorer-ubuntu/appdata/node-exporter/env_file.env b/node-manager/run-example-crexplorer-ubuntu/appdata/node-exporter/env_file.env new file mode 100644 index 0000000..e69de29 diff --git a/node-manager/run-example-crexplorer-ubuntu/config/container.jsonc b/node-manager/run-example-crexplorer-ubuntu/config/container.jsonc new file mode 100644 index 0000000..7b7c730 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/config/container.jsonc @@ -0,0 +1,22 @@ +[ + { + "container_name": "crexplorer", + "docker_image": "hasenburg/crexplorer", + "container_dirname": "/crexplorer", + "local_dirname": "appdata/crexplorer", + "env": { + "PORT": 8080, + "LOGFILE": "/crexplorer/log.txt", + "PING": "{{ internal_ip('server3') }}", + "EVENT_ENDPOINT": "{{ nm_event_endpoint() }}" + }, + "command": [] + }, + { + "container_name": "node-exporter", + "docker_image": "prom/node-exporter", + "container_dirname": "/node-exporter", + "local_dirname": "appdata/node-exporter", + "command": [] + } +] diff --git a/node-manager/run-example-crexplorer-ubuntu/config/deployment.jsonc b/node-manager/run-example-crexplorer-ubuntu/config/deployment.jsonc new file mode 100644 index 0000000..17a9b95 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/config/deployment.jsonc @@ -0,0 +1,12 @@ +[ + { + "container_name": "crexplorer", + "machine_names": ["server1", "server2"], + "machine_resource_percentage": 90 // how much of the cpu/memory limit the container gets; 100 = same as defined in infrastructure.jsonc + }, + { + "container_name": "node-exporter", + "machine_names": ["server1", "server2"], + "machine_resource_percentage": 100 // how much of the cpu/memory limit the container gets; 100 = same as defined in infrastructure.jsonc + } +] diff --git a/node-manager/run-example-crexplorer-ubuntu/config/infrastructure.jsonc b/node-manager/run-example-crexplorer-ubuntu/config/infrastructure.jsonc new file mode 100644 index 0000000..be0037a --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/config/infrastructure.jsonc @@ -0,0 +1,39 @@ +{ + "aws": { + "ec2_region": "eu-central-1", + "ssh_key_name": "ec2-mockfog2-ssh-key", + "agent_port": 3100 + }, + "machines": [ + { + "machine_name": "server1", + "type": "t3.micro", + "image": "ami-0502e817a62226e03", + "memory": "400m" // optionally limit the max memory for containers (units: b, k, m, g; indicate bytes, kibibyte, mebibyte, and gibibyte) + }, + { + "machine_name": "server2", + "type": "t3.micro", + "image": "ami-0502e817a62226e03", + "memory": "400m", + "cpu": 2.0 // optionally limit number of useables cpus for containers + }, + { + "machine_name": "server3", + "type": "t3.micro", + "image": "ami-0502e817a62226e03" + } + ], + "connections": [ + { + "from": "server1", + "to": "server2", + "delay": 10 + }, + { + "from": "server2", + "to": "server3", + "delay": 5 + } + ] +} diff --git a/node-manager/run-example-crexplorer-ubuntu/config/orchestration.jsonc b/node-manager/run-example-crexplorer-ubuntu/config/orchestration.jsonc new file mode 100644 index 0000000..28c8908 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/config/orchestration.jsonc @@ -0,0 +1,160 @@ +{ + "states": [ + { + "state_name": "initial", + "connection_manipulation_instructions": "reset", + "machine_manipulation_instructions": "reset", + "application_instructions": [], + "state_notifications": [], + "transition_conditions": [ + { + "type": "time-based", + "active-for": 20000, + "next_state": "memory1" + } + ] + }, + { + "state_name": "memory1", + "connection_manipulation_instructions": [], + // overwrite machine resource defaults/the properties defined in infrastructure.jsonc + "machine_manipulation_instructions": [ + { + "machine_name": "server1", + "memory": "200m" + } + ], + "application_instructions": [ + { + "target_container": "crexplorer", + "path": "/prepare", + "port": 8080, + "query_strings": { + "max_memory": 200 + } + } + ], + "state_notifications": [ + { + "target_container": "crexplorer", + "path": "/state", + "port": 8080 + }, + { + "target_container": "node-exporter", + "path": "/state", + "port": 9100 // does not really listen here, but this makes the node-exporter available via the public internet + } + ], + "transition_conditions": [ + { + "type": "message-based", + "event_name": "cpu", + "threshold": 2, + "next_state": "network1" + }, + { + "type": "message-based", + "event_name": "memory", + "threshold": 1, // as server-1 has not enough memory + "next_state": "network1" + }, + { + "type": "time-based", + "active-for": 20000, // minimum time in state so we get enough pings + "next_state": "network1" + } + ] + }, + { + "state_name": "network1", + "connection_manipulation_instructions": [ + { + "from": "server2", + "to": "server3", + "delay": 10, + "loss": 20 // 20% chance for package loss + } + ], + "machine_manipulation_instructions": "reset", + "application_instructions": [], + "state_notifications": [ + { + "target_container": "crexplorer", + "path": "/state", + "port": 8080 + } + ], + "transition_conditions": [ + { + "type": "message-based", + "event_name": "cpu", + "threshold": 2, + "next_state": "cpu1" + }, + { + "type": "message-based", + "event_name": "memory", + "threshold": 2, + "next_state": "cpu1" + }, + { + "type": "time-based", + "active-for": 20000, + "next_state": "cpu1" + } + ] + }, + { + "state_name": "cpu1", + "connection_manipulation_instructions": "reset", + "machine_manipulation_instructions": [ + { + "machine_name": "server1", + "cpu": 0.5 + } + ], + "application_instructions": [], + "state_notifications": [ + { + "target_container": "crexplorer", + "path": "/state", + "port": 8080 + } + ], + "transition_conditions": [ + { + "type": "message-based", + "event_name": "cpu", + "threshold": 2, + "next_state": "final" + }, + { + "type": "message-based", + "event_name": "memory", + "threshold": 2, + "next_state": "final" + }, + { + "type": "time-based", + "active-for": 20000, + "next_state": "final" + } + ] + }, + { + "state_name": "final", + "connection_manipulation_instructions": "reset", + "machine_manipulation_instructions": "reset", + "application_instructions": [], + "state_notifications": [ + { + "target_container": "crexplorer", + "path": "/state", + "port": 8080 + } + ], + "transition_conditions": [] + } + ] +} \ No newline at end of file diff --git a/node-manager/run-example-crexplorer-ubuntu/hosts b/node-manager/run-example-crexplorer-ubuntu/hosts new file mode 100644 index 0000000..b599c0f --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/hosts @@ -0,0 +1,38 @@ +[all:vars] +ansible_user=ubuntu +ansible_ssh_common_args='-o StrictHostKeyChecking=no' + +# --------------------------------------- +# Hosts by machine_name +# --------------------------------------- + +[machines:children] +server3 +server1 +server2 + +[server3] +ec2-18-198-25-5.eu-central-1.compute.amazonaws.com machine_name=server3 internal_ip=10.0.2.57 + +[server1] +ec2-18-184-76-191.eu-central-1.compute.amazonaws.com machine_name=server1 internal_ip=10.0.2.158 + +[server2] +ec2-3-122-252-203.eu-central-1.compute.amazonaws.com machine_name=server2 internal_ip=10.0.2.165 + +# --------------------------------------- +# Hosts by container_names +# --------------------------------------- + +[container:children] +crexplorer +node-exporter + +[crexplorer] +ec2-18-184-76-191.eu-central-1.compute.amazonaws.com machine_name=server1 internal_ip=10.0.2.158 +ec2-3-122-252-203.eu-central-1.compute.amazonaws.com machine_name=server2 internal_ip=10.0.2.165 + +[node-exporter] +ec2-18-184-76-191.eu-central-1.compute.amazonaws.com machine_name=server1 internal_ip=10.0.2.158 +ec2-3-122-252-203.eu-central-1.compute.amazonaws.com machine_name=server2 internal_ip=10.0.2.165 + diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/connection_delays.jsonc b/node-manager/run-example-crexplorer-ubuntu/machines/connection_delays.jsonc new file mode 100644 index 0000000..2a14ca1 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/connection_delays.jsonc @@ -0,0 +1,53 @@ +{ + "server1": [ + { + "target_host": "server1", + "public_ip": "ec2-18-184-76-191.eu-central-1.compute.amazonaws.com", + "ping": 0.03 + }, + { + "target_host": "server2", + "public_ip": "ec2-3-122-252-203.eu-central-1.compute.amazonaws.com", + "ping": 0.208 + }, + { + "target_host": "server3", + "public_ip": "ec2-18-198-25-5.eu-central-1.compute.amazonaws.com", + "ping": 0.205 + } + ], + "server2": [ + { + "target_host": "server1", + "public_ip": "ec2-18-184-76-191.eu-central-1.compute.amazonaws.com", + "ping": 0.158 + }, + { + "target_host": "server2", + "public_ip": "ec2-3-122-252-203.eu-central-1.compute.amazonaws.com", + "ping": 0.021 + }, + { + "target_host": "server3", + "public_ip": "ec2-18-198-25-5.eu-central-1.compute.amazonaws.com", + "ping": 0.217 + } + ], + "server3": [ + { + "target_host": "server1", + "public_ip": "ec2-18-184-76-191.eu-central-1.compute.amazonaws.com", + "ping": 0.19 + }, + { + "target_host": "server2", + "public_ip": "ec2-3-122-252-203.eu-central-1.compute.amazonaws.com", + "ping": 0.283 + }, + { + "target_host": "server3", + "public_ip": "ec2-18-198-25-5.eu-central-1.compute.amazonaws.com", + "ping": 0.031 + } + ] +} \ No newline at end of file diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/machine_container_resources.jsonc b/node-manager/run-example-crexplorer-ubuntu/machines/machine_container_resources.jsonc new file mode 100644 index 0000000..242ca82 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/machine_container_resources.jsonc @@ -0,0 +1,17 @@ +{ + "server1": { + "machine_name": "server1", + "max_memory": 953, + "max_cpu": 2 + }, + "server2": { + "machine_name": "server2", + "max_memory": 953, + "max_cpu": 2 + }, + "server3": { + "machine_name": "server3", + "max_memory": 953, + "max_cpu": 2 + } +} \ No newline at end of file diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/machine_meta.jsonc b/node-manager/run-example-crexplorer-ubuntu/machines/machine_meta.jsonc new file mode 100644 index 0000000..b7f1bcf --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/machine_meta.jsonc @@ -0,0 +1 @@ +{"instances": [{"ami_launch_index": 0, "image_id": "ami-0502e817a62226e03", "instance_id": "i-0bf6e2c9cfcbd46f1", "instance_type": "t3.micro", "key_name": "ec2-mockfog2-ssh-key", "launch_time": "2021-01-19T17:18:14+00:00", "monitoring": {"state": "disabled"}, "placement": {"availability_zone": "eu-central-1b", "group_name": "", "tenancy": "default"}, "private_dns_name": "ip-10-0-1-64.eu-central-1.compute.internal", "private_ip_address": "10.0.1.64", "product_codes": [], "public_dns_name": "ec2-18-198-25-5.eu-central-1.compute.amazonaws.com", "public_ip_address": "18.198.25.5", "state": {"code": 16, "name": "running"}, "state_transition_reason": "", "subnet_id": "subnet-08f9848ede7359b88", "vpc_id": "vpc-0f7e3f5f38b550866", "architecture": "x86_64", "block_device_mappings": [{"device_name": "/dev/sda1", "ebs": {"attach_time": "2021-01-19T17:18:14+00:00", "delete_on_termination": true, "status": "attached", "volume_id": "vol-0c1448065d7a30bd5"}}], "client_token": "", "ebs_optimized": false, "ena_support": true, "hypervisor": "xen", "network_interfaces": [{"attachment": {"attach_time": "2021-01-19T17:18:29+00:00", "attachment_id": "eni-attach-091df76a41a4c3800", "delete_on_termination": true, "device_index": 1, "status": "attached"}, "description": "", "groups": [{"group_name": "ec2:mockfog2:internal-security-group", "group_id": "sg-06ece1a43b8297352"}], "ipv6_addresses": [], "mac_address": "06:41:1b:6c:71:4c", "network_interface_id": "eni-0abc6cef6ebe73588", "owner_id": "746022503515", "private_dns_name": "ip-10-0-2-57.eu-central-1.compute.internal", "private_ip_address": "10.0.2.57", "private_ip_addresses": [{"primary": true, "private_dns_name": "ip-10-0-2-57.eu-central-1.compute.internal", "private_ip_address": "10.0.2.57"}], "source_dest_check": true, "status": "in-use", "subnet_id": "subnet-088e1c0254199cf1e", "vpc_id": "vpc-0f7e3f5f38b550866", "interface_type": "interface"}, {"association": {"ip_owner_id": "amazon", "public_dns_name": "ec2-18-198-25-5.eu-central-1.compute.amazonaws.com", "public_ip": "18.198.25.5"}, "attachment": {"attach_time": "2021-01-19T17:18:14+00:00", "attachment_id": "eni-attach-0603ebc080f9e8b19", "delete_on_termination": true, "device_index": 0, "status": "attached"}, "description": "", "groups": [{"group_name": "ec2:mockfog2:public-security-group", "group_id": "sg-0e95ef8d12a30f917"}], "ipv6_addresses": [], "mac_address": "06:cd:08:84:88:d2", "network_interface_id": "eni-00ae2ead21f3b3ae7", "owner_id": "746022503515", "private_dns_name": "ip-10-0-1-64.eu-central-1.compute.internal", "private_ip_address": "10.0.1.64", "private_ip_addresses": [{"association": {"ip_owner_id": "amazon", "public_dns_name": "ec2-18-198-25-5.eu-central-1.compute.amazonaws.com", "public_ip": "18.198.25.5"}, "primary": true, "private_dns_name": "ip-10-0-1-64.eu-central-1.compute.internal", "private_ip_address": "10.0.1.64"}], "source_dest_check": true, "status": "in-use", "subnet_id": "subnet-08f9848ede7359b88", "vpc_id": "vpc-0f7e3f5f38b550866", "interface_type": "interface"}], "root_device_name": "/dev/sda1", "root_device_type": "ebs", "security_groups": [{"group_name": "ec2:mockfog2:public-security-group", "group_id": "sg-0e95ef8d12a30f917"}], "source_dest_check": true, "tags": {"Name": "server3"}, "virtualization_type": "hvm", "cpu_options": {"core_count": 1, "threads_per_core": 2}, "capacity_reservation_specification": {"capacity_reservation_preference": "open"}, "hibernation_options": {"configured": false}, "metadata_options": {"state": "applied", "http_tokens": "optional", "http_put_response_hop_limit": 1, "http_endpoint": "enabled"}, "enclave_options": {"enabled": false}}, {"ami_launch_index": 0, "image_id": "ami-0502e817a62226e03", "instance_id": "i-066477c4499c9f217", "instance_type": "t3.micro", "key_name": "ec2-mockfog2-ssh-key", "launch_time": "2021-01-19T17:18:13+00:00", "monitoring": {"state": "disabled"}, "placement": {"availability_zone": "eu-central-1b", "group_name": "", "tenancy": "default"}, "private_dns_name": "ip-10-0-1-177.eu-central-1.compute.internal", "private_ip_address": "10.0.1.177", "product_codes": [], "public_dns_name": "ec2-18-184-76-191.eu-central-1.compute.amazonaws.com", "public_ip_address": "18.184.76.191", "state": {"code": 16, "name": "running"}, "state_transition_reason": "", "subnet_id": "subnet-08f9848ede7359b88", "vpc_id": "vpc-0f7e3f5f38b550866", "architecture": "x86_64", "block_device_mappings": [{"device_name": "/dev/sda1", "ebs": {"attach_time": "2021-01-19T17:18:14+00:00", "delete_on_termination": true, "status": "attached", "volume_id": "vol-07fa89190b2a40544"}}], "client_token": "", "ebs_optimized": false, "ena_support": true, "hypervisor": "xen", "network_interfaces": [{"attachment": {"attach_time": "2021-01-19T17:18:36+00:00", "attachment_id": "eni-attach-0315beb857d3556a7", "delete_on_termination": true, "device_index": 1, "status": "attached"}, "description": "", "groups": [{"group_name": "ec2:mockfog2:internal-security-group", "group_id": "sg-06ece1a43b8297352"}], "ipv6_addresses": [], "mac_address": "06:85:e0:a6:d3:74", "network_interface_id": "eni-0e6064560c6a7cc28", "owner_id": "746022503515", "private_dns_name": "ip-10-0-2-158.eu-central-1.compute.internal", "private_ip_address": "10.0.2.158", "private_ip_addresses": [{"primary": true, "private_dns_name": "ip-10-0-2-158.eu-central-1.compute.internal", "private_ip_address": "10.0.2.158"}], "source_dest_check": true, "status": "in-use", "subnet_id": "subnet-088e1c0254199cf1e", "vpc_id": "vpc-0f7e3f5f38b550866", "interface_type": "interface"}, {"association": {"ip_owner_id": "amazon", "public_dns_name": "ec2-18-184-76-191.eu-central-1.compute.amazonaws.com", "public_ip": "18.184.76.191"}, "attachment": {"attach_time": "2021-01-19T17:18:13+00:00", "attachment_id": "eni-attach-09ccb0bc76a91adcb", "delete_on_termination": true, "device_index": 0, "status": "attached"}, "description": "", "groups": [{"group_name": "ec2:mockfog2:public-security-group", "group_id": "sg-0e95ef8d12a30f917"}], "ipv6_addresses": [], "mac_address": "06:22:18:84:72:84", "network_interface_id": "eni-0fda262440daba5b3", "owner_id": "746022503515", "private_dns_name": "ip-10-0-1-177.eu-central-1.compute.internal", "private_ip_address": "10.0.1.177", "private_ip_addresses": [{"association": {"ip_owner_id": "amazon", "public_dns_name": "ec2-18-184-76-191.eu-central-1.compute.amazonaws.com", "public_ip": "18.184.76.191"}, "primary": true, "private_dns_name": "ip-10-0-1-177.eu-central-1.compute.internal", "private_ip_address": "10.0.1.177"}], "source_dest_check": true, "status": "in-use", "subnet_id": "subnet-08f9848ede7359b88", "vpc_id": "vpc-0f7e3f5f38b550866", "interface_type": "interface"}], "root_device_name": "/dev/sda1", "root_device_type": "ebs", "security_groups": [{"group_name": "ec2:mockfog2:public-security-group", "group_id": "sg-0e95ef8d12a30f917"}], "source_dest_check": true, "tags": {"Name": "server1"}, "virtualization_type": "hvm", "cpu_options": {"core_count": 1, "threads_per_core": 2}, "capacity_reservation_specification": {"capacity_reservation_preference": "open"}, "hibernation_options": {"configured": false}, "metadata_options": {"state": "applied", "http_tokens": "optional", "http_put_response_hop_limit": 1, "http_endpoint": "enabled"}, "enclave_options": {"enabled": false}}, {"ami_launch_index": 0, "image_id": "ami-0502e817a62226e03", "instance_id": "i-057863bc2a092f78a", "instance_type": "t3.micro", "key_name": "ec2-mockfog2-ssh-key", "launch_time": "2021-01-19T17:18:13+00:00", "monitoring": {"state": "disabled"}, "placement": {"availability_zone": "eu-central-1b", "group_name": "", "tenancy": "default"}, "private_dns_name": "ip-10-0-1-234.eu-central-1.compute.internal", "private_ip_address": "10.0.1.234", "product_codes": [], "public_dns_name": "ec2-3-122-252-203.eu-central-1.compute.amazonaws.com", "public_ip_address": "3.122.252.203", "state": {"code": 16, "name": "running"}, "state_transition_reason": "", "subnet_id": "subnet-08f9848ede7359b88", "vpc_id": "vpc-0f7e3f5f38b550866", "architecture": "x86_64", "block_device_mappings": [{"device_name": "/dev/sda1", "ebs": {"attach_time": "2021-01-19T17:18:14+00:00", "delete_on_termination": true, "status": "attached", "volume_id": "vol-0686c8518b367baca"}}], "client_token": "", "ebs_optimized": false, "ena_support": true, "hypervisor": "xen", "network_interfaces": [{"association": {"ip_owner_id": "amazon", "public_dns_name": "ec2-3-122-252-203.eu-central-1.compute.amazonaws.com", "public_ip": "3.122.252.203"}, "attachment": {"attach_time": "2021-01-19T17:18:13+00:00", "attachment_id": "eni-attach-0dfc9464347dc27b2", "delete_on_termination": true, "device_index": 0, "status": "attached"}, "description": "", "groups": [{"group_name": "ec2:mockfog2:public-security-group", "group_id": "sg-0e95ef8d12a30f917"}], "ipv6_addresses": [], "mac_address": "06:9f:6e:16:b5:7e", "network_interface_id": "eni-081bfdc0638e81ff5", "owner_id": "746022503515", "private_dns_name": "ip-10-0-1-234.eu-central-1.compute.internal", "private_ip_address": "10.0.1.234", "private_ip_addresses": [{"association": {"ip_owner_id": "amazon", "public_dns_name": "ec2-3-122-252-203.eu-central-1.compute.amazonaws.com", "public_ip": "3.122.252.203"}, "primary": true, "private_dns_name": "ip-10-0-1-234.eu-central-1.compute.internal", "private_ip_address": "10.0.1.234"}], "source_dest_check": true, "status": "in-use", "subnet_id": "subnet-08f9848ede7359b88", "vpc_id": "vpc-0f7e3f5f38b550866", "interface_type": "interface"}, {"attachment": {"attach_time": "2021-01-19T17:18:43+00:00", "attachment_id": "eni-attach-0945a596b6d529d8f", "delete_on_termination": true, "device_index": 1, "status": "attached"}, "description": "", "groups": [{"group_name": "ec2:mockfog2:internal-security-group", "group_id": "sg-06ece1a43b8297352"}], "ipv6_addresses": [], "mac_address": "06:6c:4f:53:38:2a", "network_interface_id": "eni-0e62235d66c4f3191", "owner_id": "746022503515", "private_dns_name": "ip-10-0-2-165.eu-central-1.compute.internal", "private_ip_address": "10.0.2.165", "private_ip_addresses": [{"primary": true, "private_dns_name": "ip-10-0-2-165.eu-central-1.compute.internal", "private_ip_address": "10.0.2.165"}], "source_dest_check": true, "status": "in-use", "subnet_id": "subnet-088e1c0254199cf1e", "vpc_id": "vpc-0f7e3f5f38b550866", "interface_type": "interface"}], "root_device_name": "/dev/sda1", "root_device_type": "ebs", "security_groups": [{"group_name": "ec2:mockfog2:public-security-group", "group_id": "sg-0e95ef8d12a30f917"}], "source_dest_check": true, "tags": {"Name": "server2"}, "virtualization_type": "hvm", "cpu_options": {"core_count": 1, "threads_per_core": 2}, "capacity_reservation_specification": {"capacity_reservation_preference": "open"}, "hibernation_options": {"configured": false}, "metadata_options": {"state": "applied", "http_tokens": "optional", "http_put_response_hop_limit": 1, "http_endpoint": "enabled"}, "enclave_options": {"enabled": false}}], "failed": false, "changed": false} \ No newline at end of file diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/server1/mcrConfig.json b/node-manager/run-example-crexplorer-ubuntu/machines/server1/mcrConfig.json new file mode 100644 index 0000000..8c5065e --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/server1/mcrConfig.json @@ -0,0 +1,12 @@ +[ + { + "container_name": "crexplorer", + "cpu": 1.8, + "memory": "360m" + }, + { + "container_name": "node-exporter", + "cpu": 2, + "memory": "400m" + } +] \ No newline at end of file diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/server1/netplan.yml b/node-manager/run-example-crexplorer-ubuntu/machines/server1/netplan.yml new file mode 100644 index 0000000..43c24e0 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/server1/netplan.yml @@ -0,0 +1,15 @@ +network: + ethernets: + ens5: + dhcp4: true + dhcp6: false + match: + macaddress: 06:22:18:84:72:84 + set-name: ens5 + ens6: + dhcp4: true + dhcp6: false + match: + macaddress: 06:85:e0:a6:d3:74 + set-name: ens6 + version: 2 diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/server1/tcconfig.json b/node-manager/run-example-crexplorer-ubuntu/machines/server1/tcconfig.json new file mode 100644 index 0000000..5636343 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/server1/tcconfig.json @@ -0,0 +1,33 @@ +{ + "ens5": { + "outgoing": {}, + "incoming": {} + }, + "ens6": { + "outgoing": { + "dst-network=10.0.2.165/32, protocol=ip": { + "machine_name": "server2", + "filler_id": "800:800", + "delay": "9896us", + "rate": "1000000000bps", + "delay-distro": 0, + "duplicate": 0, + "loss": 0, + "corrupt": 0, + "reordering": 0 + }, + "dst-network=10.0.2.57/32, protocol=ip": { + "machine_name": "server3", + "filler_id": "800:801", + "delay": "14897us", + "rate": "1000000000bps", + "delay-distro": 0, + "duplicate": 0, + "loss": 0, + "corrupt": 0, + "reordering": 0 + } + }, + "incoming": {} + } +} \ No newline at end of file diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/server2/mcrConfig.json b/node-manager/run-example-crexplorer-ubuntu/machines/server2/mcrConfig.json new file mode 100644 index 0000000..8c5065e --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/server2/mcrConfig.json @@ -0,0 +1,12 @@ +[ + { + "container_name": "crexplorer", + "cpu": 1.8, + "memory": "360m" + }, + { + "container_name": "node-exporter", + "cpu": 2, + "memory": "400m" + } +] \ No newline at end of file diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/server2/netplan.yml b/node-manager/run-example-crexplorer-ubuntu/machines/server2/netplan.yml new file mode 100644 index 0000000..c0151a8 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/server2/netplan.yml @@ -0,0 +1,15 @@ +network: + ethernets: + ens5: + dhcp4: true + dhcp6: false + match: + macaddress: 06:9f:6e:16:b5:7e + set-name: ens5 + ens6: + dhcp4: true + dhcp6: false + match: + macaddress: 06:6c:4f:53:38:2a + set-name: ens6 + version: 2 diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/server2/tcconfig.json b/node-manager/run-example-crexplorer-ubuntu/machines/server2/tcconfig.json new file mode 100644 index 0000000..7776ce3 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/server2/tcconfig.json @@ -0,0 +1,33 @@ +{ + "ens5": { + "outgoing": {}, + "incoming": {} + }, + "ens6": { + "outgoing": { + "dst-network=10.0.2.158/32, protocol=ip": { + "machine_name": "server1", + "filler_id": "800:800", + "delay": "9921us", + "rate": "1000000000bps", + "delay-distro": 0, + "duplicate": 0, + "loss": 0, + "corrupt": 0, + "reordering": 0 + }, + "dst-network=10.0.2.57/32, protocol=ip": { + "machine_name": "server3", + "filler_id": "800:801", + "delay": "4891us", + "rate": "1000000000bps", + "delay-distro": 0, + "duplicate": 0, + "loss": 0, + "corrupt": 0, + "reordering": 0 + } + }, + "incoming": {} + } +} \ No newline at end of file diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/server3/mcrConfig.json b/node-manager/run-example-crexplorer-ubuntu/machines/server3/mcrConfig.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/server3/mcrConfig.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/server3/netplan.yml b/node-manager/run-example-crexplorer-ubuntu/machines/server3/netplan.yml new file mode 100644 index 0000000..fa0d529 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/server3/netplan.yml @@ -0,0 +1,15 @@ +network: + ethernets: + ens5: + dhcp4: true + dhcp6: false + match: + macaddress: 06:cd:08:84:88:d2 + set-name: ens5 + ens6: + dhcp4: true + dhcp6: false + match: + macaddress: 06:41:1b:6c:71:4c + set-name: ens6 + version: 2 diff --git a/node-manager/run-example-crexplorer-ubuntu/machines/server3/tcconfig.json b/node-manager/run-example-crexplorer-ubuntu/machines/server3/tcconfig.json new file mode 100644 index 0000000..67f61bf --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/machines/server3/tcconfig.json @@ -0,0 +1,33 @@ +{ + "ens5": { + "outgoing": {}, + "incoming": {} + }, + "ens6": { + "outgoing": { + "dst-network=10.0.2.158/32, protocol=ip": { + "machine_name": "server1", + "filler_id": "800:800", + "delay": "14905us", + "rate": "1000000000bps", + "delay-distro": 0, + "duplicate": 0, + "loss": 0, + "corrupt": 0, + "reordering": 0 + }, + "dst-network=10.0.2.165/32, protocol=ip": { + "machine_name": "server2", + "filler_id": "800:801", + "delay": "4858us", + "rate": "1000000000bps", + "delay-distro": 0, + "duplicate": 0, + "loss": 0, + "corrupt": 0, + "reordering": 0 + } + }, + "incoming": {} + } +} \ No newline at end of file diff --git a/node-manager/run-example-crexplorer-ubuntu/vars/0101_bootstrap.yml b/node-manager/run-example-crexplorer-ubuntu/vars/0101_bootstrap.yml new file mode 100644 index 0000000..fd07041 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/vars/0101_bootstrap.yml @@ -0,0 +1,19 @@ +--- +ec2_region: eu-central-1 +ssh_key_name: ec2-mockfog2-ssh-key +agent_port: 3100 + +application_instruction_and_states_ports: +- 8080 +- 9100 + +machines: +- machine_name: server1 + type: t3.micro + image: ami-0502e817a62226e03 +- machine_name: server2 + type: t3.micro + image: ami-0502e817a62226e03 +- machine_name: server3 + type: t3.micro + image: ami-0502e817a62226e03 diff --git a/node-manager/run-example-crexplorer-ubuntu/vars/0102_agent.yml b/node-manager/run-example-crexplorer-ubuntu/vars/0102_agent.yml new file mode 100644 index 0000000..2d1b6a1 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/vars/0102_agent.yml @@ -0,0 +1,5 @@ +--- +ec2_region: eu-central-1 +ssh_key_name: ec2-mockfog2-ssh-key +agent_port: 3100 + diff --git a/node-manager/run-example-crexplorer-ubuntu/vars/0201_prepare.yml b/node-manager/run-example-crexplorer-ubuntu/vars/0201_prepare.yml new file mode 100644 index 0000000..2d1b6a1 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/vars/0201_prepare.yml @@ -0,0 +1,5 @@ +--- +ec2_region: eu-central-1 +ssh_key_name: ec2-mockfog2-ssh-key +agent_port: 3100 + diff --git a/node-manager/run-example-crexplorer-ubuntu/vars/0202_start.yml b/node-manager/run-example-crexplorer-ubuntu/vars/0202_start.yml new file mode 100644 index 0000000..2d1b6a1 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/vars/0202_start.yml @@ -0,0 +1,5 @@ +--- +ec2_region: eu-central-1 +ssh_key_name: ec2-mockfog2-ssh-key +agent_port: 3100 + diff --git a/node-manager/run-example-crexplorer-ubuntu/vars/0203_stop.yml b/node-manager/run-example-crexplorer-ubuntu/vars/0203_stop.yml new file mode 100644 index 0000000..2d1b6a1 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/vars/0203_stop.yml @@ -0,0 +1,5 @@ +--- +ec2_region: eu-central-1 +ssh_key_name: ec2-mockfog2-ssh-key +agent_port: 3100 + diff --git a/node-manager/run-example-crexplorer-ubuntu/vars/0204_collect.yml b/node-manager/run-example-crexplorer-ubuntu/vars/0204_collect.yml new file mode 100644 index 0000000..2d1b6a1 --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/vars/0204_collect.yml @@ -0,0 +1,5 @@ +--- +ec2_region: eu-central-1 +ssh_key_name: ec2-mockfog2-ssh-key +agent_port: 3100 + diff --git a/node-manager/run-example-crexplorer-ubuntu/vars/container/crexplorer.yml b/node-manager/run-example-crexplorer-ubuntu/vars/container/crexplorer.yml new file mode 100644 index 0000000..f28390a --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/vars/container/crexplorer.yml @@ -0,0 +1,6 @@ +--- +container_name: crexplorer +docker_image: hasenburg/crexplorer +container_dirname: /crexplorer +local_dirname: appdata/crexplorer + diff --git a/node-manager/run-example-crexplorer-ubuntu/vars/container/node-exporter.yml b/node-manager/run-example-crexplorer-ubuntu/vars/container/node-exporter.yml new file mode 100644 index 0000000..4c7da8c --- /dev/null +++ b/node-manager/run-example-crexplorer-ubuntu/vars/container/node-exporter.yml @@ -0,0 +1,6 @@ +--- +container_name: node-exporter +docker_image: prom/node-exporter +container_dirname: /node-exporter +local_dirname: appdata/node-exporter +