allow xos source_ui_image to be configured
diff --git a/xos/core/models/xosmodel.py b/xos/core/models/xosmodel.py
index 01c9514..08832c9 100644
--- a/xos/core/models/xosmodel.py
+++ b/xos/core/models/xosmodel.py
@@ -15,6 +15,7 @@
docker_project_name = StrippedCharField(max_length=200, help_text="docker project name")
enable_build = models.BooleanField(help_text="True if Onboarding Synchronizer should build XOS as necessary", default=True)
frontend_only = models.BooleanField(help_text="If True, XOS will not start synchronizer containers", default=False)
+ source_ui_image = models.StrippedCharField(max_length=200, default="xosproject/xos")
def __unicode__(self): return u'%s' % (self.name)
diff --git a/xos/synchronizers/onboarding/xosbuilder.py b/xos/synchronizers/onboarding/xosbuilder.py
index e7a3e1c..51499bd 100644
--- a/xos/synchronizers/onboarding/xosbuilder.py
+++ b/xos/synchronizers/onboarding/xosbuilder.py
@@ -19,7 +19,6 @@
SYNC_ALLCONTROLLER_KINDS=["models", "django_library"]
def __init__(self):
- self.source_ui_image = "xosproject/xos"
self.source_sync_image = "xosproject/xos-synchronizer-openstack"
self.build_dir = "/opt/xos/BUILD/"
@@ -183,12 +182,13 @@
file(os.path.join(self.build_dir, "opt/xos/xos/%s_xosbuilder_migration_list") % name, "w").write("\n".join(migration_list)+"\n")
def create_ui_dockerfile(self):
+ xos = XOS.objects.all()[0]
dockerfile_fn = "Dockerfile.UI"
app_list = []
migration_list = []
- dockerfile = ["FROM %s" % self.source_ui_image]
+ dockerfile = ["FROM %s" % xos.source_ui_image]
script = []
for controller in ServiceController.objects.all():
if self.check_controller_unready(controller):
diff --git a/xos/tosca/custom_types/xos.m4 b/xos/tosca/custom_types/xos.m4
index ef852af..04d7641 100644
--- a/xos/tosca/custom_types/xos.m4
+++ b/xos/tosca/custom_types/xos.m4
@@ -23,6 +23,10 @@
type: string
required: false
description: Docker project name
+ source_ui_image:
+ type: string
+ required: false
+ description: Source UI docker image name
enable_build:
type: boolean
required: false
diff --git a/xos/tosca/custom_types/xos.yaml b/xos/tosca/custom_types/xos.yaml
index 93dad18..e52c0e1 100644
--- a/xos/tosca/custom_types/xos.yaml
+++ b/xos/tosca/custom_types/xos.yaml
@@ -53,6 +53,10 @@
type: string
required: false
description: Docker project name
+ source_ui_image:
+ type: string
+ required: false
+ description: Source UI docker image name
enable_build:
type: boolean
required: false
diff --git a/xos/tosca/resources/xosmodel.py b/xos/tosca/resources/xosmodel.py
index b397686..86aa8a8 100644
--- a/xos/tosca/resources/xosmodel.py
+++ b/xos/tosca/resources/xosmodel.py
@@ -12,7 +12,7 @@
class XOSXOS(XOSResource):
provides = "tosca.nodes.XOS"
xos_model = XOS
- copyin_props = ["ui_port", "bootstrap_ui_port", "docker_project_name", "enable_build", "frontend_only"]
+ copyin_props = ["ui_port", "bootstrap_ui_port", "docker_project_name", "enable_build", "frontend_only", "source_ui_image"]
class XOSVolume(XOSResource):
provides = "tosca.nodes.XOSVolume"