Skip to content

nautobot_server

Collection Note

This module is part of the networktocode.nautobot collection. To install the collection, use:

ansible-galaxy collection install networktocode.nautobot
Added in version 3.0.0.

You need further requirements to be able to use this module, see the Requirements section for details.

Synopsis

  • Manages Nautobot Server using the C(nautobot-server) application frontend to C(django-admin). With the C(virtualenv) parameter
  • all management commands will be executed by the given C(virtualenv) installation.

Requirements

The following Python packages are needed on the host that executes this module:

Parameters

Parameter Defaults / Choices Comments
args
dict
A dictionary of the optional arguments and their values used together with the command. This translates {"name_arg": "value_arg"} to "--name_arg value_arg".
command
str
required
The name of the Nautobot management command to run. Some command fully implemented are: C(createsuperuser), C(migrate), C(makemigrations), C(post_upgrade) and C(collectstatic). Other commands can be entered, but will fail if they're unknown to Nautobot or use positional arguments. The module will perform some basic parameter validation, when applicable, to the commands.
db_password
str
Database password used in Nautobot.
db_username
str
Database username used in Nautobot.
flags
list / elements=str
A list of flags to append to the command that is passed to C(nautobot-server), so that ["flag1", "flag2"] is translated to "--flag1 --flag2".
positional_args
list / elements=str
A list of additional arguments to append to the end of the command that is passed to C(nautobot-server).
These are appended to the end of the command, so that ["arg1", "arg2"] is translated to "arg1 arg2".
project_path
path
Default: /opt/nautobot
The path to the root of the Nautobot application where B(nautobot-server) lives.
pythonpath
path
A directory to add to the Python path. Typically used to include the settings module if it is located external to the application directory.
settings
path
The Python path to the application's settings module, such as 'myapp.settings'.
virtualenv
path
An optional path to a I(virtualenv) installation to use while running the nautobot-server application.

Notes

Note

  • Inspired from Django_manage (U(https://github.com/ansible-collections/community.general/blob/main/plugins/modules/web_infrastructure/django_manage.py)).
  • To be able to use the C(collectstatic) command, you must have enabled staticfiles in your nautbot_config.py.
  • Your C(nautobot-server) application must be executable (rwxr-xr-x), and must have a valid shebang.

Examples

- name: Createsuperuser
  networktocode.nautobot.nautobot_server:
    command: "createsuperuser"
    args:
      email: "[email protected]"
      username: "superadmin7"
    db_password: "{{ db_password }}"
- name: Collectstatic
  networktocode.nautobot.nautobot_server:
    command: "collectstatic"
    db_password: "{{ db_password }}"
- name: Post Upgrade
  networktocode.nautobot.nautobot_server:
    command: "post_upgrade"
- name: Make Migrations for Plugin
  networktocode.nautobot.nautobot_server:
    command: "makemigrations"
    positional_args: ["my_plugin_name"]
    db_password: "{{ db_password }}"
- name: Migrate Plugin
  networktocode.nautobot.nautobot_server:
    command: "migrate"
    args:
      verbosity: 3
    flags: ["merge"]
    positional_args: ["my_plugin_name"]
    db_username: "{{ db_username }}"
    db_password: "{{ db_password }}"

Return Values

Key Data Type Description Returned
changed bool Boolean that is true if the command changed the state. always
cmd str Full command executed in the Server. always
out str Raw output from the command execution. always
project_path str The path to the root of the Nautobot application where B(nautobot-server) lives. always

Authors

  • Network To Code (@networktocode)