Difference between revisions of "TricircleHowToReadCode"
Chaoyi Huang (talk | contribs) |
Chaoyi Huang (talk | contribs) |
||
Line 1: | Line 1: | ||
− | == (Work in progress) | + | == (Work in progress)Learn the source code of Tricircle step by step == |
− | + | === Experience the multi-region Tricircle networking first === | |
− | |||
− | === Experience the | ||
Follow the installation guide: https://github.com/openstack/tricircle/blob/master/doc/source/multi-pod-installation-devstack.rst | Follow the installation guide: https://github.com/openstack/tricircle/blob/master/doc/source/multi-pod-installation-devstack.rst | ||
Learn the source code will be used in the "How to play": | Learn the source code will be used in the "How to play": | ||
− | + | === Step 1 ~ Step 4: no code of Tricircle will be involved === | |
− | + | === Step 5: Create pod instances === | |
* The restful API request will be routed to V1Controller from RootController for the version is 'v1.0': | * The restful API request will be routed to V1Controller from RootController for the version is 'v1.0': |
Revision as of 01:29, 20 February 2017
Contents
(Work in progress)Learn the source code of Tricircle step by step
Experience the multi-region Tricircle networking first
Follow the installation guide: https://github.com/openstack/tricircle/blob/master/doc/source/multi-pod-installation-devstack.rst
Learn the source code will be used in the "How to play":
Step 1 ~ Step 4: no code of Tricircle will be involved
Step 5: Create pod instances
- The restful API request will be routed to V1Controller from RootController for the version is 'v1.0':
tricircle/tricircle/api/controllers/root.py ... class RootController(object): ... @expose() def _lookup(self, version, *remainder): if version == 'v1.0': return V1Controller(), remainder
- In V1Controller, because the request is to create pod, so the request will be forwarded to the post function in PodsController. Post function will create the pod and az mapping record in pod table:
tricircle/tricircle/api/controllers/pod.py ... class PodsController(rest.RestController): ... @expose(generic=True, template='json') def post(self, **kw): context = t_context.extract_context_from_environ() ... new_pod = core.create_resource( context, models.Pod, {'pod_id': _uuid, 'region_name': region_name, 'pod_az_name': pod_az_name, 'dc_name': dc_name, 'az_name': az_name})