On Fri, Jul 22, 2011 at 6:55 AM, Perry Myers <pmyers(a)redhat.com> wrote:
On 07/21/2011 02:24 AM, Andrew Beekhof wrote:
>
> On Tue, Jul 5, 2011 at 11:58 PM, Perry Myers<pmyers(a)redhat.com> wrote:
>>>>>
>>>>> - generated every time the machine boots
>>>>
>>>> This is == DBus/systemd uuid right?
>>>
>>> I believe not. I believe the DBus uuid persists across reboots, but
>>> potentially not across upgrades.
>>
>> Is that by design? If not, then it seems like we could improve that
>> particular uuid by submitting a bug to have dbus/systemd uuids persist
>> across upgrades.
>>
>> ack to your other comments on this thread, can you write up an API
>> proposal
>> then with the new functions and properties that we'll be exposing for
>> review
>> on list?
>>
>
> Sorry for the delay... here are my proposed changes to the host api wrt.
> uuids.
>
>
> <!--
> Valid UUID lifetimes:
> Immutable - Automatically configured by the system once if not
> found and never reset. May be pre-populated.
> Hardware - Automatically (re)configured by the system whenever
> the underlying hardware changes
> Reboot - Automatically (re)configured by the system whenever
> it boots
> Agent - Automatically (re)configured by the system whenever
> the agent starts
> User - Manually configured by the admin/user.
> May be pre-configured.
> -->
>
> <method name="get_uuid" desc="Obtain a UUID with the specified
> lifetime from the machine">
> <arg name="lifetime" dir="I" type="sstr" />
> </method>
>
> <!--
> The only valid lifetime is 'User'
> Later implementations may support re-generating the 'Hardware' uuid
> -->
> <method name="set_uuid" desc="Set a UUID with the specified
lifetime">
> <arg name="lifetime" dir="I" type="sstr" />
> <arg name="uuid" dir="I" type="sstr" />
> </method>
Thanks for writing this up. My only question now is... what existing uuid
implementations map here?
i.e. for the implementation of hardware UUID we plan on using X, for the
implementation of immutable UUID we will use /etc/machine-id
Are there any conditions under which /etc/machine-id would get regenerated?
If so that would rule it out.
These were my initial thoughts:
Immutable: /etc/machine-id (systemd)
Hardware: ? Something on top of the smbios API
Reboot: ? /var/lib/dbus/machine-id (dbus)
Agent: In memory using the libuuid API
User: /etc/custom-machine-id
I intentionally left them out originally so people would concentrate
on the API itself ;-)
Stuff along those lines would complete the matrix needed here.
Perry