mirror of
https://github.com/Azure/k8s-deploy.git
synced 2026-06-27 15:19:27 +08:00
Added Integration Tests, Resolved Bugs With Annotations (#255)
* First commit - made manifests for test deployments, made manifests for i tests for other deployment strategies * broke down blue/green * added latest tags to test manifests for new tags * remade tester * ready to test bgi * using all but first index of argv * careless error with dicts * added test to namespace * realized i was silencing error * indexing containers * keyerror * logging bc python errors are weird * expected still string * parsed args behaving weirdly * test seems to be working now, applying changes to other YAMLs now * blue/green ready to test * oops * oops * Added additional labels to check * hyphen * Added our annotations * lol * added our labels to services too * nonetype issue' * nonetype issue' * narrowing down parameter * fixed annotations issue with promote * adding debhug statement to figure out why services aren't getting annotations * this should fix annotations issue for service * not sure why this wasn't caught by intellisense * should be fixed with removing comma but adding logs in case * added linkerd install * verification * upgraded kubernetes version * removing crds * proxy option * Added smi extension * logging service * smi svcs also getting labeled now * matching ts type * not sure where stable service is going * remaining svc and deployment should match * keeping stable service and ts object * updated tests to reflect keeping ts object * no green svc after promote * duh * lol * canary work * canary test ready * logging for ing, filename for canary * changed ingress svc key and returning svc files from smi canary deployment * ts name * forgot about baseline in first deploy * * * * * smi canary should annotate, fixed cleanup * typescript issue plus percentage * forgot to type extra method * removed cleaned up objects from annotate list * logging because services aren't getting removed * moving to try/catch strategy of annotation since deletion can fail silently/with warnings * moved label to individual * removing canary service check after promote * pod ready for testing * set weights to 1000 * selectors * * * percentage * * * typing * mixed up pod and smi * fixed tests * prettier * forgot to remove canary * cleanup * Added oliver's feedback + more cleanup * ncc as dev dependency * npx * going back to global ncc install bc npm is being weird * prettier * removed unnecessary post step
This commit is contained in:
@@ -17,6 +17,7 @@ import {
|
||||
import {setupSMI} from './smiBlueGreenHelper'
|
||||
|
||||
import {routeBlueGreenForDeploy} from './route'
|
||||
import {DeployResult} from '../../types/deployResult'
|
||||
|
||||
export async function deployBlueGreen(
|
||||
kubectl: Kubectl,
|
||||
@@ -35,9 +36,17 @@ export async function deployBlueGreen(
|
||||
})()
|
||||
|
||||
core.startGroup('Routing blue green')
|
||||
await routeBlueGreenForDeploy(kubectl, files, routeStrategy)
|
||||
const routeDeployment = await routeBlueGreenForDeploy(
|
||||
kubectl,
|
||||
files,
|
||||
routeStrategy
|
||||
)
|
||||
core.endGroup()
|
||||
|
||||
blueGreenDeployment.objects.push(...routeDeployment.objects)
|
||||
blueGreenDeployment.deployResult.manifestFiles.push(
|
||||
...routeDeployment.deployResult.manifestFiles
|
||||
)
|
||||
return blueGreenDeployment
|
||||
}
|
||||
|
||||
@@ -56,10 +65,16 @@ export async function deployBlueGreenSMI(
|
||||
manifestObjects.unroutedServiceEntityList
|
||||
)
|
||||
|
||||
await deployObjects(kubectl, newObjectsList)
|
||||
const otherObjDeployment: DeployResult = await deployObjects(
|
||||
kubectl,
|
||||
newObjectsList
|
||||
)
|
||||
|
||||
// make extraservices and trafficsplit
|
||||
await setupSMI(kubectl, manifestObjects.serviceEntityList)
|
||||
const smiAndSvcDeployment = await setupSMI(
|
||||
kubectl,
|
||||
manifestObjects.serviceEntityList
|
||||
)
|
||||
|
||||
// create new deloyments
|
||||
const blueGreenDeployment: BlueGreenDeployment = await deployWithLabel(
|
||||
@@ -67,10 +82,18 @@ export async function deployBlueGreenSMI(
|
||||
manifestObjects.deploymentEntityList,
|
||||
GREEN_LABEL_VALUE
|
||||
)
|
||||
return {
|
||||
deployResult: blueGreenDeployment.deployResult,
|
||||
objects: [].concat(blueGreenDeployment.objects, newObjectsList)
|
||||
}
|
||||
|
||||
blueGreenDeployment.objects.push(...newObjectsList)
|
||||
blueGreenDeployment.objects.push(...smiAndSvcDeployment.objects)
|
||||
|
||||
blueGreenDeployment.deployResult.manifestFiles.push(
|
||||
...otherObjDeployment.manifestFiles
|
||||
)
|
||||
blueGreenDeployment.deployResult.manifestFiles.push(
|
||||
...smiAndSvcDeployment.deployResult.manifestFiles
|
||||
)
|
||||
|
||||
return blueGreenDeployment
|
||||
}
|
||||
|
||||
export async function deployBlueGreenIngress(
|
||||
|
||||
Reference in New Issue
Block a user