Skip to content

Commit

Permalink
fix: Fixes issue in avm/res/container-instance/container-group when…
Browse files Browse the repository at this point in the history
… container memory is set to less than 1 GB. (Azure#3752)

## Description

* Changed `memoryInGB` prop in type `containerType` from `int` to
`string`
* Updated tests to use `string` instead of `int`
* Added test that uses memoryInGB value less than 1
* Updated documentation to no longer recommend using `json('0.5')` when
using value less than 1

Closes Azure#3655 

## Pipeline Reference

<!-- Insert your Pipeline Status Badge below -->

| Pipeline |
| -------- |
|
[![avm.res.container-instance.container-group](https://github.com/anderseide/avm-bicep-registry-modules/actions/workflows/avm.res.container-instance.container-group.yml/badge.svg?branch=container-instance-memory)](https://github.com/anderseide/avm-bicep-registry-modules/actions/workflows/avm.res.container-instance.container-group.yml)
|

## Type of Change

<!-- Use the checkboxes [x] on the options that are relevant. -->

- [ ] Update to CI Environment or utilities (Non-module affecting
changes)
- [X] Azure Verified Module updates:
- [ ] Bugfix containing backwards-compatible bug fixes, and I have NOT
bumped the MAJOR or MINOR version in `version.json`:
- [X] Someone has opened a bug report issue, and I have included "Closes
#{bug_report_issue_number}" in the PR description.
- [ ] The bug was found by the module author, and no one has opened an
issue to report it yet.
- [ ] Feature update backwards compatible feature updates, and I have
bumped the MINOR version in `version.json`.
- [X] Breaking changes and I have bumped the MINOR version in
`version.json`.
  - [X] Update to documentation

## Checklist

- [X] I'm sure there are no other open Pull Requests for the same
update/change
- [X] I have run `Set-AVMModule` locally to generate the supporting
module files.
- [X] My corresponding pipelines / checks run clean and green without
any errors or warnings

<!-- Please keep up to date with the contribution guide at
https://aka.ms/avm/contribute/bicep -->

---------

Co-authored-by: Julian Peißker <[email protected]>
Co-authored-by: Jack Tracey <[email protected]>
Co-authored-by: Kris Baranek <[email protected]>
Co-authored-by: Alexander Sehr <[email protected]>
  • Loading branch information
5 people authored Dec 2, 2024
1 parent 0cfda08 commit e233dbe
Show file tree
Hide file tree
Showing 10 changed files with 295 additions and 58 deletions.
237 changes: 198 additions & 39 deletions avm/res/container-instance/container-group/README.md

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions avm/res/container-instance/container-group/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -260,8 +260,8 @@ type containerType = {
@description('Optional. The GPU request of this container instance.')
gpu: containerGpuType?

@description('Optional. The memory request in GB of this container instance. To specify a decimal value, use the json() function.')
memoryInGB: int?
@description('Optional. The memory request in GB of this container instance.')
memoryInGB: string?
}

@description('Optional. The resource limits of this container instance.')
Expand All @@ -272,8 +272,8 @@ type containerType = {
@description('Optional. The GPU limit of this container instance.')
gpu: containerGpuType?

@description('Optional. The memory limit in GB of this container instance. To specify a decimal value, use the json() function.')
memoryInGB: int?
@description('Optional. The memory limit in GB of this container instance.')
memoryInGB: string?
}?

@description('Optional. The security context of the container instance.')
Expand Down
10 changes: 5 additions & 5 deletions avm/res/container-instance/container-group/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"_generator": {
"name": "bicep",
"version": "0.31.92.45157",
"templateHash": "11653767368737977029"
"templateHash": "16278061396561058580"
},
"name": "Container Instances Container Groups",
"description": "This module deploys a Container Instance Container Group.",
Expand Down Expand Up @@ -83,10 +83,10 @@
}
},
"memoryInGB": {
"type": "int",
"type": "string",
"nullable": true,
"metadata": {
"description": "Optional. The memory request in GB of this container instance. To specify a decimal value, use the json() function."
"description": "Optional. The memory request in GB of this container instance."
}
}
},
Expand All @@ -111,10 +111,10 @@
}
},
"memoryInGB": {
"type": "int",
"type": "string",
"nullable": true,
"metadata": {
"description": "Optional. The memory limit in GB of this container instance. To specify a decimal value, use the json() function."
"description": "Optional. The memory limit in GB of this container instance."
}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ module testDeployment '../../../main.bicep' = [
resources: {
requests: {
cpu: 2
memoryInGB: 2
memoryInGB: '2'
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ module testDeployment '../../../main.bicep' = [
resources: {
requests: {
cpu: 2
memoryInGB: 2
memoryInGB: '2'
}
}
}
Expand All @@ -101,7 +101,7 @@ module testDeployment '../../../main.bicep' = [
resources: {
requests: {
cpu: 2
memoryInGB: 2
memoryInGB: '2'
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
targetScope = 'subscription'

metadata name = 'Using only defaults and low memory containers'
metadata description = 'This instance deploys the module with the minimum set of required parameters and with low memory.'

// ========== //
// Parameters //
// ========== //

@description('Optional. The name of the resource group to deploy for testing purposes.')
@maxLength(90)
param resourceGroupName string = 'dep-${namePrefix}-containerinstance.containergroups-${serviceShort}-rg'

@description('Optional. The location to deploy resources to.')
param resourceLocation string = deployment().location

@description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.')
param serviceShort string = 'ciclow'

@description('Optional. A token to inject into the name of each resource.')
param namePrefix string = '#_namePrefix_#'

// ============ //
// Dependencies //
// ============ //

// General resources
// =================
resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = {
name: resourceGroupName
location: resourceLocation
}

// ============== //
// Test Execution //
// ============== //

@batchSize(1)
module testDeployment '../../../main.bicep' = [
for iteration in ['init', 'idem']: {
scope: resourceGroup
name: '${uniqueString(deployment().name, resourceLocation)}-test-${serviceShort}-${iteration}'
params: {
location: resourceLocation
name: '${namePrefix}${serviceShort}001'
containers: [
{
name: '${namePrefix}-az-aci-x-001'
properties: {
image: 'mcr.microsoft.com/azuredocs/aci-helloworld'
ports: [
{
port: 443
protocol: 'Tcp'
}
]
resources: {
requests: {
cpu: 2
memoryInGB: '0.5'
}
}
}
}
]
ipAddressPorts: [
{
protocol: 'Tcp'
port: 443
}
]
}
}
]
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,11 @@ module testDeployment '../../../main.bicep' = [
resources: {
requests: {
cpu: 2
memoryInGB: 2
memoryInGB: '2'
}
limits: {
cpu: 4
memoryInGB: '4'
}
}
}
Expand All @@ -105,7 +109,7 @@ module testDeployment '../../../main.bicep' = [
resources: {
requests: {
cpu: 2
memoryInGB: 2
memoryInGB: '2'
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ module testDeployment '../../../main.bicep' = [
resources: {
requests: {
cpu: 2
memoryInGB: 4
memoryInGB: '4'
}
}
}
Expand All @@ -97,7 +97,7 @@ module testDeployment '../../../main.bicep' = [
resources: {
requests: {
cpu: 2
memoryInGB: 2
memoryInGB: '2'
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ module testDeployment '../../../main.bicep' = [
resources: {
requests: {
cpu: 2
memoryInGB: 2
memoryInGB: '2'
}
}
}
Expand All @@ -92,7 +92,7 @@ module testDeployment '../../../main.bicep' = [
resources: {
requests: {
cpu: 2
memoryInGB: 2
memoryInGB: '2'
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion avm/res/container-instance/container-group/version.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://aka.ms/bicep-registry-module-version-file-schema#",
"version": "0.3",
"version": "0.4",
"pathFilters": [
"./main.json"
]
Expand Down

0 comments on commit e233dbe

Please sign in to comment.