mirror of
https://github.com/lucky-sideburn/kubeinvaders.git
synced 2026-08-29 00:47:16 +00:00
add flow
This commit is contained in:
@@ -0,0 +1,266 @@
|
||||
actinium
|
||||
alligator
|
||||
alpaca
|
||||
aluminum
|
||||
americium
|
||||
ant
|
||||
antelope
|
||||
antimony
|
||||
ape
|
||||
argon
|
||||
armadillo
|
||||
arsenic
|
||||
astatine
|
||||
baboon
|
||||
badger
|
||||
barium
|
||||
bat
|
||||
bear
|
||||
beaver
|
||||
bee
|
||||
beetle
|
||||
berkelium
|
||||
beryllium
|
||||
bigfoot
|
||||
bismuth
|
||||
bohrium
|
||||
boron
|
||||
bromine
|
||||
buffalo
|
||||
burro
|
||||
butterfly
|
||||
cadmium
|
||||
calcium
|
||||
californium
|
||||
camel
|
||||
carabao
|
||||
carbon
|
||||
caribou
|
||||
cat
|
||||
cattle
|
||||
cerium
|
||||
cesium
|
||||
cheetah
|
||||
chimpanzee
|
||||
chinchilla
|
||||
chlorine
|
||||
chromium
|
||||
cicada
|
||||
clam
|
||||
cobalt
|
||||
cockroach
|
||||
cod
|
||||
copernicium
|
||||
copper
|
||||
coyote
|
||||
crab
|
||||
cricket
|
||||
crocodile
|
||||
crow
|
||||
curium
|
||||
darmstadtium
|
||||
deer
|
||||
dinosaur
|
||||
dog
|
||||
dolphin
|
||||
donkey
|
||||
dragon
|
||||
dubnium
|
||||
duck
|
||||
dysprosium
|
||||
eagle
|
||||
eel
|
||||
einsteinium
|
||||
elephant
|
||||
elk
|
||||
erbium
|
||||
europium
|
||||
fermium
|
||||
ferret
|
||||
fish
|
||||
flerovium
|
||||
fluorine
|
||||
fly
|
||||
fox
|
||||
francium
|
||||
frog
|
||||
gadolinium
|
||||
gallium
|
||||
gerbil
|
||||
germanium
|
||||
giraffe
|
||||
gnat
|
||||
gnu
|
||||
goat
|
||||
gold
|
||||
goldfish
|
||||
goose
|
||||
gorilla
|
||||
grasshopper
|
||||
hafnium
|
||||
hamster
|
||||
hare
|
||||
hassium
|
||||
hedgehog
|
||||
helium
|
||||
herring
|
||||
hippopotamus
|
||||
holmium
|
||||
hornet
|
||||
horse
|
||||
hound
|
||||
hydrogen
|
||||
hyena
|
||||
impala
|
||||
indium
|
||||
insect
|
||||
iodine
|
||||
iridium
|
||||
iron
|
||||
jackal
|
||||
jellyfish
|
||||
kangaroo
|
||||
koala
|
||||
kraken
|
||||
krypton
|
||||
lanthanum
|
||||
lawrencium
|
||||
lead
|
||||
leopard
|
||||
lion
|
||||
lithium
|
||||
livermorium
|
||||
lizard
|
||||
llama
|
||||
locust
|
||||
louse
|
||||
lutetium
|
||||
macaw
|
||||
magnesium
|
||||
mallard
|
||||
mammoth
|
||||
manatee
|
||||
manganese
|
||||
marten
|
||||
meitnerium
|
||||
mendelevium
|
||||
mercury
|
||||
mink
|
||||
minnow
|
||||
mole
|
||||
molybdenum
|
||||
monkey
|
||||
moose
|
||||
moscovium
|
||||
mosquito
|
||||
mouse
|
||||
mule
|
||||
muskrat
|
||||
neodymium
|
||||
neon
|
||||
neptunium
|
||||
nessie
|
||||
nickel
|
||||
nihonium
|
||||
ninja
|
||||
niobium
|
||||
nitrogen
|
||||
nobelium
|
||||
oganesson
|
||||
osmium
|
||||
otter
|
||||
ox
|
||||
oxygen
|
||||
oyster
|
||||
palladium
|
||||
panda
|
||||
phosphorus
|
||||
pig
|
||||
pirate
|
||||
platinum
|
||||
platypus
|
||||
plutonium
|
||||
polonium
|
||||
porcupine
|
||||
porpoise
|
||||
potassium
|
||||
praseodymium
|
||||
promethium
|
||||
protactinium
|
||||
pug
|
||||
rabbit
|
||||
raccoon
|
||||
radium
|
||||
radon
|
||||
rat
|
||||
raven
|
||||
reindeer
|
||||
rhenium
|
||||
rhinoceros
|
||||
rhodium
|
||||
robot
|
||||
roentgenium
|
||||
rubidium
|
||||
ruthenium
|
||||
rutherfordium
|
||||
salmon
|
||||
samarium
|
||||
samurai
|
||||
sardine
|
||||
scandium
|
||||
scorpion
|
||||
seaborgium
|
||||
seal
|
||||
selenium
|
||||
serval
|
||||
shark
|
||||
sheep
|
||||
silicon
|
||||
silver
|
||||
skunk
|
||||
snail
|
||||
snake
|
||||
sodium
|
||||
spider
|
||||
squirrel
|
||||
strontium
|
||||
sulfur
|
||||
swan
|
||||
tantalum
|
||||
technetium
|
||||
tellurium
|
||||
tennessine
|
||||
terbium
|
||||
termite
|
||||
thallium
|
||||
thorium
|
||||
thulium
|
||||
tiger
|
||||
tin
|
||||
titanium
|
||||
toad
|
||||
trout
|
||||
tungsten
|
||||
turtle
|
||||
unicorn
|
||||
uranium
|
||||
vanadium
|
||||
wallaby
|
||||
walrus
|
||||
wasp
|
||||
weasel
|
||||
whale
|
||||
wildebeest
|
||||
wolf
|
||||
wombat
|
||||
woodchuck
|
||||
worm
|
||||
xenon
|
||||
yak
|
||||
yellowjacket
|
||||
ytterbium
|
||||
yttrium
|
||||
zebra
|
||||
zinc
|
||||
zirconium
|
||||
zombie
|
||||
@@ -200,8 +200,9 @@ while True:
|
||||
for pod in final_pod_list:
|
||||
container_list = []
|
||||
for container in pod.spec.containers:
|
||||
if re.search(f"{containers_re}", container.name):
|
||||
container_list.append(container.name)
|
||||
if "containers_re" in locals() or "containers_re" in globals():
|
||||
if re.search(f"{containers_re}", container.name):
|
||||
container_list.append(container.name)
|
||||
|
||||
for container in container_list:
|
||||
if webtail_switch or (pod.metadata.labels.get('approle') != None and pod.metadata.labels['approle'] == 'chaosnode' and pod.status.phase != "Pending"):
|
||||
|
||||
@@ -30,16 +30,16 @@ def create_container(image, name, command, args):
|
||||
|
||||
return container
|
||||
|
||||
def create_pod_template(pod_name, container):
|
||||
def create_pod_template(pod_name, container, job_name):
|
||||
pod_template = client.V1PodTemplateSpec(
|
||||
spec=client.V1PodSpec(restart_policy="Never", containers=[container]),
|
||||
metadata=client.V1ObjectMeta(name=pod_name, labels={"pod_name": pod_name, "approle": "chaosnode"}),
|
||||
metadata=client.V1ObjectMeta(name=pod_name, labels={"pod-name-prefix": pod_name, "approle": "chaosnode", "job-name": job_name}),
|
||||
)
|
||||
|
||||
return pod_template
|
||||
|
||||
def create_job(job_name, pod_template):
|
||||
metadata = client.V1ObjectMeta(name=job_name, labels={"job_name": job_name, "approle": "chaosnode"})
|
||||
metadata = client.V1ObjectMeta(name=job_name, labels={"job-name": job_name, "approle": "chaosnode"})
|
||||
|
||||
job = client.V1Job(
|
||||
api_version="batch/v1",
|
||||
@@ -85,4 +85,10 @@ while True:
|
||||
if pod.metadata.labels.get('approle') != None and pod.metadata.labels['approle'] == 'chaosnode':
|
||||
if pod.status.phase == "Pending" or pod.status.phase == "Running":
|
||||
r.incr('current_chaos_job_pod')
|
||||
if pod.metadata.labels.get('chaos-codename') != None:
|
||||
codename = pod.metadata.labels.get('chaos-codename')
|
||||
job_name = pod.metadata.labels.get('job-name')
|
||||
exp_name = pod.metadata.labels.get('experiment-name')
|
||||
r.set(f"chaos_jobs_status:{codename}:{exp_name}:{job_name}", pod.status.phase)
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
@@ -27,8 +27,8 @@ def create_container(image, name, command, args):
|
||||
|
||||
return container
|
||||
|
||||
def create_pod_template(pod_name, additional_labels, container):
|
||||
pod_labels = { "app": "kubeinvaders", "pod_name": pod_name, "approle": "chaosnode" }
|
||||
def create_pod_template(pod_name, additional_labels, container, exp_name):
|
||||
pod_labels = {"app": "kubeinvaders", "approle": "chaosnode", "experiment-name": exp_name}
|
||||
pod_labels.update(additional_labels)
|
||||
pod_template = client.V1PodTemplateSpec(
|
||||
spec=client.V1PodSpec(restart_policy="Never", containers=[container]),
|
||||
@@ -38,7 +38,7 @@ def create_pod_template(pod_name, additional_labels, container):
|
||||
return pod_template
|
||||
|
||||
def create_job(job_name, pod_template):
|
||||
metadata = client.V1ObjectMeta(name=job_name, labels={"job_name": job_name, "approle": "chaosnode"})
|
||||
metadata = client.V1ObjectMeta(name=job_name, labels={"job-name": job_name, "approle": "chaosnode"})
|
||||
|
||||
job = client.V1Job(
|
||||
api_version="batch/v1",
|
||||
@@ -100,13 +100,13 @@ for exp in parsed_yaml["experiments"]:
|
||||
|
||||
letters = string.ascii_lowercase
|
||||
rand_suffix = ''.join(random.choice(letters) for i in range(5))
|
||||
job_name = f"{exp['name']}-{rand_suffix}"
|
||||
job_name = f"{exp['job']}-{rand_suffix}"
|
||||
|
||||
if 'additional-labels' in job_attrs:
|
||||
logging.info(f"additional-labels = {job_attrs['additional-labels']}")
|
||||
pod_template = create_pod_template(exp["name"], job_attrs['additional-labels'], container)
|
||||
pod_template = create_pod_template(f"{exp['name']}-exec", job_attrs['additional-labels'], container, exp["name"])
|
||||
else:
|
||||
pod_template = create_pod_template(exp["name"], {}, container)
|
||||
pod_template = create_pod_template(f"{exp['name']}-exec", {}, container, exp["name"])
|
||||
|
||||
logging.info(f"Creating job {job_name}")
|
||||
job_def = create_job(job_name, pod_template)
|
||||
@@ -117,6 +117,10 @@ for exp in parsed_yaml["experiments"]:
|
||||
logging.info(e)
|
||||
quit()
|
||||
|
||||
if 'additional-labels' in job_attrs and 'chaos-codename' in job_attrs['additional-labels']:
|
||||
codename = job_attrs['additional-labels']['chaos-codename']
|
||||
r.set(f"chaos_jobs_status:{codename}:{exp['name']}:{exp['job']}", "Created")
|
||||
|
||||
if r.exists('chaos_node_jobs_total') == 1:
|
||||
r.incr('chaos_node_jobs_total')
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user