NFC and barcode scanner support

Hi,

Someone had mentioned earlier this year I should add support for NFC tags
to remoteadmin mobile app so that users could easily identify servers in
the datacenter.
So I would like to get some initial feedback on what you guys would do if
your servers had NFC tags.

The most obvious feature would be some sort of inventory control feature.
I could allow the user to search the list of systems by swiping the phone
across the server NFC tag and then allow the user to control the server via
the app. But if the server doesn't exist in foreman it could easily be
added and possibly provisioned after adding. I am not sure how much usage
this would receive though.

I could also allow binding to a specific control for the NFC tag. Swipe to
perform function xxx on the system by default.

Moreover I could apply this same logic to barcodes and qr codes. The only
difference is the scanning time. Since datacenters are often dark picture
taking might not work to well plus NFC just sounds way cooler.

Now for those of you who don't have NFC, especially iPhone users there is
actually an aftermarket scanner coming out that can add NFC support to
android and iPhones without NFC support. Check out flowjack for more
information.

If you happen to have an old NFC capable phone for me to play with please
send me an email. Anything will do.

Let me know what your thoughts are for NFC and barcode scanning. How would
you use it?

Corey

> Hi,
>
> Someone had mentioned earlier this year I should add support for NFC tags to
> remoteadmin mobile app so that users could easily identify servers in the
> datacenter.
> So I would like to get some initial feedback on what you guys would do if
> your servers had NFC tags.
>
> The most obvious feature would be some sort of inventory control feature. I
> could allow the user to search the list of systems by swiping the phone
> across the server NFC tag and then allow the user to control the server via
> the app. But if the server doesn't exist in foreman it could easily be
> added and possibly provisioned after adding. I am not sure how much usage
> this would receive though.

I'm currently adding a Discovery System to Foreman, so that hosts
unknown to Foreman can boot a special ramdisk which adds them to an
inventory list for later provisioning (a form of Metal as a Service,
really). I can see this tying in nicely - currently I have the
bootable ramdisk Posting to the API to create a discovered host. It
wouldn't be difficult to send the same request using the data from the
barcode/NFC.

> I could also allow binding to a specific control for the NFC tag. Swipe to
> perform function xxx on the system by default.
>
> Moreover I could apply this same logic to barcodes and qr codes. The only
> difference is the scanning time. Since datacenters are often dark picture
> taking might not work to well plus NFC just sounds way cooler.

True, but barcodes are way more common :wink:

> Now for those of you who don't have NFC, especially iPhone users there is
> actually an aftermarket scanner coming out that can add NFC support to
> android and iPhones without NFC support. Check out flowjack for more
> information.
>
> If you happen to have an old NFC capable phone for me to play with please
> send me an email. Anything will do.
>
> Let me know what your thoughts are for NFC and barcode scanning. How would
> you use it?

No longer being responsible for any serious quantity of hardware - not
much ;). But it sounds really handy - I can see a whole set being
scanned and added to Foreman straight from the delivery palette, even
before unboxing/racking. It'd also be handy to see what a server is
supposed to be doing when you spot a warning light - a quick scan &
lookup, and you know if you have a serious problem or not.

··· On 23 December 2012 20:49, Corey Osman wrote:

Thanks,

Corey Osman
corey@logicminds.biz

Green IT and Data Center Automation Specialist

>> Hi,
>>
>> Someone had mentioned earlier this year I should add support for NFC tags to
>> remoteadmin mobile app so that users could easily identify servers in the
>> datacenter.
>> So I would like to get some initial feedback on what you guys would do if
>> your servers had NFC tags.
>>
>> The most obvious feature would be some sort of inventory control feature. I
>> could allow the user to search the list of systems by swiping the phone
>> across the server NFC tag and then allow the user to control the server via
>> the app. But if the server doesn't exist in foreman it could easily be
>> added and possibly provisioned after adding. I am not sure how much usage
>> this would receive though.
>
> I'm currently adding a Discovery System to Foreman, so that hosts
> unknown to Foreman can boot a special ramdisk which adds them to an
> inventory list for later provisioning (a form of Metal as a Service,
> really). I can see this tying in nicely - currently I have the
> bootable ramdisk Posting to the API to create a discovered host. It
> wouldn't be difficult to send the same request using the data from the
> barcode/NFC.

What information would need to be stored on the barcode or nfc tag in order to search for the host to provision it?

mac address? Serial number? Should the barcode ID be stored in the host?

>
>> I could also allow binding to a specific control for the NFC tag. Swipe to
>> perform function xxx on the system by default.
>>
>> Moreover I could apply this same logic to barcodes and qr codes. The only
>> difference is the scanning time. Since datacenters are often dark picture
>> taking might not work to well plus NFC just sounds way cooler.
>
> True, but barcodes are way more common :wink:

>
>> Now for those of you who don't have NFC, especially iPhone users there is
>> actually an aftermarket scanner coming out that can add NFC support to
>> android and iPhones without NFC support. Check out flowjack for more
>> information.
>>
>> If you happen to have an old NFC capable phone for me to play with please
>> send me an email. Anything will do.
>>
>> Let me know what your thoughts are for NFC and barcode scanning. How would
>> you use it?
>
> No longer being responsible for any serious quantity of hardware - not
> much ;). But it sounds really handy - I can see a whole set being
> scanned and added to Foreman straight from the delivery palette, even
> before unboxing/racking. It'd also be handy to see what a server is
> supposed to be doing when you spot a warning light - a quick scan &
> lookup, and you know if you have a serious problem or not.

Yea, that is a good use case as well especially combined with the future ability to read BMC sensors.

Corey

··· On Dec 24, 2012, at 1:43 PM, Greg Sutcliffe wrote: > On 23 December 2012 20:49, Corey Osman wrote:

The current implementation uses facts discovered while booted into the
ramdisk, so if the app were to assemble anything found in the
NFC/Barcode into a hash and submit it the same way, then the system
would work the same. MAC address of eth0 would be mandatory, as I'm
using that in place of a hostname (since the machine is unprovisioned
yet, it might not have one).

I can see a flow of something like:

  1. Get the MAC
  2. Search for it among the existing hosts in Foreman
    2a) If found, jump to it for further work (possibly upload tag data to
    it as facts?)
  3. Offer to submit a DiscoveredHost using the data in the tag

Does that make sense?

Greg

··· On 24 December 2012 23:24, Corey Osman wrote: > What information would need to be stored on the barcode or nfc tag in order > to search for the host to provision it? > > mac address? Serial number? Should the barcode ID be stored in the host?

Many HP servers do contain bar codes. Some of these barcodes are just for serial number, and mac address, and even HP ilo DNS name.

I guess the question is do most people use these bar codes are do they make their own codes. If they make their own do they use QR codes? QR codes are nice because
they are easy to make and can contain arbitrary information.

Example Create Method:
http://goqr.me (300 Char limit for less complex QR codes). This could be a csv line. These can easily be printed out and affixed to any machine for identification. The only problem I see is what will be stored in the QR code?
Should it be CSV record with serveral points of data?

If so what should be stored?

Serial, BMC info, Mac address, date of purchase, internal ID

Thanks,

Corey Osman
corey@logicminds.biz
Green IT and Data Center Automation Specialist

>
>
> > What information would need to be stored on the barcode or nfc tag in order
> > to search for the host to provision it?
> >
> > mac address? Serial number? Should the barcode ID be stored in the host?
>
> The current implementation uses facts discovered while booted into the
> ramdisk, so if the app were to assemble anything found in the
> NFC/Barcode into a hash and submit it the same way, then the system
> would work the same. MAC address of eth0 would be mandatory, as I'm
> using that in place of a hostname (since the machine is unprovisioned
> yet, it might not have one).
>
> I can see a flow of something like:
>
> 1) Get the MAC
> 2) Search for it among the existing hosts in Foreman
> 2a) If found, jump to it for further work (possibly upload tag data to
> it as facts?)
> 3) Offer to submit a DiscoveredHost using the data in the tag
>
> Does that make sense?

Yea, that all makes sense. It would be nice to get the BMC information as well. But that can be set during the provisioning process if it not available.

··· On Dec 28, 2012, at 8:55 AM, Brian Gupta wrote: > On Fri, Dec 28, 2012 at 11:38 AM, Brian Gupta wrote: > On Fri, Dec 28, 2012 at 7:38 AM, Greg Sutcliffe wrote: > On 24 December 2012 23:24, Corey Osman wrote:

Greg

Regarding vendor barcodes (asset tags), as far as I understand, the info we want is not neccearily stored on the barcode, but rather the bar code has a UUID-like identifier (perhaps a serial number or service tag?) that links that system to a vendor db, that has the info we want. (Please bear in mind my info is at least 7 years out of date, but we can, and probably should, reach out to contacts at Sun/Oracle, Dell and HP and confirm how they handle this.)

See this Dell page for examples of data stores in the barcode http://www1.euro.dell.com/content/learnmore/learnmore.aspx/hmc_anti_theft_device_and_asset_tagging?c=ie&l=en

HP page is less helpful: http://www.hp.com/latam/caribbean/pyme/soluciones/0206_cto_etiquet.html

Hmm reading these lead me to believe that it’s going to be challenging to come up with a universal system that works, even for a single manufacturer. e.g. Dell supports at least 6 standard variants of an asset tag, with the only common data being the “Service Tag”, yet Dell and HP seem to also support “custom barcodes” for larger customers.

Hmm rereading the Dell page again leads me to believe that the information encoded in the barcode is strictly a unique 7 character alphanumeric string know as the “service tag”. (The other details seem to just be printed on the label and aren’t encoded in the barcode).

So I think to support this we need to add a string field to a host called something like “Asset Tag” (assuming we want to support this in a vendor neutral fashion), that when we import systems, we’d need to combine it with the other data we want from a different data source.

-Brian

Regarding vendor barcodes (asset tags), as far as I understand, the info we
want is not neccearily stored on the barcode, but rather the bar code has a
UUID-like identifier (perhaps a serial number or service tag?) that links
that system to a vendor db, that has the info we want. (Please bear in mind
my info is at least 7 years out of date, but we can, and probably should,
reach out to contacts at Sun/Oracle, Dell and HP and confirm how they
handle this.)

See this Dell page for examples of data stores in the barcode
http://www1.euro.dell.com/content/learnmore/learnmore.aspx/hmc_anti_theft_device_and_asset_tagging?c=ie&l=en

HP page is less helpful:
http://www.hp.com/latam/caribbean/pyme/soluciones/0206_cto_etiquet.html

Hmm reading these lead me to believe that it's going to be challenging to
come up with a universal system that works, even for a single manufacturer.
e.g. Dell supports at least 6 standard variants of an asset tag, with the
only common data being the "Service Tag", yet Dell and HP seem to also
support "custom barcodes" for larger customers.

-Brian

··· On Fri, Dec 28, 2012 at 7:38 AM, Greg Sutcliffe wrote:

On 24 December 2012 23:24, Corey Osman corey@logicminds.biz wrote:

What information would need to be stored on the barcode or nfc tag in
order
to search for the host to provision it?

mac address? Serial number? Should the barcode ID be stored in the
host?

The current implementation uses facts discovered while booted into the
ramdisk, so if the app were to assemble anything found in the
NFC/Barcode into a hash and submit it the same way, then the system
would work the same. MAC address of eth0 would be mandatory, as I’m
using that in place of a hostname (since the machine is unprovisioned
yet, it might not have one).

I can see a flow of something like:

  1. Get the MAC
  2. Search for it among the existing hosts in Foreman
    2a) If found, jump to it for further work (possibly upload tag data to
    it as facts?)
  3. Offer to submit a DiscoveredHost using the data in the tag

Does that make sense?

Greg


http://aws.amazon.com/solutions/solution-providers/brandorr/

>
>
>
>> > What information would need to be stored on the barcode or nfc tag in
>> order
>> > to search for the host to provision it?
>> >
>> > mac address? Serial number? Should the barcode ID be stored in the
>> host?
>>
>> The current implementation uses facts discovered while booted into the
>> ramdisk, so if the app were to assemble anything found in the
>> NFC/Barcode into a hash and submit it the same way, then the system
>> would work the same. MAC address of eth0 would be mandatory, as I'm
>> using that in place of a hostname (since the machine is unprovisioned
>> yet, it might not have one).
>>
>> I can see a flow of something like:
>>
>> 1) Get the MAC
>> 2) Search for it among the existing hosts in Foreman
>> 2a) If found, jump to it for further work (possibly upload tag data to
>> it as facts?)
>> 3) Offer to submit a DiscoveredHost using the data in the tag
>>
>> Does that make sense?
>>
>> Greg
>>
>
> Regarding vendor barcodes (asset tags), as far as I understand, the info
> we want is not neccearily stored on the barcode, but rather the bar code
> has a UUID-like identifier (perhaps a serial number or service tag?) that
> links that system to a vendor db, that has the info we want. (Please bear
> in mind my info is at least 7 years out of date, but we can, and probably
> should, reach out to contacts at Sun/Oracle, Dell and HP and confirm how
> they handle this.)
>
> See this Dell page for examples of data stores in the barcode
> http://www1.euro.dell.com/content/learnmore/learnmore.aspx/hmc_anti_theft_device_and_asset_tagging?c=ie&l=en
>
> HP page is less helpful:
> http://www.hp.com/latam/caribbean/pyme/soluciones/0206_cto_etiquet.html
>
> Hmm reading these lead me to believe that it's going to be challenging to
> come up with a universal system that works, even for a single manufacturer.
> e.g. Dell supports at least 6 standard variants of an asset tag, with the
> only common data being the "Service Tag", yet Dell and HP seem to also
> support "custom barcodes" for larger customers.
>

Hmm rereading the Dell page again leads me to believe that the information
encoded in the barcode is strictly a unique 7 character alphanumeric string
know as the "service tag". (The other details seem to just be printed on
the label and aren't encoded in the barcode).

So I think to support this we need to add a string field to a host called
something like "Asset Tag" (assuming we want to support this in a vendor
neutral fashion), that when we import systems, we'd need to combine it with
the other data we want from a different data source.

-Brian

··· On Fri, Dec 28, 2012 at 11:38 AM, Brian Gupta wrote: > On Fri, Dec 28, 2012 at 7:38 AM, Greg Sutcliffe wrote: >> On 24 December 2012 23:24, Corey Osman wrote: > > -- > >


http://aws.amazon.com/solutions/solution-providers/brandorr/

Decide on a special fact that the asset id is sourced from and leave the
implementation on various server models up to facter code…?

For Dell it would be simple:
Facter.add(:asset_tag) do
setcode do Facter[:serialnumber].value end
end

… If the fact was decided to be asset_tag… Which sounds a bit too
generic and maybe used somewhere in the wild already.

Bar code scanning in server room sounds awesome - no need to type annoying
serial numbers to look up a server - just point and shoot!

I don't think you should limit yourself thinking that server rooms are too
dark Corey… Most devices have decent led "flash" and if still too dark
there are torches :).

>
>
>
>> > What information would need to be stored on the barcode or nfc tag in
>> order
>> > to search for the host to provision it?
>> >
>> > mac address? Serial number? Should the barcode ID be stored in the
>> host?
>>
>> The current implementation uses facts discovered while booted into the
>> ramdisk, so if the app were to assemble anything found in the
>> NFC/Barcode into a hash and submit it the same way, then the system
>> would work the same. MAC address of eth0 would be mandatory, as I'm
>> using that in place of a hostname (since the machine is unprovisioned
>> yet, it might not have one).
>>
>> I can see a flow of something like:
>>
>> 1) Get the MAC
>> 2) Search for it among the existing hosts in Foreman
>> 2a) If found, jump to it for further work (possibly upload tag data to
>> it as facts?)
>> 3) Offer to submit a DiscoveredHost using the data in the tag
>>
>> Does that make sense?
>>
>> Greg
>>
>
> Regarding vendor barcodes (asset tags), as far as I understand, the info
> we want is not neccearily stored on the barcode, but rather the bar code
> has a UUID-like identifier (perhaps a serial number or service tag?) that
> links that system to a vendor db, that has the info we want. (Please bear
> in mind my info is at least 7 years out of date, but we can, and probably
> should, reach out to contacts at Sun/Oracle, Dell and HP and confirm how
> they handle this.)
>
> See this Dell page for examples of data stores in the barcode
> http://www1.euro.dell.com/content/learnmore/learnmore.aspx/hmc_anti_theft_device_and_asset_tagging?c=ie&l=en
>
> HP page is less helpful:
> http://www.hp.com/latam/caribbean/pyme/soluciones/0206_cto_etiquet.html
>
> Hmm reading these lead me to believe that it's going to be challenging to
> come up with a universal system that works, even for a single manufacturer.
> e.g. Dell supports at least 6 standard variants of an asset tag, with the
> only common data being the "Service Tag", yet Dell and HP seem to also
> support "custom barcodes" for larger customers.
>

Hmm rereading the Dell page again leads me to believe that the information
encoded in the barcode is strictly a unique 7 character alphanumeric string
know as the "service tag". (The other details seem to just be printed on
the label and aren't encoded in the barcode).

So I think to support this we need to add a string field to a host called
something like "Asset Tag" (assuming we want to support this in a vendor
neutral fashion), that when we import systems, we'd need to combine it with
the other data we want from a different data source.

-Brian

··· On Fri, Dec 28, 2012 at 11:38 AM, Brian Gupta wrote: > On Fri, Dec 28, 2012 at 7:38 AM, Greg Sutcliffe wrote: >> On 24 December 2012 23:24, Corey Osman wrote: > > -- > >


http://aws.amazon.com/solutions/solution-providers/brandorr/

>
> Many HP servers do contain bar codes. Some of these barcodes are just
for serial number, and mac address, and even HP ilo DNS name.
>
> I guess the question is do most people use these bar codes are do they
make their own codes. If they make their own do they use QR codes? QR
codes are nice because
> they are easy to make and can contain arbitrary information.
>
>
> Example Create Method:
> http://goqr.me (300 Char limit for less complex QR codes). This could
be a csv line. These can easily be printed out and affixed to any machine
for identification. The only problem I see is what will be stored in the
QR code?
> Should it be CSV record with serveral points of data?
>
> If so what should be stored?
>
> Serial, BMC info, Mac address, date of purchase, internal ID

Mac addresses can change… But anyway… Most of that info on barcode
would be moot if server setup was via bare metal discovery / 3 phase boot
for me… Which to me has been the ultimate goal.

Once server is up and in Foreman all I need is the convenience lookup…
And extending the thoughts a bit - allowing remote hands to trigger
maintenance events when he/she initiates hardware maintenance for example -
I imagine triggering custom audit events from RemoteAdmin which then could
trigger irc notifications (via Foreman plugin hooks probably?) or Nagios
maintenance scheduling etc…

But by all means - for the non-discovery crowd serial, bmc info, mac as you
mention would be relevant.

I'm really liking where this is going…

>
> Thanks,
>
> Corey Osman
> corey@logicminds.biz
> Green IT and Data Center Automation Specialist
>
>
>
>
>
>
>
>>>
>>>
>>>
>>>>
>>>> > What information would need to be stored on the barcode or nfc tag
in order
>>>> > to search for the host to provision it?
>>>> >
>>>> > mac address? Serial number? Should the barcode ID be stored in the
host?
>>>>
>>>> The current implementation uses facts discovered while booted into the
>>>> ramdisk, so if the app were to assemble anything found in the
>>>> NFC/Barcode into a hash and submit it the same way, then the system
>>>> would work the same. MAC address of eth0 would be mandatory, as I'm
>>>> using that in place of a hostname (since the machine is unprovisioned
>>>> yet, it might not have one).
>>>>
>>>> I can see a flow of something like:
>>>>
>>>> 1) Get the MAC
>>>> 2) Search for it among the existing hosts in Foreman
>>>> 2a) If found, jump to it for further work (possibly upload tag data to
>>>> it as facts?)
>>>> 3) Offer to submit a DiscoveredHost using the data in the tag
>>>>
>>>> Does that make sense?
>
>
> Yea, that all makes sense. It would be nice to get the BMC information
as well. But that can be set during the provisioning process if it not
available.
>
>
>
>>>>
>>>> Greg
>>>
>>>
>>> Regarding vendor barcodes (asset tags), as far as I understand, the
info we want is not neccearily stored on the barcode, but rather the bar
code has a UUID-like identifier (perhaps a serial number or service tag?)
that links that system to a vendor db, that has the info we want. (Please
bear in mind my info is at least 7 years out of date, but we can, and
probably should, reach out to contacts at Sun/Oracle, Dell and HP and
confirm how they handle this.)
>>>
>>> See this Dell page for examples of data stores in the barcode
http://www1.euro.dell.com/content/learnmore/learnmore.aspx/hmc_anti_theft_device_and_asset_tagging?c=ie&l=en
>>>
>>> HP page is less helpful:
http://www.hp.com/latam/caribbean/pyme/soluciones/0206_cto_etiquet.html
>>>
>>> Hmm reading these lead me to believe that it's going to be challenging
to come up with a universal system that works, even for a
single manufacturer. e.g. Dell supports at least 6 standard variants of an
asset tag, with the only common data being the "Service Tag", yet Dell and
HP seem to also support "custom barcodes" for larger customers.
>>
>>
>> Hmm rereading the Dell page again leads me to believe that the
information encoded in the barcode is strictly a unique 7 character
alphanumeric string know as the "service tag". (The other details seem to
just be printed on the label and aren't encoded in the barcode).
>>
>> So I think to support this we need to add a string field to a host
called something like "Asset Tag" (assuming we want to support this in a
vendor neutral fashion), that when we import systems, we'd need to combine
it with the other data we want from a different data source.

··· On 28 Dec 2012 19:03, "Corey Osman" wrote: > On Dec 28, 2012, at 8:55 AM, Brian Gupta wrote: >> On Fri, Dec 28, 2012 at 11:38 AM, Brian Gupta wrote: >>> On Fri, Dec 28, 2012 at 7:38 AM, Greg Sutcliffe < greg.sutcliffe@gmail.com> wrote: >>>> On 24 December 2012 23:24, Corey Osman wrote: >> >>> -Brian >>> >>> -- >>> >> >> >> >> -- >> >