Topics

Error in installing via Docker and help needed for integrating with REST API


asharma@...
 

I am trying to Set-up the DAOS system on my local machine. So, when I am trying to run the DockerFile for the same, it gives me the following error:



Also, I want to connect my REST API to the DAOS Server, and I know there is something called 'client APIs ' for DAOS. But, I need to know how to integrate my REST API with DAOS. 
It would be great if anyone could help me with this.


Lombardi, Johann
 

Hi,

 

Could you please advise what docker command you ran?

“docker build https://github.com/daos-stack/daos.git#master:utils/docker -f Dockerfile.centos.7” should work fine.

 

Regarding the REST API, it would be great to know the type of information you would like to expose via your REST interface.

 

Cheers,

Johann

 

From: <daos@daos.groups.io> on behalf of "asharma@..." <asharma@...>
Reply-To: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Wednesday 3 February 2021 at 03:09
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: [daos] Error in installing via Docker and help needed for integrating with REST API

 

I am trying to Set-up the DAOS system on my local machine. So, when I am trying to run the DockerFile for the same, it gives me the following error:



Also, I want to connect my REST API to the DAOS Server, and I know there is something called 'client APIs ' for DAOS. But, I need to know how to integrate my REST API with DAOS. 
It would be great if anyone could help me with this.

---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


Pittman, Ashley M
 

 

This will create a build a docker image using the Dockerfile from github, but the sources from the current directory so you need to do this from a checked-out copy of the source tree.

 

Ashley.

 

From: daos@daos.groups.io <daos@daos.groups.io> on behalf of Lombardi, Johann <johann.lombardi@...>
Date: Wednesday, 3 February 2021 at 14:49
To: daos@daos.groups.io <daos@daos.groups.io>
Subject: Re: [daos] Error in installing via Docker and help needed for integrating with REST API

Hi,

 

Could you please advise what docker command you ran?

“docker build https://github.com/daos-stack/daos.git#master:utils/docker -f Dockerfile.centos.7” should work fine.

 

Regarding the REST API, it would be great to know the type of information you would like to expose via your REST interface.

 

Cheers,

Johann

 

From: <daos@daos.groups.io> on behalf of "asharma@..." <asharma@...>
Reply-To: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Wednesday 3 February 2021 at 03:09
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: [daos] Error in installing via Docker and help needed for integrating with REST API

 

I am trying to Set-up the DAOS system on my local machine. So, when I am trying to run the DockerFile for the same, it gives me the following error:



Also, I want to connect my REST API to the DAOS Server, and I know there is something called 'client APIs ' for DAOS. But, I need to know how to integrate my REST API with DAOS. 
It would be great if anyone could help me with this.

---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


asharma@...
 

Hi Johann,
I ran the exact same command: docker build https://github.com/daos-stack/daos.git#master:utils/docker \ -f Dockerfile.centos.7 -t daos

My major use case of connecting my Python API with the DAOS storage is to access the "management API". I know with pydaos we can read and write KV pairs to store with keys and value both to be strings. But is there any way to perform management tasks from my rest APi by interacting with the DAOS system. 


asharma@...
 

Hi Ashley,

Thank you so much for the response. I was in the wrong directory it seems. Although when I try now, the build stops with the following error :- 

[...]

at include/opa_user.h    /tmp/tmp.8clvxfJtXv/opa_user_gen1.h  > /tmp/tmp.8clvxfJtXv/opa_user.h

cat include/opa_service.h /tmp/tmp.8clvxfJtXv/opa_service_gen1.h > /tmp/tmp.8clvxfJtXv/opa_service.h

install -m 0644 -D /tmp/tmp.8clvxfJtXv/opa_user.h    /usr/prereq/release/psm2/include/hfi1diag/opa_user.h

install -m 0644 -D /tmp/tmp.8clvxfJtXv/opa_service.h /usr/prereq/release/psm2/include/hfi1diag/opa_service.h

install -m 0644 -D /tmp/tmp.8clvxfJtXv/opa_common_gen1.h /usr/prereq/release/psm2/include/hfi1diag/opa_common.h

install -m 0644 -D include/opa_byteorder.h /usr/prereq/release/psm2/include/hfi1diag/opa_byteorder.h

install -m 0644 -D include/psm2_mock_testing.h /usr/prereq/release/psm2/include/hfi1diag/psm2_mock_testing.h

install -m 0644 -D include/opa_revision.h /usr/prereq/release/psm2/include/hfi1diag/opa_revision.h

install -m 0644 -D psmi_wrappers.h /usr/prereq/release/psm2/include/hfi1diag/psmi_wrappers.h

install -m 0644 -D psm_hal_gen1/hfi1_deprecated_gen1.h /usr/prereq/release/psm2/include/hfi1diag/hfi1_deprecated.h

rm -fr /tmp/tmp.8clvxfJtXv

Checking for C header file psm2.h... yes

Checking for C library psm2... yes

Checking whether patchelf program exists...no

MissingSystemLibs: ofi has unmet dependencies required for build:

  File "/home/daos/daos/SConstruct", line 463:

    scons()

  File "/home/daos/daos/SConstruct", line 386:

    preload_prereqs(prereqs)

  File "/home/daos/daos/SConstruct", line 175:

    prereqs.load_definitions(prebuild=reqs)

  File "/home/daos/daos/utils/sl/prereq_tools/base.py", line 992:

    self.require(env, comp)

  File "/home/daos/daos/utils/sl/prereq_tools/base.py", line 1061:

 

    raise error

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

I believe it says that it could not find patchelf installed on the centOS image.  It should have been installed on the image as well when it installed the dependencies, I am not able to figure out why it will say so. My local has patchelf installed but that is of no use for this image build. 

I am using version 1.0.1 as I felt it was the last stable version. so I used the following commands

git clone --recurse-submodules -b v1.0.1 https://github.com/daos-stack/daos.git
cd daos
docker build https://github.com/daos-stack/daos.git#v1.0.1:utils/docker \
        -f Dockerfile.centos.7 -t daos


Pittman, Ashley M
 

 

It looks like you’re trying to use 1.0.1?  I’ve just checked that out locally and there’s no reference to patchelf at all in the source tree at that point, we use it now for checking that build versions are relocatable.

 

Is there any chance you’re using a 1.0.1 dockerfile to build from the master branch?  The line numbers would support this, in particular SConstruct didn’t have 463 lines in v1.0.1, but in master it does match the trace you posted below.

 

Ashley.

 

From: daos@daos.groups.io <daos@daos.groups.io> on behalf of asharma@... <asharma@...>
Date: Thursday, 4 February 2021 at 06:05
To: daos@daos.groups.io <daos@daos.groups.io>
Subject: Re: [daos] Error in installing via Docker and help needed for integrating with REST API

Hi Ashley,

Thank you so much for the response. I was in the wrong directory it seems. Although when I try now, the build stops with the following error :- 

[...]

at include/opa_user.h    /tmp/tmp.8clvxfJtXv/opa_user_gen1.h  > /tmp/tmp.8clvxfJtXv/opa_user.h

cat include/opa_service.h /tmp/tmp.8clvxfJtXv/opa_service_gen1.h > /tmp/tmp.8clvxfJtXv/opa_service.h

install -m 0644 -D /tmp/tmp.8clvxfJtXv/opa_user.h    /usr/prereq/release/psm2/include/hfi1diag/opa_user.h

install -m 0644 -D /tmp/tmp.8clvxfJtXv/opa_service.h /usr/prereq/release/psm2/include/hfi1diag/opa_service.h

install -m 0644 -D /tmp/tmp.8clvxfJtXv/opa_common_gen1.h /usr/prereq/release/psm2/include/hfi1diag/opa_common.h

install -m 0644 -D include/opa_byteorder.h /usr/prereq/release/psm2/include/hfi1diag/opa_byteorder.h

install -m 0644 -D include/psm2_mock_testing.h /usr/prereq/release/psm2/include/hfi1diag/psm2_mock_testing.h

install -m 0644 -D include/opa_revision.h /usr/prereq/release/psm2/include/hfi1diag/opa_revision.h

install -m 0644 -D psmi_wrappers.h /usr/prereq/release/psm2/include/hfi1diag/psmi_wrappers.h

install -m 0644 -D psm_hal_gen1/hfi1_deprecated_gen1.h /usr/prereq/release/psm2/include/hfi1diag/hfi1_deprecated.h

rm -fr /tmp/tmp.8clvxfJtXv

Checking for C header file psm2.h... yes

Checking for C library psm2... yes

Checking whether patchelf program exists...no

MissingSystemLibs: ofi has unmet dependencies required for build:

  File "/home/daos/daos/SConstruct", line 463:

    scons()

  File "/home/daos/daos/SConstruct", line 386:

    preload_prereqs(prereqs)

  File "/home/daos/daos/SConstruct", line 175:

    prereqs.load_definitions(prebuild=reqs)

  File "/home/daos/daos/utils/sl/prereq_tools/base.py", line 992:

    self.require(env, comp)

  File "/home/daos/daos/utils/sl/prereq_tools/base.py", line 1061:

 

    raise error

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

I believe it says that it could not find patchelf installed on the centOS image.  It should have been installed on the image as well when it installed the dependencies, I am not able to figure out why it will say so. My local has patchelf installed but that is of no use for this image build. 

I am using version 1.0.1 as I felt it was the last stable version. so I used the following commands

git clone --recurse-submodules -b v1.0.1 https://github.com/daos-stack/daos.git
cd daos

docker build https://github.com/daos-stack/daos.git#v1.0.1:utils/docker \

        -f Dockerfile.centos.7 -t daos

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


asharma@...
 

Hi Ashley,
I ran the following 3 commands: 
git clone --recurse-submodules -b v1.0.1 https://github.com/daos-stack/daos.git
cd daos
docker build https://github.com/daos-stack/daos.git#v1.0.1:utils/docker \
        -f Dockerfile.centos.7 -t daos

This means I checked out the v1.0.1 branch and ran with the v1.0.1 docker file on it. I was running v1.0.1 because I thought i should use the last stable version as I am using this in a project. Do you suggest I try with the master clone and master Docker file?


Lombardi, Johann
 

Hi,

 

Sorry for the confusion. The structure of the docker files was modified some time ago and we updated the documentation (in the source code too) accordingly, but the online github I/O pages have not been refreshed since. This explains the disconnection. Please run instead:

$ docker build https://github.com/daos-stack/daos.git#master -f utils/docker/Dockerfile.centos.7 -t daos

I have just tested it and it works.

 

@Durfey, Craig, could you please refresh the online documentation?

 

Regarding the management API, it is written in Go. For unknown reason, pkg.go.dev does not seem to be generating the documentation for our API any longer. I will get back to you ASAP on this.

 

Cheers,

Johann

 

From: <daos@daos.groups.io> on behalf of "asharma@..." <asharma@...>
Reply-To: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Thursday 4 February 2021 at 05:21
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: Re: [daos] Error in installing via Docker and help needed for integrating with REST API

 

Hi Johann,
I ran the exact same command: docker build https://github.com/daos-stack/daos.git#master:utils/docker \ -f Dockerfile.centos.7 -t daos

My major use case of connecting my Python API with the DAOS storage is to access the "management API". I know with pydaos we can read and write KV pairs to store with keys and value both to be strings. But is there any way to perform management tasks from my rest APi by interacting with the DAOS system. 

---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


Pittman, Ashley M
 

 

Ok, I’ve reproduced this.  The issue is the dockerfile in 1.0.1 is doing a git clone rather than a COPY to get the code, so the dockerfile is fetching the wrong data.

 

I guess the fix would be to update the Dockfile on the branch to have it pull from the branch, however as  Johann said we’ve modified the dockefiles a lot since then, and will be doing so again shortly.

 

The way forward is probably to checkout the code, locally modify the dockerfile to run “COPY ./ .” rather than the git clone command if you have the option to do this.

 

On master specifying the URL of a dockerfile on the command line isn’t going to work anyway, if we do want to support this method of install then we’ll need to rethink a bit.

 

Ashley.

 

From: daos@daos.groups.io <daos@daos.groups.io> on behalf of asharma@... <asharma@...>
Date: Thursday, 4 February 2021 at 14:10
To: daos@daos.groups.io <daos@daos.groups.io>
Subject: Re: [daos] Error in installing via Docker and help needed for integrating with REST API

Hi Ashley,
I ran the following 3 commands: 
git clone --recurse-submodules -b v1.0.1 https://github.com/daos-stack/daos.git
cd daos

docker build https://github.com/daos-stack/daos.git#v1.0.1:utils/docker \

        -f Dockerfile.centos.7 -t daos

This means I checked out the v1.0.1 branch and ran with the v1.0.1 docker file on it. I was running v1.0.1 because I thought i should use the last stable version as I am using this in a project. Do you suggest I try with the master clone and master Docker file?

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


Lombardi, Johann
 

Well, the URL on master definitely works if you use “docker build https://github.com/daos-stack/daos.git#master -f utils/docker/Dockerfile.centos.7

 

Johann

 

From: <daos@daos.groups.io> on behalf of "Pittman, Ashley M" <ashley.m.pittman@...>
Reply-To: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Thursday 4 February 2021 at 16:15
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: Re: [daos] Error in installing via Docker and help needed for integrating with REST API

 

 

Ok, I’ve reproduced this.  The issue is the dockerfile in 1.0.1 is doing a git clone rather than a COPY to get the code, so the dockerfile is fetching the wrong data.

 

I guess the fix would be to update the Dockfile on the branch to have it pull from the branch, however as  Johann said we’ve modified the dockefiles a lot since then, and will be doing so again shortly.

 

The way forward is probably to checkout the code, locally modify the dockerfile to run “COPY ./ .” rather than the git clone command if you have the option to do this.

 

On master specifying the URL of a dockerfile on the command line isn’t going to work anyway, if we do want to support this method of install then we’ll need to rethink a bit.

 

Ashley.

 

From: daos@daos.groups.io <daos@daos.groups.io> on behalf of asharma@... <asharma@...>
Date: Thursday, 4 February 2021 at 14:10
To: daos@daos.groups.io <daos@daos.groups.io>
Subject: Re: [daos] Error in installing via Docker and help needed for integrating with REST API

Hi Ashley,
I ran the following 3 commands: 
git clone --recurse-submodules -b v1.0.1 https://github.com/daos-stack/daos.git
cd daos

docker build https://github.com/daos-stack/daos.git#v1.0.1:utils/docker \

        -f Dockerfile.centos.7 -t daos

This means I checked out the v1.0.1 branch and ran with the v1.0.1 docker file on it. I was running v1.0.1 because I thought i should use the last stable version as I am using this in a project. Do you suggest I try with the master clone and master Docker file?

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


asharma@...
 

Hi Johann,

Thank you for all the help. The master definitely worked. And I was able to get a container running. Upon running: sudo docker exec server daos_server start -o /home/daos/daos/utils/config/examples/daos_server_local.yml to start the server. I get the following errors: 

DAOS Server config loaded from /home/daos/daos/utils/config/examples/daos_server_local.yml

daos_server logging to file /tmp/daos_control.log

ERROR: server: code = 647 description = "requested 4096 hugepages; got 0"

ERROR: server: code = 647 resolution = "reboot the system or manually clear /dev/hugepages as appropriate"

I read on an older mail that these errors can be taken as warnings and can be ignored, the server would still run. is that right?
So I went ahead and tried to run: $ docker exec server dmg -i storage format.
But this command gives the following error: the server at localhost:10001 refused the connection

 

My understanding was if I use the daos_server_local.yml file, i do not need authentication as the config file sets the flag allow_insecure :true 

My target is to just have a basic daos server running and be able to use management API on it. so that I can integrate my client application to interact with the daos server using the management API


Lombardi, Johann
 

Hi,

 

The dmg format command actually connects to the server to initiate the format. In your case, the server failed to start, so the “refused connection” is expected. I assume that you are running the server container with --privileged --cap-add=ALL -v /dev:/dev as specified in the documentation, right?

 

Cheers,

Johann

 

From: <daos@daos.groups.io> on behalf of "asharma@..." <asharma@...>
Reply-To: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Sunday 7 February 2021 at 14:46
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: Re: [daos] Error in installing via Docker and help needed for integrating with REST API

 

Hi Johann,

Thank you for all the help. The master definitely worked. And I was able to get a container running. Upon running: sudo docker exec server daos_server start -o /home/daos/daos/utils/config/examples/daos_server_local.yml to start the server. I get the following errors: 

DAOS Server config loaded from /home/daos/daos/utils/config/examples/daos_server_local.yml

daos_server logging to file /tmp/daos_control.log

ERROR: server: code = 647 description = "requested 4096 hugepages; got 0"

ERROR: server: code = 647 resolution = "reboot the system or manually clear /dev/hugepages as appropriate"

I read on an older mail that these errors can be taken as warnings and can be ignored, the server would still run. is that right?
So I went ahead and tried to run: $ docker exec server dmg -i storage format.
But this command gives the following error: the server at localhost:10001 refused the connection

 

My understanding was if I use the daos_server_local.yml file, i do not need authentication as the config file sets the flag allow_insecure :true 

My target is to just have a basic daos server running and be able to use management API on it. so that I can integrate my client application to interact with the daos server using the management API

---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


Nabarro, Tom
 

If NVMe is not required then try setting "nr_hugepages: 0" in the global section of the server configuration file.

 

Regards,

Tom

 

From: daos@daos.groups.io <daos@daos.groups.io> On Behalf Of Lombardi, Johann
Sent: Monday, February 8, 2021 10:06 AM
To: daos@daos.groups.io
Subject: Re: [daos] Error in installing via Docker and help needed for integrating with REST API

 

Hi,

 

The dmg format command actually connects to the server to initiate the format. In your case, the server failed to start, so the “refused connection” is expected. I assume that you are running the server container with --privileged --cap-add=ALL -v /dev:/dev as specified in the documentation, right?

 

Cheers,

Johann

 

From: <daos@daos.groups.io> on behalf of "asharma@..." <asharma@...>
Reply-To: "daos@daos.groups.io" <daos@daos.groups.io>
Date: Sunday 7 February 2021 at 14:46
To: "daos@daos.groups.io" <daos@daos.groups.io>
Subject: Re: [daos] Error in installing via Docker and help needed for integrating with REST API

 

Hi Johann,

Thank you for all the help. The master definitely worked. And I was able to get a container running. Upon running: sudo docker exec server daos_server start -o /home/daos/daos/utils/config/examples/daos_server_local.yml to start the server. I get the following errors: 

DAOS Server config loaded from /home/daos/daos/utils/config/examples/daos_server_local.yml

daos_server logging to file /tmp/daos_control.log

ERROR: server: code = 647 description = "requested 4096 hugepages; got 0"

ERROR: server: code = 647 resolution = "reboot the system or manually clear /dev/hugepages as appropriate"

I read on an older mail that these errors can be taken as warnings and can be ignored, the server would still run. is that right?
So I went ahead and tried to run: $ docker exec server dmg -i storage format.
But this command gives the following error: the server at localhost:10001 refused the connection

 

My understanding was if I use the daos_server_local.yml file, i do not need authentication as the config file sets the flag allow_insecure :true 

My target is to just have a basic daos server running and be able to use management API on it. so that I can integrate my client application to interact with the daos server using the management API

---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


asharma@...
 

Hi,
Yes I am running the container by the following command : $ sudo docker run -it -d --privileged --cap-add=ALL --name server -v /dev:/dev <Image ID>

The exact steps I am using for the entire installation are:- (steps 4-10 corresponds to the DAOS installation with docker)

  1. 1) Setup a VM on azure. (16 GiB DRAM) 

  2. 2 )Install docker on VM : https://docs.docker.com/engine/install/centos/ 

  3. 3) Install Git to the VM  

  4. 4) Git clone the master branch from github : $ git clone https://github.com/daos-stack/daos.git 

  5. 5) Enter the root directory of DAOS Project: $ cd daos 

  6. 6) Build the Docker image from the root directory : $ sudo docker build https://github.com/daos-stack/daos.git#master -f utils/docker/Dockerfile.centos.7 

  7. 7) Check if the image was created : $ sudo docker images 

  8. 8) Run a container with the newly created image: $ sudo docker run -it -d --privileged --cap-add=ALL --name server -v /dev:/dev <Image ID> 

  9. 9) Copy the project source tree into the container : $ sudo docker cp ./daos server:/home/daos 

  10. 10) Start a server inside the container : $ sudo docker exec server daos_server start \ 

  11.         -o /home/daos/daos/utils/config/examples/daos_server_local.yml 

    Note: Although step 9 is not mentioned in the documentation, without that I get an error: No such file or directory at /daos
    /utils/config/examples/daos_server_local.yml 


On Mon, Feb 8, 2021, at 05:06 AM, Lombardi, Johann wrote:

Hi,

 

The dmg format command actually connects to the server to initiate the format. In your case, the server failed to start, so the “refused connection” is expected. I assume that you are running the server container with --privileged --cap-add=ALL -v /dev:/dev as specified in the documentation, right?