diff options
author | zsdc <taras@vyos.io> | 2020-11-13 23:20:41 +0200 |
---|---|---|
committer | zsdc <taras@vyos.io> | 2020-12-25 17:32:44 +0200 |
commit | 1607eec32641ad93ea211e447336b3366c28de06 (patch) | |
tree | 05e93ae973201007b3d12933cd8e430afb889bdf /config | |
parent | 16783239ad2dd69c28b279b6027eba6c3ad6f05b (diff) | |
download | vyos-cloud-init-1607eec32641ad93ea211e447336b3366c28de06.tar.gz vyos-cloud-init-1607eec32641ad93ea211e447336b3366c28de06.zip |
User-Data: T2116: Added module to apply config commands at deployment
With the new `cc_vyos_userdata.py` module is possible to set in User-Data (`#cloud-config`) new parameter `vyos_config_commands`. This parameter should be a list of VyOS configuration commands that will be applied during deployment.
The module will run after the Meta-Data module `cc_vyos.py`.
Commands requirements:
- one command per line
- if command ending by value, it must be inside single quotes: `set some option 'value'`, `delete some option 'value'`
- a single-quote symbol is not allowed inside command or value
The commands list produced by the `show configuration commands` command on a VyOS router should comply with all the requirements, so it is easy to get a proper commands list by copying it from another router.
Usage example (User-Data content):
```
#cloud-config
vyos_config_commands:
- set system host-name 'demo123'
- set system ntp server 1.pool.ntp.org
- set system ntp server 2.pool.ntp.org
- delete interfaces ethernet eth2 address
- set interfaces ethernet eth2 address '192.0.2.1/24'
```
Diffstat (limited to 'config')
-rw-r--r-- | config/cloud.cfg.d/10_vyos.cfg | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/config/cloud.cfg.d/10_vyos.cfg b/config/cloud.cfg.d/10_vyos.cfg index 583c263c..da03d822 100644 --- a/config/cloud.cfg.d/10_vyos.cfg +++ b/config/cloud.cfg.d/10_vyos.cfg @@ -4,12 +4,7 @@ preserve_hostname: true # Do not change SSH password-based authentication settings ssh_pwauth: unchanged -# Example datasource config -# datasource: -# Ec2: -# metadata_urls: [ 'blah.com' ] -# timeout: 5 # (defaults to 50 seconds) -# max_wait: 10 # (defaults to 120 seconds) +# Configuring Azure datasource datasource: Azure: agent_command: [/usr/bin/python3, -u, /usr/sbin/waagent, -start] @@ -19,32 +14,31 @@ disable_vmware_customization: true # The modules that run in the 'init' stage cloud_init_modules: - - growpart - - resizefs_vyos + - growpart + - resizefs_vyos # The modules that run in the 'config' stage cloud_config_modules: - - vyos + - vyos + - vyos_userdata # The modules that run in the 'final' stage cloud_final_modules: - - runcmd - + - runcmd # System and/or distro specific settings # (not accessible to handlers/transforms) system_info: - # This will affect which distro class gets used - distro: debian - # Default user name + that default users groups (if added/used) - default_user: - name: vyos - # Other config here will be given to the distro class and/or path classes - paths: - cloud_dir: /opt/vyatta/etc/config/cloud/ - templates_dir: /etc/cloud/templates/ - upstart_dir: /etc/init/ - + # This will affect which distro class gets used + distro: debian + # Default user name + that default users groups (if added/used) + default_user: + name: vyos + # Other config here will be given to the distro class and/or path classes + paths: + cloud_dir: /opt/vyatta/etc/config/cloud/ + templates_dir: /etc/cloud/templates/ + upstart_dir: /etc/init/ # Set partitions info for the growpart module growpart: |