File size: 2,892 Bytes
b585c7f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
{
  "variables": {
    "project_id": "eng-llm",
    "account_file": "<NAME OF GCP CREDENTIALS JSON FILE>",
    "h2ogpt_version": "010",
    "branch_tag": "main",
    "base_model": "h2oai-h2ogpt-4096-llama2-13b-chat"
  },
  "builders": [
    {
      "type": "googlecompute",
      "project_id": "{{user `project_id`}}",
      "account_file": "{{user `account_file`}}",
      "machine_type": "n1-standard-8",
      "on_host_maintenance": "TERMINATE",
      "accelerator_type": "projects/{{user `project_id`}}/zones/us-west1-b/acceleratorTypes/nvidia-tesla-t4",
      "accelerator_count": "4",
      "source_image_family": "ubuntu-2004-lts",
      "zone": "us-west1-b",
      "image_description": "h2ogpt using Packer",
      "image_name": "h2ogpt-{{user `h2ogpt_version`}}",
      "disk_size": 512,
      "disk_type": "pd-ssd",
      "ssh_username": "ubuntu",
      "tags": ["h2ogpt"]
    }
  ],
  "post-processors": [
    {
      "type": "manifest",
      "output": "gcp-image-info.json",
      "strip_path": true,
      "custom_data": {
        "base_image": "GCP Ubuntu 20.04",
        "h2ogpt_version": "{{user `h2ogpt_version`}}"
      }
    }
  ],
  "provisioners": [
    {
      "type": "shell",
      "script": "setup_environment.sh",
      "pause_before": "10s",
      "pause_after": "10s"
    },
    {
      "type": "shell",
      "inline": ["sudo reboot now"],
      "pause_after": "10s",
      "expect_disconnect": true
    },
    {
      "type": "shell",
      "environment_vars": ["BRANCH_TAG={{user `branch_tag`}}"],
      "script": "install_h2ogpt.sh",
      "pause_after": "10s"
    },
    {
      "type": "shell",
      "inline": [
        "sudo chown -R ubuntu:ubuntu /etc/nginx/conf.d",
        "sudo chown -R ubuntu:ubuntu /etc/systemd/system/"
      ],
      "pause_before": "10s"
    },
    {
      "type":  "file",
      "source": "./startup-scripts/run_nginx.sh",
      "destination": "/workspace/run_nginx.sh"
    },
    {
      "type":  "file",
      "source": "./startup-scripts/run_vllm.sh",
      "destination": "/workspace/run_vllm.sh"
    },
    {
      "type":  "file",
      "source": "./startup-scripts/run_h2ogpt.sh",
      "destination": "/workspace/run_h2ogpt.sh"
    },
    {
      "type":  "file",
      "source": "./startup-scripts/h2ogpt_nginx.service",
      "destination": "/etc/systemd/system/h2ogpt_nginx.service"
    },
    {
      "type":  "file",
      "source": "./startup-scripts/vllm.service",
      "destination": "/etc/systemd/system/vllm.service"
    },
    {
      "type":  "file",
      "source": "./startup-scripts/h2ogpt.service",
      "destination": "/etc/systemd/system/h2ogpt.service"
    },
    {
      "type":  "file",
      "source": "./startup-scripts/temp.conf",
      "destination": "/workspace/temp.conf"
    },
    {
      "type": "shell",
      "script": "{{user `base_model`}}.sh",
      "pause_after": "10s"
    }
  ]
}