From: Michael Tremer Date: Sat, 25 Jan 2025 17:52:41 +0000 (+0000) Subject: builders: Rename a couple of fields and add system X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d647d4bc1ebf65b6292cb1b01f678e2e7f9f15e8;p=pbs.git builders: Rename a couple of fields and add system Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/builders.py b/src/buildservice/builders.py index 040b0969..ec9673d9 100644 --- a/src/buildservice/builders.py +++ b/src/buildservice/builders.py @@ -512,13 +512,6 @@ class Builder(database.Base, database.BackendMixin, database.SoftDeleteMixin): # Admins have all permissions return user.is_admin() - @property - def arch(self): - """ - The native architecture - Alias for "cpu_arch" - """ - return self.cpu_arch - @property def supported_arches(self): """ @@ -610,14 +603,22 @@ class Builder(database.Base, database.BackendMixin, database.SoftDeleteMixin): name = Column(Text, unique=True, nullable=False) - # Pakfire Version + # (Pakfire) Version - pakfire_version = Column(Text, nullable=False, default="") + version = Column(Text, nullable=False, default="") # OS Name os_name = Column(Text, nullable=False, default="") + # System Vendor + + sys_vendor = Column(Text) + + # System Name + + sys_name = Column(Text) + # CPU Model cpu_model = Column(Text, nullable=False, default="") @@ -626,9 +627,9 @@ class Builder(database.Base, database.BackendMixin, database.SoftDeleteMixin): cpu_count = Column(Integer, nullable=False, default=1) - # CPU Arch + # Architecture - cpu_arch = Column(Text) + arch = Column(Text) # AWS - Instance ID @@ -823,21 +824,10 @@ class Builder(database.Base, database.BackendMixin, database.SoftDeleteMixin): return await self.db.fetch_one(stmt) - async def log_stats(self, cpu_model=None, cpu_count=None, cpu_arch=None, - pakfire_version=None, os_name=None, **kwargs): + async def log_stats(self, **kwargs): """ Logs some stats about this builder """ - # Update CPU information - self.cpu_model = cpu_model - self.cpu_count = cpu_count - self.cpu_arch = cpu_arch - - # Update Pakfire & OS information - self.pakfire_version = pakfire_version - self.os_name = os_name - - # Log Stats stats = await self.db.insert( BuilderStat, builder=self, **kwargs, ) diff --git a/src/database.sql b/src/database.sql index fc504b20..b9f04e96 100644 --- a/src/database.sql +++ b/src/database.sql @@ -196,18 +196,20 @@ CREATE TABLE public.builders ( loadavg text DEFAULT '0'::character varying NOT NULL, maintenance boolean DEFAULT false NOT NULL, max_jobs bigint DEFAULT (1)::bigint NOT NULL, - pakfire_version text, + version text, os_name text, cpu_model text, cpu_count integer DEFAULT 1 NOT NULL, host_key_id text, - cpu_arch text, + arch text, instance_id text, instance_type text, created_at timestamp without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL, created_by_id integer, deleted_at timestamp without time zone, - deleted_by_id integer + deleted_by_id integer, + sys_vendor text, + sys_name text ); diff --git a/src/templates/builders/show.html b/src/templates/builders/show.html index d02a6523..6427cf80 100644 --- a/src/templates/builders/show.html +++ b/src/templates/builders/show.html @@ -96,12 +96,12 @@ {% endif %} - {% if builder.pakfire_version %} + {% if builder.version %}

{{ _("Pakfire Version") }}

- {{ builder.pakfire_version }} + {{ builder.version }}

diff --git a/src/web/builders.py b/src/web/builders.py index f7f66d7b..46d96293 100644 --- a/src/web/builders.py +++ b/src/web/builders.py @@ -21,6 +21,27 @@ class APIv1ControlHandler(base.APIMixin, base.BackendMixin, tornado.websocket.We # The builder has opened a new connection self.builder.connected(self) + # Update the builder information + async with await self.db.transaction(): + # Update arch + self.builder.arch = self.get_argument("arch") + + # Update system information + self.builder.sys_vendor = self.get_argument("sys_vendor", None) + self.builder.sys_name = self.get_argument("sys_name", None) + + # Update CPU information + self.builder.cpu_model = self.get_argument("cpu_model", None) + self.builder.cpu_count = self.get_argument_int("cpu_count", None) + + # Update Pakfire & OS information + self.builder.version = self.get_argument("version") + self.builder.os_name = self.get_argument("os_name", None) + + # Manually perform a database commit because this won't happen + # until the builder disconnects again. + await self.db.commit() + # After the builder has connected, try to dispatch some jobs await self.backend.jobs.queue.dispatch()