Git Product home page Git Product logo

hornet-playbook's People

Contributors

jeliasson avatar nuriel77 avatar rajivshah3 avatar redconfetti avatar ssolov avatar tsangares avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

hornet-playbook's Issues

Build Hornet image failes with the error "Cannot locate specified Dockerfile: docker/Dockerfile.arm64\"

Running on a freshly put on Raspberry Pi 4 (8GB) with Ubuntu Server 20.04.2 64 Bit, the Hornet installation will fail at the Task build hornet image.

TASK [hornet : build hornet image, this can take a moment...] ***************************************************************************************************************************************************************************************************************************************************************
FAILED - RETRYING: build hornet image, this can take a moment... (3 retries left).
FAILED - RETRYING: build hornet image, this can take a moment... (2 retries left).
FAILED - RETRYING: build hornet image, this can take a moment... (1 retries left).
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: docker.errors.APIError: 500 Server Error for http+docker://localhost/v1.41/build?t=gohornet%2Fhornet%3A1.0.1&q=False&nocache=False&rm=True&forcerm=True&pull=False&dockerfile=docker%2FDockerfile.arm64&buildargs=%7B%22ARCH%22%3A+%22ARM64%22%2C+%22TAG%22%3A+%221.0.1%22%7D&networkmode=host: Internal Server Error ("Cannot locate specified Dockerfile: docker/Dockerfile.arm64")
fatal: [localhost]: FAILED! => {"attempts": 3, "changed": false, "msg": "An unexpected docker error occurred: 500 Server Error for http+docker://localhost/v1.41/build?t=gohornet%2Fhornet%3A1.0.1&q=False&nocache=False&rm=True&forcerm=True&pull=False&dockerfile=docker%2FDockerfile.arm64&buildargs=%7B%22ARCH%22%3A+%22ARM64%22%2C+%22TAG%22%3A+%221.0.1%22%7D&networkmode=host: Internal Server Error ("Cannot locate specified Dockerfile: docker/Dockerfile.arm64")"}

hornet-playbook-202104300615.log

Autopeering phase never end on microk8s rpi4

Hi Nuriel77, thanks for your contributions.
Installed Hornet node on microk8s cluster Rpi4. Works fine, except if setup autopeering. The phase autopeering never finish, (few thousands of seconds in livenessprobe option in config file) . Do you have any chance to think about it? Any idea about to solve this issue?
Thanks in advance!!!

Problem connecting to MQTT

There is a problem connecting to MQTT.

This code
`async function run() {
const {
ClientBuilder
} = require('@iota/client');

// client connects to a node that has MQTT enabled
const client = new ClientBuilder()
    .node('https://api.thin-hornet-1.h.chrysalis-devnet.iota.cafe')
    .build();

client.subscriber().topics(['milestones/confirmed', 'messages']).subscribe((err, data) => {
    console.log(data);
    // To get the message id from messages `client.getMessageId(data.payload)` can be used
})

await new Promise(resolve => setTimeout(resolve, 1500));
// unsubscribe from 'messages' topic, will continue to receive events for 'milestones/confirmed'
client.subscriber().topics(['messages']).unsubscribe((err, data) => {
    console.log(data);
})

}

run()`

connects to the devnet node, but if I replace with my server's node, it fails with this error:

[Error: SubUnsubTask error: Panic("Internal error: failed to subscribe to topics: MqttConnectionNotFound\n\n 0: \n 1: \n 2: \n 3: \n 4: start_thread\n 5: clone\n")]

If I change the node to something like 'http://localhost:14265',then it works nicely, so I think there is a problem redirecting to the API.

Coordinator Bootstrap fails [mainnetdb/tangle.db: permission denied]

I was following the instructions for setting up a private tangle. When i reached the step where I had to bootstrap the coordinator, it failed due to the tangle.db file not being accessible.

Parameters loaded:
 {
  "coordinator": {
    "address": "NJKRULRSYBV9FOATKCNFCCMEFSMRVWPWHMZARQKEOGJFZWC9WWQGGWGARMMTWRIMWAZBHEFRNMVXZ9RK9",
    "checkpoints": {
      "maxtrackedtails": 10000,
      "maxtrackedtransactions": 10000
    },
    "intervalseconds": 60,
    "merkletreedepth": 20,
    "merkletreefilepath": "coordinator/tree",
    "milestonemerkletreehashfunc": "BLAKE2b-512",
    "mwm": 5,
    "securitylevel": 2,
    "statefilepath": "coordinator/state",
    "tipsel": {
      "heaviestbranchselectiondeadlinemilliseconds": 100,
      "maxheaviestbranchtipspercheckpoint": 10,
      "minheaviestbranchunconfirmedtransactionsthreshold": 20,
      "randomtipspercheckpoint": 3
    }
  },
  "dashboard": {
    "basicauth": {
      "enabled": false,
      "username": ""
    },
    "bindaddress": "127.0.0.1:8087",
    "dev": false,
    "theme": "default"
  },
  "db": {
    "debug": false,
    "path": "mainnetdb"
  },
  "httpapi": {
    "basicauth": {
      "enabled": false,
      "username": ""
    },
    "bindaddress": "127.0.0.1:14265",
    "excludehealthcheckfromauth": false,
    "limits": {
      "bodylengthbytes": 1000000,
      "findtransactions": 1000,
      "gettrytes": 1000,
      "requestslist": 1000
    },
    "permitremoteaccess": [
      "getNodeInfo",
      "getBalances",
      "checkConsistency",
      "getTipInfo",
      "getTransactionsToApprove",
      "getInclusionStates",
      "getNodeAPIConfiguration",
      "wereAddressesSpentFrom",
      "broadcastTransactions",
      "findTransactions",
      "storeTransactions",
      "getTrytes",
      "attachToTangle",
      "interruptAttachingToTangle"
    ],
    "permittedroutes": [
      "healthz"
    ],
    "whitelistedaddresses": []
  },
  "logger": {
    "disablecaller": true,
    "encoding": "console",
    "level": "info",
    "outputpaths": [
      "stdout"
    ]
  },
  "mqtt": {
    "config": "mqtt_config.json"
  },
  "network": {
    "autopeering": {
      "bindaddress": "0.0.0.0:14626",
      "entrynodes": [
        "[email protected]:14626",
        "[email protected]:18626",
        "[email protected]:14627",
        "12w9FrzMdDQ42aBgFrv1siHuJMhuZ4SMVHRFSS7Zb72W@entrynode.iotatoken.nl:14626",
        "DboTc1v61Xdyvggj8VRszy92ScUTLgfwZaHvXsU8zr7e@entrynode.einfachiota.de:14626",
        "31Tz9meznQMm7qSDUgyMmYVeHUCGA7za5Suvbom5hpE9@bender.iota.autopeering.com:14626"
      ],
      "inboundpeers": 2,
      "maxdroppedpacketspercentage": 0,
      "outboundpeers": 2,
      "runasentrynode": false,
      "saltlifetime": 30,
      "seed": ""
    },
    "gossip": {
      "bindaddress": "0.0.0.0:15600",
      "reconnectattemptintervalseconds": 60
    },
    "preferipv6": false
  },
  "node": {
    "alias": "Coordinator",
    "disableplugins": [],
    "enableplugins": [
      "Coordinator"
    ],
    "showaliasingetnodeinfo": false
  },
  "peerslist": [],
  "profiling": {
    "bindaddress": "127.0.0.1:6060"
  },
  "prometheus": {
    "bindaddress": "127.0.0.1:9312",
    "fileservicediscovery": {
      "enabled": false,
      "path": "target.json",
      "target": "127.0.0.1:9312"
    },
    "gometrics": true,
    "processmetrics": true,
    "promhttpmetrics": true
  },
  "snapshots": {
    "global": {
      "index": 0,
      "path": "snapshot/snapshot.csv",
      "spentaddressespaths": []
    },
    "loadtype": "global",
    "local": {
      "depth": 50,
      "downloadurls": [
        "https://ls.manapotion.io/export.bin",
        "https://x-vps.com/export.bin",
        "https://dbfiles.iota.org/mainnet/hornet/latest-export.bin"
      ],
      "intervalsynced": 50,
      "intervalunsynced": 1000,
      "path": "snapshot/export.bin"
    },
    "pruning": {
      "delay": 60480,
      "enabled": true
    }
  },
  "spammer": {
    "address": "HORNET99INTEGRATED99SPAMMER999999999999999999999999999999999999999999999999999999",
    "autostart": false,
    "bundlesize": 1,
    "cpumaxusage": 0.5,
    "depth": 1,
    "message": "Spamming with HORNET tipselect, thank you for using HORNET playbook",
    "tag": "HORNET99INTEGRATED99SPAMMER99PLAYBOOK99RULES",
    "tagsemilazy": "",
    "tpsratelimit": 0.1,
    "valuespam": false,
    "workers": 0
  },
  "spentaddresses": {
    "enabled": true
  },
  "tipsel": {
    "belowmaxdepth": 15,
    "maxdeltatxoldestrootsnapshotindextolsmi": 13,
    "maxdeltatxyoungestrootsnapshotindextolsmi": 8,
    "nonlazy": {
      "maxapprovers": 2,
      "maxreferencedtipageseconds": 3,
      "retentionrulestipslimit": 20,
      "spammertipsthreshold": 0
    },
    "semilazy": {
      "maxapprovers": 2,
      "maxreferencedtipageseconds": 3,
      "retentionrulestipslimit": 20,
      "spammertipsthreshold": 30
    }
  },
  "useprofile": "auto",
  "warpsync": {
    "advancementrange": 50
  },
  "zmq": {
    "bindaddress": "127.0.0.1:5556",
    "protocol": "tcp"
  }
}
peers []
maxPeers [5]
acceptAnyConnection [false]

The following plugins are enabled: Coordinator

              ██╗  ██╗ ██████╗ ██████╗ ███╗   ██╗███████╗████████╗
              ██║  ██║██╔═══██╗██╔══██╗████╗  ██║██╔════╝╚══██╔══╝
              ███████║██║   ██║██████╔╝██╔██╗ ██║█████╗     ██║
              ██╔══██║██║   ██║██╔══██╗██║╚██╗██║██╔══╝     ██║
              ██║  ██║╚██████╔╝██║  ██║██║ ╚████║███████╗   ██║
              ╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═══╝╚══════╝   ╚═╝
                                   v0.5.6


2020-12-30T19:44:43Z    INFO    CLI     Profile mode 'auto', Using profile '2gb'
2020-12-30T19:44:43Z    INFO    CLI     Loading plugins ...
2020-12-30T19:44:43Z    INFO    Node    Loading Plugin: CLI ... done
2020-12-30T19:44:43Z    INFO    Node    Loading Plugin: Graceful Shutdown ... done
2020-12-30T19:44:43Z    INFO    Node    Loading Plugin: Profiling ... done
panic: could not open new DB: open mainnetdb/tangle.db: permission denied

goroutine 1 [running]:
github.com/gohornet/hornet/pkg/model/tangle.boltDB(0x1318f53, 0x9, 0x131931f, 0x9, 0x1110160)
        /__w/hornet/hornet/pkg/model/tangle/tangle.go:37 +0x105
github.com/gohornet/hornet/pkg/model/tangle.ConfigureDatabases(0x1318f53, 0x9)
        /__w/hornet/hornet/pkg/model/tangle/tangle.go:45 +0x85
github.com/gohornet/hornet/plugins/database.configure(0xc0000995c0)
        /__w/hornet/hornet/plugins/database/plugin.go:118 +0x92
github.com/iotaledger/hive.go/node.pluginCaller(0x110a5e0, 0x21444a0, 0xc0003cd230, 0x1, 0x1)
        /github/home/go/pkg/mod/github.com/iotaledger/[email protected]/node/events.go:14 +0x62
github.com/iotaledger/hive.go/events.(*Event).Trigger(0xc00024ac30, 0xc0003cd230, 0x1, 0x1)
        /github/home/go/pkg/mod/github.com/iotaledger/[email protected]/events/event.go:32 +0x10b
github.com/iotaledger/hive.go/node.(*Node).configure(0xc0005b88a0, 0xc0000dae70, 0x15, 0x16)
        /github/home/go/pkg/mod/github.com/iotaledger/[email protected]/node/node.go:93 +0xf6
github.com/iotaledger/hive.go/node.New(0xc000487ef8, 0x1, 0x1, 0x11c0360)
        /github/home/go/pkg/mod/github.com/iotaledger/[email protected]/node/node.go:38 +0x153
github.com/iotaledger/hive.go/node.Run(0xc000487ef8, 0x1, 0x1, 0xc00018e580)
        /github/home/go/pkg/mod/github.com/iotaledger/[email protected]/node/node.go:51 +0x3f
main.main()
        /__w/hornet/hornet/main.go:67 +0x190

No sync

Hello.
I run a fresh new install on VPS 4cpu/8gb.
Install run perfect but not sync. Stuck on 5120 / 15460 (CMI / LMI)
I've sync peers connected.
Any idea?

WebSocket did not Open: Dashboard failed to load.

I had this error when setting up hornet with a dashboard and a domain name with nginx and certbot:

WARN        Dashboard        upgrade websocket error: websocket: the client is not using the websocket protocol: 'websocket' token not found in 'Upgrade' header

Classic I have seen this one before. I went to line 71 of /etc/nginx/conf.d/hornet.conf for:

# hornet dashboard
location / {
    ...
}

Where I added the lines:

    proxy_set_header Connection "upgrade";	
    proxy_set_header Upgrade $http_upgrade;

And that fixed it.

The final section of that file looks like:

# hornet dashboard
location / {
    limit_req zone=hornet_dashboard burst=100;
    proxy_pass http://hornet_dashboard;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_http_version 1.1;
    proxy_pass_request_headers on;
    proxy_set_header Connection "keep-alive";
    proxy_set_header Connection "upgrade";	
    proxy_set_header Upgrade $http_upgrade;
    proxy_store off;
}

I will try to make a PR if I can find it in your ansible.

Debian 10 (Buster) build - Failure on scrypt install

I was getting the error Failed building wheel for scrypt with a fresh Debian 10 machine, when it attempted to install scrypt via pip.

root@iota:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"

After installing the libssl-dev, this resolved the error.

sudo apt-get install libssl-dev

Out of Hosts. I cant get past this issue.

██╗ ██╗ ██████╗ ██████╗ ███╗ ██╗███████╗████████╗
██║ ██║██╔═══██╗██╔══██╗████╗ ██║██╔════╝╚══██╔══╝
███████║██║ ██║██████╔╝██╔██╗ ██║█████╗ ██║
██╔══██║██║ ██║██╔══██╗██║╚██╗██║██╔══╝ ██║
██║ ██║╚██████╔╝██║ ██║██║ ╚████║███████╗ ██║
╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝

      _|                      _|                            _|

||_| | ||| _| | ||| || || _| _|
_| _| _| _| _| _| _| _| _| _| _| _| _| ||
_| _| _| _| _| _| _| _| _| _| _| _| | | |
||
| | ||| ||
| ||
| || || _| _|
_| _|
_| ||

Welcome to HORNET IOTA FullNode Installer!

  1. By pressing 'y' you agree to install the HORNET fullnode on your system.
  2. By pressing 'y' you aknowledge that this installer requires a CLEAN operating system
    and may otherwise !!!BREAK!!! existing software on your server.
  3. If you already have a configured server, re-running this script will overwrite previous configuration.

Ensuring no package managers ...

Updating system packages...
All packages are up to date.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Check reboot required...
Installing Ansible and git...
Reading package lists... Done
Building dependency tree
Reading state information... Done
software-properties-common is already the newest version (0.98.9.3).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
'universe' distribution component is already enabled for all sources.
Hit:1 http://us.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 https://download.docker.com/linux/ubuntu focal InRelease
Hit:3 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease
Get:4 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [109 kB]
Fetched 210 kB in 1s (280 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'expect' instead of 'expect-dev'
cracklib-runtime is already the newest version (2.9.6-3.2).
git is already the newest version (1:2.25.1-1ubuntu3).
libcrack2 is already the newest version (2.9.6-3.2).
whiptail is already the newest version (0.52.21-4ubuntu2).
ansible is already the newest version (2.9.6+dfsg-1).
expect is already the newest version (5.45.4-2build1).
tcl is already the newest version (8.6.9+1).
python3-pip is already the newest version (20.0.2-5ubuntu1.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Requirement already satisfied: jmespath in /usr/lib/python3/dist-packages (0.9.4)
Verifying Ansible version...
Git cloning hornet-playbook repository...
Backing up older hornet-playbook directory...
Cloning into 'hornet-playbook'...
remote: Enumerating objects: 44, done.
remote: Counting objects: 100% (44/44), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 1581 (delta 15), reused 32 (delta 13), pack-reused 1537
Receiving objects: 100% (1581/1581), 466.90 KiB | 3.36 MiB/s, done.
Resolving deltas: 100% (854/854), done.

Running playbook...
SSH port to use: 22
*** Running playbook command: ansible-playbook -i inventory -v site.yml -e memory_autoset=true --skip-tags=_
Using /etc/ansible/ansible.cfg as config file

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [Check ansible version >=2.8.0] *******************************************
ok: [localhost] => {
"changed": false,
"msg": "All assertions passed"
}

TASK [install local dependencies] **********************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [install local dependencies] **********************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [install gilt] ************************************************************
ok: [localhost] => {"changed": false, "cmd": ["/usr/bin/pip3", "install", "python-gilt"], "name": ["python-gilt"], "requirements": null, "state": "present", "stderr": "", "stderr_lines": [], "stdout": "Requirement already satisfied: python-gilt in /usr/local/lib/python3.8/dist-packages (1.2.3)\nRequirement already satisfied: PyYAML in /usr/lib/python3/dist-packages (from python-gilt) (5.3.1)\nRequirement already satisfied: fasteners in /usr/lib/python3/dist-packages (from python-gilt) (0.14.1)\nRequirement already satisfied: colorama in /usr/lib/python3/dist-packages (from python-gilt) (0.4.3)\nRequirement already satisfied: sh in /usr/local/lib/python3.8/dist-packages (from python-gilt) (1.14.1)\nRequirement already satisfied: click in /usr/lib/python3/dist-packages (from python-gilt) (7.0)\n", "stdout_lines": ["Requirement already satisfied: python-gilt in /usr/local/lib/python3.8/dist-packages (1.2.3)", "Requirement already satisfied: PyYAML in /usr/lib/python3/dist-packages (from python-gilt) (5.3.1)", "Requirement already satisfied: fasteners in /usr/lib/python3/dist-packages (from python-gilt) (0.14.1)", "Requirement already satisfied: colorama in /usr/lib/python3/dist-packages (from python-gilt) (0.4.3)", "Requirement already satisfied: sh in /usr/local/lib/python3.8/dist-packages (from python-gilt) (1.14.1)", "Requirement already satisfied: click in /usr/lib/python3/dist-packages (from python-gilt) (7.0)"], "version": null, "virtualenv": null}

TASK [run gilt overlay] ********************************************************
ok: [localhost] => {"changed": false, "cmd": ["/usr/local/bin/gilt", "--config", "gilt.yml", "overlay"], "delta": "0:00:01.428675", "end": "2021-01-12 15:26:29.507710", "rc": 0, "start": "2021-01-12 15:26:28.079035", "stderr": "", "stderr_lines": [], "stdout": "nuriel77.ansible-docker:\n - extracting (master) /root/.gilt/clone/github.com/nuriel77.ansible-docker to /opt/hornet-playbook/roles/docker/\nnuriel77.ansible-haproxy-iota:\n - extracting (master) /root/.gilt/clone/github.com/nuriel77.ansible-haproxy-iota to /opt/hornet-playbook/roles/haproxy/\nnuriel77.ansible-nginx:\n - extracting (master) /root/.gilt/clone/github.com/nuriel77.ansible-nginx to /opt/hornet-playbook/roles/nginx/\nnuriel77.ansible-monitoring:\n - extracting (master) /root/.gilt/clone/github.com/nuriel77.ansible-monitoring to /opt/hornet-playbook/roles/monitoring/", "stdout_lines": ["nuriel77.ansible-docker:", " - extracting (master) /root/.gilt/clone/github.com/nuriel77.ansible-docker to /opt/hornet-playbook/roles/docker/", "nuriel77.ansible-haproxy-iota:", " - extracting (master) /root/.gilt/clone/github.com/nuriel77.ansible-haproxy-iota to /opt/hornet-playbook/roles/haproxy/", "nuriel77.ansible-nginx:", " - extracting (master) /root/.gilt/clone/github.com/nuriel77.ansible-nginx to /opt/hornet-playbook/roles/nginx/", "nuriel77.ansible-monitoring:", " - extracting (master) /root/.gilt/clone/github.com/nuriel77.ansible-monitoring to /opt/hornet-playbook/roles/monitoring/"]}

PLAY [all] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [common : stop if no systemd support] *************************************
ok: [localhost] => {
"changed": false,
"msg": "All assertions passed"
}

TASK [common : stop if unknown distribution] ***********************************
ok: [localhost] => {
"changed": false,
"msg": "All assertions passed"
}

TASK [common : stop if memory is too small] ************************************
ok: [localhost] => {
"changed": false,
"msg": "All assertions passed"
}

TASK [common : stop if architecture is not supported] **************************
ok: [localhost] => {
"changed": false,
"msg": "All assertions passed"
}

PLAY [fullnode] ****************************************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [include playbook roles] **************************************************

TASK [docker : set_fact] *******************************************************
ok: [localhost] => {"ansible_facts": {"server_arch": "amd64"}, "changed": false}

TASK [docker : Ensure dependencies are installed] ******************************
ok: [localhost] => {"cache_update_time": 1610483193, "cache_updated": true, "changed": false}

TASK [docker : Add Docker apt key] *********************************************
ok: [localhost] => {"changed": false}

TASK [docker : Ensure curl is present (on older systems without SNI).] *********
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : Add Docker apt key (alternative for older systems without SNI).] ***
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : architecture override repository configuration] *****************
ok: [localhost] => {"ansible_facts": {"docker_apt_repository": "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"}, "changed": false}

TASK [docker : ensure old line with edge is gone] ******************************
ok: [localhost] => {"backup": "", "changed": false, "found": 0, "msg": ""}

TASK [docker : ensure old bionic removed for focal] ****************************
ok: [localhost] => {"backup": "", "changed": false, "found": 0, "msg": ""}

TASK [docker : Add Docker repository.] *****************************************
ok: [localhost] => {"changed": false, "repo": "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable", "state": "present"}

TASK [docker : Install epel-release] *******************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : Install some packages] ******************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : Add Docker GPG key] *********************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : Add Docker repository.] *****************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : Configure Docker repository] ************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : Configure Docker Test repository] *******************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : package] ********************************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : get docker script] **********************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : run get docker script, please wait...] **************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : add user pi to docker group] ************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : rasbpian override repository configuration] *********************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : update packages] ************************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : Install Docker Debian/Ubuntu ...] *******************************
ok: [localhost] => {"cache_update_time": 1610483193, "cache_updated": false, "changed": false}

TASK [docker : Install Docker Centos 7 ...] ************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : Install Docker Centos 8 ...] ************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [docker : ensure docker directory exists] *********************************
ok: [localhost] => {"changed": false, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/docker", "size": 4096, "state": "directory", "uid": 0}

TASK [docker : add docker configuration] ***************************************
ok: [localhost] => {"changed": false, "checksum": "e7c7919d173079733c3b18e51100f9f0082fb4eb", "dest": "/etc/docker/daemon.json", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "path": "/etc/docker/daemon.json", "size": 53, "state": "file", "uid": 0}

TASK [docker : Ensure Docker is started and enabled] ***************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Service is in unknown state", "status": {}}

NO MORE HOSTS LEFT *************************************************************

PLAY RECAP *********************************************************************
localhost : ok=20 changed=0 unreachable=0 failed=1 skipped=18 rescued=0 ignored=0

TASK [build hornet image] Failure

Spent most of the day trying to work out whats going wrong but frankly im hitting a dead end as my knowledge isn't great but I am pretty persistant.

Any help with this would be much apreciated.

TASK [build hornet image, this can take a moment...] ********************************************************************************************************
FAILED - RETRYING: build hornet image, this can take a moment... (3 retries left).
FAILED - RETRYING: build hornet image, this can take a moment... (2 retries left).
FAILED - RETRYING: build hornet image, this can take a moment... (1 retries left).
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: docker.errors.APIError: 500 Server Error for http+docker://l ocalhost/v1.41/build?t=gohornet%2Fhornet%3A1.0.5&q=False&nocache=False&rm=True&forcerm=True&pull=False&dockerfile=docker%2FDockerfile.arm64&buildargs=%7B%22T AG%22%3A+%221.0.5%22%2C+%22ARCH%22%3A+%22ARM64%22%7D&networkmode=host: Internal Server Error ("Cannot locate specified Dockerfile: docker/Dockerfile.arm64")
fatal: [localhost]: FAILED! => {"attempts": 3, "changed": false, "msg": "An unexpected docker error occurred: 500 Server Error for http+docker://localhost/v1 .41/build?t=gohornet%2Fhornet%3A1.0.5&q=False&nocache=False&rm=True&forcerm=True&pull=False&dockerfile=docker%2FDockerfile.arm64&buildargs=%7B%22TAG%22%3A+%2 21.0.5%22%2C+%22ARCH%22%3A+%22ARM64%22%7D&networkmode=host: Internal Server Error ("Cannot locate specified Dockerfile: docker/Dockerfile.arm64")"}

Set node Peer ID

I accidentally ran Set node Peer ID in horc and that, without confirmation prompt, tried to re-generate new peer ID and it's key. Unfortunately, it looks like gohornet/hornet image has changed command line for p2pidentity from tools p2pidentity to tools p2pidentity-gen. As a result, the private key and peer id is malformed.

$ sudo cat /opt/hornet-playbook/group_vars/all/z-installer-override.yml
[...]
hornet_config_p2p_identityPrivateKey: toolnotfound.
hornet_config_p2p_identityPeerID: appliesthelatestmilestoneinthedatabasetothecoordinatorstatefile

Running the command manually

/usr/bin/docker run -it --rm --name getp2pID "gohornet/hornet:1.1.3" tools p2pidentity
tool not found.

pwd-hash:            generates a scrypt hash from your password and salt
p2pidentity-gen:     generates a p2p identity private key file
p2pidentity-extract: extracts the p2p identity from the private key file
[...]

Running the command with p2pidentity-gen

/usr/bin/docker run -it --rm --name getp2pID "gohornet/hornet:1.1.3" tools p2pidentity-gen
Your p2p private key (hex):    08390b13f0f113ce6470b923a0a40669cd[...]
Your p2p public key (hex):     80fac4b8f6c[...]
Your p2p public key (base58):  9gUy3J7j7[...]
Your p2p PeerID:               12D3KooWJVr[...]

I have not digged into much depth, but it looks like this breaks the current version. Further more, variables PRIVATE_KEY and PEER_ID might need to be reconstructed.

OUTPUT=$(/usr/bin/docker run -it --rm --name getp2pID "gohornet/hornet:${TAG}" tools p2pidentity)
# TODO: open github issue for hornet team to output in json format as an option
PRIVATE_KEY=$(echo "$OUTPUT" | sed 's|^.*Your p2p private key: \([a-f0-9]*\)|\1|' | head -1 | tr -d ' ' | tr -d '\r')
PEER_ID=$(echo "$OUTPUT" | tail -1 | awk -F":" {'print $2'} | tr -d ' ' | tr -d '\r')

@nuriel77 Please let me know if you see this as a bug, and if you'd like some help addressing it in a PR. Also, can you kindly let me know if there is any backup being done in the original setup process.

Thanks!

ERROR! the role 'haproxy' was not found

Installation fails shortly after the username/password step
ERROR! the role 'haproxy' was not found in /opt/hornet-playbook/roles:/root/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/opt/hornet-playbook

-----LOG----
*** Running playbook command: ansible-playbook -i inventory -v site.yml -e memory_autoset=true --skip-tags=_,loadbalancer_role
^[[0;34mUsing /etc/ansible/ansible.cfg as config file^[[0m
^[[0;34m^[[0m
PLAY [localhost] ********************************************************************************************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************************************************************************************
^[[0;32mok: [localhost]^[[0m
^[[0;32m^[[0m
TASK [Check ansible version >=2.8.0] ************************************************************************************************************************************************************
^[[0;32mok: [localhost] => {^[[0m
^[[0;32m "changed": false,^[[0m
^[[0;32m "msg": "All assertions passed"^[[0m
^[[0;32m}^[[0m
^[[0;32m^[[0m
TASK [install local dependencies] ***************************************************************************************************************************************************************
^[[0;36mskipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}^[[0m
^[[0;36m^[[0m
TASK [install local dependencies] ***************************************************************************************************************************************************************
^[[0;36mskipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}^[[0m
^[[0;36m^[[0m
TASK [install gilt] *****************************************************************************************************************************************************************************
^[[0;33mchanged: [localhost] => {"changed": true, "cmd": ["/usr/bin/pip3", "install", "python-gilt"], "name": ["python-gilt"], "requirements": null, "state": "present", "stderr": "", "stderr_l>
^[[0;33m^[[0m
TASK [run gilt overlay] *************************************************************************************************************************************************************************
^[[0;32mok: [localhost] => {"changed": false, "cmd": ["/usr/local/bin/gilt", "--config", "gilt.yml", "overlay"], "delta": "0:00:03.625583", "end": "2021-05-01 05:56:25.274179", "rc": 0, "start>
^[[0;32m^[[0m
PLAY [all] **************************************************************************************************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************************************************************************************
^[[0;32mok: [localhost]^[[0m
^[[0;32m^[[0m
TASK [common : stop if no systemd support] ******************************************************************************************************************************************************
^[[0;32mok: [localhost] => {^[[0m
^[[0;32m "changed": false,^[[0m
^[[0;32m "msg": "All assertions passed"^[[0m
^[[0;32m}^[[0m
^[[0;32m^[[0m
TASK [common : stop if unknown distribution] ****************************************************************************************************************************************************
^[[0;32mok: [localhost] => {^[[0m
^[[0;32m "changed": false,^[[0m
^[[0;32m "msg": "All assertions passed"^[[0m
^[[0;32m}^[[0m
^[[0;32m^[[0m
TASK [common : stop if memory is too small] *****************************************************************************************************************************************************
^[[0;32mok: [localhost] => {^[[0m
^[[0;32m "changed": false,^[[0m
^[[0;32m "msg": "All assertions passed"^[[0m
^[[0;32m}^[[0m
^[[0;32m^[[0m
TASK [common : stop if architecture is not supported] *******************************************************************************************************************************************
^[[0;32mok: [localhost] => {^[[0m
^[[0;32m "changed": false,^[[0m
^[[0;32m "msg": "All assertions passed"^[[0m
^[[0;32m}^[[0m
^[[0;32m^[[0m
PLAY [fullnode] *********************************************************************************************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************************************************************************************
^[[0;32mok: [localhost]^[[0m
^[[0;32m^[[0m
TASK [include playbook roles] *******************************************************************************************************************************************************************
^[[0;31mERROR! the role 'haproxy' was not found in /opt/hornet-playbook/roles:/root/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/opt/hornet-playbook^[[0m
^[[0;31m^[[0mPLAY RECAP **************************************************************************************************************************************************************************************
^[[0;33mlocalhost^[[0m : ^[[0;32mok=10 ^[[0m ^[[0;33mchanged=1 ^[[0m unreachable=0 failed=0 ^[[0;36mskipped=2 ^[[0m rescued=0 ignored=0

File permission issue

Hi Nuriel77,

Since update their is some file permission issue.
When restarting VPS, Hornet wont start with a exit code 2.
In log you can see permission error.

Thanks

download hornet snapshot DB - 404 Error

Just tried to do the install and got this:

TASK [download hornet snapshot DB (can take a while)] *********************************************************************************************************** fatal: [localhost]: FAILED! => {"changed": false, "dest": "/var/lib/hornet/snapshot/export.bin", "elapsed": 0, "msg": "Request failed", "response": "HTTP Error 404: Not Found", "status_code": 404, "url": "https://ls.manapotion.io/export.bin"}

https://ls.manapotion.io/export.bin
is down.

run gilt overlay fails

I have tried to update my nodes using your script. In all cases (re-run the installation and even install hornet on a fresh server) the following error occurs:

`TASK [install gilt] ****************************************************************************************************************************************************************
changed: [localhost] => {"changed": true, "cmd": ["/usr/bin/pip3", "install", "python-gilt"], "name": ["python-gilt"], "requirements": null, "state": "present", "stderr": "", "stderr_lines": [], "stdout": "Collecting python-gilt\n Downloading python_gilt-1.2.3-py2.py3-none-any.whl (22 kB)\nCollecting colorama\n Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)\nRequirement already satisfied: PyYAML in /usr/lib/python3/dist-packages (from python-gilt) (5.3.1)\nCollecting click\n Downloading click-8.0.1-py3-none-any.whl (97 kB)\nCollecting fasteners\n Downloading fasteners-0.16-py2.py3-none-any.whl (28 kB)\nCollecting sh\n Downloading sh-1.14.2-py2.py3-none-any.whl (40 kB)\nRequirement already satisfied: six in /usr/lib/python3/dist-packages (from fasteners->python-gilt) (1.14.0)\nInstalling collected packages: colorama, click, fasteners, sh, python-gilt\nSuccessfully installed click-8.0.1 colorama-0.4.4 fasteners-0.16 python-gilt-1.2.3 sh-1.14.2\n", "stdout_lines": ["Collecting python-gilt", " Downloading python_gilt-1.2.3-py2.py3-none-any.whl (22 kB)", "Collecting colorama", " Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)", "Requirement already satisfied: PyYAML in /usr/lib/python3/dist-packages (from python-gilt) (5.3.1)", "Collecting click", " Downloading click-8.0.1-py3-none-any.whl (97 kB)", "Collecting fasteners", " Downloading fasteners-0.16-py2.py3-none-any.whl (28 kB)", "Collecting sh", " Downloading sh-1.14.2-py2.py3-none-any.whl (40 kB)", "Requirement already satisfied: six in /usr/lib/python3/dist-packages (from fasteners->python-gilt) (1.14.0)", "Installing collected packages: colorama, click, fasteners, sh, python-gilt", "Successfully installed click-8.0.1 colorama-0.4.4 fasteners-0.16 python-gilt-1.2.3 sh-1.14.2"], "version": null, "virtualenv": null}

TASK [run gilt overlay] ************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "cmd": ["/usr/local/bin/gilt", "--config", "gilt.yml", "overlay"], "delta": "0:00:00.304240", "end": "2021-06-03 09:59:28.700305", "msg": "non-zero return code", "rc": 1, "start": "2021-06-03 09:59:28.396065", "stderr": "Traceback (most recent call last):\n File "/usr/local/bin/gilt", line 8, in \n sys.exit(main())\n File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1137, in call\n return self.main(*args, **kwargs)\n File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1062, in main\n rv = self.invoke(ctx)\n File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1668, in invoke\n return _process_result(sub_ctx.command.invoke(sub_ctx))\n File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1404, in invoke\n return ctx.invoke(self.callback, **ctx.params)\n File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 763, in invoke\n return __callback(*args, **kwargs)\n File "/usr/local/lib/python3.8/dist-packages/click/decorators.py", line 26, in new_func\n return f(get_current_context(), *args, **kwargs)\n File "/usr/local/lib/python3.8/dist-packages/gilt/shell.py", line 68, in overlay\n for c in config.config(filename):\n File "/usr/local/lib/python3.8/dist-packages/gilt/config.py", line 60, in config\n return [Config(**d) for d in _get_config_generator(filename)]\n File "/usr/local/lib/python3.8/dist-packages/gilt/config.py", line 60, in \n return [Config(**d) for d in _get_config_generator(filename)]\n File "/usr/local/lib/python3.8/dist-packages/gilt/config.py", line 132, in _get_config_generator\n "version": d["version"],\nKeyError: 'version'", "stderr_lines": ["Traceback (most recent call last):", " File "/usr/local/bin/gilt", line 8, in ", " sys.exit(main())", " File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1137, in call", " return self.main(*args, **kwargs)", " File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1062, in main", " rv = self.invoke(ctx)", " File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1668, in invoke", " return _process_result(sub_ctx.command.invoke(sub_ctx))", " File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1404, in invoke", " return ctx.invoke(self.callback, **ctx.params)", " File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 763, in invoke", " return __callback(*args, **kwargs)", " File "/usr/local/lib/python3.8/dist-packages/click/decorators.py", line 26, in new_func", " return f(get_current_context(), *args, **kwargs)", " File "/usr/local/lib/python3.8/dist-packages/gilt/shell.py", line 68, in overlay", " for c in config.config(filename):", " File "/usr/local/lib/python3.8/dist-packages/gilt/config.py", line 60, in config", " return [Config(**d) for d in _get_config_generator(filename)]", " File "/usr/local/lib/python3.8/dist-packages/gilt/config.py", line 60, in ", " return [Config(**d) for d in _get_config_generator(filename)]", " File "/usr/local/lib/python3.8/dist-packages/gilt/config.py", line 132, in _get_config_generator", " "version": d["version"],", "KeyError: 'version'"], "stdout": "", "stdout_lines": []}
`

No key.pub

Hello,
What is meant with that issue and how to fix?

systemctl stop hornet && docker run -u 39999:39999 --rm -it -v /var/lib/hornet/p2p:/app/p2p gohornet/hornet:1.0.2 --p2p.peerStore.path=/app/p2p/store tool jwt-api && systemctl start hornetpanic: unable to read public key identity file: open /app/p2p/store/key.pub: no such file or directory

Hornet private tangle setup

I tried the Hornet private tangle setup.

I found the following minor changes. The values specified in the coordinator configuration should be
"coordinator": {
"address":"",
"securityLevel":1,
"merkleTreeDepth":18,
"mwm":5,
"stateFilePath":"coordinator/coordinator.state",
"merkleTreeFilePath":"coordinator/coordinator.tree",
"intervalSeconds":60,
"checkpoints": {
"maxTrackedTails": 10000
},
"tipsel": {
"minHeaviestBranchUnconfirmedTransactionsThreshold": 20,
"maxHeaviestBranchTipsPerCheckpoint": 10,
"randomTipsPerCheckpoint": 2,
"heaviestBranchSelectionDeadlineMilliseconds": 100
}
not as shown in https://github.com/gohornet/hornet/wiki/Tutorials%3A-Private-Tangle#configuration. The coordinator bootstrap command should contain "-v /var/lib/hornet/peering.json:/app/peering.json" otherwise "No config file found via './peering.[json,toml,yaml, yml] '. Loading default settings." error will occur.

However, after the coordinator bootstrap command, the coordinator does not start and no milestone is generated. It looks like maybe two configs are loading, see the following log

Parameters loaded:
{
"acceptanyconnection": false,
"config": "config",
"config-dir": ".",
"coobootstrap": true,
"coordinator": {
"address": "YINUKLVAQSLNKIWOITTKHIZJYZNPGGWOSHWSHOOGXKHZMONPPJCICHQ9XDZHVMVTDDMZEMDXTCIJOIUOC",
"checkpoints": {
"maxtrackedtails": 10000,
"maxtrackedtransactions": 10000
},
"intervalseconds": 60,
"merkletreedepth": 18,
"merkletreefilepath": "coordinator/coordinator.tree",
"milestonemerkletreehashfunc": "BLAKE2b-512",
"mwm": 5,
"securitylevel": 1,
"statefilepath": "coordinator/coordinator.state",
"tipsel": {
"heaviestbranchselectiondeadlinemilliseconds": 100,
"maxheaviestbranchtipspercheckpoint": 10,
"minheaviestbranchunconfirmedtransactionsthreshold": 20,
"randomtipspercheckpoint": 2
}
},
"coostartindex": "0",
"dashboard": {
"basicauth": {
"enabled": false,
"username": ""
},
"bindaddress": "127.0.0.1:8087",
"dev": false,
"theme": "default"
},
"db": {
"debug": false,
"path": "mainnetdb"
},
"forceglobalsnapshot": false,
"help": false,
"httpapi": {
"basicauth": {
"enabled": false,
"username": ""
},
"bindaddress": "127.0.0.1:14265",
"excludehealthcheckfromauth": false,
"limits": {
"bodylengthbytes": 1000000,
"findtransactions": 1000,
"gettrytes": 1000,
"requestslist": 1000
},
"permitremoteaccess": [
"getNodeInfo",
"getBalances",
"checkConsistency",
"getTipInfo",
"getTransactionsToApprove",
"getInclusionStates",
"getNodeAPIConfiguration",
"wereAddressesSpentFrom",
"broadcastTransactions",
"findTransactions",
"storeTransactions",
"getTrytes",
"attachToTangle",
"interruptAttachingToTangle"
],
"whitelistedaddresses": []
},
"maxpeers": 5,
"mqtt": {
"config": "mqtt_config.json"
},
"network": {
"autopeering": {
"bindaddress": "0.0.0.0:14626",
"entrynodes": [],
"inboundpeers": 2,
"maxdroppedpacketspercentage": 0,
"outboundpeers": 2,
"runasentrynode": true,
"saltlifetime": 30,
"seed": ""
},
"gossip": {
"bindaddress": "0.0.0.0:15600",
"reconnectattemptintervalseconds": 60
},
"preferipv6": false
},
"node": {
"alias": "Digiblocks",
"disableplugins": [
"Autopeering",
"Spammer",
"ZMQ",
"MQTT"
],
"enableplugins": [
"Coordinator",
"Prometheus"
],
"showaliasingetnodeinfo": false
},
"overwritecooaddress": false,
"peeringconfig": "peering",
"profilesconfig": "profiles",
"profiling": {
"bindaddress": "127.0.0.1:6060"
},
"prometheus": {
"bindaddress": "127.0.0.1:9312",
"fileservicediscovery": {
"enabled": false,
"path": "target.json",
"target": "localhost:9311"
},
"gometrics": true,
"processmetrics": true,
"promhttpmetrics": true
},
"snapshots": {
"global": {
"index": 0,
"path": "snapshot/snapshot.csv",
"spentaddressespaths": []
},
"loadtype": "global",
"local": {
"depth": 50,
"downloadurls": [],
"intervalsynced": 50,
"intervalunsynced": 1000,
"path": "snapshots/mainnet/export.bin"
},
"pruning": {
"delay": 40000,
"enabled": true
}
},
"spammer": {
"address": "HORNET99INTEGRATED99SPAMMER999999999999999999999999999999999999999999999999999999",
"bundlesize": 1,
"cpumaxusage": 0.8,
"depth": 1,
"message": "Spamming with HORNET tipselect, thank you for using HORNET playbook",
"semilazytipslimit": 30,
"tag": "HORNET99INTEGRATED99SPAMMER99PLAYBOOK99RULES",
"tagsemilazy": "",
"tpsratelimit": 0,
"valuespam": false,
"workers": 0
},
"spentaddresses": {
"enabled": true
},
"syncedatstartup": false,
"tipsel": {
"belowmaxdepth": 15,
"maxdeltatxoldestrootsnapshotindextolsmi": 13,
"maxdeltatxyoungestrootsnapshotindextolsmi": 8,
"nonlazy": {
"maxapprovers": 2,
"maxreferencedtipageseconds": 3,
"retentionrulestipslimit": 100
},
"semilazy": {
"maxapprovers": 2,
"maxreferencedtipageseconds": 3,
"retentionrulestipslimit": 20
}
},
"useprofile": "auto",
"version": false,
"warpsync": {
"advancementrange": 50
},
"zmq": {
"bindaddress": "127.0.0.1:5556",
"protocol": "tcp"
}
}
Parameters loaded:
{
"acceptanyconnection": false,
"config": "config",
"config-dir": ".",
"coobootstrap": true,
"coordinator": {
"address": "UDYXTZBE9GZGPM9SSQV9LTZNDLJIZMPUVVXYXFYVBLIEUHLSEWFTKZZLXYRHHWVQV9MNNX9KZC9D9UZWZ",
"checkpoints": {
"maxtrackedtransactions": 10000
},
"intervalseconds": 10,
"merkletreedepth": 24,
"merkletreefilepath": "coordinator.tree",
"milestonemerkletreehashfunc": "BLAKE2b-512",
"mwm": 14,
"securitylevel": 2,
"statefilepath": "coordinator.state",
"tipsel": {
"heaviestbranchselectiondeadlinemilliseconds": 100,
"maxheaviestbranchtipspercheckpoint": 10,
"minheaviestbranchunconfirmedtransactionsthreshold": 20,
"randomtipspercheckpoint": 3
}
},
"coostartindex": "0",
"dashboard": {
"basicauth": {
"enabled": false,
"passwordhash": "",
"passwordsalt": "",
"username": ""
},
"bindaddress": "localhost:8081",
"dev": false,
"theme": "default"
},
"db": {
"debug": false,
"path": "mainnetdb"
},
"forceglobalsnapshot": false,
"help": false,
"httpapi": {
"basicauth": {
"enabled": false,
"passwordhash": "",
"passwordsalt": "",
"username": ""
},
"bindaddress": "0.0.0.0:14265",
"excludehealthcheckfromauth": false,
"limits": {
"bodylengthbytes": 1000000,
"findtransactions": 1000,
"gettrytes": 1000,
"requestslist": 1000
},
"permitremoteaccess": [
"getNodeInfo",
"getBalances",
"getTransactionsToApprove",
"getInclusionStates",
"getNodeAPIConfiguration",
"wereAddressesSpentFrom",
"broadcastTransactions",
"findTransactions",
"storeTransactions",
"getTrytes"
],
"whitelistedaddresses": []
},
"maxpeers": 5,
"mqtt": {
"config": "mqtt_config.json"
},
"network": {
"autopeering": {
"bindaddress": "0.0.0.0:14626",
"entrynodes": [
"[email protected]:14626",
"[email protected]:18626",
"2GHfjJhTqRaKCGBJJvS5RWty61XhjX7FtbVDhg7s8J1x@entrynode.tanglebay.org:14626",
"[email protected]:14627"
],
"inboundpeers": 2,
"maxdroppedpacketspercentage": 0,
"outboundpeers": 2,
"runasentrynode": false,
"saltlifetime": 30,
"seed": ""
},
"gossip": {
"bindaddress": "0.0.0.0:15600",
"reconnectattemptintervalseconds": 60
},
"preferipv6": false
},
"node": {
"alias": "",
"disableplugins": [],
"enableplugins": [],
"showaliasingetnodeinfo": false
},
"overwritecooaddress": false,
"peeringconfig": "peering",
"peers": [],
"profilesconfig": "profiles",
"profiling": {
"bindaddress": "localhost:6060"
},
"prometheus": {
"bindaddress": "localhost:9311",
"fileservicediscovery": {
"enabled": false,
"path": "target.json",
"target": "localhost:9311"
},
"gometrics": false,
"processmetrics": false,
"promhttpmetrics": false
},
"snapshots": {
"global": {
"index": 1050000,
"path": "snapshotMainnet.txt",
"spentaddressespaths": [
"previousEpochsSpentAddresses1.txt",
"previousEpochsSpentAddresses2.txt",
"previousEpochsSpentAddresses3.txt"
]
},
"loadtype": "local",
"local": {
"depth": 50,
"downloadurls": [],
"intervalsynced": 50,
"intervalunsynced": 1000,
"path": "snapshots/mainnet/export.bin"
},
"pruning": {
"delay": 40000,
"enabled": true
}
},
"spammer": {
"address": "HORNET99INTEGRATED99SPAMMER999999999999999999999999999999999999999999999999999999",
"bundlesize": 1,
"cpumaxusage": "0.5",
"message": "Spamming with HORNET tipselect",
"semilazytipslimit": 20,
"tag": "HORNET99SPAMMER999999999999",
"tagsemilazy": "",
"tpsratelimit": "0.1",
"valuespam": false,
"workers": 1
},
"spentaddresses": {
"enabled": true
},
"syncedatstartup": false,
"tipsel": {
"belowmaxdepth": 15,
"maxdeltatxoldestrootsnapshotindextolsmi": 13,
"maxdeltatxyoungestrootsnapshotindextolsmi": 8,
"nonlazy": {
"maxapprovers": 2,
"maxreferencedtipageseconds": 3,
"retentionrulestipslimit": 100
},
"semilazy": {
"maxapprovers": 2,
"maxreferencedtipageseconds": 3,
"retentionrulestipslimit": 20
}
},
"useprofile": "auto",
"version": false,
"warpsync": {
"advancementrange": 50
},
"zmq": {
"bindaddress": "localhost:5556",
"protocol": "tcp"
}
}
Parameters loaded:
{
"custom": {
"caches": {
"addresses": {
"cachetimems": 100,
"leakdetection": {
"enabled": false,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"approvers": {
"cachetimems": 1500,
"leakdetection": {
"enabled": false,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"bundles": {
"cachetimems": 1500,
"leakdetection": {
"enabled": false,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"bundletransactions": {
"cachetimems": 500,
"leakdetection": {
"enabled": false,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"incomingtransactionfilter": {
"cachetimems": 2000,
"leakdetection": {
"enabled": false,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"milestones": {
"cachetimems": 500,
"leakdetection": {
"enabled": false,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"tags": {
"cachetimems": 100,
"leakdetection": {
"enabled": false,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"transactions": {
"cachetimems": 1500,
"leakdetection": {
"enabled": false,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"unconfirmedtx": {
"cachetimems": 100,
"leakdetection": {
"enabled": false,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
}
}
},
"debug": {
"caches": {
"addresses": {
"cachetimems": 1500,
"leakdetection": {
"enabled": true,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"approvers": {
"cachetimems": 1500,
"leakdetection": {
"enabled": true,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"bundles": {
"cachetimems": 1500,
"leakdetection": {
"enabled": true,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"bundletransactions": {
"cachetimems": 500,
"leakdetection": {
"enabled": true,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"incomingtransactionfilter": {
"cachetimems": 1500,
"leakdetection": {
"enabled": true,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"milestones": {
"cachetimems": 1500,
"leakdetection": {
"enabled": true,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"tags": {
"cachetimems": 1500,
"leakdetection": {
"enabled": true,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"transactions": {
"cachetimems": 1500,
"leakdetection": {
"enabled": true,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
},
"unconfirmedtx": {
"cachetimems": 1500,
"leakdetection": {
"enabled": true,
"maxconsumerholdtimesec": 30,
"maxconsumersperobject": 50
}
}
}
}
}

          ██╗  ██╗ ██████╗ ██████╗ ███╗   ██╗███████╗████████╗
          ██║  ██║██╔═══██╗██╔══██╗████╗  ██║██╔════╝╚══██╔══╝
          ███████║██║   ██║██████╔╝██╔██╗ ██║█████╗     ██║
          ██╔══██║██║   ██║██╔══██╗██║╚██╗██║██╔══╝     ██║
          ██║  ██║╚██████╔╝██║  ██║██║ ╚████║███████╗   ██║
          ╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═══╝╚══════╝   ╚═╝
                               v0.5.0

2020-08-25T16:24:22Z INFO CLI cli/plugin.go:85 Profile mode 'auto', Using profile '8gb'
2020-08-25T16:24:22Z INFO CLI cli/plugin.go:90 Loading plugins ...
2020-08-25T16:24:22Z INFO Node node/node.go:95 Loading Plugin: CLI ... done
2020-08-25T16:24:22Z INFO Node node/node.go:95 Loading Plugin: Graceful Shutdown ... done
2020-08-25T16:24:22Z INFO Node node/node.go:95 Loading Plugin: Profiling ... done
2020-08-25T16:24:22Z INFO Node node/node.go:95 Loading Plugin: Database ... done
2020-08-25T16:24:22Z INFO Node node/node.go:86 Skipping Plugin: Autopeering
2020-08-25T16:24:22Z INFO Node node/node.go:95 Loading Plugin: WebAPI ... done
2020-08-25T16:24:22Z INFO Node node/node.go:113 Executing plugins ...
2020-08-25T16:24:22Z INFO Node node/node.go:117 Starting Plugin: CLI ... done
2020-08-25T16:24:22Z INFO Node node/node.go:117 Starting Plugin: Graceful Shutdown ... done
2020-08-25T16:24:22Z INFO Node node/node.go:117 Starting Plugin: Profiling ... done
2020-08-25T16:24:22Z INFO Node node/node.go:117 Starting Plugin: Database ... done
2020-08-25T16:24:22Z INFO WebAPI webapi/plugin.go:166 Starting WebAPI server ...
2020-08-25T16:24:22Z INFO Node node/node.go:117 Starting Plugin: WebAPI ... done
2020-08-25T16:24:22Z INFO Node node/node.go:120 Starting background workers ...
2020-08-25T16:24:22Z INFO WebAPI webapi/plugin.go:182 Starting WebAPI server ... done
2020-08-25T16:24:22Z INFO WebAPI webapi/plugin.go:188 You can now access the API using: http://127.0.0.1:14265

Thank you for your help,
Roman

Ubuntu 20.04: usermod: user hornet is currently used by process 3271

Running the installation script on a Ubuntu 20.04 server gave this error;

[...]

TASK [hornet : get release tag] ****************************************************************************************
ok: [localhost] => {"ansible_facts": {"hornet_tag": "1.1.3"}, "changed": false}

TASK [hornet : clone hornet repository] ********************************************************************************
changed: [localhost] => {"after": "1d93f0b7615d45a273889e357ee6b59121768556", "before": null, "changed": true}

TASK [hornet : add user to run hornet as] ******************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "usermod: user hornet is currently used by process 32713\n", "name": "hornet", "rc": 8}

NO MORE HOSTS LEFT *****************************************************************************************************

PLAY RECAP *************************************************************************************************************
localhost                  : ok=44   changed=19   unreachable=0    failed=1    skipped=32   rescued=0    ignored=0

ERROR! The playbook exited with failure(s). A log has been save here '/var/log/hornet-playbook-202201252144.log'

Running the command as root yields the same error.

This machine has two accounts before running the installation script, namely ops on id 1000 and ansible on id 9999 (this machine is in fact managed by Ansible). I do not believe these are a result of the ansible-playbook, but I might be wrong.

Ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.