diff --git a/controls/roles/manage-service/molecule/monitor-erigon/prepare.yml b/controls/roles/manage-service/molecule/monitor-erigon/prepare.yml index 92b0e707b..de02fcc71 100644 --- a/controls/roles/manage-service/molecule/monitor-erigon/prepare.yml +++ b/controls/roles/manage-service/molecule/monitor-erigon/prepare.yml @@ -63,7 +63,6 @@ - --http.api=engine,net,eth - --metrics - --metrics.addr=0.0.0.0 - - --metrics.expensive user: "2000" volumes: - "/opt/app/services/{{ erigon_service }}/data:/opt/app/data" diff --git a/controls/roles/manage-service/molecule/monitor-geth/prepare.yml b/controls/roles/manage-service/molecule/monitor-geth/prepare.yml index f32665ceb..4b16ec48d 100644 --- a/controls/roles/manage-service/molecule/monitor-geth/prepare.yml +++ b/controls/roles/manage-service/molecule/monitor-geth/prepare.yml @@ -54,7 +54,6 @@ - --goerli - --datadir=/opt/app/geth - --metrics - - --metrics.expensive - --metrics.port=6060 - --metrics.addr=0.0.0.0 user: "2000" diff --git a/controls/roles/update-changes/molecule/248/converge.yml b/controls/roles/update-changes/molecule/248/converge.yml new file mode 100644 index 000000000..3f84cb4a2 --- /dev/null +++ b/controls/roles/update-changes/molecule/248/converge.yml @@ -0,0 +1,10 @@ +--- +- name: Converge + hosts: all + vars_files: + - ../../../../defaults/stereum_defaults.yaml + + tasks: + - name: "Include update-changes" + include_role: + name: "update-changes" diff --git a/controls/roles/update-changes/molecule/248/molecule.yml b/controls/roles/update-changes/molecule/248/molecule.yml new file mode 100644 index 000000000..6b9b91e75 --- /dev/null +++ b/controls/roles/update-changes/molecule/248/molecule.yml @@ -0,0 +1,28 @@ +--- +#dependency: +# name: galaxy +driver: + name: docker +platforms: + - name: "update-changes--2.4.8--ubuntu-26.04" + image: ubuntu:resolute + # - name: "configure-updates--default--centos-8" + # image: geerlingguy/docker-centos8-ansible +provisioner: + name: ansible + env: + ANSIBLE_PIPELINING: "True" + ANSIBLE_ROLES_PATH: "${MOLECULE_PROJECT_DIRECTORY}/..:./roles:~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles" +lint: | + set -e + yamllint . + ansible-lint . +scenario: + test_sequence: + - destroy + - create + - prepare + - converge + - idempotence + - verify + - destroy diff --git a/controls/roles/update-changes/molecule/248/playbook.yml b/controls/roles/update-changes/molecule/248/playbook.yml new file mode 100644 index 000000000..710c596cf --- /dev/null +++ b/controls/roles/update-changes/molecule/248/playbook.yml @@ -0,0 +1,7 @@ +--- +- name: Converge + hosts: all + tasks: + - name: "Include update-changes" + include_role: + name: "update-changes" diff --git a/controls/roles/update-changes/molecule/248/prepare.yml b/controls/roles/update-changes/molecule/248/prepare.yml new file mode 100644 index 000000000..39f74a069 --- /dev/null +++ b/controls/roles/update-changes/molecule/248/prepare.yml @@ -0,0 +1,59 @@ +--- +- name: Prepare + hosts: all + tasks: + - name: Make sure Stereum's config path exists + file: + path: "/etc/stereum/services" + state: directory + owner: "root" + group: "root" + mode: 0644 + become: yes + + - name: Create GethService config + copy: + dest: "/etc/stereum/services/12ac7669-1874-426a-aae7-65c381ed1ec8.yaml" + owner: "root" + group: "root" + mode: 0644 + content: | + service: GethService + id: 12ac7669-1874-426a-aae7-65c381ed1ec8 + configVersion: 1 + command: + - --hoodi + - --datadir=/opt/app/geth + - --authrpc.addr=0.0.0.0 + - --authrpc.port=8551 + - --authrpc.vhosts=* + - --authrpc.jwtsecret=/engine.jwt + - --http + - --http.addr=0.0.0.0 + - --http.port=8545 + - --http.vhosts=* + - --http.api=engine,net,eth,web3 + - --metrics + - --metrics.expensive + - --metrics.port=6060 + - --metrics.addr=0.0.0.0 + - --port=30303 + entrypoint: + - geth + env: {} + image: ethereum/client-go:v1.16.0 + ports: + - 0.0.0.0:30303:30303/tcp + - 0.0.0.0:30303:30303/udp + volumes: + - /opt/stereum/geth-12ac7669-1874-426a-aae7-65c381ed1ec8/data:/opt/app/geth + user: "2000" + autoupdate: true + network: hoodi + dependencies: + executionClients: [] + consensusClients: [] + mevboost: [] + otherServices: [] + become: yes +# EOF diff --git a/controls/roles/update-changes/molecule/248/verify.yml b/controls/roles/update-changes/molecule/248/verify.yml new file mode 100644 index 000000000..9481bd203 --- /dev/null +++ b/controls/roles/update-changes/molecule/248/verify.yml @@ -0,0 +1,24 @@ +--- +- name: Verify + hosts: all + gather_facts: false + tasks: + # GethService + - name: Read GethService file + slurp: + src: "/etc/stereum/services/12ac7669-1874-426a-aae7-65c381ed1ec8.yaml" + register: Geth_service_configuration_raw + + - name: Parse Service configurations + set_fact: + Geth_service_configuration: "{{ Geth_service_configuration_raw['content'] | b64decode | from_yaml }}" + + - debug: + msg: "{{ Geth_service_configuration }}" + - debug: + msg: "{{ Geth_service_configuration_raw['content'] | b64decode }}" + + - assert: + that: + - Geth_service_configuration.command | select('match', '--metrics.expensive') | length == 0 +# EOF diff --git a/controls/roles/update-changes/tasks/2.4.8/geth_changes.yaml b/controls/roles/update-changes/tasks/2.4.8/geth_changes.yaml new file mode 100644 index 000000000..b83da8ab9 --- /dev/null +++ b/controls/roles/update-changes/tasks/2.4.8/geth_changes.yaml @@ -0,0 +1,19 @@ +--- +- name: Read service file + slurp: + src: "{{ config_file.path }}" + register: service_configuration_raw + +- name: Parse service's configuration + set_fact: + service_configuration: "{{ service_configuration_raw['content'] | b64decode | from_yaml }}" + service_configuration_text: "{{ service_configuration_raw['content'] | b64decode }}" + +- name: Geth Changes + when: service_configuration.service == "GethService" + block: + - name: remove --metrics.expensive + lineinfile: + path: "{{ config_file.path }}" + regex: "--metrics.expensive" + state: absent diff --git a/controls/roles/update-changes/tasks/2.4.8/updates-248.yaml b/controls/roles/update-changes/tasks/2.4.8/updates-248.yaml new file mode 100644 index 000000000..cc22f38a3 --- /dev/null +++ b/controls/roles/update-changes/tasks/2.4.8/updates-248.yaml @@ -0,0 +1,11 @@ +--- +- name: Find service configs + find: + paths: "/etc/stereum/services" + register: service_config_files + +- name: Include Geth Changes + include_tasks: geth_changes.yaml + loop: "{{ service_config_files.files }}" + loop_control: + loop_var: config_file diff --git a/controls/roles/update-changes/tasks/main.yml b/controls/roles/update-changes/tasks/main.yml index 61f0b89a6..974a17ca8 100644 --- a/controls/roles/update-changes/tasks/main.yml +++ b/controls/roles/update-changes/tasks/main.yml @@ -5,4 +5,8 @@ - name: Include 2.4.7 Update Scripts include_tasks: "2.4.7/updates-247.yaml" ignore_errors: true + +- name: Include 2.4.8 Update Scripts + include_tasks: "2.4.8/updates-248.yaml" + ignore_errors: true # EOF diff --git a/launcher/src/backend/ethereum-services/GethService.js b/launcher/src/backend/ethereum-services/GethService.js index f18a3844c..5c5754ee4 100755 --- a/launcher/src/backend/ethereum-services/GethService.js +++ b/launcher/src/backend/ethereum-services/GethService.js @@ -57,7 +57,6 @@ export class GethService extends NodeService { `--authrpc.jwtsecret=${JWTDir}`, `--datadir=${dataDir}`, "--metrics", - "--metrics.expensive", "--metrics.port=6060", "--metrics.addr=0.0.0.0", ]; diff --git a/launcher/src/backend/ethereum-services/OpGethService.js b/launcher/src/backend/ethereum-services/OpGethService.js index cf92c9bb7..738502746 100644 --- a/launcher/src/backend/ethereum-services/OpGethService.js +++ b/launcher/src/backend/ethereum-services/OpGethService.js @@ -71,7 +71,6 @@ export class OpGethService extends NodeService { `--db.engine=pebble`, `--op-network=${network}`, `--metrics`, - `--metrics.expensive`, `--metrics.port=6060`, `--metrics.addr=0.0.0.0`, ];