Explorar el Código

add rpc volume param, change build to admin, add yarn start

Anuj Bansal hace 3 años
padre
commit
b8d50a99d9

+ 3 - 1
.github/workflows/deploy-node-network.yml

@@ -40,6 +40,7 @@ jobs:
           echo ::set-output name=networkSuffix::$(echo $jsonInput | jq -r '.networkSuffix.value')
           echo ::set-output name=deploymentType::$(echo $jsonInput | jq -r '.deploymentType.value')
           echo ::set-output name=volumeSize::$(echo $jsonInput | jq -r '.volumeSize.value')
+          echo ::set-output name=rpcVolumeSize::$(echo $jsonInput | jq -r '.rpcVolumeSize.value')
           initialBalancesFile=$(echo $jsonInput | jq -r '.initialBalancesFile.value')
           initialMembersFile=$(echo $jsonInput | jq -r '.initialMembersFile.value')
           proposalParametersInput=$(echo $jsonInput | jq -r '.proposalParameters.value')
@@ -102,6 +103,7 @@ jobs:
             EC2AMI=${{ steps.myoutputs.outputs.ec2AMI }},
             NumberOfValidators=${{ steps.myoutputs.outputs.numberOfValidators }},
             VolumeSize=${{ steps.myoutputs.outputs.volumeSize }}
+            RPCVolumeSize=${{ steps.myoutputs.outputs.rpcVolumeSize }}
 
       - name: Prepare inventory for Ansible
         run: |
@@ -142,7 +144,7 @@ jobs:
         uses: dawidd6/action-ansible-playbook@v2
         if: steps.myoutputs.outputs.ec2AMI == ''
         with:
-          playbook: setup-admin.yml
+          playbook: setup-build-server.yml
           directory: devops/aws
           requirements: requirements.yml
           key: ${{ secrets.SSH_PRIVATE_KEY }}

+ 5 - 1
.pipelines/deploy-node-network-inputs.json

@@ -32,7 +32,11 @@
     "value": "ami-095792100b6e43a67"
   },
   "volumeSize": {
-    "description": "Instance volume size in GB",
+    "description": "Validator and Build instance volume size in GB",
+    "value": "120"
+  },
+  "rpcVolumeSize": {
+    "description": "RPC Instance volume size in GB",
     "value": "120"
   },
   "networkSuffix": {

+ 9 - 1
devops/aws/cloudformation/infrastructure.yml

@@ -35,7 +35,11 @@ Parameters:
     Type: Number
     Default: 2
   VolumeSize:
-    Description: Instance volume size in GB
+    Description: Validator and Build instance volume size in GB
+    Type: Number
+    Default: 120
+  RPCVolumeSize:
+    Description: RPC Instance volume size in GB
     Type: Number
     Default: 120
 
@@ -185,6 +189,10 @@ Resources:
       LaunchTemplate:
         LaunchTemplateId: !Ref InstanceLaunchTemplate
         Version: !GetAtt InstanceLaunchTemplate.LatestVersionNumber
+      BlockDeviceMappings:
+        - DeviceName: /dev/sda1
+          Ebs:
+            VolumeSize: !Ref RPCVolumeSize
       Tags:
         - Key: Name
           Value: !Sub '${AWS::StackName}_rpc'

+ 1 - 1
devops/aws/create-joystream-node-ami-playbook.yml

@@ -17,7 +17,7 @@
 
     - name: Install subkey
       include_role:
-        name: admin
+        name: build-server
         tasks_from: main
 
     - name: Basic AMI Creation

+ 1 - 1
devops/aws/deploy-infra.sh

@@ -81,7 +81,7 @@ if [ $? -eq 0 ]; then
   if [ -z "$EC2_AMI_ID" ]
   then
     echo -e "\n\n=========== Install additional utils on build server ==========="
-    ansible-playbook -i $INVENTORY_PATH --private-key $KEY_PATH setup-admin.yml
+    ansible-playbook -i $INVENTORY_PATH --private-key $KEY_PATH setup-build-server.yml
   fi
 
   echo -e "\n\n=========== Configure and start new validators and rpc node ==========="

+ 0 - 0
devops/aws/roles/admin/tasks/main.yml → devops/aws/roles/build-server/tasks/main.yml


+ 4 - 9
devops/aws/roles/common/tasks/get-code-git.yml

@@ -1,14 +1,9 @@
 ---
 # Get the latest code
 
-- name: Delete remote code directory if exists
-  file:
-    state: absent
-    path: "{{ remote_code_path }}"
-  become: yes
-
 - name: Git checkout
   git:
-    repo: "{{ git_repo }}"
-    dest: "{{ remote_code_path }}"
-    version: "{{ branch_name }}"
+    repo: '{{ git_repo }}'
+    dest: '{{ remote_code_path }}'
+    version: '{{ branch_name }}'
+    force: yes

+ 5 - 2
devops/aws/roles/rpc/tasks/main.yml

@@ -41,10 +41,13 @@
   # Check for the status every 100s
   delay: 100
 
-- name: Run query node containers
-  command: yarn workspace query-node-root start:dev
+- name: Run service containers
+  command: yarn start
   environment:
+    PERSIST: 'true'
     JOYSTREAM_NODE_WS: 'ws://{{ inventory_hostname }}:9944/'
+    COLOSSUS_1_URL: 'https://{{ inventory_hostname }}.nip.io/colossus-1/'
+    DISTRIBUTOR_1_URL: 'https://{{ inventory_hostname }}.nip.io/distributor-1/'
   args:
     chdir: '{{ remote_code_path }}'
   async: 1800

+ 1 - 0
devops/aws/roles/rpc/templates/Caddyfile.j2

@@ -51,6 +51,7 @@ wss://{{ nip_domain }}/query-node/server* {
 {{ nip_domain }}/network/config.json {
     header /* {
       Access-Control-Allow-Origin *
+      Cache-Control: no-cache
     }
     root * /home/ubuntu
     rewrite * /config.json

+ 1 - 1
devops/aws/setup-admin.yml → devops/aws/setup-build-server.yml

@@ -5,4 +5,4 @@
   hosts: build
 
   roles:
-    - role: admin
+    - role: build-server