Skip to content

Commit 88f8e7b

Browse files
committed
refactoring
1 parent d6af8f3 commit 88f8e7b

File tree

3 files changed

+22
-22
lines changed

3 files changed

+22
-22
lines changed

docs/usage/compute/machine.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Machine
22

33
A `Machine` resource in `IronCore` is used to represent a compute resource or a virtual machine.
4-
It serves as a means to configure network, storage, type of machine and other information needed to create a VM. The `MachineController` reconciler leverages this information to determine where the machine needs to be created and type of machine needs to be created along with required `Network` and `Storage` configuration which will be further passed to respective `NetworkController` and `StorageController`.
4+
It serves as a means to configure network, storage, type of machine and other information needed to create a VM. The `MachineController` reconciler leverages this information to determine where the machine needs to be created and the type of machine that needs to be created along with the required `Network` and `Storage` configuration which will be further passed to respective `NetworkController` and `StorageController`.
55

66
## Example Machine Resource
77

8-
An example of how to define an Machine resource:
8+
An example of how to define a Machine resource:
99

1010
```yaml
1111
apiVersion: compute.ironcore.dev/v1alpha1
@@ -19,7 +19,7 @@ spec:
1919
# name: default
2020
image: my-image
2121
volumes:
22-
- name: rootdisk # first disk is root disk
22+
- name: rootdisk # first disk is the root disk
2323
# priority: 0 # optional
2424
volumeRef:
2525
name: my-volume
@@ -35,38 +35,38 @@ spec:
3535
**Key Fields**:
3636

3737
- machineClassRef (`string`): MachineClassRef is a reference to the machine class/flavor of the machine.
38-
- machinePoolRef (`string`): MachinePoolRef defines machine pool to run the machine in. If empty, a scheduler will figure out an appropriate pool to run the machine in.
38+
- machinePoolRef (`string`): MachinePoolRef defines the machine pool to run the machine in. If empty, a scheduler will figure out an appropriate pool to run the machine in.
3939
- image (`string`): Image is the optional URL providing the operating system image of the machine.
4040
- volumes (`list`): Volumes are list volumes(Storage) attached to this machine.
4141
- networkInterfaces (`list`): NetworkInterfaces define a list of network interfaces present on the machine
42-
- ignitionRef (`string`): IgnitionRef is a reference to a secret containing the ignition YAML for the machine to boot up. If key is empty, DefaultIgnitionKey will be used as fallback.
42+
- ignitionRef (`string`): IgnitionRef is a reference to a secret containing the ignition YAML for the machine to boot up. If a key is empty, DefaultIgnitionKey will be used as a fallback.
4343

4444

4545
## Reconciliation Process
4646

47-
1. **Machine Scheculing**:
47+
1. **Machine Scheduling**:
4848
The MachineScheduler controller continuously watches for machines without an assigned MachinePool and tries to schedule it on available and matching MachinePool.
4949
- **Monitor Unassigned Machines**: The scheduler continuously watches for machines without an assigned `machinePoolRef`.
5050
- **Retrieve Available Machine Pools**: The scheduler fetches the list of available machine pools from the cache.
5151
- **Make Scheduling Decisions**: The scheduler selects the most suitable machine pool based on resource availability and other policies.
5252
- **Update Cache**: The scheduler updates the cache with recalculated allocatable `machineClass` quantities.
5353
- **Assign MachinePoolRef**: The scheduler assigns the selected `machinePoolRef` to the machine object.
5454

55-
2. **IRI Machine creation**: Once the Machine is allocated to particular pool, the `MachineController` processes the `Machine` resource and it extracts the `IgnitionData`, `NetworkInterface` and `Volume` information from the `spec` and prepares IRI machine resource.
55+
2. **IRI Machine creation**: Once the Machine is allocated to a particular pool, the `MachineController` processes the `Machine` resource and it extracts the `IgnitionData`, `NetworkInterface` and `Volume` information from the `spec` and prepares IRI machine resource.
5656

57-
3. **Machine Brokering**: Once IRIMachine object is prepared create/update machine request is sent to broker via IRI interface(via GRPC call). Actual VM is created when request reaches compute provider. Once the response is recieved from IRI call Machine status is updated with status recieved.
57+
3. **Machine Brokering**: Once IRIMachine object is prepared create/update the machine request is sent to a broker via the IRI interface(via GRPC call). An actual VM is created when the request reaches the compute provider. Once the response is received from IRI call Machine status is updated with the status recieved.
5858

59-
4. **Network Intreface handling**: MachineControllerNetworkinterface takes care of attach/dettach of Network interfaces defined for machine. Once the attachment is successful status is updated from `Pending` to `Attached`.
59+
4. **Network Interface handling**: MachineControllerNetworkinterface takes care of attaching/detaching Network interfaces defined for the machine. Once the attachment is successful status is updated from `Pending` to `Attached`.
6060

6161
5. **Volume handling**: MachineControllerVolume takes care of attach/detach of Volumes(Storage) defined for machine. Once the attachment is successful status is updated from `Pending` to `Attached`.
6262

63-
6. **Ephemeral resource handling**: If `NetworkIntreface` or `Volume` is defined as ephemeral(i.e. coupled to the lifetime of the machine object) in the machine spec, MachineEphemeralControllers takes care of creating and destroying respective objects on creation/deletion of machine.
63+
6. **Ephemeral resource handling**: If `NetworkIntreface` or `Volume` is defined as ephemeral(i.e. coupled to the lifetime of the machine object) in the machine spec, MachineEphemeralControllers takes care of creating and destroying respective objects on creation/deletion of the machine.
6464

6565
## Lifecycle and States
6666

67-
A Machine can be in a following states:
68-
1. **Pending**: A Machine is in Pending state when the Machine has been accepted by the system, but not yet completely started. This includes time before being bound to a MachinePool, as well as time spent setting up the Machine on that MachinePool.
67+
A Machine can be in the following states:
68+
1. **Pending**: A Machine is in a `Pending` state when the Machine has been accepted by the system, but not yet completely started. This includes time before being bound to a MachinePool, as well as time spent setting up the Machine on that MachinePool.
6969
2. **Running**: A Machine in Running state when the machine is running on a MachinePool.
70-
2. **Shutdown**: A Machine is in Shutdown state.
71-
3. **Terminating**: A Machine is in Terminating state.
72-
2. **Terminated**: A Machine is in Terminated state when the machine has been permanently stopped and cannot be started.
70+
2. **Shutdown**: A Machine is in a Shutdown state.
71+
3. **Terminating**: A Machine is Terminating.
72+
2. **Terminated**: A Machine is in the Terminated state when the machine has been permanently stopped and cannot be started.

docs/usage/compute/machineclass.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# MachineClass
22

3-
A `MachineClass` is a `IronCore` resource used to represent a class/flavor of a Machine. It serves as a means to define an amount of resources a `Machine` object can have as capabilities(For eg, CPU, memory) if associated with particular class. The `MachineClassController` reconciler leverages this information create `MachineClass`.
3+
A `MachineClass` is an `IronCore` resource used to represent a class/flavor of a Machine. It serves as a means to define the number of resources a `Machine` object can have as capabilities(For eg, CPU, memory) associated with a particular class. The `MachineClassController` reconciler leverages this information to create `MachineClass`.
44

55
## Example Machine Resource
66

7-
An example of how to define an MachineClass resource:
7+
An example of how to define a MachineClass resource:
88

99
```yaml
1010
apiVersion: compute.ironcore.dev/v1alpha1
@@ -18,11 +18,11 @@ capabilities:
1818
1919
**Key Fields**:
2020
21-
- capabilities (`ResourceList`): capabilities is used to define a list of resources a Machine can have along with its capacity.
21+
- capabilities (`ResourceList`): capabilities are used to define a list of resources a Machine can have along with its capacity.
2222

2323

2424
## Reconciliation Process
2525

2626
- **MachineClass Creation**: The `MachineClassController` uses the `capabilities` field in the MachineClass resource to create a flavor of MachineClass resource.
27-
- **MachineClass Deletion**: Before deleting any MachineClass its been ensured that it is not in use by any `Machine` and then only deleted.
27+
- **MachineClass Deletion**: Before deleting any MachineClass it's been ensured that it is not in use by any `Machine` and then only deleted.
2828

docs/usage/compute/machinepool.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ A `MachinePool` is a resource in `IronCore` that represents a pool of compute re
44

55
## Example MachinePool Resource
66

7-
An example of how to define an MachinePool resource:
7+
An example of how to define a MachinePool resource:
88

99
```yaml
1010
apiVersion: compute.ironcore.dev/v1alpha1
@@ -24,8 +24,8 @@ For example `ironcore://shared`
2424

2525
## Reconciliation Process
2626

27-
- **Machine Type Discovery**: It constantly checks what kinds of machine (MachineClasses) are available in the `Ironcore` Infrastructure
28-
- **Compatibility Check**: Evaluating whether the MachinePool can manage available machine class based on its capabilities.
27+
- **Machine Type Discovery**: It constantly checks what kinds of MachineClasses are available in the `Ironcore` Infrastructure
28+
- **Compatibility Check**: Evaluating whether the MachinePool can manage available machine classes based on its capabilities.
2929
- **Status Update**: Updating the MachinePool's status to indicate the supported `MachineClasses` with available capacity and allocatable.
3030
- **Event Handling**: Watches for changes in MachineClass resources and ensures the associated MachinePool is reconciled when relevant changes occur.
3131

0 commit comments

Comments
 (0)