Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 49 additions & 49 deletions _data/migration-scenarios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,108 +2,108 @@ scenarios:
- title: "Scenario 1: Backfill only"
steps:
- title: "Assessment"
url: "/migration-assistant/migration-phases/assessment/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/assessment/"
- title: "Deploy"
url: "/migration-assistant/migration-phases/deploy/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/"
substeps:
- title: "Verify backfill components"
url: "/migration-assistant/migration-phases/deploy/verifying-backfill-components/"
- title: "Configuration options"
url: "/migration-assistant/migration-phases/deploy/configuration-options/"
- title: "IAM and security groups for existing clusters"
url: "/migration-assistant/migration-phases/deploy/iam-and-security-groups-for-existing-clusters/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/iam-and-security-groups-for-existing-clusters/"
- title: "Configuration options"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/configuration-options/"
- title: "Verify backfill components"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/verifying-backfill-components/"
- title: "Create a snapshot"
url: "/migration-assistant/migration-phases/create-snapshot/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/create-snapshot/"
- title: "Migrate metadata"
url: "/migration-assistant/migration-phases/migrate-metadata/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/"
substeps:
- title: "Managing type mapping deprecation"
url: "/migration-assistant/migration-phases/migrate-metadata/handling-type-mapping-deprecation/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/handling-type-mapping-deprecation/"
- title: "Handling breaking changes in field types"
url: "/migration-assistant/migration-phases/migrate-metadata/handling-field-type-breaking-changes/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/handling-field-type-breaking-changes/"
- title: "Transform flattened to flat_object"
url: "/migration-assistant/migration-phases/migrate-metadata/transform-flattened-flat-object/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/transform-flattened-flat-object/"
- title: "Transform string to text/keyword"
url: "/migration-assistant/migration-phases/migrate-metadata/transform-string-text-keyword/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/transform-string-text-keyword/"
- title: "Transform dense_vector to knn_vector"
url: "/migration-assistant/migration-phases/migrate-metadata/transform-dense-vector-knn-vector/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/transform-dense-vector-knn-vector/"
- title: "Backfill"
url: "/migration-assistant/migration-phases/backfill/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/backfill/"
- title: "Teardown"
url: "/migration-assistant/migration-phases/remove-migration-infrastructure/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/remove-migration-infrastructure/"

- title: "Scenario 2: Live capture only"
steps:
- title: "Assessment"
url: "/migration-assistant/migration-phases/assessment/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/assessment/"
- title: "Deploy"
url: "/migration-assistant/migration-phases/deploy/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/"
substeps:
- title: "IAM and security groups for existing clusters"
url: "/migration-assistant/migration-phases/deploy/iam-and-security-groups-for-existing-clusters/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/iam-and-security-groups-for-existing-clusters/"
- title: "Configuration options"
url: "/migration-assistant/migration-phases/deploy/configuration-options/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/configuration-options/"
- title: "Verify live capture components"
url: "/migration-assistant/migration-phases/deploy/verifying-live-capture-components/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/verifying-live-capture-components/"
- title: "Reroute traffic from the source to the Capture Proxy"
url: "/migration-assistant/migration-phases/reroute-source-to-proxy/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/reroute-source-to-proxy/"
- title: "Migrate metadata"
url: "/migration-assistant/migration-phases/migrate-metadata/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/"
substeps:
- title: "Managing type mapping deprecation"
url: "/migration-assistant/migration-phases/migrate-metadata/handling-type-mapping-deprecation/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/handling-type-mapping-deprecation/"
- title: "Handling breaking changes in field types"
url: "/migration-assistant/migration-phases/migrate-metadata/handling-field-type-breaking-changes/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/handling-field-type-breaking-changes/"
- title: "Transform flattened to flat_object"
url: "/migration-assistant/migration-phases/migrate-metadata/transform-flattened-flat-object/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/transform-flattened-flat-object/"
- title: "Transform string to text/keyword"
url: "/migration-assistant/migration-phases/migrate-metadata/transform-string-text-keyword/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/transform-string-text-keyword/"
- title: "Transform dense_vector to knn_vector"
url: "/migration-assistant/migration-phases/migrate-metadata/transform-dense-vector-knn-vector/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/transform-dense-vector-knn-vector/"
- title: "Replay captured traffic"
url: "/migration-assistant/migration-phases/replay-captured-traffic/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/replay-captured-traffic/"
- title: "Reroute traffic from the Capture Proxy to the target"
url: "/migration-assistant/migration-phases/reroute-traffic-from-capture-proxy-to-target/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/reroute-traffic-from-capture-proxy-to-target/"
- title: "Teardown"
url: "/migration-assistant/migration-phases/remove-migration-infrastructure/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/remove-migration-infrastructure/"

- title: "Scenario 3: Live capture with backfill"
steps:
- title: "Assessment"
url: "/migration-assistant/migration-phases/assessment/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/assessment/"
- title: "Deploy"
url: "/migration-assistant/migration-phases/deploy/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/"
substeps:
- title: "IAM and security groups for existing clusters"
url: "/migration-assistant/migration-phases/deploy/iam-and-security-groups-for-existing-clusters/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/iam-and-security-groups-for-existing-clusters/"
- title: "Configuration options"
url: "/migration-assistant/migration-phases/deploy/configuration-options/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/configuration-options/"
- title: "Verify backfill components"
url: "/migration-assistant/migration-phases/deploy/verifying-backfill-components/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/verifying-backfill-components/"
- title: "Verify live capture components"
url: "/migration-assistant/migration-phases/deploy/verifying-live-capture-components/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/deploy/verifying-live-capture-components/"
- title: "Reroute traffic from the source to the Capture Proxy"
url: "/migration-assistant/migration-phases/reroute-source-to-proxy/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/reroute-source-to-proxy/"
- title: "Create a snapshot"
url: "/migration-assistant/migration-phases/create-snapshot/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/create-snapshot/"
- title: "Migrate metadata"
url: "/migration-assistant/migration-phases/migrate-metadata/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/"
substeps:
- title: "Managing type mapping deprecation"
url: "/migration-assistant/migration-phases/migrate-metadata/handling-type-mapping-deprecation/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/handling-type-mapping-deprecation/"
- title: "Handling breaking changes in field types"
url: "/migration-assistant/migration-phases/migrate-metadata/handling-field-type-breaking-changes/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/handling-field-type-breaking-changes/"
- title: "Transform flattened to flat_object"
url: "/migration-assistant/migration-phases/migrate-metadata/transform-flattened-flat-object/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/transform-flattened-flat-object/"
- title: "Transform string to text/keyword"
url: "/migration-assistant/migration-phases/migrate-metadata/transform-string-text-keyword/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/transform-string-text-keyword/"
- title: "Transform dense_vector to knn_vector"
url: "/migration-assistant/migration-phases/migrate-metadata/transform-dense-vector-knn-vector/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrate-metadata/transform-dense-vector-knn-vector/"
- title: "Backfill"
url: "/migration-assistant/migration-phases/backfill/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/backfill/"
- title: "Replay captured traffic"
url: "/migration-assistant/migration-phases/replay-captured-traffic/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/replay-captured-traffic/"
- title: "Reroute traffic from the Capture Proxy to the target"
url: "/migration-assistant/migration-phases/reroute-traffic-from-capture-proxy-to-target/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/reroute-traffic-from-capture-proxy-to-target/"
- title: "Teardown"
url: "/migration-assistant/migration-phases/remove-migration-infrastructure/"
url: "{{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/remove-migration-infrastructure/"
193 changes: 193 additions & 0 deletions _includes/migration-phase-navigation.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
{%- comment -%}
This include generates Previous Phase and Next Phase sections for migration phase pages.
It uses the migration scenarios data to determine the flow and relationships.
{%- endcomment -%}

{%- assign current_page_url = page.url | remove: '/index' -%}
{%- assign scenarios = site.data.migration-scenarios.scenarios -%}

{%- comment -%}Find previous phases for each scenario{%- endcomment -%}
{%- assign prev_phase_info = '' | split: '' -%}

{%- for scenario in scenarios -%}
{%- assign found_current = false -%}
{%- assign step_number = 0 -%}
{%- assign prev_step = null -%}
{%- assign prev_step_number = 0 -%}

{%- for step in scenario.steps -%}
{%- assign step_number = step_number | plus: 1 -%}
{%- assign clean_step_url = step.url | replace: '{{site.url}}{{site.baseurl}}', '' -%}

{%- if clean_step_url == current_page_url -%}
{%- assign found_current = true -%}
{%- if prev_step -%}
{%- capture prev_phase_data -%}{{ prev_step.url }}|{{ prev_step.title }}|{{ scenario.title }}|{{ prev_step_number }}{%- endcapture -%}
{%- assign prev_phase_info = prev_phase_info | push: prev_phase_data -%}
{%- endif -%}
{%- break -%}
{%- endif -%}

{%- comment -%}Check substeps too{%- endcomment -%}
{%- if step.substeps -%}
{%- for substep in step.substeps -%}
{%- assign clean_substep_url = substep.url | replace: '{{site.url}}{{site.baseurl}}', '' -%}
{%- if clean_substep_url == current_page_url -%}
{%- assign found_current = true -%}
{%- capture prev_phase_data -%}{{ step.url }}|{{ step.title }}|{{ scenario.title }}|{{ step_number }}{%- endcapture -%}
{%- assign prev_phase_info = prev_phase_info | push: prev_phase_data -%}
{%- break -%}
{%- endif -%}
{%- endfor -%}
{%- if found_current -%}
{%- break -%}
{%- endif -%}
{%- endif -%}

{%- assign prev_step = step -%}
{%- assign prev_step_number = step_number -%}
{%- endfor -%}
{%- endfor -%}

{%- comment -%}Remove duplicates from prev_phase_info{%- endcomment -%}
{%- assign unique_prev_phases = '' | split: '' -%}
{%- for phase_data in prev_phase_info -%}
{%- assign phase_parts = phase_data | split: '|' -%}
{%- assign phase_url = phase_parts[0] -%}
{%- assign is_duplicate = false -%}

{%- for unique_phase_data in unique_prev_phases -%}
{%- assign unique_parts = unique_phase_data | split: '|' -%}
{%- if unique_parts[0] == phase_url -%}
{%- assign is_duplicate = true -%}
{%- break -%}
{%- endif -%}
{%- endfor -%}

{%- unless is_duplicate -%}
{%- assign unique_prev_phases = unique_prev_phases | push: phase_data -%}
{%- endunless -%}
{%- endfor -%}

{%- comment -%}Find next phases for each scenario{%- endcomment -%}
{%- assign next_phase_info = '' | split: '' -%}

{%- for scenario in scenarios -%}
{%- assign step_number = 0 -%}
{%- assign current_step_index = -1 -%}

{%- comment -%}Find the index of the current step in this scenario{%- endcomment -%}
{%- for step in scenario.steps -%}
{%- assign step_number = step_number | plus: 1 -%}
{%- assign clean_step_url = step.url | replace: '{{site.url}}{{site.baseurl}}', '' -%}

{%- comment -%}Check if this step matches the current page{%- endcomment -%}
{%- if clean_step_url == current_page_url -%}
{%- assign current_step_index = step_number -%}
{%- endif -%}

{%- comment -%}Also check substeps{%- endcomment -%}
{%- if step.substeps -%}
{%- for substep in step.substeps -%}
{%- assign clean_substep_url = substep.url | replace: '{{site.url}}{{site.baseurl}}', '' -%}
{%- if clean_substep_url == current_page_url -%}
{%- assign current_step_index = step_number -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- endfor -%}

{%- comment -%}If we found the current step in this scenario, find the next step{%- endcomment -%}
{%- if current_step_index > 0 -%}
{%- assign next_step_index = current_step_index | plus: 1 -%}
{%- assign step_number = 0 -%}

{%- for step in scenario.steps -%}
{%- assign step_number = step_number | plus: 1 -%}
{%- if step_number == next_step_index -%}
{%- capture next_phase_data -%}{{ step.url }}|{{ step.title }}|{{ scenario.title }}|{{ step_number }}{%- endcapture -%}
{%- assign next_phase_info = next_phase_info | push: next_phase_data -%}
{%- break -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- endfor -%}

{%- comment -%}Remove duplicates from next_phase_info{%- endcomment -%}
{%- assign unique_next_phases = '' | split: '' -%}
{%- for phase_data in next_phase_info -%}
{%- assign phase_parts = phase_data | split: '|' -%}
{%- assign phase_url = phase_parts[0] -%}
{%- assign scenario_title = phase_parts[2] -%}
{%- assign is_duplicate = false -%}

{%- for unique_phase_data in unique_next_phases -%}
{%- assign unique_parts = unique_phase_data | split: '|' -%}
{%- if unique_parts[0] == phase_url and unique_parts[2] == scenario_title -%}
{%- assign is_duplicate = true -%}
{%- break -%}
{%- endif -%}
{%- endfor -%}

{%- unless is_duplicate -%}
{%- assign unique_next_phases = unique_next_phases | push: phase_data -%}
{%- endunless -%}
{%- endfor -%}


{%- comment -%}Display Previous Phase section{%- endcomment -%}
{%- if unique_prev_phases.size > 0 %}

## Previous phase

{%- if unique_prev_phases.size == 1 -%}
{%- assign phase_data = unique_prev_phases[0] -%}
{%- assign phase_parts = phase_data | split: '|' %}
{%- assign clean_prev_url = phase_parts[0] | replace: '{{site.url}}{{site.baseurl}}', '' %}

The previous phase in the migration process was:

**[{{ phase_parts[1] }}]({{ site.url }}{{ site.baseurl }}{{ clean_prev_url }})**

{%- else %}

The previous phase depends on your migration scenario:

{% for phase_data in unique_prev_phases -%}
{%- assign phase_parts = phase_data | split: '|' %}
{%- assign clean_prev_url = phase_parts[0] | replace: '{{site.url}}{{site.baseurl}}', '' -%}
- **{{ phase_parts[2] }}** (Step {{ phase_parts[3] }}): [{{ phase_parts[1] }}]({{ site.url }}{{ site.baseurl }}{{ clean_prev_url }})
{% endfor %}
{%- endif %}
{%- endif %}

{%- comment -%}Display Next Phase section{%- endcomment -%}
{%- if unique_next_phases.size > 0 %}

## Next phase

{%- if unique_next_phases.size == 1 -%}
{%- assign phase_data = unique_next_phases[0] -%}
{%- assign phase_parts = phase_data | split: '|' %}
{%- assign clean_next_url = phase_parts[0] | replace: '{{site.url}}{{site.baseurl}}', '' %}

The next phase in the migration process is:

**[{{ phase_parts[1] }}]({{ site.url }}{{ site.baseurl }}{{ clean_next_url }})**

For a complete overview of all migration phases, see [Migration phases]({{ site.url }}{{ site.baseurl }}/migration-assistant/migration-phases/).

{%- else %}

The next phase depends on your migration scenario:

{% for phase_data in unique_next_phases -%}
{%- assign phase_parts = phase_data | split: '|' %}
{%- assign clean_next_url = phase_parts[0] | replace: '{{site.url}}{{site.baseurl}}', '' -%}
- **{{ phase_parts[2] }}** (Step {{ phase_parts[3] }}): [{{ phase_parts[1] }}]({{ site.url }}{{ site.baseurl }}{{ clean_next_url }})
{% endfor %}

For a complete overview of all migration phases, see [Migration phases]({{ site.url }}{{ site.baseurl }}/migration-assistant/migration-phases/).

{%- endif %}
{%- endif %}
Loading