Skip to content

Commit 5850f86

Browse files
authored
Merge pull request #578 from nautobot/release-v3.2.0
Release v3.2.0
2 parents 7709b45 + 7bd166d commit 5850f86

File tree

163 files changed

+18540
-1252
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

163 files changed

+18540
-1252
lines changed

.cookiecutter.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,16 @@
2121
"_drift_manager": {
2222
"template": "https://github.com/nautobot/cookiecutter-nautobot-app.git",
2323
"template_dir": "nautobot-app",
24-
"template_ref": "refs/tags/nautobot-app-v2.3.2",
24+
"template_ref": "refs/tags/nautobot-app-v2.4.0",
2525
"cookie_dir": "",
2626
"branch_prefix": "drift-manager",
2727
"pull_request_strategy": "create",
2828
"post_actions": [
29-
"black"
29+
"ruff",
30+
"poetry"
3031
],
31-
"draft": true,
32-
"baked_commit_ref": "022954d51f46c54813d3c8c81584a16f0faea1f5"
32+
"draft": false,
33+
"baked_commit_ref": "671ef8a64a7bc40e991ade1dd64560d734f122bc"
3334
}
3435
}
3536
}

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* @nautobot/plugin-ssot
33
/nautobot_ssot/integrations/aci/ @chadell @nautobot/plugin-ssot
44
/nautobot_ssot/integrations/aristacv/ @qduk @jdrew82 @nautobot/plugin-ssot
5+
/nautobot_ssot/integrations/bootstrap/ @bile0026 @nautobot/plugin-ssot
56
/nautobot_ssot/integrations/device42/ @jdrew82 @nautobot/plugin-ssot
67
/nautobot_ssot/integrations/infoblox/ @qduk @jdrew82 @nautobot/plugin-ssot
78
/nautobot_ssot/integrations/ipfabric/ @alhogan @nautobot/plugin-ssot

.github/workflows/ci.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- name: "Setup environment"
3838
uses: "networktocode/gh-action-setup-poetry-environment@v6"
3939
- name: "Linting: ruff"
40-
run: "poetry run invoke ruff"
40+
run: "poetry run invoke ruff --action lint"
4141
check-docs-build:
4242
runs-on: "ubuntu-22.04"
4343
env:
@@ -146,6 +146,10 @@ jobs:
146146
uses: "actions/checkout@v4"
147147
- name: "Setup environment"
148148
uses: "networktocode/gh-action-setup-poetry-environment@v6"
149+
- name: "Constrain Nautobot version and regenerate lock file"
150+
env:
151+
INVOKE_NAUTOBOT_SSOT_LOCAL: "true"
152+
run: "poetry run invoke lock --constrain-nautobot-ver --constrain-python-ver"
149153
- name: "Set up Docker Buildx"
150154
id: "buildx"
151155
uses: "docker/setup-buildx-action@v3"
@@ -172,9 +176,9 @@ jobs:
172176
- name: "Run Tests"
173177
run: "poetry run invoke unittest"
174178
changelog:
175-
if: |
179+
if: >
176180
contains(fromJson('["develop","ltm-1.6"]'), github.base_ref) &&
177-
(github.head_ref != 'main')
181+
(github.head_ref != 'main') && (!startsWith(github.head_ref, 'release'))
178182
runs-on: "ubuntu-22.04"
179183
steps:
180184
- name: "Check out repository code"

.github/workflows/upstream_testing.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ name: "Nautobot Upstream Monitor"
44
on: # yamllint disable-line rule:truthy rule:comments
55
schedule:
66
- cron: "0 4 */2 * *" # every other day at midnight
7+
workflow_dispatch:
78

89
jobs:
910
upstream-test:
1011
uses: "nautobot/nautobot/.github/workflows/plugin_upstream_testing_base.yml@develop"
1112
with: # Below could potentially be collapsed into a single argument if a concrete relationship between both is enforced
1213
invoke_context_name: "NAUTOBOT_SSOT"
13-
plugin_name: "nautobot-app-ssot"
14+
plugin_name: "nautobot-ssot"

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ This Nautobot application framework includes the following integrations:
3333
- Infoblox
3434
- IPFabric
3535
- Itential
36+
- Cisco Meraki
3637
- ServiceNow
3738

3839
Read more about integrations [here](https://docs.nautobot.com/projects/ssot/en/latest/user/integrations). To enable and configure integrations follow the instructions from [the install guide](https://docs.nautobot.com/projects/ssot/en/latest/admin/install/#integrations-configuration).
@@ -42,16 +43,19 @@ Read more about integrations [here](https://docs.nautobot.com/projects/ssot/en/l
4243
---
4344

4445
The dashboard view of the app.
46+
4547
![Dashboard View](https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/dashboard_initial.png)
4648

4749
---
4850

4951
The detailed view of the example data source that is prepackaged within this app.
52+
5053
![Data Source Detail View](https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/data_source_detail.png)
5154

5255
---
5356

5457
The detailed view of an executed sync.
58+
5559
![Sync Detail View](https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/sync_detail.png)
5660

5761
---
@@ -83,6 +87,7 @@ The SSoT framework includes a number of integrations with external Systems of Re
8387
* Cisco DNA Center
8488
* Infoblox
8589
* Itential
90+
* Cisco Meraki
8691
* ServiceNow
8792

8893
> Note that the Arista CloudVision integration is currently incompatible with the [Arista Labs](https://labs.arista.com/) environment due to a TLS issue. It has been confirmed to work in on-prem environments previously.

changes/536.housekeeping

Lines changed: 0 additions & 1 deletion
This file was deleted.

development/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,16 @@ WORKDIR /source
5454
COPY . /source
5555

5656
# Build args must be declared in each stage
57+
ARG NAUTOBOT_VER
5758
ARG PYTHON_VER
5859

59-
# Constrain the Nautobot version to NAUTOBOT_VER
60+
# Constrain the Nautobot version to NAUTOBOT_VER, fall back to installing from git branch if not available on PyPi
6061
# In CI, this should be done outside of the Dockerfile to prevent cross-compile build failures
6162
ARG CI
6263
RUN if [ -z "${CI+x}" ]; then \
6364
INSTALLED_NAUTOBOT_VER=$(pip show nautobot | grep "^Version" | sed "s/Version: //"); \
64-
poetry add --lock nautobot@${INSTALLED_NAUTOBOT_VER} --python ${PYTHON_VER}; fi
65+
poetry add --lock nautobot@${INSTALLED_NAUTOBOT_VER} --python ${PYTHON_VER} || \
66+
poetry add --lock git+https://github.com/nautobot/nautobot.git#${NAUTOBOT_VER} --python ${PYTHON_VER}; fi
6567

6668
# Install the app
6769
RUN poetry install --extras all --with dev

development/app_config_schema.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ def _main():
4040
**SchemaBuilder().to_json_schema(app_config), # type: ignore
4141
}
4242
app_config = import_module(package_name).config
43-
_enrich_object_schema(
44-
schema, app_config.default_settings, app_config.required_settings
45-
)
43+
_enrich_object_schema(schema, app_config.default_settings, app_config.required_settings)
4644
schema_path.write_text(json.dumps(schema, indent=4) + "\n")
4745
print(f"\n==================\nGenerated schema:\n\n{schema_path}\n")
4846
print(

development/creds.example.env

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,10 @@ NAUTOBOT_APIC_VERIFY_DEVNET=False
4848
SERVICENOW_PASSWORD="changeme"
4949

5050
IPFABRIC_API_TOKEN=secrettoken
51+
52+
NAUTOBOT_SSOT_ENABLE_BOOTSTRAP="False"
53+
NAUTOBOT_BOOTSTRAP_SSOT_ENVIRONMENT_BRANCH=develop
54+
NAUTOBOT_BOOTSTRAP_SSOT_LOAD_SOURCE=file # or git
55+
56+
MERAKI_ORG_ID='123456'
57+
MERAKI_TOKEN='vtx01710aa0fn452740055y1hs60ns8c107ho168'

development/development.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ NAUTOBOT_BANNER_TOP="Local"
77
NAUTOBOT_CHANGELOG_RETENTION=0
88

99
NAUTOBOT_DEBUG=True
10+
NAUTOBOT_LOG_DEPRECATION_WARNINGS=True
1011
NAUTOBOT_LOG_LEVEL=DEBUG
1112
NAUTOBOT_METRICS_ENABLED=True
1213
NAUTOBOT_NAPALM_TIMEOUT=5
@@ -93,6 +94,8 @@ NAUTOBOT_SSOT_INFOBLOX_USERNAME="changeme"
9394
NAUTOBOT_SSOT_INFOBLOX_VERIFY_SSL="True"
9495
# NAUTOBOT_SSOT_INFOBLOX_WAPI_VERSION=""
9596

97+
NAUTOBOT_SSOT_ENABLE_MERAKI="False"
98+
9699
NAUTOBOT_SSOT_ENABLE_SERVICENOW="False"
97100
SERVICENOW_INSTANCE=""
98101
SERVICENOW_USERNAME=""

0 commit comments

Comments
 (0)