reduce sdnc-ansible-server image footprint

Project "CIA" scope is to provide smaller and multi architecture docker
images.

This proposition aims to do that for sdnc-ansible-server.

The current size of this proposal is 139mb compared to the 618Mb image
proposed before (and before actual ansible installation).

Principles used are the following:

1. a "basic" `docker build .` should provide a working image;
2. use the smallest (and multi arch) base image possibe;
3. install necessary stuff only;
4. leverage python best practices for installation;
5. remove installation stuff occuring at run level and move them to
   build level.

* Dockerfile is now at the root part;
* ansible configuration file `ansible.cfg` is created and put in
  `configuration` folder;
* ansible configuration file `ansible.cfg` is pushed during the
  build part with a reproductible process;
* `python` files are on `ansible-server" folder so copying during build
  works out of the box;
* yml files are put directly on `ansible-server/Playbooks` so copying
during build works out the box;

* Dockerfile base image is now alpine:3.8;
* `timeout` executable being now from busybox, change in the
  command-line call has been made (`--signal` is now `-s` and `-t` is
  set before setting the timeout value).

* Only install python and python-pip as alpine package and remove build
  dependencies package after use.

* put all python requirements in `requirements.txt` package and launch
  pip installation command with this file.

* call directly python main script (`RestServer.py`) as entrypoint and
  do the python installation stuff at build time.

- [x] change pom.xml so building parts works
- [ ] consider changing destination folder (`/opt/ansible-server/`) to
      the ancient one (`/opt/onap/ccsdk/`) if this is problematic

Change-Id: I6295d7c2d1ed631e1842350581234686d704c1bf
Issue-ID: INT-816
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>

Former-commit-id: 4fe3b43a0d30a15ceed58c695d2a72c5382fded6
20 files changed
tree: fe6053a86b5c93cc5c326eee980e176927780cda
  1. admportal/
  2. configbackuprestore/
  3. docs/
  4. installation/
  5. platform-logic/
  6. SdncReports/
  7. .gitignore
  8. .gitreview
  9. INFO.yaml
  10. LICENSE.txt
  11. pom.xml
  12. README.md
  13. version.properties
README.md

This source repository contains the code for SDN Controller operations, administration and maintenance utilities. This code depends on the following, which should be downloaded and compiled first:

  1. org.openecomp.sdnc/sdnc-core
  2. org.openecomp.sdnc/sdnc-adaptors
  3. org.openecomp.sdnc/sdnc-northbound
  4. org.openecomp.sdnc/sdnc-plugins

To compile this code:

  1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the OpenECOMP repositories and OpenDaylight repositories. See example-settings.xml for an example.

  2. To compile, run "mvn clean install".