Giter Site home page Giter Site logo

fedora-iot / zezere Goto Github PK

View Code? Open in Web Editor NEW
58.0 58.0 33.0 1.63 MB

Zezere is a provisioning service for Fedora IoT. It can be used for deploying Fedora IoT to devices without needing a physical console.

License: MIT License

Python 93.42% HTML 5.97% Shell 0.46% Dockerfile 0.15%

zezere's People

Contributors

adamwill avatar nullr0ute avatar puiterwijk avatar rdotjain avatar tomastomecek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zezere's Issues

Add possibility for non-envvar based configuration

While the container use case with gunicorn uses environment variables from the container platform for more traditional users we should provide a zezere.conf for apache to install to /etc/httpd/conf.d with defaults and other documented options commented out to make it easier for people to get started.

Ability to claim device via a unique code

In a lot of cases IoT devices won't appear on the same network/IP as the person logged into the management UX.

The ability to provide a unique generated ID on the display/console that a user can enter into the management UX to claim the device would be useful.

It might be useful to make this expandable to add different/multiple means of providing the ability to do this different ways. QCode and NFC via an app are other ideas that come to mind.

Maintenance and development status

I see that there have been no substantial commits on this project for two years. What is the status of this project's development? Is it still under development as the README claims? Is the project in need of maintainers?

Development Installation Proccess

While trying to set up the IOT for testing I ran into several issues with mod-wsgi and psycopg2, noticed it will be better to set up psycopg2-binary and mod-wsgi. I would like to know these changes can be made, and a developer install guide is added

Special casing of default QEMU MAC address

I managed to compose and boot an Fedora IoT like image via osbuild (yay). When I booted it I was suprised to find that an ssh key got provisioned via zezere-ignition. This is of course because the qemu uses one very specific mac address (52:54:00:12:34:56) as the default if non is specified (qemu net/net.c:182).

I think it would make sense to special case that MAC address. Maybe set the root password to a well known one, or require a token for that MAC address (like in issue #54).

[   32.379983] zezere-ignition[811]: INFO     : Ignition 2.2.1
[   32.380961] zezere-ignition[811]: INFO     : Stage: fetch
[   32.381654] zezere-ignition[811]: INFO     : reading system config file "/usr/lib/ignition/base.ign"
[   32.382636] zezere-ignition[811]: INFO     : no config at "/usr/lib/ignition/base.ign"
[   32.383773] zezere-ignition[811]: DEBUG    : parsed url from cmdline: ""
[   32.384571] zezere-ignition[811]: INFO     : no config URL provided
[   32.385354] zezere-ignition[811]: INFO     : reading system config file "/usr/lib/ignition/user.ign"
[   32.386324] zezere-ignition[811]: INFO     : no config at "/usr/lib/ignition/user.ign"
[   32.387456] zezere-ignition[811]: INFO     : using config file at "/tmp/zezere-ignition-config-207rzhn4.ign"
[   32.388618] zezere-ignition[811]: DEBUG    : parsing config with SHA512: 03362215218551e13ca5128b2fc167dea1be823ff6a1b9b099a1d33b61c1e56be637fd13a47bc57966e8b76b2a1a6d8eb0d2a9e120897e1d9798b5c36ddca757
[   32.392943] zezere-ignition[811]: INFO     : GET https://provision.fedoraproject.org/netboot/x86_64/ignition/52:54:00:12:34:56: attempt #1
[   32.771984] zezere-ignition[811]: INFO     : GET result: OK
[   32.776870] zezere-ignition[811]: DEBUG    : fetched referenced config at https://provision.fedoraproject.org/netboot/x86_64/ignition/52:54:00:12:34:56 with SHA512: e1e98e22de4283245568a1cac4999f080025a2f7fae97eb8d655962c579e73bcb2b46e3a71825c64f957ab7eacc84bcef4f68d32eb7f53c3a30bf32fc5d62b84
[   32.798113] zezere-ignition[811]: WARNING  : warning at $.ignition.config.merges, line 1 col 46: Unused key merges
[   32.823535] zezere-ignition[811]: INFO     : fetch: fetch complete
[   32.826372] zezere-ignition[811]: INFO     : fetch: fetch passed
[   32.828564] zezere-ignition[811]: INFO     : Ignition finished successfully
[   32.848494] zezere-ignition[816]: INFO     : Ignition 2.2.1
[   32.851747] zezere-ignition[816]: INFO     : Stage: disks
[   32.852989] zezere-ignition[816]: INFO     : reading system config file "/usr/lib/ignition/base.ign"
[   32.854551] zezere-ignition[816]: INFO     : no config at "/usr/lib/ignition/base.ign"
[   32.857755] zezere-ignition[816]: INFO     : disks: disks passed
[   32.859102] zezere-ignition[816]: INFO     : Ignition finished successfully
[   32.877105] zezere-ignition[821]: INFO     : Ignition 2.2.1
[   32.878287] zezere-ignition[821]: INFO     : Stage: mount
[   32.879419] zezere-ignition[821]: INFO     : reading system config file "/usr/lib/ignition/base.ign"
[   32.880970] zezere-ignition[821]: INFO     : no config at "/usr/lib/ignition/base.ign"
[   32.883847] zezere-ignition[821]: INFO     : mount: mount passed
[   32.884979] zezere-ignition[821]: INFO     : Ignition finished successfully
[   32.899478] zezere-ignition[826]: INFO     : Ignition 2.2.1
[   32.901771] zezere-ignition[826]: INFO     : Stage: files
[   32.903407] zezere-ignition[826]: INFO     : reading system config file "/usr/lib/ignition/base.ign"
[   32.904822] zezere-ignition[826]: INFO     : no config at "/usr/lib/ignition/base.ign"
[   32.909160] zezere-ignition[826]: INFO     : files: createUsers: op(1): [started]  creating or modifying user "root"
[   32.910668] zezere-ignition[826]: DEBUG    : files: createUsers: op(1): executing: "usermod" "--root" "/" "root"
[   32.925344] zezere-ignition[826]: INFO     : files: createUsers: op(1): [finished] creating or modifying user "root"
[   32.927007] zezere-ignition[826]: INFO     : files: createUsers: op(2): [started]  adding ssh keys to user "root"
[   32.930316] zezere-ignition[826]: INFO     : files: createUsers: op(2): [finished] adding ssh keys to user "root"
[   32.933782] zezere-ignition[826]: INFO     : files: op(3): [started]  relabeling 9 patterns
[   32.935544] zezere-ignition[826]: DEBUG    : files: op(3): executing: "setfiles" "-vFi0" "-r" "/" "/etc/selinux/targeted/contexts/files/file_contexts" "-f" "-"
[   32.942152] zezere-ignition[826]: CRITICAL : files: op(3): [failed]   relabeling 9 patterns: exit status 255: Cmd: "setfiles" "-vFi0" "-r" "/" "/etc/selinux/targeted/contexts/files/file_contexts" "-f" "-" Stdout: "" Stderr: "setfiles:  invalid alt_rootpath: /\n"
[   32.945206] zezere-ignition[826]: files failedFull config:
[   32.947613] zezere-ignition[826]: {
[   32.948520] zezere-ignition[826]:   "ignition": {
[   32.949472] zezere-ignition[826]:     "config": {
[   32.950396] zezere-ignition[826]:       "replace": {
[   32.951357] zezere-ignition[826]:         "source": null,
[   32.952294] zezere-ignition[826]:         "verification": {}
[   32.953260] zezere-ignition[826]:       }
[   32.954104] zezere-ignition[826]:     },
[   32.955167] zezere-ignition[826]:     "proxy": {},
[   32.956016] zezere-ignition[826]:     "security": {
[   32.956820] zezere-ignition[826]:       "tls": {}
[   32.958588] zezere-ignition[826]:     },
[   32.959394] zezere-ignition[826]:     "timeouts": {},
[   32.961208] zezere-ignition[826]:     "version": "3.1.0-experimental"
[   32.963560] zezere-ignition[826]:   },
[   32.964348] zezere-ignition[826]:   "passwd": {
[   32.966148] zezere-ignition[826]:     "users": [
[   32.966996] zezere-ignition[826]:       {
[   32.967749] zezere-ignition[826]:         "name": "root",
[   32.969629] zezere-ignition[826]:         "sshAuthorizedKeys": [
[   32.970569] zezere-ignition[826]:           "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCx0fw08yAmuQ7Ql91pzjxwDhW6jpt2/0wkWjECGVFSgSry6bxk99B35PxsKOSGXOX61fvLEyYxjmrFOhzoBl+t55ssdGdrW8ARoHWhFLWCuxwDnVcabjEIEclUkPsNZLm65ixzeZkuq051n9I2ZvrZnkPFbcx0sHrLW8PNeiw/+jdBXSG6Mt9B8ANY1teA7Oy/l9P6uqooH8HPqc7nhJGllNLCqt/leL0mtcz6/BD9i7Kr50nbqTSnHOlt/4Zt8OfdjIiAP575Vd83+JoiSBLcMvdGFhe1SdlkpMKAunjuaMr8CH70hEruga+HL0DvwDj2g0qV5lwVppyvNoUSMkr5 [email protected]"
[   32.974133] zezere-ignition[826]:         ]
[   32.974862] zezere-ignition[826]:       }
[   32.976655] zezere-ignition[826]:     ]
[   32.977411] zezere-ignition[826]:   },
[   32.978165] zezere-ignition[826]:   "storage": {},
[   32.980002] zezere-ignition[826]:   "systemd": {}
[   32.980931] zezere-ignition[826]: }CRITICAL : Ignition failed: failed to handle relabeling: exit status 255: Cmd: "setfiles" "-vFi0" "-r" "/" "/etc/selinux/targeted/contexts/files/file_contexts" "-f" "-" Stdout: "" Stderr: "setfiles:  invalid alt_rootpath: /\n"
[   32.991349] zezere-ignition[837]: INFO     : Ignition 2.2.1
[   32.992541] zezere-ignition[837]: INFO     : Stage: umount
[   33.000340] zezere-ignition[837]: INFO     : reading system config file "/usr/lib/ignition/base.ign"
[   33.002575] zezere-ignition[837]: INFO     : no config at "/usr/lib/ignition/base.ign"
[   33.004861] zezere-ignition[837]: INFO     : umount: umount passed
[   33.005797] zezere-ignition[837]: INFO     : Ignition finished successfully
[   33.008592] zezere-ignition[809]: Running stage fetch with config file /tmp/zezere-ignition-config-207rzhn4.ign
[   33.009857] zezere-ignition[809]: Running stage disks with config file /tmp/zezere-ignition-config-207rzhn4.ign
[   33.012194] zezere-ignition[809]: Running stage mount with config file /tmp/zezere-ignition-config-207rzhn4.ign
[   33.013429] zezere-ignition[809]: Running stage files with config file /tmp/zezere-ignition-config-207rzhn4.ign
[   33.014729] zezere-ignition[809]: Running stage umount with config file /tmp/zezere-ignition-config-207rzhn4.ign

Improve SSH management tab

The ssh key management tab could be improved and made more generic. It should ultimately evolve into (when we move to FDO support) have the ability to specify the username that will be created and the key against the username.

This task should be the would be to improve ssh keys and generalise the tab

`zezere_ignition` spamming the journal with audit messages

Describe the bug
After the install of Fedora IoT 39 and successful onboarding with Zezere, the journal (and console) have the same log message from zezere_ignition every 1-2 minutes.

Oct 27 10:58:06 localhost.localdomain systemd[1]: Starting zezere_ignition.service - Run Ignition for Zezere...
Oct 27 10:58:06 localhost.localdomain systemd[1]: zezere_ignition.service: Deactivated successfully.
Oct 27 10:58:06 localhost.localdomain systemd[1]: Finished zezere_ignition.service - Run Ignition for Zezere.
Oct 27 10:58:06 localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=zezere_ignition comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 27 10:58:06 localhost.localdomain kernel: audit: type=1130 audit(1698418686.447:307): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=zezere_ignition comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 27 10:58:06 localhost.localdomain kernel: audit: type=1131 audit(1698418686.447:308): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=zezere_ignition comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 27 10:58:06 localhost.localdomain audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=zezere_ignition comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

To Reproduce

  1. Install Fedora IoT 39
  2. Onboard with zezere
  3. Observe the journal

Expected behavior
Less chatty messages from zezere

OS version:

$ rpm-ostree status -b
State: idle
BootedDeployment:
● fedora-iot:fedora/devel/x86_64/iot
                  Version: 39.20231026.0 (2023-10-26T12:27:40Z)
                   Commit: 0599c27fe88ed2aaeb8144c7b604aaa69e31a94cbc384c894e29b27a077bdb6a
             GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C

Additional context

It looks like zezere_ignition.timer is configured to fire every 1 minute...these seems aggressive. Can we tune this?

$ systemctl cat zezere_ignition.timer 
# /usr/lib/systemd/system/zezere_ignition.timer
[Unit]
Description=Trigger Ignition for Zezere until it finishes

[Timer]
OnActiveSec=10sec
OnUnitActiveSec=1min

[Install]
WantedBy=timers.target

More broadly, do we need to keep checking provision.fedoraproject.org for new configs? I assumed the zezere step was a one-time thing.

Install static content

Currently setup.py doesn't install the templates content, and possibly some other bits

Add runtime data location(s)

With things like tmpfs we need a location, likely var/lib/zezere to store any local runtime data such as sqlite DBs or anything else we may need to store for data.

We also likely need a var/www/html/ or similar to store content that may be needed such as inintrd and related things that we're not pulling from other content services.

Implement defaults for config options

As reported downstream, at one point our openQA zezere test started failing. We run our own zezere server for the test. What happened is that zezere added a new config option, and the config file we use in the test did not include this option at all. The most common way server software would usually handle this situation is to use some kind of in-built default value, but zezere doesn't do this: if a config option isn't present in the config file, it just fails (ultimately because ConfigParser.getboolean() fails in settings_external.py).

Ideally this mechanism should be tweaked somehow so zezere can set and use defaults for config options that aren't set in the config file at all, then adding a new config option would not require server admins to update their config files unless they need to set it to something non-default.

Show IP address in MOTD

According to @paulwhalen it would be appreciated to show the machine’s IP address in the MOTD.

Armhfp provisioning fails "Ignition failed: failed to handle relabeling"

Armhfp provisioning fails:

Oct 21 17:06:42 rpi2-1 zezere-ignition[1763]: INFO : files: ensureUsers: op(1): [started] creating or modifying user "root"
Oct 21 17:06:42 rpi2-1 zezere-ignition[1763]: DEBUG : files: ensureUsers: op(1): executing: "usermod" "--root" "/" "root"
Oct 21 17:06:42 rpi2-1 zezere-ignition[1763]: INFO : files: ensureUsers: op(1): [finished] creating or modifying user "root"
Oct 21 17:06:42 rpi2-1 zezere-ignition[1763]: INFO : files: ensureUsers: op(2): [started] adding ssh keys to user "root"
Oct 21 17:06:42 rpi2-1 zezere-ignition[1763]: INFO : files: ensureUsers: op(2): [finished] adding ssh keys to user "root"
Oct 21 17:06:42 rpi2-1 zezere-ignition[1763]: INFO : files: op(3): [started] relabeling 12 patterns
Oct 21 17:06:42 rpi2-1 zezere-ignition[1763]: DEBUG : files: op(3): executing: "setfiles" "-vF0" "-r" "/" "/etc/selinux/targeted/contexts/files/file_contexts" "-f" "-"
Oct 21 17:06:42 rpi2-1 zezere-ignition[1763]: CRITICAL : files: op(3): [failed] relabeling 12 patterns: exit status 255: Cmd: "setfiles" "-vF0" "-r" "/" "/etc/selinux/targeted/contexts/files/file_contexts" "-f" "-" Stdout: "" Stderr: "setfiles: invalid alt_rootpath: /\n"

[packit] Propose update failed for release v0.4

Packit failed on creating pull-requests in dist-git:

dist-git branch error
f30 The distgit repository /tmp/packit-dist-gitjpkctczf is dirty.This is not supported.
f31 The distgit repository /tmp/packit-dist-gitjpkctczf is dirty.This is not supported.
f32 Failed to download file from URL https://github.com/fedora-iot/zezere/archive/vv0.4.tar.gz#/zezere-v0.4.tar.gz. Reason: 'Not Found'.
master The distgit repository /tmp/packit-dist-gitjpkctczf is dirty.This is not supported.

You can re-trigger the update by adding /packit propose-update to the issue comment.

API/process for onboarding a new device

When the FDO onboarding service receives a request to onboard a device we need to process that device and return things like the user/ssh key to provide and any other SIM details that the user has provided for the device/group.

Get to 100% code test coverage

Right now there are still a few lines missing for 100% code coverage.
We should at some point get this fully covered.

Self-hosted Zezere doesn't receive a request from ignition

I'm running self-hosted Zezere with minimum settings and everything seems to work fine (I can add SSH keys etc.). I have a Fedora IoT running on Raspberry PI 4 (I know it is not officially supported, but I was able to claim the device with the official provisioning service, so I think it should work) and I change the Zezere URL by adding the configuration option to kernel command line (the support was added here: f66c0b6). By examining the logs while running self-hosted Zezere I cannot see any requests coming in from the device during ignition. I was able to confirm that it should use the newly configure provisioning server, as it is shown correctly in the MOTD.

Not sure where to go from here

Enhance device management tab for FDO

The FDO protocol defines a device/owner set of relationships to enable a management platform toe uniquely identify a device.

We need the ability to import the ownership vouchers into Zezere, either a single device or a block of devices. The ownership vouchers need to be imported and stored in the DB in a table.

The ownship vouchers should be displayed as part of the device list, whether they're "ghosts" AKA not onboarded, or with more details if they are. There should be the ability to be delete vouchers.

Add ability to configure install "streams"

At the moment we have stable and rawhide Fedora IoT install options. Add a settings option/section to enable configuring the install options, and a section to set defaults like default keys/installs and other options.

zezere auto provisioning failing

fyi
Created a new raspberry pi install, and booted up with monitor and keyboard attached. Went to https://provision.fedoraproject.org/ claimed the device and tried to install my ssh public key, but zezere halts indefinitely with 'cancel run request' on the 'actions' button.
Am going to manually install my ssh key instead

Rename and install manage.py

There's a manage.py utility used for various tasks, it's not installed by setup.py. We need to install it and it should also be renamed so it doesn't conflict with the world, Something like zezere-manage.py or similar.

improve ssh key management

The ssh key management could be improved.

There's only one text box which appears to be where the key should go:
ssh-keys

But when I put my key in there it errors out with the following error so I'm not sure if that's the key itself or a name for the key:

Environment:


Request Method: POST
Request URL: https://provision.fedoraproject.org/portal/sshkeys/add/

Django Version: 3.0.4
Python Version: 3.6.9
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'mozilla_django_oidc',
 'rest_framework',
 'rules.apps.AutodiscoverRulesConfig',
 'zezere']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback (most recent call last):
  File "/opt/app-root/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/opt/app-root/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/opt/app-root/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/app-root/lib/python3.6/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/opt/app-root/lib/python3.6/site-packages/django/views/decorators/http.py", line 40, in inner
    return func(request, *args, **kwargs)
  File "/opt/app-root/src/zezere/views_portal.py", line 98, in add_ssh_key
    key.full_clean()
  File "/opt/app-root/lib/python3.6/site-packages/django/db/models/base.py", line 1222, in full_clean
    raise ValidationError(errors)

Exception Type: ValidationError at /portal/sshkeys/add/
Exception Value: {'key': ['Ensure this value has at most 255 characters (it has 402).']}

It would also be useful to be able to provide a friendly name for the key.

Initial API backend to speak with FDO owner onboardign service

The FDO owner onboarding service runs as a standalone service and has an API to integrate into for both 1) advertising new devices that we now have vouchers for and 2) onboarding an actual device 3) Populating details for SIM modules

We need an initial addition client API to speak with the FDO onboaring service

Add "discovery"

When a device first starts via Zezere's netboot interface, we should send it a minimal initrd with a tool that grabs device information and then submits that.
That would enable us to support multiple MAC addresses from the same device without seeing different devices, and also allow things like device ID-based enrollment (rather than last_ip).

Configuration of FDO service interfaces

We need to have an admin page for configuring the FDO service including things like:

  • FDO onobarding service DNS name
  • FDO API key for authentication
  • Onboarding service settings
  • Ability to enable/disable SIM modules
  • Ability to set defaults for specific SIM modules

Display provisioning URL on console

Similar to how cockpit displays the URL to the cockpit Web UX URL we should display a URL on the console when a device hasn't yet been provisioned so people know where to go to provision the device.

Ability to provision pre-canned images

Images for cloud and devices like the Raspberry Pi often deploy a pre generated image. The ability to be able to auto provision users/keys and other post install related things is useful.

So being able to boot a device and have ignition retrieve a config and auto provision.

Internal Server Error after /oidc/callback/

Running on localhost with

docker run --name zezere \
    -e OIDC_RP_CLIENT_ID=<client id> \
    -e OIDC_RP_CLIENT_SECRET=<client secret> \
    -e OIDC_OP_AUTHORIZATION_ENDPOINT=<authorization endpoint> \
    -e OIDC_OP_TOKEN_ENDPOINT=<token endpoint> \
    -e OIDC_OP_USERINFO_ENDPOINT=<userinfo endpoint> \
    -e OIDC_OP_JWKS_ENDPOINT=<jwks endpoint> \
    -e AUTH_METHOD=oidc \
    -e SECRET_KEY=<secret key> \
    -e ALLOWED_HOSTS=localhost \
    --detach --rm \
    -p 8080:8080 \
    -t quay.io/fedora-iot/zezere:latest

After successful authentication the /oidc/callback/ throws 500:

172.17.0.1 - - [10/Dec/2020:19:03:35 +0000] "GET /accounts/login/?next=/portal/ HTTP/1.1" 302 -
172.17.0.1 - - [10/Dec/2020:19:03:35 +0000] "GET /oidc/authenticate/ HTTP/1.1" 302 -
[Thu Dec 10 19:03:42.653278 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814] Internal Server Error: /oidc/callback/
[Thu Dec 10 19:03:42.653306 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814] Traceback (most recent call last):
[Thu Dec 10 19:03:42.653310 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/django/core/handlers/exception.py", line 47, in inner
[Thu Dec 10 19:03:42.653313 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     response = get_response(request)
[Thu Dec 10 19:03:42.653316 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/django/core/handlers/base.py", line 179, in _get_response
[Thu Dec 10 19:03:42.653320 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     response = wrapped_callback(request, *callback_args, **callback_kwargs)
[Thu Dec 10 19:03:42.653323 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/django/views/generic/base.py", line 70, in view
[Thu Dec 10 19:03:42.653327 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     return self.dispatch(request, *args, **kwargs)
[Thu Dec 10 19:03:42.653330 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/django/views/generic/base.py", line 98, in dispatch
[Thu Dec 10 19:03:42.653334 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     return handler(request, *args, **kwargs)
[Thu Dec 10 19:03:42.653337 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/mozilla_django_oidc/views.py", line 99, in get
[Thu Dec 10 19:03:42.653342 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     self.user = auth.authenticate(**kwargs)
[Thu Dec 10 19:03:42.653345 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/django/contrib/auth/__init__.py", line 73, in authenticate
[Thu Dec 10 19:03:42.653350 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     user = backend.authenticate(request, **credentials)
[Thu Dec 10 19:03:42.653354 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/mozilla_django_oidc/auth.py", line 286, in authenticate
[Thu Dec 10 19:03:42.653359 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     return self.get_or_create_user(access_token, id_token, payload)
[Thu Dec 10 19:03:42.653363 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/mozilla_django_oidc/auth.py", line 307, in get_or_create_user
[Thu Dec 10 19:03:42.653367 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     user_info = self.get_userinfo(access_token, id_token, payload)
[Thu Dec 10 19:03:42.653371 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/mozilla_django_oidc/auth.py", line 243, in get_userinfo
[Thu Dec 10 19:03:42.653376 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     proxies=self.get_settings('OIDC_PROXY', None))
[Thu Dec 10 19:03:42.653380 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/requests/api.py", line 76, in get
[Thu Dec 10 19:03:42.653384 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     return request('get', url, params=params, **kwargs)
[Thu Dec 10 19:03:42.653389 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/requests/api.py", line 61, in request
[Thu Dec 10 19:03:42.653394 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     return session.request(method=method, url=url, **kwargs)
[Thu Dec 10 19:03:42.653398 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/requests/sessions.py", line 528, in request
[Thu Dec 10 19:03:42.653402 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     prep = self.prepare_request(req)
[Thu Dec 10 19:03:42.653406 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/requests/sessions.py", line 466, in prepare_request
[Thu Dec 10 19:03:42.653410 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     hooks=merge_hooks(request.hooks, self.hooks),
[Thu Dec 10 19:03:42.653414 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/requests/models.py", line 316, in prepare
[Thu Dec 10 19:03:42.653417 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     self.prepare_url(url, params)
[Thu Dec 10 19:03:42.653422 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]   File "/opt/app-root/lib/python3.6/site-packages/requests/models.py", line 390, in prepare_url
[Thu Dec 10 19:03:42.653427 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814]     raise MissingSchema(error)
[Thu Dec 10 19:03:42.653431 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814] requests.exceptions.MissingSchema: Invalid URL 'None': No schema supplied. Perhaps you meant http://None?
[Thu Dec 10 19:03:42.653441 2020] [wsgi:error] [pid 21:tid 139663898695424] [remote 172.17.0.1:53814] 
172.17.0.1 - - [10/Dec/2020:19:03:42 +0000] "GET /oidc/callback/?code=<code>&state=<state> HTTP/1.1" 500 145

[packit] Propose update failed for release v0.2

Packit failed on creating pull-requests in dist-git:

dist-git branch error
master Failed to download file from URL https://github.com/fedora-iot/zezere/archive/vv0.2.tar.gz#/zezere-v0.2.tar.gz. Reason: 'Not Found'.

You can re-trigger the update by adding /packit propose-update to the issue comment.

CRITICAL warning from ignition (setfiles)

This is from an image built via osbuild so maybe I am doing something wrong but I see the following warning in the ignition logs:

[   32.980931] zezere-ignition[826]: }CRITICAL : Ignition failed: failed to handle relabeling: exit status 255: Cmd: "setfiles" "-vFi0" "-r" "/" "/etc/selinux/targeted/contexts/files/file_contexts" "-f" "-" Stdout: "" Stderr: "setfiles:  invalid alt_rootpath: /\n"

This is zezere-ignition-0.5-2.fc33.noarch.rpm.

Add a notes field

Add a notes/string field so a string can be added like "RPi3 running the heating"

[packit] Propose update failed for release v0.5.1

Packit failed on creating pull-requests in dist-git:

dist-git branch error
f30 The distgit repository /tmp/packit-dist-gitf7alcoaq is dirty.This is not supported.
f31 The distgit repository /tmp/packit-dist-gitf7alcoaq is dirty.This is not supported.
f32 Failed to download file from URL https://github.com/fedora-iot/zezere/archive/vv0.5.1.tar.gz#/zezere-v0.5.1.tar.gz. Reason: 'Not Found'.
master The distgit repository /tmp/packit-dist-gitf7alcoaq is dirty.This is not supported.

You can re-trigger the update by adding /packit propose-update to the issue comment.

Add tests to ensure coverage

The following modules have coverage < 100%

Module statements missing excluded branches partial coverage
zezere/runreqs.py 40 5 0 16 1 89%
zezere/views_netboot.py 96 22 0 28 24 63%
zezere/views_portal.py 79 11 0 16 3 81%
zezere/settings_auth.py 20 2 0 6 1 81%
zezere/settings_external.py 16 1 2 6 3 82%
zezere/wsgi.py 4 4 0 0 0 0%

[packit] Propose update failed for release v0.5

Packit failed on creating pull-requests in dist-git:

dist-git branch error
f30 Ref 'remotes/origin/f30' did not resolve to an object
f31 The distgit repository /tmp/packit-dist-gitz862_s6h is dirty.This is not supported.
f32 The distgit repository /tmp/packit-dist-gitz862_s6h is dirty.This is not supported.
master Failed to download file from URL https://github.com/fedora-iot/zezere/archive/vv0.5.tar.gz#/zezere-v0.5.tar.gz. Reason: 'Not Found'.

You can re-trigger the update by adding /packit propose-update to the issue comment.

[packit] Propose update failed for release v0.2

Packit failed on creating pull-requests in dist-git:

dist-git branch error
f31 Failed to download file from URL https://github.com/fedora-iot/zezere/archive/vv0.2.tar.gz#/zezere-v0.2.tar.gz. Reason: 'Not Found'.

You can re-trigger the update by adding /packit propose-update to the issue comment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.