Skip to content

Commit

Permalink
chore: rename iso to anaconda-iso and add docs
Browse files Browse the repository at this point in the history
### What does this PR do?

* Changes the type from iso to anaconda-iso as ".iso" may be used in the
  future for something else, see: osbuild/bootc-image-builder#433

### Screenshot / video of UI

<!-- If this PR is changing UI, please include
screenshots or screencasts showing the difference -->

N/A, backend code / use anaconda-iso option

### What issues does this PR fix or reference?

<!-- Include any related issues from Podman Desktop
repository (or from another issue tracker). -->

Closes podman-desktop#482

### How to test this PR?

<!-- Please explain steps to reproduce -->

1. Test build .iso
2. See that is succesfully creates the .iso

Signed-off-by: Charlie Drage <[email protected]>
  • Loading branch information
cdrage committed Sep 9, 2024
1 parent 000794e commit 6f4090e
Show file tree
Hide file tree
Showing 13 changed files with 27 additions and 27 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ Go from a [bootc](https://containers.github.io/bootc/) compatible derived contai
* `qcow2`: QEMU Disk Images
* `ami`: Amazon Machine Images
* `raw`: RAW disk image an MBR or GPT partition table
* `iso`: Unattended installation method (USB sticks / install-on-boot)
* `anaconda-iso`: Unattended installation method (USB sticks / install-on-boot)
* `vmdk`: Usable in vSphere

The list above is what is supported by the underlying `bootc-image-builder` technology. The list can [be found here](https://github.com/osbuild/bootc-image-builder?tab=readme-ov-file#-image-types).
Expand Down
2 changes: 1 addition & 1 deletion docs/vm_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ There are **many** solutions to deploy a virtual machine image and this document

* `qcow`: QEMU is the primary software that utilizes both the QCOW and QCOW2 formats. These formats allow you to create, manage, and run virtual machines with features like better performance and snapshot capabilities. [QEMU](https://www.qemu.org/).
* `raw`: The raw image format is widely supported across many virtualization tools and cloud server providers. Software like KVM, VMware, and cloud platforms including AWS and Azure can utilize raw images. Libvirt, often used with KVM, also supports raw images extensively. [Libvirt](https://libvirt.org/).
* `iso`: BalenaEtcher is recommended for writing ISO files to storage devices to create bootable media. It's user-friendly and cross-platform. [Download balenaEtcher](https://www.balena.io/etcher/).
* `anaconda-iso`: BalenaEtcher is recommended for writing unattended ISO installer files to storage devices to create bootable media. It's user-friendly and cross-platform. [Download balenaEtcher](https://www.balena.io/etcher/).
* `vmdk`: VMware Workstation and VMware ESXi are two prominent platforms that support the VMDK format. They provide comprehensive tools for running and managing virtual machines. [VMware Workstation](https://www.vmware.com/products/workstation-pro.html), [VMware ESXi](https://www.vmware.com/products/esxi-and-esx.html).
* `ami`: Amazon EC2 uses the AMI format to launch new virtual servers. You can manage AMIs using Amazon's own tools like AWS Management Console. [Amazon EC2](https://aws.amazon.com/ec2/).

Expand Down
16 changes: 8 additions & 8 deletions packages/backend/src/build-disk-image.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,10 @@ test('check image builder does not include target arch', async () => {
expect(options.Cmd).not.toContain('--target-arch');
});

test('check image builder includes target arch for iso', async () => {
test('check image builder includes target arch for anaconda-iso', async () => {
const build = {
image: 'test-image',
type: ['iso'],
type: ['anaconda-iso'],
arch: 'amd',
} as BootcBuildInfo;
const options = createBuilderImageOptions('my-image', build);
Expand Down Expand Up @@ -244,20 +244,20 @@ test('check build exists', async () => {
let exists = await buildExists(folder, ['vmdk']);
expect(exists).toEqual(true);

// iso does not
exists = await buildExists(folder, ['iso']);
// anaconda-iso does not
exists = await buildExists(folder, ['anaconda-iso']);
expect(exists).toEqual(false);

// qcow2 exists
exists = await buildExists(folder, ['qcow2']);
expect(exists).toEqual(true);

// vmdk and iso exists (because of vdmk)
exists = await buildExists(folder, ['vmdk', 'iso']);
// vmdk and anaconda-iso exists (because of vdmk)
exists = await buildExists(folder, ['vmdk', 'anaconda-iso']);
expect(exists).toEqual(true);

// iso and raw don't exist
exists = await buildExists(folder, ['iso', 'raw']);
// anaconda-iso and raw don't exist
exists = await buildExists(folder, ['anaconda-iso', 'raw']);
expect(exists).toEqual(false);
});

Expand Down
2 changes: 1 addition & 1 deletion packages/backend/src/build-disk-image.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export async function buildExists(folder: string, types: BuildType[]) {
imageName = 'image/disk.raw';
} else if (type === 'vmdk') {
imageName = 'vmdk/disk.vmdk';
} else if (type === 'iso') {
} else if (type === 'anaconda-iso') {
imageName = 'bootiso/disk.iso';
}

Expand Down
8 changes: 4 additions & 4 deletions packages/backend/src/history.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ describe('History class tests', () => {
imageId: 'exampleImageId',
tag: 'exampleTag',
engineId: 'exampleEngineId',
type: ['iso'],
type: ['anaconda-iso'],
folder: 'exampleFolder',
arch: 'exampleArch',
status: 'success', // Use appropriate status from BootcBuildStatus
Expand Down Expand Up @@ -75,7 +75,7 @@ describe('History class tests', () => {
imageId: 'exampleImageId0',
tag: 'exampleTag0',
engineId: 'exampleEngineId0',
type: ['iso'],
type: ['anaconda-iso'],
folder: 'exampleFolder0',
arch: 'exampleArch0',
status: 'success',
Expand All @@ -87,7 +87,7 @@ describe('History class tests', () => {
imageId: 'exampleImageId1',
tag: 'exampleTag1',
engineId: 'exampleEngineId1',
type: ['iso'],
type: ['anaconda-iso'],
folder: 'exampleFolder1',
arch: 'exampleArch1',
status: 'success',
Expand All @@ -99,7 +99,7 @@ describe('History class tests', () => {
imageId: 'exampleImageId2',
tag: 'exampleTag2',
engineId: 'exampleEngineId2',
type: ['iso'],
type: ['anaconda-iso'],
folder: 'exampleFolder2',
arch: 'exampleArch2',
status: 'success',
Expand Down
4 changes: 2 additions & 2 deletions packages/frontend/src/Build.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const mockHistoryInfo: BootcBuildInfo[] = [
image: 'image1',
engineId: 'engine1',
tag: 'latest',
type: ['iso'],
type: ['anaconda-iso'],
folder: '/tmp/image1',
arch: 'x86_64',
},
Expand All @@ -40,7 +40,7 @@ const mockHistoryInfo: BootcBuildInfo[] = [
imageId: 'sha256:image',
engineId: 'engine2',
tag: 'latest',
type: ['iso'],
type: ['anaconda-iso'],
folder: '/tmp/image1',
arch: 'x86_64',
},
Expand Down
6 changes: 3 additions & 3 deletions packages/frontend/src/Build.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -541,10 +541,10 @@ export function goToHomePage(): void {
Virtualization Guest Image (*.qcow2)
</Checkbox>
<Checkbox
checked={buildType.includes('iso')}
checked={buildType.includes('anaconda-iso')}
title="iso-checkbox"
on:click={e => updateBuildType('iso', e.detail)}>
Unattended Baremetal Installer (*.iso)
on:click={e => updateBuildType('anaconda-iso', e.detail)}>
Unattended Anacoda ISO Installer (*.iso)
</Checkbox>
<Checkbox
checked={buildType.includes('vmdk')}
Expand Down
4 changes: 2 additions & 2 deletions packages/frontend/src/Homepage.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const mockHistoryInfo: BootcBuildInfo[] = [
imageId: 'sha256:imageId1',
engineId: 'engine1',
tag: 'latest',
type: ['iso'],
type: ['anaconda-iso'],
folder: '/tmp/image1',
arch: 'x86_64',
},
Expand All @@ -39,7 +39,7 @@ const mockHistoryInfo: BootcBuildInfo[] = [
imageId: 'sha256:imageId2',
engineId: 'engine2',
tag: 'latest',
type: ['iso'],
type: ['anaconda-iso'],
folder: '/tmp/image1',
arch: 'x86_64',
},
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/lib/BootcActions.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ const mockHistoryInfo: BootcBuildInfo = {
imageId: 'sha256:imageId1',
engineId: 'engine1',
tag: 'latest',
type: ['iso'],
type: ['anaconda-iso'],
folder: '/tmp/image1',
arch: 'x86_64',
};
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/lib/BootcColumnActions.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const mockHistoryInfo: BootcBuildInfo = {
imageId: 'sha256:imageId1',
engineId: 'engine1',
tag: 'latest',
type: ['iso'],
type: ['anaconda-iso'],
folder: '/tmp/image1',
arch: 'x86_64',
};
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/lib/BootcFolderColumn.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const mockHistoryInfo: BootcBuildInfo = {
imageId: 'sha256:imageId1',
engineId: 'engine1',
tag: 'latest',
type: ['iso'],
type: ['anaconda-iso'],
folder: '/tmp/image1',
arch: 'x86_64',
status: 'running',
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/lib/BootcImageColumn.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const mockHistoryInfo: BootcBuildInfo = {
imageId: 'sha256:imageId1',
engineId: 'engine1',
tag: 'latest',
type: ['iso'],
type: ['anaconda-iso'],
folder: '/tmp/image1',
arch: 'x86_64',
status: 'running',
Expand Down
2 changes: 1 addition & 1 deletion packages/shared/src/models/bootc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* SPDX-License-Identifier: Apache-2.0
***********************************************************************/

export type BuildType = 'qcow2' | 'ami' | 'raw' | 'vmdk' | 'iso';
export type BuildType = 'qcow2' | 'ami' | 'raw' | 'vmdk' | 'anaconda-iso';

export interface BootcBuildInfo {
id: string;
Expand Down

0 comments on commit 6f4090e

Please sign in to comment.