Compare commits
2 commits
extra-debu
...
main
Author | SHA1 | Date | |
---|---|---|---|
1a0107381b | |||
e0a94e68d9 |
6 changed files with 47 additions and 15 deletions
25
.forgejo/workflows/cd.yaml
Normal file
25
.forgejo/workflows/cd.yaml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
name: CD
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.13'
|
||||||
|
cache: 'pip'
|
||||||
|
|
||||||
|
- run: pip install -r requirements.txt
|
||||||
|
|
||||||
|
- run: python3 -m build
|
||||||
|
|
||||||
|
- run: twine upload dist/*
|
||||||
|
env:
|
||||||
|
TWINE_USERNAME: __token__
|
||||||
|
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
|
17
.forgejo/workflows/ci.yaml
Normal file
17
.forgejo/workflows/ci.yaml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
on: [ push ]
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.13'
|
||||||
|
cache: 'pip'
|
||||||
|
|
||||||
|
- run: pip install -r requirements.txt
|
||||||
|
|
||||||
|
- run: pylint --max-line-length=120 netbox_pve_sync
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.2.2] - 07/05/2025
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Use `NB_CLUSTER_ID` even for VM update.
|
- Use `NB_CLUSTER_ID` even for VM update.
|
||||||
|
|
|
@ -63,5 +63,5 @@ The following env variables will need to be set:
|
||||||
You can then execute the script using the following command:
|
You can then execute the script using the following command:
|
||||||
|
|
||||||
```
|
```
|
||||||
PVE_API_HOST=xx PVE_API_USER=xx PVE_API_TOKEN=xx PVE_API_SECRET=xx NB_API_URL=xx NB_API_TOKEN=xx python3 -m netbox_pve_sync
|
PVE_API_HOST=xx PVE_API_USER=xx PVE_API_TOKEN=xx PVE_API_SECRET=xx NB_API_URL=xx NB_API_TOKEN=xx nbpxsync
|
||||||
```
|
```
|
||||||
|
|
|
@ -220,10 +220,6 @@ def _process_pve_virtual_machine_network_interface(
|
||||||
_interface_vlan_id: Optional[int],
|
_interface_vlan_id: Optional[int],
|
||||||
_pve_virtual_machine_ip_addresses: dict,
|
_pve_virtual_machine_ip_addresses: dict,
|
||||||
) -> dict:
|
) -> dict:
|
||||||
print(
|
|
||||||
f'_process_pve_virtual_machine_network_interface(_nb_api, _nb_objects, {_nb_virtual_machine.serial}, {_interface_name}, {_interface_mac_address}, {_interface_vlan_id}, {_pve_virtual_machine_ip_addresses})'
|
|
||||||
)
|
|
||||||
|
|
||||||
nb_virtual_machines_interface = _nb_objects['virtual_machines_interfaces'] \
|
nb_virtual_machines_interface = _nb_objects['virtual_machines_interfaces'] \
|
||||||
.get(_nb_virtual_machine.id, {}) \
|
.get(_nb_virtual_machine.id, {}) \
|
||||||
.get(_interface_name)
|
.get(_interface_name)
|
||||||
|
@ -235,10 +231,6 @@ def _process_pve_virtual_machine_network_interface(
|
||||||
description=_interface_mac_address,
|
description=_interface_mac_address,
|
||||||
)
|
)
|
||||||
|
|
||||||
print(
|
|
||||||
f'_nb_api.virtualization.interfaces.create(virtual_machine={_nb_virtual_machine.id}, name={_nb_virtual_machine.name}, description={_interface_mac_address}) = {nb_virtual_machines_interface} ({nb_virtual_machines_interface.id})'
|
|
||||||
)
|
|
||||||
|
|
||||||
if _nb_virtual_machine.id not in _nb_objects['virtual_machines_interfaces']:
|
if _nb_virtual_machine.id not in _nb_objects['virtual_machines_interfaces']:
|
||||||
_nb_objects['virtual_machines_interfaces'][_nb_virtual_machine.id] = {}
|
_nb_objects['virtual_machines_interfaces'][_nb_virtual_machine.id] = {}
|
||||||
|
|
||||||
|
@ -254,10 +246,6 @@ def _process_pve_virtual_machine_network_interface(
|
||||||
assigned_object_id=nb_virtual_machines_interface.id,
|
assigned_object_id=nb_virtual_machines_interface.id,
|
||||||
)
|
)
|
||||||
|
|
||||||
print(
|
|
||||||
f'_nb_api.dcim.mac_addresses.create(mac_address={_interface_mac_address}, assigned_object_type=virtualization.vminterface, assigned_object_id={nb_virtual_machines_interface.id}) = {nb_mac_address}'
|
|
||||||
)
|
|
||||||
|
|
||||||
_nb_objects['mac_addresses'][_interface_mac_address] = nb_mac_address
|
_nb_objects['mac_addresses'][_interface_mac_address] = nb_mac_address
|
||||||
|
|
||||||
nb_virtual_machines_interface.primary_mac_address = nb_mac_address.id
|
nb_virtual_machines_interface.primary_mac_address = nb_mac_address.id
|
||||||
|
|
|
@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "netbox-pve-sync"
|
name = "netbox-pve-sync"
|
||||||
version = "0.2.1"
|
version = "0.2.2"
|
||||||
authors = [
|
authors = [
|
||||||
{ name = "Aloïs Micard", email = "alois@micard.lu" },
|
{ name = "Aloïs Micard", email = "alois@micard.lu" },
|
||||||
]
|
]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue