Re: NEW: sysutils/cloud-agent
On Tue, May 15, 2018 at 11:46:45PM +0200, Reyk Floeter wrote: > Hi, > > attached is a new port, sysutils/cloud-agent. I wrote this tool > myself and you can find it on https://github.com/reyk/cloud-agent. > > There are many cloud-init-like scripts for OpenBSD but the agent is > multicloud, pledged, and includes support for Azure's weird method. > Having a package would make deployment even easier. > > --- > pkg/DESCR: > This is a simple OpenBSD-specific agent that handles provisioning and > cloud initialization on clouds such as Microsoft Azure, Amazon AWS, or > OpenStack. It is an alternative to sysutils/waagent on Azure. > --- > > Tested on Azure, AWS, OpenStack/VMware, Exoscale, vmd (with meta-data). > > OK? > > Reyk And now with the attachment ... port-cloud-agent-0.6.tar.gz Description: application/tar-gz
Re: NEW: sysutils/cloud-agent
On 2018/05/15 23:54, Reyk Floeter wrote: > On Tue, May 15, 2018 at 11:46:45PM +0200, Reyk Floeter wrote: > > Hi, > > > > attached is a new port, sysutils/cloud-agent. I wrote this tool > > myself and you can find it on https://github.com/reyk/cloud-agent. > > > > There are many cloud-init-like scripts for OpenBSD but the agent is > > multicloud, pledged, and includes support for Azure's weird method. > > Having a package would make deployment even easier. > > > > --- > > pkg/DESCR: > > This is a simple OpenBSD-specific agent that handles provisioning and > > cloud initialization on clouds such as Microsoft Azure, Amazon AWS, or > > OpenStack. It is an alternative to sysutils/waagent on Azure. > > --- > > > > Tested on Azure, AWS, OpenStack/VMware, Exoscale, vmd (with meta-data). > > > > OK? > > > > Reyk > > And now with the attachment ... > Can you roll a release distfile please? It can still be hosted on github as a release "asset" but anything using GH_* variables or github /archive/ URLs uses an on-the-fly-generated tar which can change when github update things their side. More info in my post at https://www.conserver.com/pipermail/users/2018-March/msg5.html DESCR refers to sysutils/waagent - can you drop the sysutils/ part please, we generally refer to packages rather than ports, plus if the waagent port is being removed then this is a bit confusing.
Re: NEW: sysutils/cloud-agent
Hi, On Tue, May 15, 2018 at 11:46:45PM +0200, Reyk Floeter wrote: > attached is a new port, sysutils/cloud-agent. I wrote this tool > myself and you can find it on https://github.com/reyk/cloud-agent. New version of the port, with the following changes: - Added expat to WANTLIB (pointed out by Rafael) - Uploaded my own release tarball (pointed out by Stuart, see https://www.conserver.com/pipermail/users/2018-March/msg5.html) new pkg/DESCR: --- This is a simple OpenBSD-specific agent that handles provisioning and cloud initialization on clouds such as Microsoft Azure, Amazon AWS, Apache CloudStack, or OpenStack. --- OK? Reyk port-cloud-agent-0.6-c.tar.gz Description: application/tar-gz
Re: NEW: sysutils/cloud-agent
On 2018/05/16 11:55, Reyk Floeter wrote: > Hi, > > On Tue, May 15, 2018 at 11:46:45PM +0200, Reyk Floeter wrote: > > attached is a new port, sysutils/cloud-agent. I wrote this tool > > myself and you can find it on https://github.com/reyk/cloud-agent. > > New version of the port, with the following changes: > > - Added expat to WANTLIB (pointed out by Rafael) > - Uploaded my own release tarball (pointed out by Stuart, > see https://www.conserver.com/pipermail/users/2018-March/msg5.html) > > new pkg/DESCR: > --- > This is a simple OpenBSD-specific agent that handles provisioning and > cloud initialization on clouds such as Microsoft Azure, Amazon AWS, > Apache CloudStack, or OpenStack. > --- > > OK? > > Reyk Seems ssl isn't actually linked (I'm not sure what purpose DPADD servers in agent/Makefile?) So I think WANTLIB should be "c crypto tls expat". Otherwise OK.
Re: NEW: sysutils/cloud-agent
On Wed, May 16, 2018 at 11:11:31AM +0100, Stuart Henderson wrote: > On 2018/05/16 11:55, Reyk Floeter wrote: > > Hi, > > > > On Tue, May 15, 2018 at 11:46:45PM +0200, Reyk Floeter wrote: > > > attached is a new port, sysutils/cloud-agent. I wrote this tool > > > myself and you can find it on https://github.com/reyk/cloud-agent. > > > > New version of the port, with the following changes: > > > > - Added expat to WANTLIB (pointed out by Rafael) > > - Uploaded my own release tarball (pointed out by Stuart, > > see https://www.conserver.com/pipermail/users/2018-March/msg5.html) > > > > new pkg/DESCR: > > --- > > This is a simple OpenBSD-specific agent that handles provisioning and > > cloud initialization on clouds such as Microsoft Azure, Amazon AWS, > > Apache CloudStack, or OpenStack. > > --- > > > > OK? > > > > Reyk > > Seems ssl isn't actually linked (I'm not sure what purpose DPADD servers > in agent/Makefile?) So I think WANTLIB should be "c crypto tls expat". > > Otherwise OK. > Well, it does link with libssl, libcrypto, and libtls. It works because libtls is linked against libssl and libcrypto and our linker is smart enough to handle those inter-library dependencies. But it doesn't work with static linking (make LDSTATIC=-static) and LDADD should really be "LDADD+= -lexpat -ltls -lssl -lcrypto". I will fix it in the next upstream version of cloud-agent but I think that the current port with "WANTLIB= c tls ssl crypto expat" is fine. Unless there are issues on non-amd64/i386 platforms? I don't have access to any of them at the moment. $ grep LDADD Makefile LDADD+= -lexpat -ltls $ ldd obj/cloud-agent obj/cloud-agent: StartEnd Type Open Ref GrpRef Name 189a1b40 189a1b60e000 exe 10 0 obj/cloud-agent 189d01b2d000 189d01d58000 rlib 01 0 /usr/lib/libexpat.so.12.0 189c8a57e000 189c8a78e000 rlib 01 0 /usr/lib/libtls.so.17.1 189c8bb95000 189c8be77000 rlib 01 0 /usr/lib/libc.so.92.3 189c9ea0f000 189c9edef000 rlib 02 0 /usr/lib/libcrypto.so.43.1 189d0d3bd000 189d0d611000 rlib 01 0 /usr/lib/libssl.so.45.1 189d0820 189d0820 ld.so 01 0 /usr/libexec/ld.so Reyk
Re: NEW: sysutils/cloud-agent
On 2018/05/16 12:27, Reyk Floeter wrote: > On Wed, May 16, 2018 at 11:11:31AM +0100, Stuart Henderson wrote: > > On 2018/05/16 11:55, Reyk Floeter wrote: > > > Hi, > > > > > > On Tue, May 15, 2018 at 11:46:45PM +0200, Reyk Floeter wrote: > > > > attached is a new port, sysutils/cloud-agent. I wrote this tool > > > > myself and you can find it on https://github.com/reyk/cloud-agent. > > > > > > New version of the port, with the following changes: > > > > > > - Added expat to WANTLIB (pointed out by Rafael) > > > - Uploaded my own release tarball (pointed out by Stuart, > > > see https://www.conserver.com/pipermail/users/2018-March/msg5.html) > > > > > > new pkg/DESCR: > > > --- > > > This is a simple OpenBSD-specific agent that handles provisioning and > > > cloud initialization on clouds such as Microsoft Azure, Amazon AWS, > > > Apache CloudStack, or OpenStack. > > > --- > > > > > > OK? > > > > > > Reyk > > > > Seems ssl isn't actually linked (I'm not sure what purpose DPADD servers > > in agent/Makefile?) So I think WANTLIB should be "c crypto tls expat". > > > > Otherwise OK. > > > > Well, it does link with libssl, libcrypto, and libtls. It works > because libtls is linked against libssl and libcrypto and our linker > is smart enough to handle those inter-library dependencies. > > But it doesn't work with static linking (make LDSTATIC=-static) and > LDADD should really be "LDADD+= -lexpat -ltls -lssl -lcrypto". > > I will fix it in the next upstream version of cloud-agent but I think > that the current port with "WANTLIB= c tls ssl crypto expat" is fine. > > Unless there are issues on non-amd64/i386 platforms? I don't have > access to any of them at the moment. > > $ grep LDADD Makefile > LDADD+= -lexpat -ltls > $ ldd obj/cloud-agent > obj/cloud-agent: > StartEnd Type Open Ref GrpRef Name > 189a1b40 189a1b60e000 exe 10 0 > obj/cloud-agent > 189d01b2d000 189d01d58000 rlib 01 0 > /usr/lib/libexpat.so.12.0 > 189c8a57e000 189c8a78e000 rlib 01 0 > /usr/lib/libtls.so.17.1 > 189c8bb95000 189c8be77000 rlib 01 0 > /usr/lib/libc.so.92.3 > 189c9ea0f000 189c9edef000 rlib 02 0 > /usr/lib/libcrypto.so.43.1 > 189d0d3bd000 189d0d611000 rlib 01 0 > /usr/lib/libssl.so.45.1 > 189d0820 189d0820 ld.so 01 0 > /usr/libexec/ld.so > > Reyk > ldd shows too much information for ports WANTLIB purposes, look at readelf -d or objdump -p: $ readelf -d libexec/cloud-agent bin/cms File: libexec/cloud-agent Dynamic section at offset 0xcb18 contains 18 entries: TagType Name/Value 0x0001 (NEEDED) Shared library: [libexpat.so.12.0] 0x0001 (NEEDED) Shared library: [libtls.so.17.1] 0x0001 (NEEDED) Shared library: [libc.so.92.3] 0x0004 (HASH) 0x107a20 0x0005 (STRTAB) 0x108908 0x0006 (SYMTAB) 0x107d98 0x000a (STRSZ) 1009 (bytes) 0x000b (SYMENT) 24 (bytes) 0x0015 (DEBUG) 0x0 0x0003 (PLTGOT) 0x20cc98 0x0002 (PLTRELSZ) 2376 (bytes) 0x0014 (PLTREL) RELA 0x0017 (JMPREL) 0x108e08 0x0007 (RELA) 0x108d00 0x0008 (RELASZ) 264 (bytes) 0x0009 (RELAENT)24 (bytes) 0x6ff9 (RELACOUNT) 5 0x (NULL) 0x0 File: bin/cms Dynamic section at offset 0x25208 contains 17 entries: TagType Name/Value 0x0001 (NEEDED) Shared library: [libcrypto.so.43.1] 0x0001 (NEEDED) Shared library: [libc.so.92.3] 0x0004 (HASH) 0x113660 0x0005 (STRTAB) 0x1168c8 0x0006 (SYMTAB) 0x114120 0x000a (STRSZ) 6926 (bytes) 0x000b (SYMENT) 24 (bytes) 0x0015 (DEBUG) 0x0 0x0003 (PLTGOT) 0x225378 0x0002 (PLTRELSZ) 8568 (bytes) 0x0014 (PLTREL) RELA 0x0017 (JMPREL) 0x11abb0 0x0007 (RELA) 0x1183d8 0x0008 (RELASZ) 10200 (bytes) 0x0009 (RELAENT)24 (bytes) 0x6ff9 (RELACOUNT) 308 0x (NULL) 0x0 So libssl is only pulled in via inter library link, it doesn't matter to the package if libssl gets a revision bumped because it's only libtls that depends on the ABI.
Re: NEW: sysutils/cloud-agent
On Wed, May 16, 2018 at 11:33:40AM +0100, Stuart Henderson wrote: > On 2018/05/16 12:27, Reyk Floeter wrote: > > On Wed, May 16, 2018 at 11:11:31AM +0100, Stuart Henderson wrote: > > > On 2018/05/16 11:55, Reyk Floeter wrote: > > > > Hi, > > > > > > > > On Tue, May 15, 2018 at 11:46:45PM +0200, Reyk Floeter wrote: > > > > > attached is a new port, sysutils/cloud-agent. I wrote this tool > > > > > myself and you can find it on https://github.com/reyk/cloud-agent. > > > > > > > > New version of the port, with the following changes: > > > > > > > > - Added expat to WANTLIB (pointed out by Rafael) > > > > - Uploaded my own release tarball (pointed out by Stuart, > > > > see https://www.conserver.com/pipermail/users/2018-March/msg5.html) > > > > > > > > new pkg/DESCR: > > > > --- > > > > This is a simple OpenBSD-specific agent that handles provisioning and > > > > cloud initialization on clouds such as Microsoft Azure, Amazon AWS, > > > > Apache CloudStack, or OpenStack. > > > > --- > > > > > > > > OK? > > > > > > > > Reyk > > > > > > Seems ssl isn't actually linked (I'm not sure what purpose DPADD servers > > > in agent/Makefile?) So I think WANTLIB should be "c crypto tls expat". > > > > > > Otherwise OK. > > > > > > > Well, it does link with libssl, libcrypto, and libtls. It works > > because libtls is linked against libssl and libcrypto and our linker > > is smart enough to handle those inter-library dependencies. > > > > But it doesn't work with static linking (make LDSTATIC=-static) and > > LDADD should really be "LDADD+= -lexpat -ltls -lssl -lcrypto". > > > > I will fix it in the next upstream version of cloud-agent but I think > > that the current port with "WANTLIB= c tls ssl crypto expat" is fine. > > > > Unless there are issues on non-amd64/i386 platforms? I don't have > > access to any of them at the moment. > > > > $ grep LDADD Makefile > > LDADD+= -lexpat -ltls > > $ ldd obj/cloud-agent > > obj/cloud-agent: > > StartEnd Type Open Ref GrpRef Name > > 189a1b40 189a1b60e000 exe 10 0 > > obj/cloud-agent > > 189d01b2d000 189d01d58000 rlib 01 0 > > /usr/lib/libexpat.so.12.0 > > 189c8a57e000 189c8a78e000 rlib 01 0 > > /usr/lib/libtls.so.17.1 > > 189c8bb95000 189c8be77000 rlib 01 0 > > /usr/lib/libc.so.92.3 > > 189c9ea0f000 189c9edef000 rlib 02 0 > > /usr/lib/libcrypto.so.43.1 > > 189d0d3bd000 189d0d611000 rlib 01 0 > > /usr/lib/libssl.so.45.1 > > 189d0820 189d0820 ld.so 01 0 > > /usr/libexec/ld.so > > > > Reyk > > > > ldd shows too much information for ports WANTLIB purposes, look at > readelf -d or objdump -p: > > $ readelf -d libexec/cloud-agent bin/cms > > File: libexec/cloud-agent > > Dynamic section at offset 0xcb18 contains 18 entries: > TagType Name/Value > 0x0001 (NEEDED) Shared library: [libexpat.so.12.0] > 0x0001 (NEEDED) Shared library: [libtls.so.17.1] > 0x0001 (NEEDED) Shared library: [libc.so.92.3] > 0x0004 (HASH) 0x107a20 > 0x0005 (STRTAB) 0x108908 > 0x0006 (SYMTAB) 0x107d98 > 0x000a (STRSZ) 1009 (bytes) > 0x000b (SYMENT) 24 (bytes) > 0x0015 (DEBUG) 0x0 > 0x0003 (PLTGOT) 0x20cc98 > 0x0002 (PLTRELSZ) 2376 (bytes) > 0x0014 (PLTREL) RELA > 0x0017 (JMPREL) 0x108e08 > 0x0007 (RELA) 0x108d00 > 0x0008 (RELASZ) 264 (bytes) > 0x0009 (RELAENT)24 (bytes) > 0x6ff9 (RELACOUNT) 5 > 0x (NULL) 0x0 > > File: bin/cms > > Dynamic section at offset 0x25208 contains 17 entries: > TagType Name/Value > 0x0001 (NEEDED) Shared library: [libcrypto.so.43.1] > 0x0001 (NEEDED) Shared library: [libc.so.92.3] > 0x0004 (HASH) 0x113660 > 0x0005 (STRTAB) 0x1168c8 > 0x0006 (SYMTAB) 0x114120 > 0x000a (STRSZ) 6926 (bytes) > 0x000b (SYMENT) 24 (bytes) > 0x0015 (DEBUG) 0x0 > 0x0003 (PLTGOT) 0x225378 > 0x0002 (PLTRELSZ) 8568 (bytes) > 0x0014 (PLTREL) RELA > 0x0017 (JMPREL) 0x11abb0 > 0x0007 (RELA) 0x1183d8 > 0x0008 (RELASZ) 10200 (bytes) > 0x0009 (RELAENT)24 (b