This repository creates a build image file for building SNIA's Storage Management Initiative (SMI) Common Information Model (CIM) Server.
The following must be present prior to building images.
- Docker version 19.x.x or later
- SSH keys that allow access to GitHub and the OpenPegasus repository
Building the SMI Server image is a two step process which first requires building the build image and then the server image. Building the build image can be skipped though if you choose to use one of the published images.
To build the docker image for building the SMI Server image first set the image version in the version.txt file. Next execute the following build command.
make build
This will lint the Dockerfile and then build the image provided no linting errors were found.
The SMI Build makefile supports the following targets.
make lint Lint the Dockerfile.
make build Build the build image.
make deploy Deploy, push the build image to an image registry.
make clean Remove the build image from the local machine.
Using the build image the server image can now be built. Run the following command line.
sudo docker run -it --rm -v /home/<username>/.ssh:/root/.ssh -v /var/run/docker.sock:/var/run/docker.sock smi-build:tag /bin/bash
You will be presented with a bash command prompt with the SMI root directory as the current working directory. At the prompt you are now able to execute the following make commands.
make Same as "make all"
make all Build and publish a server image
make build Build the server image
make test Run tests against the built server
make publish Build the server, a server image and push the image to an image registry
make clean Remove build output, build image and server images
"make build" : clones the current OpenPegasus project, starts a build and runs the pegasus tests against the built server.
"make publish": perform all the above build tasks plus builds an smi-server image which is presently pushed to a private image registry.
The same build tasks can also be specified on the docker command line as shown below.
sudo docker run -it --rm -v /home/<username>/.ssh:/root/.ssh -v /var/run/docker.sock:/var/run/docker.sock smi-build:tag "make build"
The container will terminate though after it finishes executing the specified command.
To only build, test and create the server image run these commands in build image bash shell.
make build
make docker-build-server-image
The make command for the build server image will build the server image smi-server:0.1.2 on your local machine.
Note: At this time the tag can only be changed in the makefile.
If you wish to skip this step you can use one of the existing build images such as this one on Dockerhub.
peterlamanna/smi-build:0.1.0
To run the server simply execute this command line.
sudo docker run -it --rm -p 127.0.0.1:5988:5988 -p 127.0.0.1:5989:5989 smi-server:0.1.2 /bin/bash
or to load the server image and start OpenPegasus when the server starts enter the run command without the last parameter ("/bin/bash")
sudo docker run -it --rm -p 127.0.0.1:5988:5988 -p 127.0.0.1:5989:5989 smi-server:0.1.2
Again, the bash shell will have the SMI root directory as the current working directory. From there you can execute any cimserver of cimcli command. To start the server simply execute the following.
cimserver
The server will start and print out to the console that it is listening on the default ports 5988 (http) and 5989 (https).
Please see FAQ.md for frequently asked questions.
Name | Url | |
---|---|---|
Keyport Technologies, Inc. | support@keyporttech.com | https://keyporttech.github.io/ |
We welcome both companies and individuals to provide feedback and updates to this repository.
Copyright (c) 2020 Keyport Technologies, Inc. All rights reserved.