Come posso sfruttare luigi per le attività Openstack: python, openstack, luigi

Voglio usare Luigi per gestire i flussi di lavoroOpenStack. Sono nuovo di Luigi. Per cominciare, voglio solo autenticarmi su Openstack e quindi recuperare l'elenco delle immagini, l'elenco dei sapori ecc. Usando Luigi. Qualsiasi aiuto sarà apprezzabile.

Non sono bravo con Python ma ho provato sotto il codice. Inoltre non sono in grado di elencare le immagini. Errore: glanceclient.exc.HTTPNotFound: impossibile trovare la risorsa. (HTTP 404)

import luigi
import os_client_config
import glanceclient.v2.client as glclient
from luigi.mock import MockFile
import sys
import os

def get_credentials():
d = {}
d["username"] = "X"
d["password"] = "X"
d["auth_url"] = "X"
d["tenant_name"] = "X"
d["endpoint"] = "X"
return d

class LookupOpenstack(luigi.Task):
d =[]

def requires(self):
pass
def output(self):
gc = glclient.Client(**get_credentials())
images = gc.images.list()
print("images", images)
for i in images:
print(i)

return MockFile("images", mirror_on_stderr=True)

def run(self):
pass

if __name__ == "__main__":
luigi.run(["--local-scheduler"], LookupOpenstack())

risposte:

0 per risposta № 1

L'approccio generale a questo è semplicemente scrivere codice Python per eseguire le attività desiderate utilizzando l'API OpenStack. https://docs.openstack.org/user-guide/sdk.html Sembra che l'errore che stai ricevendo sia indirizzato sul sito OpenStack. https://ask.openstack.org/en/question/90071/glanceclientexchttpnotfound-the-resource-could-not-be-found-http-404/

Dovresti semplicemente racchiudere questo codice in luigi Tasks se del caso, non c'è niente di speciale nel fare questo OpenStack, tranne che è necessario definire il file output() delle tue attività luigi da abbinare a un output che indica che l'attività è stata eseguita. In questo momento sembra che il lavoro sia stato svoltoil metodo output (), che dovrebbe essere nel metodo run (), il metodo di output dovrebbe essere proprio quello che cercare per indicare che il metodo run () è completo, quindi non può essere eseguito () quando richiesto da un'altra attività se è già fatto.

È davvero impossibile dire di più senza comprendere più dettagli del flusso di lavoro.


Menu