Influxdb2 Provisioning -- error

Hello,

When running an influxdb2 with provisioning, I am getting “authentication error” from the provisioning python script.

Since I am not sure if it’s a configuration error on my part, I post here before opening an issue in Github.
I also saw that the influxdb2 tests are green.

System is up to date 24.11.

Here is one of the configuration I tried with the error (copied from the influxdb test file):

  influxdb2 = {
    enable = true;

    provision = {
      enable = true;
      initialSetup = {
        organization = "default";
        bucket = "default";
        passwordFile = pkgs.writeText "admin-pw" "ExAmPl3PA55W0rD";
        tokenFile = pkgs.writeText "admin-token" "verysecureadmintoken";
      };
      organizations.someorg = {
        buckets.somebucket = { };
        auths.sometoken = {
          description = "some auth token";
          readBuckets = [ "somebucket" ];
          writeBuckets = [ "somebucket" ];
        };
      };
      users.someuser.passwordFile = pkgs.writeText "tmp-pw" "abcgoiuhaoga";
    };
  };

Here is the error :

avril 10 17:15:49 intercom-broker systemd[1]: Starting InfluxDB is an open-source, distributed, time series database...
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.178041Z lvl=info msg="Welcome to InfluxDB" log_id=0vp4Bi8G000 version=2.7.6 commit=v2.7.6 build_date=2025-04-10T15:15:50Z log_level=info
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.181749Z lvl=info msg="Resources opened" log_id=0vp4Bi8G000 service=bolt path=/var/lib/influxdb2/influxd.bolt
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.181988Z lvl=info msg="Resources opened" log_id=0vp4Bi8G000 service=sqlite path=/var/lib/influxdb2/influxd.sqlite
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.190109Z lvl=info msg="Checking InfluxDB metadata for prior version." log_id=0vp4Bi8G000 bolt_path=/var/lib/influxdb2/influxd.bolt
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.190407Z lvl=info msg="Using data dir" log_id=0vp4Bi8G000 service=storage-engine service=store path=/var/lib/influxdb2/engine/data
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.190502Z lvl=info msg="Compaction settings" log_id=0vp4Bi8G000 service=storage-engine service=store max_concurrent_compactions=2 throughput_bytes_per_second=50331648 throughput_bytes_per_second_burst=50331648
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.190547Z lvl=info msg="Open store (start)" log_id=0vp4Bi8G000 service=storage-engine service=store op_name=tsdb_open op_event=start
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.190702Z lvl=info msg="Open store (end)" log_id=0vp4Bi8G000 service=storage-engine service=store op_name=tsdb_open op_event=end op_elapsed=0.158ms
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.190886Z lvl=info msg="Starting retention policy enforcement service" log_id=0vp4Bi8G000 service=retention check_interval=30m
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.190943Z lvl=info msg="Starting precreation service" log_id=0vp4Bi8G000 service=shard-precreation check_interval=10m advance_period=30m
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.193949Z lvl=info msg="Starting query controller" log_id=0vp4Bi8G000 service=storage-reads concurrency_quota=1024 initial_memory_bytes_quota_per_query=9223372036854775807 memory_bytes_quota_per_query=9223372036854775807 max_memory_bytes=0 queue_size=1024
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.203166Z lvl=info msg="Configuring InfluxQL statement executor (zeros indicate unlimited)." log_id=0vp4Bi8G000 max_select_point=0 max_select_series=0 max_select_buckets=0
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.221152Z lvl=info msg=Starting log_id=0vp4Bi8G000 service=telemetry interval=8h
avril 10 17:15:50 intercom-broker influxd[66796]: ts=2025-04-10T15:15:50.221434Z lvl=info msg=Listening log_id=0vp4Bi8G000 service=tcp-listener transport=http addr=:8086 port=8086
avril 10 17:15:51 intercom-broker influxd[66796]: ts=2025-04-10T15:15:51.587728Z lvl=info msg=Unauthorized log_id=0vp4Bi8G000 error="authorization not found"
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]: Traceback (most recent call last):
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/5mmqalz7k2lw2gdbvc5k07yb22dbr98j-influxdb2-provision-1.0.0/bin/.influxdb2-provision-wrapped", line 250, in <module>
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     main()
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/5mmqalz7k2lw2gdbvc5k07yb22dbr98j-influxdb2-provision-1.0.0/bin/.influxdb2-provision-wrapped", line 45, in main
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     raise e
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/5mmqalz7k2lw2gdbvc5k07yb22dbr98j-influxdb2-provision-1.0.0/bin/.influxdb2-provision-wrapped", line 40, in main
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     known_auths = auths_api.find_authorizations()
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/dhp70x4ggjx3hf0qx332xqnmjyk3w9aj-python3.12-influxdb-client-1.47.0/lib/python3.12/site-packages/influxdb_client/client/authorizations_api.py", line 51, in find_authorizations
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     authorizations = self._authorizations_service.get_authorizations(**kwargs)
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/dhp70x4ggjx3hf0qx332xqnmjyk3w9aj-python3.12-influxdb-client-1.47.0/lib/python3.12/site-packages/influxdb_client/service/authorizations_service.py", line 175, in get_authorizations
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     (data) = self.get_authorizations_with_http_info(**kwargs)  # noqa: E501
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/dhp70x4ggjx3hf0qx332xqnmjyk3w9aj-python3.12-influxdb-client-1.47.0/lib/python3.12/site-packages/influxdb_client/service/authorizations_service.py", line 201, in get_authorizations_with_http_info
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     return self.api_client.call_api(
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:            ^^^^^^^^^^^^^^^^^^^^^^^^^
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/dhp70x4ggjx3hf0qx332xqnmjyk3w9aj-python3.12-influxdb-client-1.47.0/lib/python3.12/site-packages/influxdb_client/_sync/api_client.py", line 343, in call_api
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     return self.__call_api(resource_path, method,
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/dhp70x4ggjx3hf0qx332xqnmjyk3w9aj-python3.12-influxdb-client-1.47.0/lib/python3.12/site-packages/influxdb_client/_sync/api_client.py", line 173, in __call_api
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     response_data = self.request(
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:                     ^^^^^^^^^^^^^
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/dhp70x4ggjx3hf0qx332xqnmjyk3w9aj-python3.12-influxdb-client-1.47.0/lib/python3.12/site-packages/influxdb_client/_sync/api_client.py", line 365, in request
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     return self.rest_client.GET(url,
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:            ^^^^^^^^^^^^^^^^^^^^^^^^^
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/dhp70x4ggjx3hf0qx332xqnmjyk3w9aj-python3.12-influxdb-client-1.47.0/lib/python3.12/site-packages/influxdb_client/_sync/rest.py", line 268, in GET
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     return self.request("GET", url,
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:            ^^^^^^^^^^^^^^^^^^^^^^^^
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:   File "/nix/store/dhp70x4ggjx3hf0qx332xqnmjyk3w9aj-python3.12-influxdb-client-1.47.0/lib/python3.12/site-packages/influxdb_client/_sync/rest.py", line 261, in request
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]:     raise ApiException(http_resp=r)
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]: influxdb_client.rest.ApiException: (401)
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]: Reason: Unauthorized
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]: HTTP response headers: HTTPHeaderDict({'Content-Type': 'application/json; charset=utf-8', 'X-Influxdb-Build': 'OSS', 'X-Influxdb-Version': '2.7.6', 'X-Platform-Error-Code': 'unauthorized', 'Date': 'Thu, 10 Apr 2025 15:15:51 GMT', 'Content-Length': '55'})
avril 10 17:15:51 intercom-broker m03j7vaq1k0jzz587fqs4hpfcvakf382-post-start-provision[66836]: HTTP response body: {"code":"unauthorized","message":"unauthorized access"}
avril 10 17:15:51 intercom-broker systemd[1]: influxdb2.service: Control process exited, code=exited, status=1/FAILURE
avril 10 17:15:51 intercom-broker systemd[1]: influxdb2.service: Failed with result 'exit-code'.

@oddlama Could you help me with this?

Thanks in advance

Could it be that you are running this against an existing database? The initial admin user setup can only be done on first start (which is why this is grouped under initialSetup) - so if you were to enable provisioning on an existing database, you would have to make sure to specify the admin username and password that you created manually.

If this is not the case then I’m not immediately sure what is going on, since the tests still pass for me. In that case, is there anything specific to your setup that differs from the test?

2 Likes

Wow spot on!

I had an older database from previous testing.

I disabled influxdb2 service, then deleted influxdb2 data :

rm -R /var/lib/influxdb2

Then reactivated service and it worked :smiling_face_with_tear:

Thank you @oddlama

1 Like