Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
114ece9
feat: load test nodes
shumkov Dec 13, 2023
ecf22dd
fix: increase soft ulimit as well
Dec 13, 2023
9d603ee
feat: metrics provisioning
shumkov Dec 20, 2023
059b3f1
feat: deploy load test nodes with ansible
Jan 14, 2024
d7faf2a
Merge branch 'feat/load-test' of github.com:dashpay/dash-network-depl…
Jan 14, 2024
7de45b9
fix: ansible host to run on
Jan 14, 2024
0632cc5
chore: default to zero for LT nodes
Jan 14, 2024
0a7f1b0
chore: instance type change
Jan 15, 2024
e5e41bc
feat: initial prometheus implementation in tf
Jan 15, 2024
6dc270e
Merge branch 'v1.0-dev' into feat/load-test
shumkov Jan 25, 2024
4be9787
refactor: rename prometheus to metrics nodes
shumkov Jan 25, 2024
6c372bb
chore: accomplish metrics and load test roles
shumkov Jan 25, 2024
18fb0a3
Merge branch 'v1.0-dev' into feat/load-test
shumkov Feb 7, 2024
023e4da
chore: LT nodes should be AMD
Feb 7, 2024
1b9cb51
chore: temp fixes
Feb 8, 2024
2b5afb9
fix: duplicate prometheus port
shumkov Feb 8, 2024
75664a0
chore: install latest protoc
shumkov Feb 9, 2024
c3a52b2
fix: invalid .env
shumkov Feb 9, 2024
8e34570
chore: redo insight API url
Feb 15, 2024
165819a
Merge branch 'feat/load-test' of github.com:dashpay/dash-network-depl…
Feb 15, 2024
d6172c9
fix: change to http
Feb 15, 2024
b404982
fix: use dash_devnet_name var instead
Feb 15, 2024
34f6c3c
chore: restore deploy platbook
shumkov Feb 15, 2024
98779fa
Merge remote-tracking branch 'origin/feat/load-test' into feat/load-test
shumkov Feb 15, 2024
311ca0f
modified_network_configs
vivekgsharma Feb 15, 2024
a642f75
Merge branch 'feat/load-test' of github.com:dashpay/dash-network-depl…
vivekgsharma Feb 15, 2024
6287a44
chore: configure tenderdash mempool cache size
shumkov Feb 16, 2024
31644ca
Merge remote-tracking branch 'origin/feat/load-test' into feat/load-test
shumkov Feb 16, 2024
f4436ec
chore: update ouzo
shumkov Feb 16, 2024
113094c
chore: uncomment code
shumkov Feb 16, 2024
e674aea
chore: added main_domain var to ansible initial config
Feb 19, 2024
7697106
chore: configure tenderdash mempool cache size
shumkov Feb 16, 2024
72714ba
chore: update ouzo
shumkov Feb 16, 2024
217a8d9
chore: uncomment code
shumkov Feb 16, 2024
4c06341
chore: linter fixes
Feb 19, 2024
2918db9
chore: stop complaining linter
Feb 19, 2024
f6dc671
chore: set metrics/lt to always 1
Feb 20, 2024
43a0e6a
feat: system and docker metrics in kibana
shumkov Feb 21, 2024
555bf5b
Merge branch 'feat/load-test' of github.com:dashpay/dash-network-depl…
shumkov Feb 21, 2024
0c54d73
Merge branch 'feat/load-test' into metricbeats
shumkov Feb 21, 2024
16ca074
chore: commented code
shumkov Feb 21, 2024
9d84cf8
chore: update dashmate config
shumkov Feb 28, 2024
3a191c4
Move 'Fund load tester nodes' block above 'Activate Sporks' in deploy…
vivekgsharma Feb 29, 2024
a9a1a24
chore: fix CI
Mar 9, 2024
962e92d
clean up
Mar 11, 2024
3e2be89
chore: update to platform 1.0-dev.9
shumkov Mar 19, 2024
3905207
Merge branch 'v1.0-dev' into metricbeats
ktechmidas Mar 21, 2024
f9c95c8
fix: linter
Mar 21, 2024
3656728
fix: linter again
Mar 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions ansible/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -236,14 +236,6 @@
- role: mn_protx_config
mnlist: "{{ hp_masternodes }}"

- name: Activate sporks
hosts: wallet_nodes
become: true
roles:
- role: activate_dashd_sporks
when: dash_network != "mainnet" and dash_network != "testnet"
delegate_to: '{{ play_hosts | first }}'


- name: Fund load tester nodes
hosts: wallet_nodes
Expand All @@ -259,6 +251,15 @@
payment_targets: "{{ load_tester_addresses }}"
amount: "{{ load_tester_wallet_amount }}"


- name: Activate sporks
hosts: wallet_nodes
become: true
roles:
- role: activate_dashd_sporks
when: dash_network != "mainnet" and dash_network != "testnet"
delegate_to: '{{ play_hosts | first }}'

# todo: partially working code causes errors in deploy, comment out for now and fix later
# - name: Create governance proposals
# hosts: wallet_nodes
Expand Down
3 changes: 3 additions & 0 deletions ansible/requirements.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,8 @@ roles:
- src: geerlingguy.pip
version: 2.2.0

- src: elastic.beats
version: v7.17.0

- src: ktechmidas.openvpn
version: 1.0.0
5 changes: 5 additions & 0 deletions ansible/roles/dashmate/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ dashmate_platform_drive_tenderdash_mempool_max_txs_bytes: 536870912 # 500Mb, def
dashmate_platform_drive_tenderdash_rpc_max_open_connections: 900
dashmate_platform_drive_tenderdash_consensus_peer_gossip_sleep_duration: "100ms"
dashmate_platform_drive_tenderdash_consensus_peer_query_maj23_sleep_duration: "2s"
dashmate_platform_drive_tenderdash_mempool_timeout_check_tx: "1s"
dashmate_platform_drive_tenderdash_mempool_tx_enqueue_timeout: "10ms"
dashmate_platform_drive_tenderdash_mempool_tx_send_rate_limit: 10
dashmate_platform_drive_tenderdash_mempool_tx_recv_rate_limit: 12
dashmate_platform_drive_tenderdash_rpc_timeout_broadcast_tx: "1s"
# Unsafe params. Use only if you understand what you are doing.
dashmate_platform_drive_tenderdash_consensus_unsafe_override_propose_timeout:
dashmate_platform_drive_tenderdash_consensus_unsafe_override_propose_delta:
Expand Down
15 changes: 13 additions & 2 deletions ansible/roles/dashmate/templates/dashmate.json.j2
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,12 @@
"color": null
}{% endif %}
},
"tokioConsole": {
"enabled": false,
"host": "127.0.0.1",
"port": 6669,
"retention_secs": 180
},
"validatorSet": {
"llmqType": {{ platform_drive_validator_set_llmq_type }}
},
Expand Down Expand Up @@ -215,12 +221,17 @@
"mempool": {
"cacheSize": {{dashmate_platform_drive_tenderdash_mempool_cache_size}},
"size": {{dashmate_platform_drive_tenderdash_mempool_size}},
"maxTxsBytes": {{dashmate_platform_drive_tenderdash_mempool_max_txs_bytes}}
"maxTxsBytes": {{dashmate_platform_drive_tenderdash_mempool_max_txs_bytes}},
"timeoutCheckTx": "{{dashmate_platform_drive_tenderdash_mempool_timeout_check_tx}}",
"txEnqueueTimeout": "{{dashmate_platform_drive_tenderdash_mempool_tx_enqueue_timeout}}",
"txSendRateLimit": {{dashmate_platform_drive_tenderdash_mempool_tx_send_rate_limit}},
"txRecvRateLimit": {{dashmate_platform_drive_tenderdash_mempool_tx_recv_rate_limit}}
},
"rpc": {
"host": "127.0.0.1",
"port": {{ tendermint_rpc_port }},
"maxOpenConnections": {{dashmate_platform_drive_tenderdash_rpc_max_open_connections}}
"maxOpenConnections": {{dashmate_platform_drive_tenderdash_rpc_max_open_connections}},
"timeoutBroadcastTx": "{{dashmate_platform_drive_tenderdash_rpc_timeout_broadcast_tx}}"
},
"pprof": {
"enabled": {% if dashmate_platform_tenderdash_pprof_enable %}true{% else %}false{% endif %},
Expand Down
59 changes: 59 additions & 0 deletions ansible/roles/elastic_beats/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,62 @@
- name: Set up filebeat log monitoring
ansible.builtin.include_role:
name: geerlingguy.filebeat

# TODO: Make sure we have retention policy for metrics
- name: Set up metricbeat
ansible.builtin.include_role:
name: elastic.beats
vars:
beats_version: "{{ elastic_version }}"
beat: metricbeat
beat_conf:
setup:
dashboards:
enabled: true
kibana:
host: "{{ hostvars['logs-1'].private_ip }}:5601"
username: "{{ elastic_username }}"
password: "{{ elastic_password }}"
metricbeat:
modules:
- module: system
metricsets:
- cpu # CPU usage
- load # CPU load averages
- memory # Memory usage
- network # Network IO
- process # Per process metrics
- process_summary # Process summary
- uptime # System Uptime
- socket_summary # Socket summary
- core # Per CPU core usage
- diskio # Disk IO
- fsstat # File system summary metrics
- socket # Sockets and connection info (linux only)
enabled: true
period: 10s
processes: ['.*']

# Configure the metric types that are included by these metricsets.
cpu.metrics: ["percentages", "normalized_percentages"] # The other available option is ticks.
core.metrics: ["percentages"] # The other available option is ticks.
- module: docker
metricsets:
- "container"
- "cpu"
- "diskio"
- "event"
- "healthcheck"
- "info"
- "memory"
- "network"
# - "network_summary"
hosts: ["unix:///var/run/docker.sock"]
period: 10s
enabled: true
output_conf:
elasticsearch:
hosts:
- "{{ hostvars['logs-1'].private_ip }}:9200"
username: "{{ elastic_username }}"
password: "{{ elastic_password }}"
1 change: 0 additions & 1 deletion lib/configGenerator/generateAnsibleConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,6 @@ async function generateAnsibleConfig(
for (let i = 1; i <= hpMasternodesCount; i++) {
config.hp_masternodes[`hp-masternode-${i}`] = await generateDip3Keys(network);
}

// Tenderdash keys

function generateTenderdashNodeKeys() {
Expand Down