Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

11.1-PRERELEASE, waagent crashes attaching reosurce disc in Azure

11 views
Skip to first unread message

Pete French

unread,
May 26, 2017, 8:27:21 AM5/26/17
to
Have upgraded one of my Azure boxes to 11.1-PRERELEASE yesterday, and I
now find the below backtrace from waagent when it tries to attach
the resource disc. It looks as if it is finding 'pass1' as the device,
when it should be finding 'da1'. As the waagents hasnt changed I am
wondering what might have chnaged in FreeBSD to make this stop working.

I consider this to be an Azure bug not a FreeBSD bug, and have
filed an issue, but would be nice to get to the bottom of it myself.

cheers,

-pete.

2017/05/25 10:09:00.745944 INFO Activate resource disk
2017/05/25 10:09:00.788944 INFO Resource disk device pass1 found.
2017/05/25 10:09:00.794396 ERROR Event: name=WALinuxAgent, op=UnhandledError, message=Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/azurelinuxagent/daemon/main.py", line 77, in run
self.daemon(child_args)
File "/usr/local/lib/python2.7/site-packages/azurelinuxagent/daemon/main.py", line 117, in daemon
self.resourcedisk_handler.run()
File "/usr/local/lib/python2.7/site-packages/azurelinuxagent/daemon/resourcedisk/default.py", line 59, in run
mount_point = self.activate_resource_disk()
File "/usr/local/lib/python2.7/site-packages/azurelinuxagent/daemon/resourcedisk/default.py", line 68, in activate_resource_disk
mount_point = self.mount_resource_disk(mount_point)
File "/usr/local/lib/python2.7/site-packages/azurelinuxagent/daemon/resourcedisk/freebsd.py", line 85, in mount_resource_disk
partition_table_type = disks[device]
KeyError: u'pass1'

_______________________________________________
freebsd...@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stabl...@freebsd.org"

Baptiste Daroussin

unread,
May 26, 2017, 8:31:21 AM5/26/17
to
On Fri, May 26, 2017 at 01:26:46PM +0100, Pete French wrote:
> Have upgraded one of my Azure boxes to 11.1-PRERELEASE yesterday, and I
> now find the below backtrace from waagent when it tries to attach
> the resource disc. It looks as if it is finding 'pass1' as the device,
> when it should be finding 'da1'. As the waagents hasnt changed I am
> wondering what might have chnaged in FreeBSD to make this stop working.
>
> I consider this to be an Azure bug not a FreeBSD bug, and have
> filed an issue, but would be nice to get to the bottom of it myself.
>
> cheers,
>
> -pete.
>

The agent has just been updated in the ports tree a few days ago, can you try
the new version?

Bapt
signature.asc

Pete French

unread,
May 26, 2017, 11:37:18 AM5/26/17
to
I'm not using the version from ports, I am using the latest oone
directly from the git repository as its the most recent there is.
That is version 2.2.11.1.

( The images supplied by Microsoft came with waagent isnatlled which was
more recent tahn ports, so I never used the prt (the one time I tried it
clashed and didnt work at all actually). )

-pete.

Pete French

unread,
May 26, 2017, 11:44:53 AM5/26/17
to
> The agent has just been updated in the ports tree a few days ago, can you
> try the new version?

Just checked and the version in ports is 2.2.8, and I am running 2.2.11

-pete.

..

Pete French

unread,
May 30, 2017, 12:22:40 PM5/30/17
to
A bit more investigation on this and I think I found what the differece is
at least. waagent is using camcontrol periphlist 3:1:0 to find devices,
and this has chnaged from placing the discs before the pass
devices to afterwards. So on an earlier version I get this:

root@joanna-may:/home/webadmin # camcontrol periphlist 3:1:0
da1: generation: 4 index: 1 status: MORE
pass1: generation: 4 index: 2 status: LAST

and on the box with the issue it does this:

root@backup-db:/home/webadmin # camcontrol periphlist 3:1:0
pass1: generation: 4 index: 1 status: MORE
da1: generation: 4 index: 2 status: LAST

So that box finds 'pass1' as the device when it should be finding 'da1'
which leads to the error. I have a vague memory of seeing a commit for this
go past too.

On the other hand, the oython looks like it shuold handle this, as it
appears to try and detect which devices are disks from the output of
gpart list, which should not let it use pass1 as if it was a disc.

-pete.

Pete French

unread,
Jun 1, 2017, 6:05:04 AM6/1/17
to
Just been through the azure python code - my intiial impressin was wrong, its
not the chnage to the periphlist output which is the issue. Instead
its the fact that a simple 'devlist' now puts the pass devices first in
the list, and the azure waagent uses the first listed device when it initially
looks for the device. A simple fix for this is to reject what that call
returns and then to drop back to using periphlist, nd this is what I have done,
but it would be nice to fix it properly.

What was the reason behind the chnage of ordering anyway ? Any script
which naiively parses the output of camcontrol devlist will hit a similar
issue potentially ? It's not exactly a bug, but...
0 new messages