· technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms...

63

Transcript of  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms...

Page 2:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●●●

Page 3:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●●●

Page 4:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●○○

●●

Page 5:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Models

PoliciesReferences

XOS Data Modeling Abstractions XOS APIs

GRPC TOSCA

DJANGO

Docker Containers

OpenStack VM

Docker Containers

VNF mechanisms

Page 6:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Models

PoliciesReferences

XOS Data Modeling Abstractions(Technology-agnostic)

XOS APIs(Partially agnostic to technology)

GRPC TOSCA

DJANGO

Docker Containers

OpenStack VM

Docker Containers

VNF mechanisms(Technology-specific)

Page 7:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Models

PoliciesReferences

XOS Abstractions(Technology-agnostic)

XOS APIs(Partially agnostic to technology)

GRPC TOSCA

DJANGO

Docker Containers

OpenStack VM

Docker Containers

VNF mechanisms(Technology-specific)

GenerativeToolchain

(xproto compiler)

Page 8:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Models

PoliciesReferences

XOS Abstractions(Technology-agnostic)

XOS APIs(Partially agnostic to technology)

GRPC TOSCA

DJANGO

Docker Containers

OpenStack VM

Docker Containers

VNF mechanisms(Technology-specific)

GenerativeToolchain

Synchronizers

ONOS

Page 9:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Page 10:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

XOSServer Back-end

Page 11:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References
Page 12:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References
Page 13:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References
Page 14:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Message-oriented

Page 15:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Message-oriented

Page 16:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Message-oriented

Page 17:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Goal oriented:Authoritative State

Idempotent

Page 18:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Goal oriented:Authoritative State

Error

Page 19:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Goal oriented:Authoritative State

Retry

Page 20:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Goal oriented:Authoritative State

Retry

Page 21:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Goal oriented:Authoritative State

Retry

Page 22:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●○○

●○

●○

Page 23:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●○○

Page 24:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

1

4

2

6

58

A

3

7 9

C

B

D

Page 25:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

1

4

2

6

58

A

3

7 9

C

B

D

Page 26:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

1

4

2

6

58

A

3

7 9

C

B

D

Page 27:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

1

4

2

6

58

A

3

7 9

C

B

D

1 5 4 6 2 3 7 8 9 A B C D

Cohort 1 Cohort 2 Cohort 3 Cohort 4 Cohort 5 Cohort 6

Page 28:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

1 5 4 6 2 3 7 8 9 A B C D

Page 29:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Goal oriented:Authoritative State

Idempotent

Page 30:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Goal oriented:Authoritative State

Retry

Page 31:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

1 5 4 6

Page 32:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

1 5 4 6

Page 33:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

1 5 4 6

Page 34:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

1 5 4 6

UI"Waiting on failed dependency X"

Page 35:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

- error: Instance did not get IP address- model: Instance- Id: 7- synchronizer_name: OpenStack- sync_step: SyncPorts- ansible_playbook: ...

Page 36:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References
Page 37:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

a (A)

c (C)

DB

GRPC

XOS Core

b(B)

Three objects a, b and c have been created, of types models A, B and C

Objects consist of two parts:

Declarative stateFeedback state

Page 38:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

VNFSoftware

Sync BSync A

Sync C

ModelPol B

Synchronizer

a (A)

c (C)

DB

GRPC

XOS Core

b(B)

Page 39:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

VNFSoftware

Sync A

Sync C

ModelPol B

Synchronizer

a (A)

c (C)

DB

GRPC

XOS Core

b(B)

Sync B

Translate declarative state

Page 40:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

VNFSoftware

Sync A

Sync C

ModelPol B

Synchronizer

a (A)

c (C)

DB

GRPC

XOS Core

b(B)

Sync B

Transfer feedback state

Page 41:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

VNFSoftware

Sync BSync A

Sync C

ModelPol B

Synchronizer

a (A)

c (C)

DB

GRPC

XOS Core

b(B)

d(D)

Page 42:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●○○

●○○

●○

○●

Page 43:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

XOS Core with Data Model

Back-end VNF APIor Data Model

Page 44:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

message ExampleServiceInstance (TenantWithContainer){ option verbose_name = "Example Service Instance"; required string tenant_message = 1 [help_text = "Tenant Message to Display", max_length = 254, null = False, db_index = False, blank = False]; optional manytoone foreground_color- >Color:serviceinstance_foreground_colors = 2 [db_index = True, null = True, blank = True]; optional manytoone background_color- >Color:serviceinstance_background_colors = 3 [db_index = True, null = True, blank = True];}

Page 45:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References
Page 46:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●●●●

Page 47:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●●●●

Page 48:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References
Page 49:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

{ "ExampleService": [ ], "Color": [ ], "ExampleServiceInstance" : [ ["Color", "foreground_color", "serviceinstance_foreground_colors"], ["Color", "background_color", "serviceinstance_background_colors"] ], "EmbeddedImage": [ ["ExampleServiceInstance", "serviceinstance", "embedded_images"] ]}

Page 50:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

{ "ExampleService": [ ], "Color": [ ], "ExampleServiceInstance" : [ ["Color", "foreground_color", "serviceinstance_foreground_colors"], ["Color", "background_color", "serviceinstance_background_colors"] ], "EmbeddedImage": [ ["ExampleServiceInstance", "serviceinstance", "embedded_images"] ]}

Used to computethe dynamicdependency graph

Page 51:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

{ "ExampleService": [ ], "Color": [ ], "ExampleServiceInstance" : [ ["Color", "foreground_color", "serviceinstance_foreground_colors"], ["Color", "background_color", "serviceinstance_background_colors"] ], "EmbeddedImage": [ ["ExampleServiceInstance", "serviceinstance", "embedded_images"] ]}

(You can edit thisfile)

Page 52:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

class SyncExampleServiceInstance(SyncInstanceUsingAnsible): observes=ExampleServiceInstance service_key_name = "/opt/xos/synchronizers/exampleservice/exampleservice_private_key"

template_name = "sync_exampleserviceinstance.yaml"

Page 53:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

def get_extra_attributes(self, o): fields = { "tenant_message": o.tenant_message, "foreground_color": o.foreground_color, "background_color": o.background_color } # TODO: Change the above map to map data model fields into parameters in the Ansible playbook # Once you have done that, drop the line below

raise Exception("Not implemented")

return fields

Page 54:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

def get_extra_attributes(self, o): fields = {} fields['tenant_message'] = o.tenant_message exampleservice = self.get_exampleservice(o) fields['service_message'] = exampleservice.service_message if o.foreground_color: fields["foreground_color"] = o.foreground_color.html_code if o.background_color: fields["background_color"] = o.background_color.html_code images=[] for image in o.embedded_images.all(): images.append({"name": image.name, "url": image.url}) fields["images"] = images return fields

Page 55:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

- hosts: "{{ instance_name }}" connection: ssh user: ubuntu sudo: yes gather_facts: no vars: - tenant_message: "{{ tenant_message }}" - service_message: "{{ service_message }}" - foreground_color: "{{ foreground_color }}" - background_color: "{{ background_color | default("#FFFFFF") }}" - images: {% for image in images %} - name: {{ image.name }} url: {{ image.url }} {% endfor %}

roles: - install_apache - create_index

Page 56:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

- hosts: "{{ instance_name }}" connection: ssh user: ubuntu sudo: yes gather_facts: no vars: - tenant_message: "{{ tenant_message }}" - service_message: "{{ service_message }}" - foreground_color: "{{ foreground_color | default("#000000") }}" - background_color: "{{ background_color | default("#FFFFFF") }}" - images: {% for image in images %} - name: {{ image.name }} url: {{ image.url }} {% endfor %}

roles: - install_apache - create_index

Page 57:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●●●

Page 58:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●●●●

except NoIPException, e: log.exception("Interface does not have IP", ip = ip_address, e = e) raise e

Page 59:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●●

○●

○○

Page 60:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●○

●○○

●○○

Page 61:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

●○○○

Page 62:  · technology) GRPC TOSCA DJANGO Docker Containers OpenStack VM Docker Containers VNF mechanisms (Technology-specific) Generative Toolchain (xproto compiler) Models Policies References

Models

PoliciesLinks

XOS Abstractions(Technology-agnostic)

XOS APIs(Partially agnostic to technology)

GRPC TOSCA

DJANGO

Kubernetes

OpenStack VM

LXC Containers

VNF mechanisms(Technology-specific)

GenerativeToolchain

Sychronizers

ONOS