MCORD+UI
diff --git a/.gitignore b/.gitignore
index 9095902..a0d550c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
 *.moved-aside
 .idea
 setup/*
+setup/id_rsa/*
 xos/configurations/frontend/Dockerfile
 xos/core/xoslib/karma-*
 xos/core/xoslib/docs
@@ -17,4 +18,4 @@
 xos/core/static/*.css
 !xos/core/static/xos.css
 .DS_Store
-xos/configurations/setup
+xos/configurations/setup/
diff --git a/xos/configurations/setup/admin-openrc.sh b/xos/configurations/setup/admin-openrc.sh
index 276c39c..24cd509 100644
--- a/xos/configurations/setup/admin-openrc.sh
+++ b/xos/configurations/setup/admin-openrc.sh
@@ -1,4 +1,8 @@
+# Replace with the OpenStack admin credentials for your cluster
+export OS_PROJECT_DOMAIN_ID=default
+export OS_USER_DOMAIN_ID=default
 export OS_TENANT_NAME=admin
 export OS_USERNAME=admin
-export OS_PASSWORD=df130e830b013289192e
-export OS_AUTH_URL=http://10.0.10.125:5000/v2.0
+export OS_PASSWORD=mcord
+export OS_AUTH_URL=http://10.102.81.3:35357/v2.0
+
diff --git a/xos/configurations/setup/id_rsa b/xos/configurations/setup/id_rsa
index 427bf89..c688622 100644
--- a/xos/configurations/setup/id_rsa
+++ b/xos/configurations/setup/id_rsa
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/xos/configurations/setup/id_rsa.pub b/xos/configurations/setup/id_rsa.pub
index 81dd872..167f69e 100644
--- a/xos/configurations/setup/id_rsa.pub
+++ b/xos/configurations/setup/id_rsa.pub
@@ -1 +1 @@
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvt7NlX3BTg70X98w6wb1mbSQhuMsY2wv8wle4aWrDRJFFuTFiKm+0/6kmYLOQeadQUITUExUdycIlF+FzBpsXTxz63sfmaPoY+j9ApHux4uvYgoyN8bfzjq7eTY6jzA1/LwcnmD5tkWEGT5nSxxiSpAUMvQhbUm1aSX5i7ZVxmyJIkKqP7teOMzVCiIMLLHenrP+MeLkrVcgXG9Bp4F12bcgJq7bHp7N3nCdiM9oIA27CKwkqCbBK9f+Wvw1mSOkRMwT6CEw8Orsq9cVkv0wKa/wgV7Z8pXMgOoeRuBxn9bSZp50D/bL2nnkH5JCY3c9dbUSE5ccfRI0/fVlL43l3 ubuntu@ip-10-0-10-125
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCIo3V9JDwOIUmZNYBarUWEV+A6/TlUaSQFSqcVgbYxQ/cUSwHIBwHKFj40zZr/HRt9nLS9+9/5gLmHPj+ReSk5fyrwxA8mxrYAOdRio0jpw24LMMjRdIltF0DVC5sYG5V7Sn+JngycIQZAwn7ZVaE0EP5/ad1Ba4MzUkNiiLPdw7rUT2JWqWmN4wQ8TdWDP6de2r/XeH6/+PwdS1hDM7lhaDaSCHjsYrzMD8X3XSLOQWV199b3a4E1AiAgpzerwCpjsoxVpPeQ/4K0WBtvsI2ZF028vOQLaPrLH4o5lLbSczgDdbqY2bY4WCtGBdfWUXPzhKJXLI/g3VpOjX7pfoH root@controller
diff --git a/xos/configurations/setup/node_key b/xos/configurations/setup/node_key
index 427bf89..c688622 100644
--- a/xos/configurations/setup/node_key
+++ b/xos/configurations/setup/node_key
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/xos/configurations/setup/node_key.pub b/xos/configurations/setup/node_key.pub
index 81dd872..167f69e 100644
--- a/xos/configurations/setup/node_key.pub
+++ b/xos/configurations/setup/node_key.pub
@@ -1 +1 @@
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvt7NlX3BTg70X98w6wb1mbSQhuMsY2wv8wle4aWrDRJFFuTFiKm+0/6kmYLOQeadQUITUExUdycIlF+FzBpsXTxz63sfmaPoY+j9ApHux4uvYgoyN8bfzjq7eTY6jzA1/LwcnmD5tkWEGT5nSxxiSpAUMvQhbUm1aSX5i7ZVxmyJIkKqP7teOMzVCiIMLLHenrP+MeLkrVcgXG9Bp4F12bcgJq7bHp7N3nCdiM9oIA27CKwkqCbBK9f+Wvw1mSOkRMwT6CEw8Orsq9cVkv0wKa/wgV7Z8pXMgOoeRuBxn9bSZp50D/bL2nnkH5JCY3c9dbUSE5ccfRI0/fVlL43l3 ubuntu@ip-10-0-10-125
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCIo3V9JDwOIUmZNYBarUWEV+A6/TlUaSQFSqcVgbYxQ/cUSwHIBwHKFj40zZr/HRt9nLS9+9/5gLmHPj+ReSk5fyrwxA8mxrYAOdRio0jpw24LMMjRdIltF0DVC5sYG5V7Sn+JngycIQZAwn7ZVaE0EP5/ad1Ba4MzUkNiiLPdw7rUT2JWqWmN4wQ8TdWDP6de2r/XeH6/+PwdS1hDM7lhaDaSCHjsYrzMD8X3XSLOQWV199b3a4E1AiAgpzerwCpjsoxVpPeQ/4K0WBtvsI2ZF028vOQLaPrLH4o5lLbSczgDdbqY2bY4WCtGBdfWUXPzhKJXLI/g3VpOjX7pfoH root@controller
diff --git a/xos/configurations/setup/nodes.yaml b/xos/configurations/setup/nodes.yaml
index 3901208..0b56159 100644
--- a/xos/configurations/setup/nodes.yaml
+++ b/xos/configurations/setup/nodes.yaml
@@ -11,7 +11,7 @@
         type: tosca.nodes.Deployment
     mysite:
         type: tosca.nodes.Site
-    ip-10-0-10-125:
+    computeBBU2:
       type: tosca.nodes.Node
       requirements:
         - site:
diff --git a/xos/configurations/setup/padmin_public_key b/xos/configurations/setup/padmin_public_key
index 81dd872..167f69e 100644
--- a/xos/configurations/setup/padmin_public_key
+++ b/xos/configurations/setup/padmin_public_key
@@ -1 +1 @@
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvt7NlX3BTg70X98w6wb1mbSQhuMsY2wv8wle4aWrDRJFFuTFiKm+0/6kmYLOQeadQUITUExUdycIlF+FzBpsXTxz63sfmaPoY+j9ApHux4uvYgoyN8bfzjq7eTY6jzA1/LwcnmD5tkWEGT5nSxxiSpAUMvQhbUm1aSX5i7ZVxmyJIkKqP7teOMzVCiIMLLHenrP+MeLkrVcgXG9Bp4F12bcgJq7bHp7N3nCdiM9oIA27CKwkqCbBK9f+Wvw1mSOkRMwT6CEw8Orsq9cVkv0wKa/wgV7Z8pXMgOoeRuBxn9bSZp50D/bL2nnkH5JCY3c9dbUSE5ccfRI0/fVlL43l3 ubuntu@ip-10-0-10-125
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCIo3V9JDwOIUmZNYBarUWEV+A6/TlUaSQFSqcVgbYxQ/cUSwHIBwHKFj40zZr/HRt9nLS9+9/5gLmHPj+ReSk5fyrwxA8mxrYAOdRio0jpw24LMMjRdIltF0DVC5sYG5V7Sn+JngycIQZAwn7ZVaE0EP5/ad1Ba4MzUkNiiLPdw7rUT2JWqWmN4wQ8TdWDP6de2r/XeH6/+PwdS1hDM7lhaDaSCHjsYrzMD8X3XSLOQWV199b3a4E1AiAgpzerwCpjsoxVpPeQ/4K0WBtvsI2ZF028vOQLaPrLH4o5lLbSczgDdbqY2bY4WCtGBdfWUXPzhKJXLI/g3VpOjX7pfoH root@controller
diff --git a/xos/services/mcordservice/__init__.py b/xos/services/mcordservice/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/xos/services/mcordservice/__init__.py
+++ /dev/null
diff --git a/xos/services/mcordservice/admin.py b/xos/services/mcordservice/admin.py
deleted file mode 100644
index 6205d9b..0000000
--- a/xos/services/mcordservice/admin.py
+++ /dev/null
@@ -1,141 +0,0 @@
-
-from core.admin import ReadOnlyAwareAdmin, SliceInline
-from core.middleware import get_request
-from core.models import User
-from django import forms
-from django.contrib import admin
-from services.mcordservice.models import MCORDService, MCORDServiceComponent, MCORD_KIND
-
-# The class to provide an admin interface on the web for the service.
-# We do only configuration here and don't change any logic because the logic
-# is taken care of for us by ReadOnlyAwareAdmin
-class MCORDServiceAdmin(ReadOnlyAwareAdmin):
-    # We must set the model so that the admin knows what fields to use
-    model = MCORDService
-    verbose_name = "MCORD Service"
-    verbose_name_plural = "MCORD Services"
-
-    # Setting list_display creates columns on the admin page, each value here
-    # is a column, the column is populated for every instance of the model.
-    list_display = ("backend_status_icon", "name", "enabled")
-
-    # Used to indicate which values in the columns of the admin form are links.
-    list_display_links = ('backend_status_icon', 'name', )
-
-    # Denotes the sections of the form, the fields in the section, and the
-    # CSS classes used to style them. We represent this as a set of tuples, each
-    # tuple as a name (or None) and a set of fields and classes.
-    # Here the first section does not have a name so we use none. That first
-    # section has several fields indicated in the 'fields' attribute, and styled
-    # by the classes indicated in the 'classes' attribute. The classes given
-    # here are important for rendering the tabs on the form. To give the tabs
-    # we must assign the classes suit-tab and suit-tab-<name> where
-    # where <name> will be used later.
-    fieldsets = [(None, {'fields': ['backend_status_text', 'name', 'enabled',
-                                    'versionNumber', 'description', "view_url"],
-                         'classes':['suit-tab suit-tab-general']})]
-
-    # Denotes the fields that are readonly and cannot be changed.
-    readonly_fields = ('backend_status_text', )
-
-    # Inlines are used to denote other models that can be edited on the same
-    # form as this one. In this case the service form also allows changes
-    # to slices.
-    inlines = [SliceInline]
-
-    extracontext_registered_admins = True
-
-    # Denotes the fields that can be changed by an admin but not be all users
-    user_readonly_fields = ["name", "enabled", "versionNumber", "description"]
-
-    # Associates fieldsets from this form and from the inlines.
-    # The format here are tuples, of (<name>, tab title). <name> comes from the
-    # <name> in the fieldsets.
-    suit_form_tabs = (('general', 'MCORD Service Details'),
-                      ('administration', 'Components'),
-                      ('slices', 'Slices'),)
-
-    # Used to include a template for a tab. Here we include the
-    # helloworldserviceadmin template in the top position for the administration
-    # tab.
-    suit_form_includes = (('mcordserviceadmin.html',
-                           'top',
-                           'administration'),)
-
-    # Used to get the objects for this model that are associated with the
-    # requesting user.
-    def queryset(self, request):
-        return MCORDService.get_service_objects_by_user(request.user)
-
-# Class to represent the form to add and edit tenants.
-# We need to define this instead of just using an admin like we did for the
-# service because tenants vary more than services and there isn't a common form.
-# This allows us to change the python behavior for the admin form to save extra
-# fields and control defaults.
-class MCORDServiceComponentForm(forms.ModelForm):
-    # Defines a field for the creator of this service. It is a dropdown which
-    # is populated with all of the users.
-    creator = forms.ModelChoiceField(queryset=User.objects.all())
-    # Defines a text field for the display message, it is not required.
-    display_message = forms.CharField(required=False)
-
-    def __init__(self, *args, **kwargs):
-        super(MCORDServiceComponentForm, self).__init__(*args, **kwargs)
-        # Set the kind field to readonly
-        self.fields['kind'].widget.attrs['readonly'] = True
-        # Define the logic for obtaining the objects for the provider_service
-        # dropdown of the tenant form.
-        self.fields[
-            'provider_service'].queryset = MCORDService.get_service_objects().all()
-        # Set the initial kind to HELLO_WORLD_KIND for this tenant.
-        self.fields['kind'].initial = MCORD_KIND
-        # If there is an instance of this model then we can set the initial
-        # form values to the existing values.
-        if self.instance:
-            self.fields['creator'].initial = self.instance.creator
-            self.fields[
-                'display_message'].initial = self.instance.display_message
-
-        # If there is not an instance then we need to set initial values.
-        if (not self.instance) or (not self.instance.pk):
-            self.fields['creator'].initial = get_request().user
-            if MCORDService.get_service_objects().exists():
-                self.fields["provider_service"].initial = MCORDService.get_service_objects().all()[0]
-
-    # This function describes what happens when the save button is pressed on
-    # the tenant form. In this case we set the values for the instance that were
-    # entered.
-    def save(self, commit=True):
-        self.instance.creator = self.cleaned_data.get("creator")
-        self.instance.display_message = self.cleaned_data.get(
-            "display_message")
-        return super(MCORDServiceComponentForm, self).save(commit=commit)
-
-    class Meta:
-        model = MCORDServiceComponent
-
-# Define the admin form for the tenant. This uses a similar structure as the
-# service but uses HelloWorldTenantCompleteForm to change the python behavior.
-
-
-class MCORDServiceComponentAdmin(ReadOnlyAwareAdmin):
-    verbose_name = "MCORD Component"
-    verbose_name_plural = "MCORD Components"
-    list_display = ('id', 'backend_status_icon', 'instance', 'display_message')
-    list_display_links = ('backend_status_icon', 'instance', 'display_message',
-                          'id')
-    fieldsets = [(None, {'fields': ['backend_status_text', 'kind',
-                                    'provider_service', 'instance', 'creator',
-                                    'display_message'],
-                         'classes': ['suit-tab suit-tab-general']})]
-    readonly_fields = ('backend_status_text', 'instance',)
-    form = MCORDServiceComponentForm
-
-    suit_form_tabs = (('general', 'Details'),)
-
-    def queryset(self, request):
-        return MCORDServiceComponent.get_tenant_objects_by_user(request.user)
-
-# Associate the admin forms with the models.
-admin.site.register(MCORDService, MCORDServiceAdmin)
-admin.site.register(MCORDServiceComponent, MCORDServiceComponentAdmin)
diff --git a/xos/services/mcordservice/models.py b/xos/services/mcordservice/models.py
deleted file mode 100644
index 369dd89..0000000
--- a/xos/services/mcordservice/models.py
+++ /dev/null
@@ -1,156 +0,0 @@
-from django.db import models
-from core.models import Service, PlCoreBase, Slice, Instance, Tenant, TenantWithContainer, Node, Image, User, Flavor, Subscriber
-from core.models.plcorebase import StrippedCharField
-import os
-from django.db import models, transaction
-from django.forms.models import model_to_dict
-from django.db.models import Q
-from operator import itemgetter, attrgetter, methodcaller
-import traceback
-from xos.exceptions import *
-from core.models import SlicePrivilege, SitePrivilege
-from sets import Set
-
-MCORD_KIND = "mcordservice"
-
-# The class to represent the service. Most of the service logic is given for us
-# in the Service class but, we have some configuration that is specific for
-# this example.
-class MCORDService(Service):
-    KIND = MCORD_KIND
-
-    class Meta:
-        # When the proxy field is set to True the model is represented as
-        # it's superclass in the database, but we can still change the python
-        # behavior. In this case HelloWorldServiceComplete is a Service in the
-        # database.
-        proxy = True
-        # The name used to find this service, all directories are named this
-        app_label = "mcordservice"
-        verbose_name = "MCORD Service"
-
-# This is the class to represent the tenant. Most of the logic is given to use
-# in TenantWithContainer, however there is some configuration and logic that
-# we need to define for this example.
-class MCORDServiceComponent(TenantWithContainer):
-
-    class Meta:
-        # Same as a above, HelloWorldTenantComplete is represented as a
-        # TenantWithContainer, but we change the python behavior.
-        proxy = True
-        verbose_name = "MCORD Service Component"
-
-    # The kind of the service is used on forms to differentiate this service
-    # from the other services.
-    KIND = MCORD_KIND
-
-    # Ansible requires that the sync_attributes field contain nat_ip and nat_mac
-    # these will be used to determine where to SSH to for ansible.
-    # Getters must be defined for every attribute specified here.
-    sync_attributes = ("private_ip", "private_mac",
-                       "mcord_ip", "mcord_mac",
-                       "nat_ip", "nat_mac",)
-
-    # default_attributes is used cleanly indicate what the default values for
-    # the fields are.
-    default_attributes = {'display_message': 'Hello MCORD!'}
-
-    def __init__(self, *args, **kwargs):
-        mcord_services = MCORDService.get_service_objects().all()
-        # When the tenant is created the default service in the form is set
-        # to be the first created HelloWorldServiceComplete
-        if mcord_services:
-            self._meta.get_field(
-                "provider_service").default = mcord_services[0].id
-        super(MCORDServiceComponent, self).__init__(*args, **kwargs)
-
-    def can_update(self, user):
-        #Allow creation of this model instances for non-admin users also
-        return True
-
-    def save(self, *args, **kwargs):
-        if not self.creator:
-            if not getattr(self, "caller", None):
-                # caller must be set when creating a monitoring channel since it creates a slice
-                raise XOSProgrammingError("ServiceComponents's self.caller was not set")
-            self.creator = self.caller
-            if not self.creator:
-                raise XOSProgrammingError("ServiceComponents's self.creator was not set")
-
-        super(MCORDServiceComponent, self).save(*args, **kwargs)
-        # This call needs to happen so that an instance is created for this
-        # tenant is created in the slice. One instance is created per tenant.
-        model_policy_mcord_servicecomponent(self.pk)
-
-    def delete(self, *args, **kwargs):
-        # Delete the instance that was created for this tenant
-        self.cleanup_container()
-        super(MCORDServiceComponent, self).delete(*args, **kwargs)
-
-    # Getter for the message that will appear on the webpage
-    # By default it is "Hello World!"
-    @property
-    def display_message(self):
-        return self.get_attribute(
-            "display_message",
-            self.default_attributes['display_message'])
-
-    # Setter for the message that will appear on the webpage
-    @display_message.setter
-    def display_message(self, value):
-        self.set_attribute("display_message", value)
-
-    @property
-    def addresses(self):
-        if (not self.id) or (not self.instance):
-            return {}
-
-        addresses = {}
-        for ns in self.instance.ports.all():
-            if "private" in ns.network.name.lower():
-                addresses["private"] = (ns.ip, ns.mac)
-            elif "nat" in ns.network.name.lower():
-                addresses["nat"] = (ns.ip, ns.mac)
-            elif "mcord_service_internal_net" in ns.network.labels.lower():
-                addresses["mcordservice"] = (ns.ip, ns.mac)
-        return addresses
-
-    # This getter is necessary because nat_ip is a sync_attribute
-    @property
-    def nat_ip(self):
-        return self.addresses.get("nat", (None, None))[0]
-
-    # This getter is necessary because nat_mac is a sync_attribute
-    @property
-    def nat_mac(self):
-        return self.addresses.get("nat", (None, None))[1]
-
-    @property
-    def private_ip(self):
-        return self.addresses.get("nat", (None, None))[0]
-
-    @property
-    def private_mac(self):
-        return self.addresses.get("nat", (None, None))[1]
-
-
-    @property
-    def mcord_ip(self):
-        return self.addresses.get("nat", (None, None))[0]
-
-    @property
-    def mcord_mac(self):
-        return self.addresses.get("nat", (None, None))[1]
-
-
-
-def model_policy_mcord_servicecomponent(pk):
-    # This section of code is atomic to prevent race conditions
-    with transaction.atomic():
-        # We find all of the tenants that are waiting to update
-        component = MCORDServiceComponent.objects.select_for_update().filter(pk=pk)
-        if not component:
-            return
-        # Since this code is atomic it is safe to always use the first tenant
-        component = component[0]
-        component.manage_container()
diff --git a/xos/services/mcordservice/templates/mcordserviceadmin.html b/xos/services/mcordservice/templates/mcordserviceadmin.html
deleted file mode 100644
index 001af9a..0000000
--- a/xos/services/mcordservice/templates/mcordserviceadmin.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!-- Template used to for the button leading to the HelloWorldTenantComplete form. -->
-<div class = "left-nav">
-  <ul>
-    <li>
-      <a href="/admin/mcordservice/mcordservicecomponent/">
-        MCORD Service Components
-      </a>
-    </li>
-  </ul>
-</div>
diff --git a/xos/synchronizers/mcordservice/__init__.py b/xos/synchronizers/mcordservice/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/xos/synchronizers/mcordservice/__init__.py
+++ /dev/null
diff --git a/xos/synchronizers/mcordservice/mcordservice-synchronizer.py b/xos/synchronizers/mcordservice/mcordservice-synchronizer.py
deleted file mode 100644
index 95f4081..0000000
--- a/xos/synchronizers/mcordservice/mcordservice-synchronizer.py
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env python
-
-# This imports and runs ../../xos-observer.py
-# Runs the standard XOS observer
-
-import importlib
-import os
-import sys
-observer_path = os.path.join(os.path.dirname(
-    os.path.realpath(__file__)), "../../synchronizers/base")
-sys.path.append(observer_path)
-mod = importlib.import_module("xos-synchronizer")
-mod.main()
diff --git a/xos/synchronizers/mcordservice/mcordservice_config b/xos/synchronizers/mcordservice/mcordservice_config
deleted file mode 100644
index 56fb6b8..0000000
--- a/xos/synchronizers/mcordservice/mcordservice_config
+++ /dev/null
@@ -1,36 +0,0 @@
-# Required by XOS
-[db]
-name=xos
-user=postgres
-password=password
-host=localhost
-port=5432
-
-# Required by XOS
-[api]
-nova_enabled=True
-
-# Sets options for the observer
-[observer]
-# Optional name
-name=mcordservice
-# This is the location to the dependency graph you generate
-dependency_graph=/opt/xos/synchronizers/mcordservice/model-deps
-# The location of your SyncSteps
-steps_dir=/opt/xos/synchronizers/mcordservice/steps
-# A temporary directory that will be used by ansible
-sys_dir=/opt/xos/synchronizers/mcordservice/sys
-# Location of the file to save logging messages to the backend log is often used
-logfile=/var/log/xos_backend.log
-# If this option is true, then nothing will change, we simply pretend to run
-pretend=False
-# If this is False then XOS will use an exponential backoff when the observer
-# fails, since we will be waiting for an instance, we don't want this.
-backoff_disabled=True
-# We want the output from ansible to be logged
-save_ansible_output=True
-# This determines how we SSH to a client, if this is set to True then we try
-# to ssh using the instance name as a proxy, if this is disabled we ssh using
-# the NAT IP of the instance. On CloudLab the first option will fail so we must
-# set this to False
-proxy_ssh=False
diff --git a/xos/synchronizers/mcordservice/mcordservice_private_key b/xos/synchronizers/mcordservice/mcordservice_private_key
deleted file mode 100644
index 427bf89..0000000
--- a/xos/synchronizers/mcordservice/mcordservice_private_key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAr7ezZV9wU4O9F/fMOsG9Zm0kIbjLGNsL/MJXuGlqw0SRRbkx
-YipvtP+pJmCzkHmnUFCE1BMVHcnCJRfhcwabF08c+t7H5mj6GPo/QKR7seLr2IKM
-jfG3846u3k2Oo8wNfy8HJ5g+bZFhBk+Z0scYkqQFDL0IW1JtWkl+Yu2VcZsiSJCq
-j+7XjjM1QoiDCyx3p6z/jHi5K1XIFxvQaeBddm3ICau2x6ezd5wnYjPaCANuwisJ
-KgmwSvX/lr8NZkjpETME+ghMPDq7KvXFZL9MCmv8IFe2fKVzIDqHkbgcZ/W0maed
-A/2y9p55B+SQmN3PXW1EhOXHH0SNP31ZS+N5dwIDAQABAoIBAGrudaN5ItgP0WDm
-kUgoYmQUgupqlF2531+fvNYigK/36BfwDRdaD8Sr2HncWynOfn0nos2UF0ObZiRA
-lhfzqynSISahsDCNLbVJhHiIICYum6uUNoii0njLGat6sxUGtifxrH7x7Pusfsji
-ZA+azV9fpRsNZip8zMMm+lyljE4nQbVZv09aExq0Mh2n+mH6OWS43mZ1N7TxWtgd
-MmtoLBAPoMiqXlCxZOcznptVR9hY7CSG0uOQUSui44DOXOyqEI7z57eoYM1hWmng
-Ery07Qr9BbEVl4epLaEyLIGXcUsUbcQz3kbXCg0NbXHiFtr0kdIVwJXHg5M9MAsf
-fDaxJZECgYEA29oLRkI+0L9rSErteaf4spo4FJAARWbsVM3uj1gKEClUUHklI97A
-UVTcOFC7Drr/rwqfHy8fQq9ASIMDnj+FulYQSMna3SLdkgsbNSDuesbG4wp6+chQ
-uSzZP1YtaYrjMxz6s8s/zmFkqAssyOuscsOhgF16945hc63GLro4GwUCgYEAzJv4
-eqWrY6Il7p/Oir4AJxbdfO50Oj1dECsFNZ1KhtA280FslW6Za+oUfD1+Xv13XRZP
-O62IvXXJT67NOq0rKVUixPJJFXQqSRU1QljLgREM6dqr4pS4NirkaPvGwuuej8I4
-dKLqVPcNxDSAXfMwR0KQu7+IVEdvzrw5hrsgg0sCgYB21YUClQwfCViT2uxBtelX
-oMRvWObMnLVhoW4xTQUjdzN7y/+nQ9/wFk5yojB55doOY09fK7lZ8iBtEWQDRZKj
-BaIHthP3M8FQD3DFZueAtbELR77xBLWdYgCLm6kwQ0JLfn6EcHgstbgSnPe4Iqsz
-3UqOd/jflrZWMLfOyhlJgQKBgCGCRa5oZWo6yvWKjHviZAoCz6E/OB+1nwEf2omO
-Sf9MKEOsakkKxOuMeXBjbcfGwP6owa8nW2aT3LVFDm1WoOPzAm+4sklmLeqsI33L
-JwDrNu8xlcbUzlpoqeGbolCX3+7xQuevKqthjoqcgo1gX368IxHsazpKPMBhyRYM
-nWWDAoGBANOG/59508uQqZvWtByA092ARXjEUYLgNTwDo1N4kM5zgV8NETtv7qs/
-P/ze2e88sI230jzbU3iq2OGjk6S1c6LHVG9QohZPwtnwTCeKRhSG+CYHMcXSLK7D
-xf4C0kAbPsaG5F0w3vbGTTF4uuGXyijOQSXMhiG4756VaMEGvb9k
------END RSA PRIVATE KEY-----
diff --git a/xos/synchronizers/mcordservice/mcordservice_vtnconfig b/xos/synchronizers/mcordservice/mcordservice_vtnconfig
deleted file mode 100644
index 47434e4..0000000
--- a/xos/synchronizers/mcordservice/mcordservice_vtnconfig
+++ /dev/null
@@ -1,41 +0,0 @@
-# Required by XOS
-[db]
-name=xos
-user=postgres
-password=password
-host=localhost
-port=5432
-
-# Required by XOS
-[api]
-nova_enabled=True
-
-# Sets options for the observer
-[observer]
-# Optional name
-name=mcordservice
-# This is the location to the dependency graph you generate
-dependency_graph=/opt/xos/synchronizers/mcordservice/model-deps
-# The location of your SyncSteps
-steps_dir=/opt/xos/synchronizers/mcordservice/steps
-# A temporary directory that will be used by ansible
-sys_dir=/opt/xos/synchronizers/mcordservice/sys
-# Location of the file to save logging messages to the backend log is often used
-logfile=/var/log/xos_backend.log
-# If this option is true, then nothing will change, we simply pretend to run
-pretend=False
-# If this is False then XOS will use an exponential backoff when the observer
-# fails, since we will be waiting for an instance, we don't want this.
-backoff_disabled=True
-# We want the output from ansible to be logged
-save_ansible_output=True
-# This determines how we SSH to a client, if this is set to True then we try
-# to ssh using the instance name as a proxy, if this is disabled we ssh using
-# the NAT IP of the instance. On CloudLab the first option will fail so we must
-# set this to False
-proxy_ssh=True
-proxy_ssh_key=/root/setup/id_rsa/id_rsa
-proxy_ssh_user=root
-[networking]
-use_vtn=True
-
diff --git a/xos/synchronizers/mcordservice/model-deps b/xos/synchronizers/mcordservice/model-deps
deleted file mode 100644
index 0967ef4..0000000
--- a/xos/synchronizers/mcordservice/model-deps
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/xos/synchronizers/mcordservice/run.sh b/xos/synchronizers/mcordservice/run.sh
deleted file mode 100644
index 9e8516e..0000000
--- a/xos/synchronizers/mcordservice/run.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-# Runs the XOS observer using helloworldservice_config
-export XOS_DIR=/opt/xos
-python mcordservice-synchronizer.py  -C $XOS_DIR/synchronizers/mcordservice/mcordservice_config
diff --git a/xos/synchronizers/mcordservice/steps/sync_mcordservicecomponent.py b/xos/synchronizers/mcordservice/steps/sync_mcordservicecomponent.py
deleted file mode 100644
index 6e0590e..0000000
--- a/xos/synchronizers/mcordservice/steps/sync_mcordservicecomponent.py
+++ /dev/null
@@ -1,37 +0,0 @@
-import os
-import sys
-from django.db.models import Q, F
-from services.mcordservice.models import MCORDService, MCORDServiceComponent
-from synchronizers.base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
-
-parentdir = os.path.join(os.path.dirname(__file__), "..")
-sys.path.insert(0, parentdir)
-
-class SyncMCORDServiceComponent(SyncInstanceUsingAnsible):
-
-    provides = [MCORDServiceComponent]
-
-    observes = MCORDServiceComponent
-
-    requested_interval = 0
-
-    template_name = "sync_mcordservicecomponent.yaml"
-
-    service_key_name = "/opt/xos/synchronizers/mcordservice/mcordservice_private_key"
-
-    def __init__(self, *args, **kwargs):
-        super(SyncMCORDServiceComponent, self).__init__(*args, **kwargs)
-
-    def fetch_pending(self, deleted):
-
-        if (not deleted):
-            objs = MCORDServiceComponent.get_tenant_objects().filter(
-                Q(enacted__lt=F('updated')) | Q(enacted=None), Q(lazy_blocked=False))
-        else:
-
-            objs = MCORDServiceComponent.get_deleted_tenant_objects()
-
-        return objs
-
-    def get_extra_attributes(self, o):
-        return {"display_message": o.display_message}
diff --git a/xos/synchronizers/mcordservice/steps/sync_mcordservicecomponent.yaml b/xos/synchronizers/mcordservice/steps/sync_mcordservicecomponent.yaml
deleted file mode 100644
index 719c75f..0000000
--- a/xos/synchronizers/mcordservice/steps/sync_mcordservicecomponent.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-- hosts: {{ instance_name }}
-  gather_facts: False
-  connection: ssh
-  user: ubuntu
-  sudo: yes
-  tasks:
-  - name: install apache
-    apt: name=apache2 state=present update_cache=yes
-
-  - name: write message
-    shell: echo "{{ display_message }}" > /var/www/html/index.html
-
-  - name: stop apache
-    service: name=apache2 state=stopped
-
-  - name: start apache
-    service: name=apache2 state=started
diff --git a/xos/synchronizers/mcordservice/stop.sh b/xos/synchronizers/mcordservice/stop.sh
deleted file mode 100644
index 9127d5f..0000000
--- a/xos/synchronizers/mcordservice/stop.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Kill the observer
-pkill -9 -f mcordservice-synchronizer.py
diff --git a/xos/tosca/MCORDService.yaml b/xos/tosca/MCORDService.yaml
deleted file mode 100644
index 185a314..0000000
--- a/xos/tosca/MCORDService.yaml
+++ /dev/null
@@ -1,86 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0

-

-description: Setup MCORD-related services.

-

-imports:

-   - custom_types/xos.yaml

-

-node_types:

-    tosca.nodes.MCORDComponent:

-        derived_from: tosca.nodes.Root

-        description: >

-            CORD: A Service Component of MCORD Service.

-        properties:

-            kind:

-                type: string

-                default: generic

-                description: Kind of component

-

-topology_template:

-  node_templates:

-    service_mcord:

-      type: tosca.nodes.Service

-      requirements:

-      properties:

-          kind: mcordservice

-#          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }

-#      artifacts:

-#          pubkey: /opt/xos/observers/mcord/mcord_public_key

-

-

-    Private:

-      type: tosca.nodes.NetworkTemplate

-

-    mcord_network:

-      type: tosca.nodes.network.Network.XOS

-      properties:

-          ip_version: 4

-          labels: mcord_service_internal_net

-      requirements:

-          - network_template:

-              node: Private

-              relationship: tosca.relationships.UsesNetworkTemplate

-          - owner:

-              node: mysite_mcord_slice1

-              relationship: tosca.relationships.MemberOfSlice

-          - connection:

-              node: mysite_mcord_slice1

-              relationship: tosca.relationships.ConnectsToSlice

-

-    mysite:

-      type: tosca.nodes.Site

-

-    mcord-server-image-s1:

-      type: tosca.nodes.Image

-

-    trusty-server-multi-nic:

-      type: tosca.nodes.Image

-

-    mysite_mcord_slice1:

-      description: MCORD Service Slice 1

-      type: tosca.nodes.Slice

-      requirements:

-          - mcord_service:

-              node: service_mcord

-              relationship: tosca.relationships.MemberOfService

-          - site:

-              node: mysite

-              relationship: tosca.relationships.MemberOfSite

-          - default_image:

-                node: trusty-server-multi-nic

-#                node: mcord-server-image-s1

-                relationship: tosca.relationships.DefaultImage

-      properties:

-          default_flavor: m1.medium

-          default_node: ip-10-0-10-125 

-    

-    my_service_mcord_component1:

-      description: MCORD Service default Component

-      type: tosca.nodes.MCORDComponent

-      requirements:

-          - provider_service:

-              node: service_mcord

-              relationship: tosca.relationships.MemberOfService

-          - mcord_slice:

-              node: mysite_mcord_slice1

-              relationship: tosca.relationships.MemberOfSlice

diff --git a/xos/tosca/MCORDServiceN.yaml b/xos/tosca/MCORDServiceN.yaml
deleted file mode 100644
index 0229e43..0000000
--- a/xos/tosca/MCORDServiceN.yaml
+++ /dev/null
@@ -1,200 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0

-

-description: Setup MCORD-related services.

-

-imports:

-   - custom_types/xos.yaml

-

-node_types:

-    tosca.nodes.MCORDComponent:

-        derived_from: tosca.nodes.Root

-        description: >

-            CORD: A Service Component of MCORD Service.

-        properties:

-            kind:

-                type: string

-                default: generic

-                description: Kind of component

-

-topology_template:

-  node_templates:

-

-    # Setup

-    trusty-server-multi-nic:

-      type: tosca.nodes.Image

-      properties:

-         disk_format: QCOW2

-         container_format: BARE

-

-    MyDeployment:

-      type: tosca.nodes.Deployment

-      properties:

-          flavors: m1.large, m1.medium, m1.small

-      requirements:

-          - image:

-              node: trusty-server-multi-nic

-              relationship: tosca.relationships.SupportsImage

-

-    compute9:

-      type: tosca.nodes.Node

-      requirements:

-        - site:

-            node: mysite

-            relationship: tosca.relationships.MemberOfSite

-        - deployment:

-            node: MyDeployment

-            relationship: tosca.relationships.MemberOfDeployment

-

-    # SUBSCRIBER

-

-    # Let's add a user who can be administrator of the household

-    johndoe@stanford.us:

-      type: tosca.nodes.User

-      properties:

-          password: letmein

-          firstname: john

-          lastname: doe

-      requirements:

-          - site:

-              node: mysite

-              relationship: tosca.relationships.MemberOfSite

-    

-    # A subscriber

-    Stanford:

-       type: tosca.nodes.CORDSubscriber

-       properties:

-           service_specific_id: 123

-           firewall_enable: false

-           cdn_enable: false

-           url_filter_enable: false

-           url_filter_level: R

-       requirements:

-          - house_admin:

-              node: johndoe@stanford.us

-              relationship: tosca.relationships.AdminPrivilege

-

-    Barbera Lapinski:

-       type: tosca.nodes.CORDUser

-       properties:

-           mac: 01:02:03:04:05:06

-           level: PG_13

-       requirements:

-           - household:

-               node: Stanford

-               relationship: tosca.relationships.SubscriberDevice

-

-    Norbert Shumway:

-       type: tosca.nodes.CORDUser

-       properties:

-           mac: 90:E2:BA:82:F9:75

-           level: PG_13

-       requirements:

-           - household:

-               node: Stanford

-               relationship: tosca.relationships.SubscriberDevice

-

-    Fay Muldoon:

-       type: tosca.nodes.CORDUser

-       properties:

-           mac: 68:5B:35:9D:91:D5

-           level: PG_13

-       requirements:

-           - household:

-               node: Stanford

-               relationship: tosca.relationships.SubscriberDevice

-

-    Janene Earnest:

-       type: tosca.nodes.CORDUser

-       properties:

-           mac: 34:36:3B:C9:B6:A6

-           level: PG_13

-       requirements:

-           - household:

-               node: Stanford

-               relationship: tosca.relationships.SubscriberDevice

-

-

-    Topology:

-      type: tosca.nodes.DashboardView

-      properties:

-          url: template:xosMcordTopology

-

-    padmin@vicci.org:

-      type: tosca.nodes.User

-      properties:

-          firstname: XOS

-          lastname: admin

-          is_admin: true

-      requirements:

-          - mcord_dashboard:

-              node: Topology

-              relationship: tosca.relationships.UsesDashboard

-

-    # SERIVCES

-    service_mcord:

-      type: tosca.nodes.Service

-      requirements:

-      properties:

-          view_url: /admin/mcordservice/

-          kind: mcordservice

-

-    # Network Templates

-    Private:

-      type: tosca.nodes.NetworkTemplate

-

-    # Network

-    mcord_network:

-      type: tosca.nodes.network.Network.XOS

-      properties:

-          ip_version: 4

-          labels: mcord_service_internal_net

-          cidr: 172.16.16.0/24

-          start_ip: 172.16.16.2

-          end_ip: 172.16.16.5

-          gateway_ip: 172.16.16.1

-      requirements:

-          - network_template:

-              node: Private

-              relationship: tosca.relationships.UsesNetworkTemplate

-          - owner:

-              node: mysite_mcord_slice1

-              relationship: tosca.relationships.MemberOfSlice

-          - connection:

-              node: mysite_mcord_slice1

-              relationship: tosca.relationships.ConnectsToSlice

-

-    mysite:

-      type: tosca.nodes.Site

-

-

-    ubuntu-14.04-server-cloudimg-amd64-disk1:

-      type: tosca.nodes.Image

-

-    mysite_mcord_slice1:

-      description: MCORD Service Slice 1

-      type: tosca.nodes.Slice

-      requirements:

-          - mcord_service:

-              node: service_mcord

-              relationship: tosca.relationships.MemberOfService

-          - site:

-              node: mysite

-              relationship: tosca.relationships.MemberOfSite

-          - default_image:

-                node: ubuntu-14.04-server-cloudimg-amd64-disk1 

-#                node: mcord-server-image-s1

-                relationship: tosca.relationships.DefaultImage

-      properties:

-          default_flavor: m1.medium

-          default_node: compute9 

-

-    my_service_mcord_component1:

-      description: MCORD Service default Component

-      type: tosca.nodes.MCORDComponent

-      requirements:

-          - provider_service:

-              node: service_mcord

-              relationship: tosca.relationships.MemberOfService

-          - mcord_slice:

-              node: mysite_mcord_slice1

-              relationship: tosca.relationships.MemberOfSlice

diff --git a/xos/tosca/MCORDServiceVBBU.yaml b/xos/tosca/MCORDServiceVBBU.yaml
deleted file mode 100644
index 406c83e..0000000
--- a/xos/tosca/MCORDServiceVBBU.yaml
+++ /dev/null
@@ -1,162 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0

-

-description: Setup MCORD-related services.

-

-imports:

-   - custom_types/xos.yaml

-

-node_types:

-    tosca.nodes.MCORDComponent:

-        derived_from: tosca.nodes.Root

-        description: >

-            CORD: A Service Component of MCORD Service.

-        properties:

-            kind:

-                type: string

-                default: generic

-                description: Kind of component

-            s_tag:

-                type: string

-                required: false

-                default: 200

-                description: VTN stag port-name

-            display_message:

-                type: string

-                required: false

-                default: MCORD Component ready

-                description: Component message

-

-topology_template:

-  node_templates:

-

-    Stanford_Deployment:

-      type: tosca.nodes.Deployment

-

-    computeBBU1:

-      type: tosca.nodes.Node

-      requirements:

-        - site:

-            node: Stanford_University

-            relationship: tosca.relationships.MemberOfSite

-        - deployment:

-            node: Stanford_Deployment

-            relationship: tosca.relationships.MemberOfDeployment

-

-    Topology:

-      type: tosca.nodes.DashboardView

-      properties:

-          url: template:xosMcordTopology

-

-    padmin@vicci.org:

-      type: tosca.nodes.User

-      properties:

-          firstname: XOS

-          lastname: admin

-          is_admin: true

-      requirements:

-          - mcord_dashboard:

-              node: Topology

-              relationship: tosca.relationships.UsesDashboard

-

-    # SERIVCES

-    vBBU:

-      type: tosca.nodes.Service

-      requirements:

-      properties:

-          view_url: /admin/mcordservice/

-          kind: RAN 

-

-    # Network Templates

-    Private:

-      type: tosca.nodes.NetworkTemplate

-

-    management_template:

-      type: tosca.nodes.NetworkTemplate

-      properties:

-          visibility: private

-          translation: none

-

-    # Network

-    Stanford_University_vBBU_network:

-      type: tosca.nodes.network.Network.XOS

-      properties:

-          ip_version: 4

-          labels: mcord_service_internal_net

-          cidr: 172.16.16.0/24

-          start_ip: 172.16.16.2

-          end_ip: 172.16.16.5

-          gateway_ip: 172.16.16.1

-      requirements:

-          - network_template:

-              node: Private

-              relationship: tosca.relationships.UsesNetworkTemplate

-          - owner:

-              node: Stanford_University_vBBU_slice

-              relationship: tosca.relationships.MemberOfSlice

-          - connection:

-              node: Stanford_University_vBBU_slice

-              relationship: tosca.relationships.ConnectsToSlice

-

-    management:

-      type: tosca.nodes.network.Network

-      properties:

-          ip_version: 4

-          cidr: 10.102.90.0/24

-      requirements:

-          - network_template:

-              node: management_template

-              relationship: tosca.relationships.UsesNetworkTemplate

-          - owner:

-#              node: Stanford_University_vBBU_slice

-              node: Stanford_University_management

-              relationship: tosca.relationships.MemberOfSlice

-#          - connection:

-#              node: Stanford_University_vBBU_slice

-#              relationship: tosca.relationships.ConnectsToSlice

-

-

-    Stanford_University:

-      type: tosca.nodes.Site

-

-    ubuntu-14.04-server-cloudimg-amd64-disk1:

-      type: tosca.nodes.Image

-              
-    Stanford_University_management:

-      description: This slice exists solely to own the management network

-      type: tosca.nodes.Slice

-      properties:

-          network: noauto

-      requirements:

-          - site:

-              node: Stanford_University

-              relationship: tosca.relationships.MemberOfSite

-

-    Stanford_University_vBBU_slice:

-      description: vBBU Service Slice

-      type: tosca.nodes.Slice

-#      properties:

-#          network: noauto

-      requirements:

-          - mcord_service:

-              node: vBBU 

-              relationship: tosca.relationships.MemberOfService

-          - site:

-              node: Stanford_University

-              relationship: tosca.relationships.MemberOfSite

-          - default_image:

-                node: ubuntu-14.04-server-cloudimg-amd64-disk1 

-                relationship: tosca.relationships.DefaultImage

-      properties:

-          default_flavor: m1.medium

-          default_node: computeBBU2

-

-    Stanford_University_vBBU_component:

-      description: vBBU Service Component

-      type: tosca.nodes.MCORDComponent

-      requirements:

-          - provider_service:

-              node: vBBU

-              relationship: tosca.relationships.MemberOfService

-          - Stanford_University_vBBU_slice:

-              node: Stanford_University_vBBU_slice

-              relationship: tosca.relationships.MemberOfSlice

diff --git a/xos/tosca/resources/mcordcomponent.py b/xos/tosca/resources/mcordcomponent.py
deleted file mode 100644
index 401dba3..0000000
--- a/xos/tosca/resources/mcordcomponent.py
+++ /dev/null
@@ -1,39 +0,0 @@
-import os
-import pdb
-import sys
-import tempfile
-sys.path.append("/opt/tosca")
-from translator.toscalib.tosca_template import ToscaTemplate
-import pdb
-
-from services.mcordservice.models import MCORDServiceComponent, MCORDService
-
-from xosresource import XOSResource
-
-class XOSMCORDComponent(XOSResource):
-    provides = "tosca.nodes.MCORDComponent"
-    xos_model = MCORDServiceComponent
-    name_field = None
-
-    def get_xos_args(self, throw_exception=True):
-        args = super(XOSMCORDComponent, self).get_xos_args()
-
-        provider_name = self.get_requirement("tosca.relationships.MemberOfService", throw_exception=throw_exception)
-        if provider_name:
-            args["provider_service"] = self.get_xos_object(MCORDService, throw_exception=throw_exception, name=provider_name)
-
-        return args
-
-    def get_existing_objs(self):
-        args = self.get_xos_args(throw_exception=False)
-        provider_service = args.get("provider", None)
-        if provider_service:
-            return [ self.get_xos_object(provider_service=provider_service) ]
-        return []
-
-    def postprocess(self, obj):
-        pass
-
-    def can_delete(self, obj):
-        return super(XOSMCORDComponent, self).can_delete(obj)
-
diff --git a/xos/tosca/vBBU.yaml b/xos/tosca/vBBU.yaml
deleted file mode 100644
index 69aacb8..0000000
--- a/xos/tosca/vBBU.yaml
+++ /dev/null
@@ -1,148 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0

-

-description: Setup MCORD-related services.

-

-imports:

-   - custom_types/xos.yaml

-

-node_types:

-    tosca.nodes.MCORDComponent:

-        derived_from: tosca.nodes.Root

-        description: >

-            CORD: A Service Component of MCORD Service.

-        properties:

-            kind:

-                type: string

-                default: generic

-                description: Kind of component

-

-topology_template:

-  node_templates:

-    service_mcord_bbu:

-      type: tosca.nodes.Service

-      requirements:

-      properties:

-          view_url: /admin/mcordservice/

-          kind: mcordservice

-

-

-    Private:

-      type: tosca.nodes.NetworkTemplate

-

-    net-BBU1-private:

-      type: tosca.nodes.network.Network.XOS

-      properties:

-          ip_version: 4

-          labels: vBBU1_internal_net

-          cidr: 192.168.6.0/24

-          start_ip: 192.168.6.20

-          end_ip: 192.168.6.25

-          gateway_ip: 192.168.6.1

-      
-      requirements:

-          - network_template:

-              node: Private

-              relationship: tosca.relationships.UsesNetworkTemplate

-          - owner:

-              node: mysite_mcord_bbu_slice1

-              relationship: tosca.relationships.MemberOfSlice

-          - connection:

-              node: mysite_mcord_bbu_slice1

-              relationship: tosca.relationships.ConnectsToSlice

-

-    net-BBU1-private2:

-      type: tosca.nodes.network.Network.XOS

-      properties:

-          ip_version: 4

-          labels: vBBU1_internal_net2

-          cidr: 192.168.7.0/24

-          start_ip: 192.168.7.20

-          end_ip: 192.168.7.25

-          gateway_ip: 192.168.7.1

-      
-      requirements:

-          - network_template:

-              node: Private

-              relationship: tosca.relationships.UsesNetworkTemplate

-          - owner:

-              node: mysite_mcord_bbu_slice1

-              relationship: tosca.relationships.MemberOfSlice

-          - connection:

-              node: mysite_mcord_bbu_slice1

-              relationship: tosca.relationships.ConnectsToSlice

-

-    net-BBU1-private3:

-      type: tosca.nodes.network.Network.XOS

-      properties:

-          ip_version: 4

-          labels: vBBU1_internal_net3

-          cidr: 192.168.8.0/24

-          start_ip: 192.168.8.20

-          end_ip: 192.168.8.25

-          gateway_ip: 192.168.168.1

-      
-      requirements:

-          - network_template:

-              node: Private

-              relationship: tosca.relationships.UsesNetworkTemplate

-          - owner:

-              node: mysite_mcord_bbu_slice1

-              relationship: tosca.relationships.MemberOfSlice

-          - connection:

-              node: mysite_mcord_bbu_slice1

-              relationship: tosca.relationships.ConnectsToSlice

-

-    net-Internet:

-      type: tosca.nodes.network.Network.XOS

-      properties:

-          ip_version: 4

-          labels: Internet

-          cidr: 10.128.13.0/24

-          start_ip: 10.128.13.20

-          end_ip: 10.128.13.25

-          gateway_ip: 10.128.13.1

-

-      requirements:

-          - network_template:

-              node: Private

-              relationship: tosca.relationships.UsesNetworkTemplate

-          - owner:

-              node: mysite_mcord_bbu_slice1

-              relationship: tosca.relationships.MemberOfSlice

-          - connection:

-              node: mysite_mcord_bbu_slice1

-              relationship: tosca.relationships.ConnectsToSlice

-

-    mysite:

-      type: tosca.nodes.Site

-

-    ubuntu-arm64-bbu-snapshot.img:

-      type: tosca.nodes.Image

-

-    mysite_mcord_bbu_slice1:

-      description: MCORD BBU Service Slice 1

-      type: tosca.nodes.Slice

-      requirements:

-          - mcord_bbu_service:

-              node: service_mcord_bbu

-              relationship: tosca.relationships.MemberOfService

-          - site:

-              node: mysite

-              relationship: tosca.relationships.MemberOfSite

-          - default_image:

-                node: ubuntu-arm64-bbu-snapshot.img 

-                relationship: tosca.relationships.DefaultImage

-      properties:

-          default_flavor: m1.xlarge

-          default_node: computeBBU1

-

-    mcord_service_bbu_component1:

-      description: MCORD Service BBU Component

-      type: tosca.nodes.MCORDComponent

-      requirements:

-          - provider_service:

-              node: service_mcord_bbu

-              relationship: tosca.relationships.MemberOfService

-          - mcord_slice:

-              node: mysite_mcord_bbu_slice1

-              relationship: tosca.relationships.MemberOfSlice

diff --git a/xos/xos/settings.py b/xos/xos/settings.py
index e9513ee..c4c0f38 100644
--- a/xos/xos/settings.py
+++ b/xos/xos/settings.py
@@ -178,7 +178,6 @@
     'services.cord',
     'services.mcord',
     'services.helloworldservice_complete',
-    'services.mcordservice',
     'services.onos',
     'services.ceilometer',
     'services.requestrouter',