canonical / canonical/cloud-init

fs_setup/disk_setup: option to wait for the device to exist before continuing

Open
#3,386 10 comments 5 reactions 0 assignees View on GitHub
bug launchpad
Dominant language
Python
Stars
3.8k
Forks
1.1k
Avg merge
3d 8h
Merged PRs (30d)
22

Description

This bug was originally filed in Launchpad as [LP: #1832645](https://bugs.launchpad.net/cloud-init/+bug/1832645)

Launchpad details

affected_projects = []

assignee = None
assignee_name = None
date_closed = None
date_created = 2019-06-12T20:48:53.539989+00:00
date_fix_committed = None
date_fix_released = None
id = 1832645
importance = medium
is_complete = False
lp_url = https://bugs.launchpad.net/cloud-init/+bug/1832645
milestone = None
owner = minfrin-y
owner_name = Graham Leggett
private = False
status = in_progress
submitter = minfrin-y
submitter_name = Graham Leggett
tags = []
duplicates = [1907080]

_Launchpad user **Graham Leggett(minfrin-y)** wrote on 2019-06-12T20:48:53.539989+00:00_

When using the AWS::EC2::Volume and AWS::EC2::VolumeAttachment options to add a volume to an AWS::EC2::Instance on AWS EC2, the volume is not immediately available on the instance.

This causes fs_setup and disk_setup to fail.

What would prevent this failure is a "wait" option on both fs_setup and disk_setup, which if true, will cause cloud-init to wait until the device exists (caused by AWS catching up and attaching the device) before continuing.

Contributor guide

Open the contributing guide

Research direction

Start by locating the fs_setup and disk_setup entry points and their existing tests, then trace how each currently handles a device that is not yet available. Done means both options can wait for the device before continuing, with tests covering delayed device attachment.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.