Initial prototype of synchronizer
Change-Id: I45de04debd89e7007d7985728d51aa5d03178675
diff --git a/xos/synchronizer/templates/slice.yaml.j2 b/xos/synchronizer/templates/slice.yaml.j2
new file mode 100644
index 0000000..6f22b48
--- /dev/null
+++ b/xos/synchronizer/templates/slice.yaml.j2
@@ -0,0 +1,48 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Setup a generic slice on the pod
+
+imports:
+ - custom_types/xos.yaml
+
+topology_template:
+ node_templates:
+
+ management:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ no-create: true
+ no-delete: true
+ no-update: true
+
+ public:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ no-create: true
+ no-delete: true
+ no-update: true
+
+ {{ local_site }}:
+ type: tosca.nodes.Site
+
+ {{ image }}:
+ type: tosca.nodes.Image
+
+ {{ local_site }}_{{ slice_name }}:
+ description: {{ slice_description }}
+ type: tosca.nodes.Slice
+ properties:
+ network: noauto
+ requirements:
+ - site:
+ node: {{ local_site }}
+ relationship: tosca.relationships.MemberOfSite
+ - management:
+ node: management
+ relationship: tosca.relationships.ConnectsToNetwork
+ - public:
+ node: public
+ relationship: tosca.relationships.ConnectsToNetwork
+ - image:
+ node: {{ image }}
+ relationship: tosca.relationships.DefaultImage
diff --git a/xos/synchronizer/templates/slice_privileges.yaml.j2 b/xos/synchronizer/templates/slice_privileges.yaml.j2
new file mode 100644
index 0000000..ac3a573
--- /dev/null
+++ b/xos/synchronizer/templates/slice_privileges.yaml.j2
@@ -0,0 +1,29 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Setup a slice privilege on the pod
+{% set relationship = {"admin": "tosca.relationships.AdminPrivilege", "access": "tosca.relationships.AccessPrivilege"}[role] | default("ERROR") -%}
+
+imports:
+ - custom_types/xos.yaml
+
+topology_template:
+ node_templates:
+
+ {{ local_site }}:
+ type: tosca.nodes.Site
+
+ {{ user_name }}:
+ type: tosca.nodes.User
+
+ {{ local_site }}_{{ slice_name }}:
+ type: tosca.nodes.Slice
+ properties:
+ no-create: true
+ no-delete: true
+ requirements:
+ - privilege:
+ node: {{ user_name }}
+ relationship: {{ relationship }}
+ - site:
+ node: {{ local_site }}
+ relationship: tosca.relationships.MemberOfSite
diff --git a/xos/synchronizer/templates/user.yaml.j2 b/xos/synchronizer/templates/user.yaml.j2
new file mode 100644
index 0000000..956051d
--- /dev/null
+++ b/xos/synchronizer/templates/user.yaml.j2
@@ -0,0 +1,29 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Add a user
+
+imports:
+ - custom_types/xos.yaml
+
+topology_template:
+ node_templates:
+ {{ local_site }}:
+ type: tosca.nodes.Site
+
+ {{ name }}:
+ type: tosca.nodes.User
+ properties:
+ password: "{{ password }}"
+ firstname: "{{ firstname }}"
+ lastname: "{{ lastname }}"
+ phone: "{{ phone }}"
+ user_url: "{{ user_url }}"
+ public_key: "{{ public_key }}"
+ is_active: "{{ is_active }}"
+ is_admin: "{{ is_admin }}"
+ is_readonly: "{{ is_readonly }}"
+ is_appuser: "{{ is_appuser }}"
+ requirements:
+ - site:
+ node: {{ local_site }}
+ relationship: tosca.relationships.MemberOfSite