build the docker images
diff --git a/xos/synchronizers/onboarding/onboarding_synchronizer_config b/xos/synchronizers/onboarding/onboarding_synchronizer_config
index d80ff2d..e2b92fd 100644
--- a/xos/synchronizers/onboarding/onboarding_synchronizer_config
+++ b/xos/synchronizers/onboarding/onboarding_synchronizer_config
@@ -25,10 +25,13 @@
name=onboarding
dependency_graph=/opt/xos/synchronizers/onboarding/model-deps
steps_dir=/opt/xos/synchronizers/onboarding/steps
+sys_dir=/opt/xos/synchronizers/onboarding/sys
deleters_dir=/opt/xos/synchronizers/onboarding/deleters
log_file=console
driver=None
backoff_disabled=True
+pretend=False
+save_ansible_output=True
[feefie]
client_id='vicci_dev_central'
diff --git a/xos/synchronizers/onboarding/steps/sync_xos.py b/xos/synchronizers/onboarding/steps/sync_xos.py
index 4c0fe7b..095fae8 100644
--- a/xos/synchronizers/onboarding/steps/sync_xos.py
+++ b/xos/synchronizers/onboarding/steps/sync_xos.py
@@ -6,6 +6,7 @@
from synchronizers.base.syncstep import SyncStep
from core.models import XOS
from xos.logger import Logger, logging
+from synchronizers.base.ansible import run_template
# xosbuilder will be in steps/..
parentdir = os.path.join(os.path.dirname(__file__),"..")
@@ -19,14 +20,22 @@
provides=[XOS]
observes=XOS
requested_interval=0
+ playbook = "sync_xos.yaml"
def __init__(self, **args):
SyncStep.__init__(self, **args)
XOSBuilder.__init__(self)
- def sync_record(self, scr):
- logger.info("Sync'ing XOS %s" % scr)
- self.build_xos()
+ def sync_record(self, xos):
+ logger.info("Sync'ing XOS %s" % xos)
+
+ dockerfiles = [self.create_ui_dockerfile()]
+ tenant_fields = {"dockerfiles": dockerfiles,
+ "build_dir": self.build_dir,
+ "ansible_tag": xos.__class__.__name__ + "_" + str(xos.id)}
+
+ path="XOS"
+ res = run_template(self.playbook, tenant_fields, path=path)
def delete_record(self, m):
pass
diff --git a/xos/synchronizers/onboarding/xosbuilder.py b/xos/synchronizers/onboarding/xosbuilder.py
index 7d4c7e5..f85e252 100644
--- a/xos/synchronizers/onboarding/xosbuilder.py
+++ b/xos/synchronizers/onboarding/xosbuilder.py
@@ -106,7 +106,8 @@
file(os.path.join(self.build_dir, dockerfile_fn), "w").write("\n".join(dockerfile)+"\n")
- return [dockerfile_fn]
+ return {"dockerfile_fn": dockerfile_fn,
+ "docker_image_name": "xosproject/xos-ui"}
def create_synchronizer_dockerfile(self, controller):
lines = self.get_controller_docker_lines(controller, self.SYNC_KINDS)
@@ -118,20 +119,15 @@
dockerfile = dockerfile + lines
file(os.path.join(self.build_dir, dockerfile_fn), "w").writelines(dockerfile)
- return [dockerfile_fn]
+ return {"dockerfile_fn": dockerfile_fn,
+ "docker_image_name": "xosproject/xos-synchronizer-%s" % controller.name}
- def run_docker(self, dockerfile_fn):
- pass
-
- def build_xos(self):
- dockerfiles=[]
- dockerfiles = dockerfiles + self.create_ui_dockerfile()
-
- for controller in ServiceController.objects.all():
- dockerfiles = dockerfiles + self.create_synchronizer_dockerfile(controller)
-
- for dockerfile in dockerfiles:
- self.run_docker(dockerfile)
+# def build_xos(self):
+# dockerfiles=[]
+# dockerfiles.append(self.create_ui_dockerfile())
+#
+# for controller in ServiceController.objects.all():
+# dockerfiles.append(self.create_synchronizer_dockerfile(controller))