---
title: Charmhub | Deploy sysconfig using Charmhub - The Open Operator Collection
description: Deploy the latest version of sysconfig on any cloud.
url: https://charmhub.io/sysconfig/configurations
---

# sysconfig

[Canonical BootStack Charmers](https://charmhub.io/publisher/bootstack-charmers "View all packages from Canonical BootStack Charmers")

* [Canonical BootStack Charmers](https://charmhub.io/publisher/bootstack-charmers "View all packages from Canonical BootStack Charmers")
* [Monitoring](https://charmhub.io/?filter=monitoring)

Platform:

24.04

22.04

20.04

18.04

16.04

stable bef0408-dirty

```
juju deploy sysconfig
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [config-flags](https://charmhub.io/sysconfig/configurations#config-flags)
* [cpu-affinity-range](https://charmhub.io/sysconfig/configurations#cpu-affinity-range)
* [cpu-range](https://charmhub.io/sysconfig/configurations#cpu-range)
* [default-hugepagesz](https://charmhub.io/sysconfig/configurations#default-hugepagesz)
* [enable-container](https://charmhub.io/sysconfig/configurations#enable-container)
* [enable-iommu](https://charmhub.io/sysconfig/configurations#enable-iommu)
* [enable-pti](https://charmhub.io/sysconfig/configurations#enable-pti)
* [enable-tsx](https://charmhub.io/sysconfig/configurations#enable-tsx)
* [extra\_packages](https://charmhub.io/sysconfig/configurations#extra_packages)
* [governor](https://charmhub.io/sysconfig/configurations#governor)
* [grub-config-flags](https://charmhub.io/sysconfig/configurations#grub-config-flags)
* [hugepages](https://charmhub.io/sysconfig/configurations#hugepages)
* [hugepagesz](https://charmhub.io/sysconfig/configurations#hugepagesz)
* [install\_keys](https://charmhub.io/sysconfig/configurations#install_keys)
* [install\_sources](https://charmhub.io/sysconfig/configurations#install_sources)
* [irqbalance-banned-cpus](https://charmhub.io/sysconfig/configurations#irqbalance-banned-cpus)
* [isolcpus](https://charmhub.io/sysconfig/configurations#isolcpus)
* [kernel-version](https://charmhub.io/sysconfig/configurations#kernel-version)
* [package\_status](https://charmhub.io/sysconfig/configurations#package_status)
* [raid-autodetection](https://charmhub.io/sysconfig/configurations#raid-autodetection)
* [reservation](https://charmhub.io/sysconfig/configurations#reservation)
* [resolved-cache-mode](https://charmhub.io/sysconfig/configurations#resolved-cache-mode)
* [sysctl](https://charmhub.io/sysconfig/configurations#sysctl)
* [systemd-config-flags](https://charmhub.io/sysconfig/configurations#systemd-config-flags)
* [update-grub](https://charmhub.io/sysconfig/configurations#update-grub)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* config-flags | string

  If extra lines need to be configured on /etc/default/grub
  (isolcpus) or /etc/systemd/system.conf (affinity), this string
  can be used as a list in yaml format.
  Sample:
  {'grub': 'key1=value1, key2=value2', 'systemd': 'key1=value1'}

  [DEPRECATED]: this option should no longer be used.
  Instead grub-config-flags and systemd-config-flags should be used.
* cpu-affinity-range | string

  Single pcpus (0,1,2) or range of pcpus (0-10)

  This will update /etc/systemd/system.conf and update the CPUAffinity
  variable with the option here
* cpu-range | string

  Single pcpus (0,1,2) or range of pcpus (0-10) to isolate (if
  isolcpus is selected) or reserve (if affinity is selected).
  Default value (empty) will make "reservation" work as if it was
  "off".

  [DEPRECATED]: this option should no longer be used.
  Instead isolcpus and cpu-affinity-range should be used.
* default-hugepagesz | string

  Size of default hugepage. Example: 1G
* enable-container | boolean

  Enable support for containers.
  For testing purpose only.
* enable-iommu | boolean

  If true and VT-d enabled in the BIOS, it will allow to use direct I/O
  bypassing DMA translation with pci-passthrough devices.
  Enable it to use SR-IOV
* enable-pti | string

  Allow enabling/disabling page table isolation, adding pti=on/off to grub cmdline
  Allowed values are 'on' or 'off'. Default is unset, to have the upstream
  configuration as the default.
* enable-tsx | boolean

  If true then tsx=on tsx\_async\_abort=off is passed on the grub command line. On
  all new kernel this is disabled by default, and this option will re-enable it.

  More information on the details can be found in the following URL:
  https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/TAA\_MCEPSC\_i915
* extra\_packages | string

  Space separated list of extra deb packages to install.
* governor | string

  Configured via cpufrequtils, possible values are:

  + '' (default): systemd will choose the first available between
    'ondemand', 'powersave', 'performance'.
    Recommended option when Bios control power is set to the OS.
  + 'performance'
  + 'powersave'

  On some architectures, cpufrequtils is not available.
  In these cases, this config option will be ignored.
* grub-config-flags | string

  If extra lines need to be configured on /etc/default/grub
  this string can be used as a list of key/value pairs
  'key1=value1,key2=value2'. If you want to add additional parameters to
  GRUB\_CMDLINE\_LINUX\_DEFAULT, then you need to include the existing items
  to avoid them being overwritten, for example
  grub-config-flags='GRUB\_CMDLINE\_LINUX\_DEFAULT="$GRUB\_CMDLINE\_LINUX\_DEFAULT
  nvme\_core.multipath=0'
  Also supports adding values with special characters in them(`$`, `=`, `,` etc.)
  but they need to be enclosed in double quotes. For example, grub-config-flags='GRUB\_CMDLINE\_LINUX\_DEFAULT="$GRUB\_CMDLINE\_LINUX\_DEFAULT
  console=ttyS0,115200 console=tty0",GRUB\_TIMEOUT=0'
* hugepages | string

  Number of hugepages. Example: 400
* hugepagesz | string

  Size of each hugepage. Example: 1G
* install\_keys | string

  List of signing keys for install\_sources package sources, per charmhelpers standard format (a yaml list of strings encoded as a string). The keys should be the full ASCII armoured GPG public keys. While GPG key ids are also supported and looked up on a keyserver, operators should be aware that this mechanism is insecure. null can be used if a standard package signing key is used that will already be installed on the machine, and for PPA sources where the package signing key is securely retrieved from Launchpad.
* install\_sources | string

  List of extra apt sources, per charm-helpers standard format (a yaml list of strings encoded as a string). Each source may be either a line that can be added directly to sources.list(5), or in the form ppa:<user>/<ppa-name> for adding Personal Package Archives, or a distribution component to enable.
* irqbalance-banned-cpus | string

  64 bit bitmask which allows you to indicate which CPU's should
  be skipped when reblancing irqs. CPU numbers which have their
  corresponding bits set to one in this mask will not have any
  IRQs assigned to them on rebalance
* isolcpus | string

  Single pcpus (0,1,2) or range of pcpus (0-10)
  isolcpus is a kernel cmdline parameter, and will append isolcpus to the grub command line with the option given here.
* kernel-version | string

  Upgrade kernel and modules-extra package to this version and add GRUB\_DEFAULT to
  /etc/default/grub to load the required kernel version. Does
  nothing if same kernel already running.
* package\_status | string

  Default: install

  The status of service-affecting packages will be set to this value in the dpkg database. Valid values are "install" and "hold".
* raid-autodetection | string

  Configure raid detection. Possible value are

  + '': (default) autodetection enabled if md module is compiled into the kernel
  + 'noautodetect': autodetection is disabled
  + 'partitionable': all auto-detected arrays are assembled as partitionable
* reservation | string

  Default: off

  Type of CPU reservation: isolcpus, affinity, off
  isolcpus is a kernel cmdline parameter
  affinity (CPU Affinity) is a systemd configuration parameter.
  Other processes inherit from systemd-system.conf
  off (default) disables any CPU reservation on host-side.

  [DEPRECATED]: this option should no longer be used.
  Instead isolcpus and cpu-affinity-range should be used.
* resolved-cache-mode | string

  Sets the "Cache" configuration value in /etc/systemd/resolved.conf. Valid
  values are '' (system default), 'yes', 'no', and 'no-negative'.
* sysctl | string

  YAML-formatted associative array of sysctl key/value pairs to be set
  persistently.

  eg. { kernel.max\_pid: 1337, net.ipv4.ip\_forward: 0 }
* systemd-config-flags | string

  If extra lines need to be configured on /etc/systemd/system.conf
  this string can be used as a list of key/value pairs
  'key1=value1,key2=value2'
* update-grub | boolean

  Allows the charm to run "update-grub" command if
  /etc/default/grub was changed.
  This is discouraged and by default it is disabled.
