Bug 1368573 - Routing data structure is backward incompatible
Summary: Routing data structure is backward incompatible
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OKD
Classification: Red Hat
Component: Documentation
Version: 3.x
Hardware: Unspecified
OS: All
unspecified
high
Target Milestone: ---
: ---
Assignee: Vikram Goyal
QA Contact: Vikram Goyal
Vikram Goyal
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-08-19 19:48 UTC by Rajat Chopra
Modified: 2017-05-30 12:49 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-05-30 12:49:03 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Rajat Chopra 2016-08-19 19:48:47 UTC
Description of problem:
The routing data structure for template expansion is incompatible with the previous version. The old templates come crashing if used against the new version of openshift.

Version-Release number of selected component (if applicable):
3.3

How reproducible:
Always

Steps to Reproduce:
1. Take the haproxy router template from 1.2 release
2. Use the template for an image that runs on 1.3 release
3.

Actual results:
Failure to expand the template

Expected results:
Backward compatibility should be respected

Additional info:
See bz#1362094

Comment 1 Rajat Chopra 2016-08-19 22:52:33 UTC
While we investigate how to make the template backwards compatible. This document describes the differences that exist, why they exist and how can one make changes to an older template by understanding the new data structure.

https://github.com/rajatchopra/routing_data_structure_changes/blob/master/README.md

Comment 2 Jordan Liggitt 2016-08-26 14:32:46 UTC
The struct fed into the template needs to contain identical fields to 1.2

It can contain additional fields, which new templates can use

Comment 3 Rajat Chopra 2016-08-26 18:09:54 UTC
This is what it would entail in response to Jordan's suggestion(Comment#2), primarily because we removed some fields from the original struct (if we do, then we will have to populate that field too - precisely its a map of routes that exist for a service).

1. Create duplicate structures for services/routes
2. Maintain two sets of watch/populate/delete functions to manage the two structures
3. Have the top level template point to the two sets simultaneously
4. Change the current template to start using the new structures only

The decision at this point is to allow the incompatibility and mention it conspicuously in the Release Notes.

Comment 4 Eric Paris 2016-09-02 12:36:04 UTC
You are going to mention the incompatibility in the release note and point to a longer form document discussing the incompatibility and what users should do about it. The longer document will be in openshift-docs. You have until this morning, your time, to get an openshift-docs PR opened.

Comment 5 Rajat Chopra 2016-09-02 20:20:34 UTC
Docs PR: https://github.com/openshift/openshift-docs/pull/2784
Release Note update comment: https://github.com/openshift/openshift-docs/pull/2774#issuecomment-244440648

Kind help needed from the docs team to get this to closure.

Comment 7 Rajat Chopra 2016-10-31 18:44:29 UTC
Fixed with https://github.com/openshift/openshift-docs/pull/2935

Comment 8 Meng Bo 2017-02-15 10:20:44 UTC
The docs look good to me.


Note You need to log in before you can comment on or make changes to this bug.