File orthos2.changes of Package orthos2
------------------------------------------------------------------- Fri Aug 15 09:34:13 UTC 2025 - Enno Gotthold <egotthold@suse.com> - Update to version 1.6.0+git.0b0cd07: * CLI: Remove manpage from RPM-SPEC * Frontend: Fix stacktraces in the logs of orthos-testing * Taskmanager: Fix URL in reservation mail * Docs: Update admin guide to current implementation details * Make netbox_last_fetch_attempt read-only in admin UI * Docs: Add NetBox Comparison Runs documentation * Frontend: Fix bug that network interface names were omited * Enclosure: Support unracked devices for NetBox sync * Docs: Add first draft of the user documentation for Enclosures * Docs: Update copyright year * Docs: Add note that account creation may not be visible * Docs: Add page for adding machines in the frontend * Docs: Adjust landing page and machine page to current feature set * Frontend: Fix redirects and permission checking * Docs: Add subsections to landing and machine page * Docs: Fix linking to websockets topic * Docs: Fix development setup list indentation * Docs: Include development setup document * Docs: Split userguide into dedicated documents * Docs: Remove CLI documentation * Enclosure: Make netbox_last_fetch_attempt read-only * Add Enclosure CRUD views * Enclosure: Fix setting location from NetBox API * Prettier: Install Jinja Plugin * Frontend: Add hints if comparison is current * Frontend: Display if compared data is equal * Models: Fix exceptions during fetch_netbox * Docker: Get rid of partly complete env files * Frontend: Increase display of empty or null values * Frontend: Create list and detail views for NetboxOrthosComparisonRun and Result * Frontend: Switch to explicit view re-exports * Add test for migration * BMC: Fixup fence_agent clean method * RemotePowerTypes: Fixup migration to set known fence agents instead of dummy * Netbox: Enable methods to work with VMs * Frontend: Disable comparison UI for enclosures if NetBox ID is zero * Add timezone to comparison run * Add docstring to compare_netbox methods * RemotePower: Fix issue checking if a machine has a BMC * RemotePowerTypes: Fix ForgeinKey error * RemotePowerTypes: Remove section in default config * NetBox: Add per-machine comparison view * Machine: Don't attempt to create Domain * Remove network machinechecks * Import missing NetworkInterfaces from NetBox * Fetch network interfaces from NetBox * Frontend: Added prefix to inline Django reverse URL template * Frontend: Remove comparison with deprecated field * CI: Remove waiting on Cobbler * Virtualization: Get rid of reverse inheritance * Re-Introduce RemotePowerType model for fence agents * Add django-test-migrations as test dependency * Remove vendors.json fixture * Add type hints according to pyright suggestions * CI: Specify type stub version to match Django 4.2 * Update Django to 4.2.11 * Frontend: Add NetBox-powered AddMachine view * Frontend: Show NetBox URL if netbox_id field is set * Machine: Add netbox_id field to allow syncing of data * Docker: Fix secret generation * Taskmanager: Fix typos in models * Docker: Use network ready check for NetBox postgresql * CLI: Use new env var for superuser password * CI: Use new script to generate secrets * Docker: Introduce secrets generator script * Docker: Add Traefik to proxy WebUIs * Fetch location from NetBox instead of Racktables * ServerConfig: Remove racktables.url.query * Settings: Add Netbox URL and Token * CI: Use local NetBox instance * Docker: Setup Netbox script * Docker: Add NetBox files for compose * Netbox: Initial add of helper code * Data: Fix typing issues reported by pyright * Meta: Mark scripts as bashscripts * Taskmanager: Fix typing issues reported by pyright * Utils: Fix typing issues reported by pyright * API: Fix typing issues reported by pyright * Docker: Fixup BMC script pyright issues * CLI: Fix typing issues reported by pyright * Remotepowertype: Fix typo * Frontend: Split forms module * Utils: Fix issue with missing typing for from_addr * Frontend: Add buttons to implement regenerate functionality * Frontend: Display list view with invalid fence agents * Frontend: Split view module * Enclosure: Fix spelling * Meta: Don't break on existing folders * Docker: Allow taskmanager to start * Docker: Use network healthcheck * Add favicon * CI: Upload coverage to Codacy * Meta: Add --skip-chown flag * SPEC: Increase macro usage for a more flexible build * Remove test fixtures from packaging and docs * SPEC: Switch to systemd-sysusers * Docker: Install Ansible files into taskmanager container * Meta: Introduce new app to setup the application * ServerConfig: Return default datetime of midnight * Settings: Turn off file logging per-default * Settings: Use env vars to configure DB * Docker: Add git to Leap 15.6 dockerfile * CI: Create env files * Taskmanager: Start without ServerConfig * Docker: Containerize taskmanager * Ignore: Add Docker env files * Settings: Remove ORTHOS_USER check * Allow executing dmidecode for aarch64 * Fix duplicate IP address detected * Admin: Skip is in network check for administrative machines * Docker: Flush DB in case fixture is important * Verify that new and old Machine have remotepower * Admin: Fix missing tftp_server field * Tests: Don't use format strings for IP and MAC outside of loop * Tests: Add host IP suggestion tests * Misc: Improve host IP suggestion logic * Remove hostnamefinder Django Admin command * Remove hardcoded default values * Migrations: Add initial data * CI: Use ubuntu-latest for isort * Cobbler: Recognize multiple network interfaces * Remove requirement for DNS to exist before machine is created * Docker: Migrate test dump for devel server * Fix JSON fixture formatting * Add prettier configuration * CI: Introduce Prettier * Data: Add missing DateTime migration * Ignore: Ignore django test fixtures * Tests: Add Cobbler coverage * Tests: Fix info timezone test * Cobbler: Add support for removing serial console, BMC and power options * Cobbler: Remove dead code that is present in cobblerd ------------------------------------------------------------------- Wed Mar 26 12:50:50 UTC 2025 - egotthold@suse.com - Update to version 1.5.0+git.56d9fde: * API: Fix reserved_until infinite bug * API: Add test case for info endpoint and serializer * Fixtures: Fix updated and created timestamps * Machine: Re-add "BareMetal" to ppc64/ppc64le * Cobbler: Allow the BMC both the IPv4 and IPv6 address to be optional * Models: Fix username key in the meta dictionary * API: Restore get_status_ipv4/6() methods * Create CODE_OF_CONDUCT.md ------------------------------------------------------------------- Thu Mar 13 07:27:25 UTC 2025 - egotthold@suse.com - Update to version 1.4.0+git.97ef4f6: * Create CODE_OF_CONDUCT.md * Create SECURITY.md * Create CONTRIBUTING.md * ServerConfig: Return default instead of None for script directories * Ansible: Skip dmidecode fact collection on non x86 hardware * Serialconsole: Make ipmi username and password optional * Cobbler: Add DNS name for BMCs * Remotepower: Improve stability of status power action * Cobbler: Workaround for task status bug * Cobbler: Don't create new system for existing ones * Cobbler: Require login for power switching * Machine: Get rid of assert statements * Machine: Check if cscreen server is set * Cobbler: Use default profile for setup * Taskmanager: Fix arguments for SetupMachine * Taskmanager: Add default for non-existing key * ServerConfig: Allow default value for bool_by_key * Machine Details: Remove superfluous dots * systemd: Skip bash script for taskmanager * Cobbler: Remove interface_master property for interface * Cobbler: Move object ID to method arguments * Cobbler: Throw error if default profile doesn't exist on Cobbler * Cobbler: Remove SSH exception from XML-RPC logic * Cobbler: Add missing authentication to get_system_handle * Admin: Remove custom empty Django Admin * Search: Fix incorrect implementation of choice callables * Views: Add default welcome message * Orthos-Admin: Migrate to Python 3.11 * Docs: Fix TOC of adminguide * Switch to Gunicorn * Remove debug systemd service * SPEC: Fixes to build on SLES and TW at the same time * Add terminado and tornado as requirements * Server: Linter cleanup * Requirements: Add types for paramiko * CI: Require mypy for server to pass * CI: Update workflows to Python 3.11 * CLI: Use map to decide which response class is instantiated * Requirements: Add types for pexpect * CI: Enforce mypy in strict mode for the CLI * CLI: Linter cleanup * Apply black format to the CLI * CI: Enable black for the CLI * CLI: Fix pylint warnings * CI: Enable pylint for the CLI * pylint: Remove all default values * CI: Run pylint on the complete project * pylintrc: remove obsolete and unkown options * remove bogus attempt to lock cscreenrc * Fix syntax error in dmidecode * Tasks: Restart cscreend server after config deployment * Frontend: Fix power cycle bug * Docker: Add secondary leap based test container * Enable Orthos to run on with Django 5 * Compose: Fixed unit-tests * Tests: Move to built-in mock * CI: Switch to docker based testing * Cobbler: Replace SSH with XML-RPC API calls * SPEC: Update Django to 4.2 or greater * CI: Update indentation of trigger_services * SPEC: Update version to 1.4 * CI: Add workflow file to update packages * CLI: Fix setup and shebang * CLI: Rename specfile to match OBS name * SPEC: Add typing_extensions for asgiref * Docker: Add python3-pytz for CLI testing * Docker: Auto-Import GPG keys for BMC dockerfile * Admin: Remove architecture filter * pylint: Fix imports * Blacken code of repo * CI: Add black * Docs: Add notes about the configuration file format * API: Fix default selection of kernel device * Data: Add fence_agent to display columns * Settings: Add default REMOTEPOWER_TYPES * Forms: Fixup RemotePowerDeviceAPIForm * SPEC: Use autosetup macro * Forms: Match KVM as a word and not as a complete type * Virt API: Handle missing ServerConfig key * Add typing requirements * CI: Switch to black profile * API: Add correct authentication to BMC add * Forms: Add constructor to BMC * Docs: Add BMC command for CLI * Tests: Splitup file and add multiple ones * Fixtures: Add for new test * Fixtures: Add virt_api_int to test machine * Ingore: Add vscode directory * Hostnamefinder: Add typing * Hostnamefinder: Fix import * CI: Execute integration tests * Docker: Add test docker-compose * Tests: Initial of integration tests * CLI: Add specfile * CI: Introduce mypy optionally * Admin: Fix bug that network switches can't select any architecture * Revert "Sconsole: Switch from _cscreen to cscreen user" * Sconsole: Switch from _cscreen to cscreen user * Docker: Give fixture example * Tests: Fixup for multiple django fixtures * RTD: Fixup config according to new schema * Requirements: Upgrade Django to 4.2 LTS * Admin - Display Add/Change page faster * Utils: SSH - Add typing annotations * Cobbler: Add typing annotations * Utils: SSH - Remove manual debug code ------------------------------------------------------------------- Thu Oct 12 06:51:37 UTC 2023 - egotthold@suse.com - Update to version 1.3.0+git.16207aa: * Remove "makemigrations" from Orthos2 setup * Migrations: Initial add * SPEC: Remove old symlinks * Tests: Fixup machine admin view * Misc: Type annotations * Signals: Type annotations * Models: Type annotation * Cobbler: Add type annotation * Remotepowerdevice: Fixup model * Tests: Fixup login tests * Views: Add missing prefix * Tests: Fixup Cobbler tests * Fix: Machine change form arch system dropdown filter * Templates: Fixup untested path * Docker: Extend README * Use package_data for shipping files * SPEC: Fixup unitdir macro usage * Data: Models - Fixup get_by_natural_key * Tests: Fixup fixture path * Tests: Fixup JSON fixtures * Docker: Add development container * Tests: Fixup mock path * Loosen required runtime user account check * manage.py: Add executable bit * CI: Fixup test workflow inside GH Actions * Tests: Add coverage to required devel tools * CI: Fixup "django-check" inside GH Actions * Fixup pycodestyle linter errors * CI: Streamline linter workflow & add django-admin * CI: Execute CI in more cases * fix: fix that platforms can't be assigned to machines * fix: move change_form.html to fix rpm install * fix: Add remaining arch system mappings * fix: run isort on remaining files * fix: Remove unsupported cobbler_server from django admin panel * Refactor Domain-CobblerServer relationship to 0:1 * Fix circular import (#201) * IPv4 and IPv6 internal machine object attribute needs updating when moving domain * Use get on clean_data dictionary and consistently remove self when using the variable * ci: Add isort linter to github actions * fix: Run isort for more idiomatic imports * Add architecture validation to machine admin panel * Implement naive FQDN Change * Add cobbler stdout message to logger errors * Save one call to get_primary_networkinterface() * Correctly store and show amount of CPU sockets, cores and threads * Fix debug server systemd script * Fix django dependency * Add documentation to serverconfigs * Remove old scripts and introduce /usr/bin/orthos-admin * Also enable code checking on pull requests * Fix pycodingstyle issues * Split pycodingstyle and pylint jobs * Fix pylint issues * Add pycodingstyle to pylint and rename it to Coding Style * Only exclude own network interfaces if the instance already has an primary key * Use short hostname in orthos_debug serivce file * Merge * [pycodingstyle] Fix all... * [pycodingstyle] make files pycodingstyle clean * [pycodingstyle] orthos2/utils/remote.py clean * [pycodestyle] ./orthos2/data/management/commands/dump_db.py clean * [pycodestyle] Fix: E301 expected 1 blank line, found 0 * [pycodestyle] Fix: E302 expected 2 blank lines, found 1 * [pycodestyle] orthos2/frontend/views.py clean now * [pycodestyle] max line length 120 * [pycodestyle] docs/conf.py clean now * [pycodesytle] E114 indentation is not a multiple of 4 (comment) * Remove old dump db script * Use quotes in python version github action and use v2 action * Rename bashrc.sh to server_init.sh and add nginx to orthos user change * Add hostname finder utility via script * Show id in info <machine> command * Fix up dots in button titles * Fix E0602: Undefined variable 'InfoCommand' (undefined-variable) * Only test python 3.10 * Fix too early touching of data_serverconfig key * Introduce getException in api/commands/base.py * Add whole info command path into exception handling * Add whole info command path into exception handling * Delete secondary MAC adresses if MAC got changed/modified by user * Add reworked Django script dump_db * Check if_valid() before touching cleaned_data or it may not exist * Properly format settings and settings.py * Collection of recent fixes * Add systemd auto-restart hooks to service files of orthos2 and orthos2_taskmanager * Fix memory multiply by 1024 * Allow machine name into URL * Properly implement rpower and platform into query command * Check for existing previous BMC before comparing its username * Add python3-django BuildRequires * Several VM fixes and default value adoptions * Enhance orthosrc with pre-defined aliases * Revert orthos2_docs_nginx.conf again * Add undefined-variable to .pylintrc * Fix machine bugs * Get image install directory via ServerConfig key * Several virtualization fixes * Remove shebang from utils/remote.py and add description how to use if for testing * Fix not existing attribute usage timezone.ZERO in task RegenerateMotd * Update serial console server on BMC user/pass modifications * Set default serial device fro powerpc to hvc * Enhance saver() machine checks to properly update serial console and BMC * Do not allow renaming of machines * Make use of ssh shell call instead of paramiko lib in machinechecks.py * Add remote.py (ssh/scp) to replace paramiko python3 ssh library usage * Add remote.py (ssh/scp) to replace paramiko python3 ssh library usage * Properly update and also remove in empty case ipv6 and other machine options * Properly fix port checking for remote power devices * 'W0611' is cryptic: use '# pylint: disable=unused-import' instead * Fix wrong import order * Fix one bracket too much bug * Fix: orthos2.noarch: E: non-executable-script * orthos2.noarch: W: tmpfile-not-in-filelist /run/orthos2/ansible_lastrun * orthos2.noarch: E: zero-length /usr/lib/python3.8/site-packages/orthos2/utils/models.py * Remove not needed lintrc line * Signal() does not have providing_args attribute in constructor anymore * Use url_has_allowed_host_and_scheme instead of deprecated is_safe_url * Convert old django.conf.url import to new django.url * Remove wrong or unused translation bits and imports * Enhance command line client documentation * If no profile to install is provided, just install the assigned profile * Introduce autoreinstall machine attribute * BMC password field must be a password field. * Remote power device username/pass is mandatory, pass must be a password field * Provide default/fallback arguement for ServerConfig.by_key similar to dict.get * Fix: orthos2.noarch: E: non-executable-script * orthos2.noarch: W: tmpfile-not-in-filelist /run/orthos2/ansible_lastrun * orthos2.noarch: E: zero-length /usr/lib/python3.8/site-packages/orthos2/utils/models.py * Remove not needed lintrc line * Signal() does not have providing_args attribute in constructor anymore * Use url_has_allowed_host_and_scheme instead of deprecated is_safe_url * Convert old django.conf.url import to new django.url * Remove wrong or unused translation bits and imports * Add URL field to power device to find WebGUI for configuration * Add new use_hostname_as_port fence option * Add per machine cobbler sync * Enhance command line client documentation * Do not hard code ansible key, this comes from /usr/lib/orthos2/ansible/ansible.cfg * Show "All Machines" not only to superuser, but to all users * We need a title for the cli manpage * Add commandline.rst to doc directory again * Remove suse specifics * Add example orthosrc * Fix regenerate cobbler help -> remove left over * Fix indentation introduced by recent ansible lock fix * sort serial console types in the cli * Always allow to run ansible scan -> fix deadlock * enabled the 'bad-indentation' warning, and made according fixes * enabled the 'missing-format-argument-key' warning and made according fixes * enabled the 'logging not lazy' warning and made according fixes * Enabled the superfluous-parens warning, and made according fixes * enabled line-to-long warning, and shortened lines accordingly. * Enabled wrong-import-order warning and sorted imports accordingly * Switched to lazy %s formating for logging * reenabled some pylint warnings * fixed a comprehension-escape error * Fix HINT: Configure the DEFAULT_AUTO_FIELD setting warning ------------------------------------------------------------------- Tue Oct 10 15:19:38 UTC 2023 - egotthold@suse.com - Update to version 1.2.0+git.9d153cd: * ------------------------------------------------------------------- Wed Oct 27 16:49:16 UTC 2021 - trenn@suse.de - Update to version 1.2.0+git.9d153cd: * Calm down pylint by removing unused exception variable * include SyncCobblerDHCP in tasks init.py * Enable and fix unused-variable via pylint * Catch Token.DoesNotExist exception at first token generation * Add missing sync_dhcp signal * Removed unsed imports detected by pylint * Create serial console entries for all domains served by a specific console server * Add config command to show current connection stats * Rework dump script - Use primary keys for only fresh database installation * Fix again wrong attr on ansible directory, just use defattr declared one line above * Diplay the screen command in the admin interface * Further enhance dump script * Natural keys must be tuples * Add pylint CI workflow * Create pylint.yml * Add unique natural keys to be able to dump db table without fixed primary key * Catch exception in add_machine if hypervisor does not exist * client: Properly catch Exception on server side * Add missing import in client * Tiny fixups * Show logged in user in command prompt * Do not enforce username, token is enough * Pass username in initial API response * Introduce new client parameter: -c/--config to pass an addtional orthosrc config file * Ask client in add_machine for arch, system and group as ordered lists * Make orthos2_debug systemd service file hostname independent * Enhance documentation * Move user orthosrc file to ~/.config/orthosrc * Only show non-administrative machine in free machines list * Add not fully finished dump_test_db script and README for Django scripts * Enhance ansible scanning * Add ssh configs to ansible and fix wrong inventory template for multiple hosts * Provide ordinary users with "(Re-)Create token" functionality via user preferences * Do not allow password change in ldap case * Enhance documentation * Move user orthosrc file to ~/.config/orthosrc * Use PositiveSallIntererfield for kernel_device_num * Don't delete data for 'Command' sconsoles * Only show non-administrative machine in free machines list * Add not fully finished dump_test_db script and README for Django scripts * Enhance ansible scanning * Provide ordinary users with "(Re-)Create token" functionality via user preferences * Do not allow password change in ldap case * Always try to use ssl connection and complain/warn if none ssl is chosen * Set default port to 80, not 8000 * Add python3-ldap (Build)Requires: (used in settings.py) * Apply possible database migrations and create static html files from templates in rpm post section ------------------------------------------------------------------- Wed Oct 06 09:11:58 UTC 2021 - trenn@suse.de - Update to version 1.0.95+git.3b665ad: * In case of wrong password, do not ask to reset it if AUTH_ALLOW_USER_CREATION is not set ------------------------------------------------------------------- Mon Oct 04 18:06:14 UTC 2021 - trenn@suse.de - Update to version 1.0.90+git.0a104f7: * Remove client from spec file * Avoid error site if removal of VM on hypervisor was not successful, just log it * Correct jira email queue address for report problem button ------------------------------------------------------------------- Wed Sep 29 10:49:57 UTC 2021 - trenn@suse.de - Update to version 1.0.82+git.c4dca3b: * Building docs needs python-Sphinx ------------------------------------------------------------------- Wed Sep 29 10:05:13 UTC 2021 - trenn@suse.de - Update to version 1.0.80+git.34274bf: * fix build ------------------------------------------------------------------- Wed Sep 29 09:26:18 UTC 2021 - trenn@suse.de - Update to version 1.0.77+git.ea9e51a: * Remove python-django from build requires, but Require django 3.2 for installation ------------------------------------------------------------------- Wed Sep 29 08:46:08 UTC 2021 - trenn@suse.de - Update to version 1.0.73+git.d0402ef: * Add orthos2_debug (manage.py runserver) as systemd service * Adoption to new cobbler (next-server-v4 and dns-name options) * Some ansible fixups * also rename type -> stype in the api form * Check for BMC existence before accessing * console= kernel parameter fixes passed to cobbler * Open documentation, bugzilla and download cli links in new browser tab * Improved Cobbler sync * Refactoring: Use object.get instead of object.filter for nicer error handling * Add rpmlintrc file to spec Sources * Whitespace Correction * Actually save te fence agent in the AddRemotePowerDevice command * Renamed rpower_power_device query field to rpower_device * Added a delete command for Remotepowerdevices * Set required=False for unknown_mac * fix: Satisfy RPMlinter * Add orthos documentation on port 9000 * Fix validation in add machine admin form * Fix typo in Exception * Fix typo in exception which got recently introduced * Enable serial console task signaling again * Also allow entering of machines without MAC via comandline * Default 'hypervisor' to 'none' in add command * Lots of ansible enhancements * Correctly parse IBM Bios dates with NA string * Fix ram size * Separate virtualization_api into int and object variable ------------------------------------------------------------------- Tue Jul 13 04:45:36 UTC 2021 - trenn@suse.de - Update to version 1.0.28+git.1626092383.b0e7369: * Remove created and updated database fields from serverconfig and others ------------------------------------------------------------------- Tue Jul 13 03:54:28 UTC 2021 - trenn@suse.de - Update to version 1.0.26+git.1626092383.b0e7369: * Add python3-psycopg2 (python postgres lib) to Requires ------------------------------------------------------------------- Mon Jul 12 12:34:24 UTC 2021 - Thomas Renninger <trenn@suse.de> - Enhance _service file to always fetch latest master