Skip to content
Snippets Groups Projects
Commit 03a91b0f authored by Erik Reid's avatar Erik Reid
Browse files

don't load from environment in bootsteps

... this makes unit testing easier
parent 0e32a55b
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,7 @@ import logging
import os
import re
from celery import bootsteps, Task, states
from celery import Task, states
from celery.result import AsyncResult
from collections import defaultdict
......@@ -31,7 +31,20 @@ class InventoryTask(Task):
config = None
def __init__(self):
pass
if InventoryTask.config:
return
assert os.path.isfile(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']), (
'config file %r not found' %
os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME'])
with open(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) as f:
logging.info(
"Initializing worker with config from: %r" %
os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME'])
InventoryTask.config = config.load(f)
logging.debug("loaded config: %r" % InventoryTask.config)
def update_state(self, **kwargs):
logger = logging.getLogger(__name__)
......@@ -62,23 +75,6 @@ def _save_value_etree(key, xml_doc):
etree.tostring(xml_doc, encoding='unicode'))
class LoadConfig(bootsteps.Step):
def __init__(self):
assert os.path.isfile(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']), (
'config file %r not found' %
os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME'])
with open(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) as f:
logging.info(
"Initializing worker with config from: %r" %
os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME'])
InventoryTask.config = config.load(f)
app.steps['worker'].add(LoadConfig)
@app.task
def snmp_refresh_interfaces(hostname, community):
logger = logging.getLogger(__name__)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment