|
5 | 5 | CHANGED_DRIVERS = os.environ.get('CHANGED_DRIVERS')
|
6 | 6 | # configurable from Jenkins to override and manually set the drivers to be uploaded
|
7 | 7 | DRIVERS_OVERRIDE = os.environ.get('DRIVERS_OVERRIDE') or "[]"
|
| 8 | +DRY_RUN = os.environ.get("DRY_RUN") != None |
8 | 9 | print(BRANCH)
|
9 | 10 | print(ENVIRONMENT)
|
10 | 11 | print(CHANGED_DRIVERS)
|
11 |
| -branch_environment = "{}_{}_".format(BRANCH, ENVIRONMENT) |
12 |
| -ENVIRONMENT_URL = os.environ.get(ENVIRONMENT+'_ENVIRONMENT_URL') |
| 12 | +ENVIRONMENT_URL = os.environ.get('ENVIRONMENT_URL') |
13 | 13 | if not ENVIRONMENT_URL:
|
14 | 14 | print("No environment url specified, aborting.")
|
15 | 15 | exit(0)
|
16 | 16 |
|
17 | 17 | UPLOAD_URL = ENVIRONMENT_URL+"/drivers/package"
|
18 |
| -CHANNEL_ID = os.environ.get(branch_environment+'CHANNEL_ID') |
| 18 | +CHANNEL_ID = os.environ.get(BRANCH+'_CHANNEL_ID') |
19 | 19 | if not CHANNEL_ID:
|
20 |
| - print("No channel id specified, aborting.") |
| 20 | + print("No channel id specified for "+BRANCH+", aborting.") |
21 | 21 | exit(0)
|
22 | 22 |
|
23 | 23 | UPDATE_URL = ENVIRONMENT_URL+"/channels/"+CHANNEL_ID+"/drivers/bulk"
|
24 |
| -TOKEN = os.environ.get(ENVIRONMENT+'_TOKEN') |
| 24 | +TOKEN = os.environ.get('TOKEN') |
25 | 25 | DRIVERID = "driverId"
|
26 | 26 | VERSION = "version"
|
27 | 27 | PACKAGEKEY = "packageKey"
|
|
91 | 91 | headers = {
|
92 | 92 | "Accept": "application/vnd.smartthings+json;v=20200810",
|
93 | 93 | "Authorization": "Bearer "+TOKEN,
|
94 |
| - "X-ST-LOG-LEVEL": "DEBUG" |
| 94 | + "X-ST-LOG-LEVEL": "DEBUG", |
| 95 | + "X-ST-CORRELATION": "driver-deployment-"+BRANCH+"-"+ENVIRONMENT+"-"+str(time.time()) |
95 | 96 | },
|
96 | 97 | json = {
|
97 | 98 | DRIVERID: driver[DRIVERID],
|
|
147 | 148 | print(error.stderr)
|
148 | 149 | retries += 1
|
149 | 150 | if retries >= 5:
|
150 |
| - print("5 zip failires, skipping "+package_key+" and continuing.") |
| 151 | + print("5 zip failures, skipping "+package_key+" and continuing.") |
151 | 152 | continue
|
152 | 153 | with open(driver+".zip", 'rb') as driver_package:
|
153 | 154 | data = driver_package.read()
|
|
187 | 188 | print("Uploading package: {} driver id: {} version: {}".format(package_key, driver_info[DRIVERID], driver_info[VERSION]))
|
188 | 189 | driver_updates.append({DRIVERID: driver_info[DRIVERID], VERSION: driver_info[VERSION]})
|
189 | 190 |
|
190 |
| -response = requests.put( |
191 |
| - UPDATE_URL, |
192 |
| - headers={ |
193 |
| - "Accept": "application/vnd.smartthings+json;v=20200810", |
194 |
| - "Authorization": "Bearer "+TOKEN, |
195 |
| - "Content-Type": "application/json", |
196 |
| - "X-ST-LOG-LEVEL": "DEBUG" |
197 |
| - }, |
198 |
| - data=json.dumps(driver_updates) |
199 |
| -) |
200 |
| -if response.status_code != 204: |
201 |
| - print("Failed to bulk update drivers") |
202 |
| - print("Error code: "+str(response.status_code)) |
203 |
| - print("Error response: "+response.text) |
204 |
| - exit(1) |
| 191 | +if DRY_RUN: |
| 192 | + print("Dry Run, skipping bulk upload to " + UPDATE_URL) |
| 193 | +else: |
| 194 | + response = requests.put( |
| 195 | + UPDATE_URL, |
| 196 | + headers={ |
| 197 | + "Accept": "application/vnd.smartthings+json;v=20200810", |
| 198 | + "Authorization": "Bearer "+TOKEN, |
| 199 | + "Content-Type": "application/json", |
| 200 | + "X-ST-LOG-LEVEL": "DEBUG", |
| 201 | + "X-ST-CORRELATION": "driver-deployment-"+BRANCH+"-"+ENVIRONMENT+"-"+str(time.time()) |
| 202 | + }, |
| 203 | + data=json.dumps(driver_updates) |
| 204 | + ) |
| 205 | + if response.status_code != 204: |
| 206 | + print("Failed to bulk update drivers") |
| 207 | + print("Error code: "+str(response.status_code)) |
| 208 | + print("Error response: "+response.text) |
| 209 | + exit(1) |
205 | 210 |
|
206 | 211 | print("Update drivers: ")
|
207 | 212 | print(drivers_updated)
|
208 |
| -print("\nDrivers currently deplpyed: ") |
| 213 | +print("\nDrivers currently deployed: ") |
209 | 214 | print(uploaded_drivers.keys())
|
0 commit comments