add xos admin, add no_start option
Change-Id: I0fd5c51be315a1bdb7ede2abc896c65d6cd44a40
diff --git a/xos/core/admin.py b/xos/core/admin.py
index ed52345..2124e96 100644
--- a/xos/core/admin.py
+++ b/xos/core/admin.py
@@ -1073,6 +1073,21 @@
('resources', 'Resources'),
)
+class XosModelAdmin(XOSBaseAdmin):
+ list_display = ("backend_status_icon", "name",)
+ list_display_links = ('backend_status_icon', 'name',)
+ fieldList = ["name", "ui_port", "bootstrap_ui_port", "docker_project_name", "db_container_name", "enable_build", "frontend_only",
+ "source_ui_image", "extra_hosts", "no_start"]
+ fieldsets = [
+ (None, {'fields': fieldList, 'classes': ['suit-tab suit-tab-general']})]
+ inlines = []
+ readonly_fields = ('backend_status_text', )
+
+ user_readonly_fields = fieldList
+
+ suit_form_tabs = (('general', 'XOS Details'),
+ )
+
class SiteNodeInline(XOSTabularInline):
model = Node
@@ -2436,7 +2451,7 @@
admin.site.register(Slice, SliceAdmin)
admin.site.register(Service, ServiceAdmin)
admin.site.register(ServiceController, ServiceControllerAdmin)
-#admin.site.register(Reservation, ReservationAdmin)
+admin.site.register(XOS, XosModelAdmin)
admin.site.register(Network, NetworkAdmin)
admin.site.register(Port, PortAdmin)
admin.site.register(Router, RouterAdmin)
diff --git a/xos/core/models/xosmodel.py b/xos/core/models/xosmodel.py
index 73c44e4..361dd63 100644
--- a/xos/core/models/xosmodel.py
+++ b/xos/core/models/xosmodel.py
@@ -18,6 +18,7 @@
frontend_only = models.BooleanField(help_text="If True, XOS will not start synchronizer containers", default=False)
source_ui_image = StrippedCharField(max_length=200, default="xosproject/xos")
extra_hosts = StrippedCharField(max_length=1024, help_text="list of hostname mappings that will be passed to docker-compose", null=True, blank=True)
+ no_start = models.BooleanField(help_text="Do not start the XOS UI inside of the UI docker container", default=False)
def __unicode__(self): return u'%s' % (self.name)
diff --git a/xos/synchronizers/onboarding/xosbuilder.py b/xos/synchronizers/onboarding/xosbuilder.py
index 78ee3d0..c87efc3 100644
--- a/xos/synchronizers/onboarding/xosbuilder.py
+++ b/xos/synchronizers/onboarding/xosbuilder.py
@@ -328,6 +328,9 @@
"extra_hosts": extra_hosts,
"volumes": volume_list}
+ if xos.no_start:
+ containers["xos_ui"]["command"] = "sleep 864000"
+
# containers["xos_bootstrap_ui"] = {"image": "xosproject/xos",
# "command": "python /opt/xos/manage.py runserver 0.0.0.0:%d --insecure --makemigrations" % xos.bootstrap_ui_port,
# "ports": {"%d"%xos.bootstrap_ui_port : "%d"%xos.bootstrap_ui_port},