diff options
27 files changed, 113 insertions, 1025 deletions
diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..174b389 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +recursive-include 3rd_party * diff --git a/docker/Dockerfile.api b/docker/Dockerfile.api index 19bde76..d40562a 100644 --- a/docker/Dockerfile.api +++ b/docker/Dockerfile.api @@ -49,8 +49,7 @@ RUN apt-get update && apt-get install -y \ RUN pip install -U setuptools -RUN git config --global http.sslVerify false && \ - git clone https://gerrit.opnfv.org/gerrit/dovetail-webportal $HOME/testapi && \ +RUN git clone https://gerrit.opnfv.org/gerrit/dovetail-webportal $HOME/testapi && \ cd $HOME/testapi && \ git checkout -f $BRANCH && \ mkdir -p $HOME/testapi/logs/api && \ diff --git a/docker/Dockerfile.web b/docker/Dockerfile.web index 78647da..853e0f8 100644 --- a/docker/Dockerfile.web +++ b/docker/Dockerfile.web @@ -22,8 +22,7 @@ RUN apt-get update && apt-get install -y \ npm \ && rm -rf /var/lib/apt/lists/* -RUN git config --global http.sslVerify false && \ - git clone https://gerrit.opnfv.org/gerrit/dovetail-webportal $HOME/testapi && \ +RUN git clone https://gerrit.opnfv.org/gerrit/dovetail-webportal $HOME/testapi && \ cd $HOME/testapi && \ git checkout -f $BRANCH && \ cd $HOME/testapi/3rd_party/static/testapi-ui && \ @@ -32,8 +31,7 @@ RUN git config --global http.sslVerify false && \ cp -r $HOME/testapi/3rd_party/static /www/ ADD nginx/nginx.conf /etc/nginx/nginx.conf -ADD nginx/sites-enabled/default /etc/nginx/sites-available/default -ADD nginx/sites-enabled/default /etc/nginx/sites-enabled/default +ADD nginx/sites-available/default /etc/nginx/sites-available/default ADD supervisor/conf.d/nginx.conf /etc/supervisor/conf.d/nginx.conf ADD start-nginx.sh $HOME/start-nginx.sh diff --git a/docker/config.env.sample b/docker/config.env.sample index 96d3630..003d92f 100644 --- a/docker/config.env.sample +++ b/docker/config.env.sample @@ -1,3 +1,3 @@ mongodb_url=mongodb://mongodb:27017/ base_url=http://ovp.localhost -testapi_url=testapi:8010 +testapi_url=cvpapi:8010 diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 12278c2..4edf4cc 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,17 +1,6 @@ --- version: '3' services: - testapi: - image: opnfv/testapi:cvp.0.5.0 - container_name: cvp-testapi - env_file: - - config.env - volumes: - - cvp-testapi-logs:/home/testapi/logs - links: - - mongodb - ports: - - "8010:8010" mongodb: image: mongo:3.2.1 container_name: cvp-db @@ -30,7 +19,6 @@ services: - cvp-testapi-logs:/home/testapi/logs links: - mongodb - - testapi - cvpapi ports: - "8000:8000" @@ -43,7 +31,7 @@ services: - cvp-testapi-logs:/home/testapi/logs - cvp-company-logos:/home/testapi/media/companies ports: - - "8011:8011" + - "8010:8010" nginx: image: jwilder/nginx-proxy container_name: cvp-nginx diff --git a/docker/nginx/fastcgi.conf b/docker/nginx/fastcgi.conf deleted file mode 100644 index 091738c..0000000 --- a/docker/nginx/fastcgi.conf +++ /dev/null @@ -1,26 +0,0 @@ - -fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; -fastcgi_param QUERY_STRING $query_string; -fastcgi_param REQUEST_METHOD $request_method; -fastcgi_param CONTENT_TYPE $content_type; -fastcgi_param CONTENT_LENGTH $content_length; - -fastcgi_param SCRIPT_NAME $fastcgi_script_name; -fastcgi_param REQUEST_URI $request_uri; -fastcgi_param DOCUMENT_URI $document_uri; -fastcgi_param DOCUMENT_ROOT $document_root; -fastcgi_param SERVER_PROTOCOL $server_protocol; -fastcgi_param REQUEST_SCHEME $scheme; -fastcgi_param HTTPS $https if_not_empty; - -fastcgi_param GATEWAY_INTERFACE CGI/1.1; -fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; - -fastcgi_param REMOTE_ADDR $remote_addr; -fastcgi_param REMOTE_PORT $remote_port; -fastcgi_param SERVER_ADDR $server_addr; -fastcgi_param SERVER_PORT $server_port; -fastcgi_param SERVER_NAME $server_name; - -# PHP only, required if PHP was built with --enable-force-cgi-redirect -fastcgi_param REDIRECT_STATUS 200; diff --git a/docker/nginx/fastcgi_params b/docker/nginx/fastcgi_params deleted file mode 100644 index 28decb9..0000000 --- a/docker/nginx/fastcgi_params +++ /dev/null @@ -1,25 +0,0 @@ - -fastcgi_param QUERY_STRING $query_string; -fastcgi_param REQUEST_METHOD $request_method; -fastcgi_param CONTENT_TYPE $content_type; -fastcgi_param CONTENT_LENGTH $content_length; - -fastcgi_param SCRIPT_NAME $fastcgi_script_name; -fastcgi_param REQUEST_URI $request_uri; -fastcgi_param DOCUMENT_URI $document_uri; -fastcgi_param DOCUMENT_ROOT $document_root; -fastcgi_param SERVER_PROTOCOL $server_protocol; -fastcgi_param REQUEST_SCHEME $scheme; -fastcgi_param HTTPS $https if_not_empty; - -fastcgi_param GATEWAY_INTERFACE CGI/1.1; -fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; - -fastcgi_param REMOTE_ADDR $remote_addr; -fastcgi_param REMOTE_PORT $remote_port; -fastcgi_param SERVER_ADDR $server_addr; -fastcgi_param SERVER_PORT $server_port; -fastcgi_param SERVER_NAME $server_name; - -# PHP only, required if PHP was built with --enable-force-cgi-redirect -fastcgi_param REDIRECT_STATUS 200; diff --git a/docker/nginx/koi-utf b/docker/nginx/koi-utf deleted file mode 100644 index e7974ff..0000000 --- a/docker/nginx/koi-utf +++ /dev/null @@ -1,109 +0,0 @@ - -# This map is not a full koi8-r <> utf8 map: it does not contain -# box-drawing and some other characters. Besides this map contains -# several koi8-u and Byelorussian letters which are not in koi8-r. -# If you need a full and standard map, use contrib/unicode2nginx/koi-utf -# map instead. - -charset_map koi8-r utf-8 { - - 80 E282AC ; # euro - - 95 E280A2 ; # bullet - - 9A C2A0 ; # - - 9E C2B7 ; # · - - A3 D191 ; # small yo - A4 D194 ; # small Ukrainian ye - - A6 D196 ; # small Ukrainian i - A7 D197 ; # small Ukrainian yi - - AD D291 ; # small Ukrainian soft g - AE D19E ; # small Byelorussian short u - - B0 C2B0 ; # ° - - B3 D081 ; # capital YO - B4 D084 ; # capital Ukrainian YE - - B6 D086 ; # capital Ukrainian I - B7 D087 ; # capital Ukrainian YI - - B9 E28496 ; # numero sign - - BD D290 ; # capital Ukrainian soft G - BE D18E ; # capital Byelorussian short U - - BF C2A9 ; # (C) - - C0 D18E ; # small yu - C1 D0B0 ; # small a - C2 D0B1 ; # small b - C3 D186 ; # small ts - C4 D0B4 ; # small d - C5 D0B5 ; # small ye - C6 D184 ; # small f - C7 D0B3 ; # small g - C8 D185 ; # small kh - C9 D0B8 ; # small i - CA D0B9 ; # small j - CB D0BA ; # small k - CC D0BB ; # small l - CD D0BC ; # small m - CE D0BD ; # small n - CF D0BE ; # small o - - D0 D0BF ; # small p - D1 D18F ; # small ya - D2 D180 ; # small r - D3 D181 ; # small s - D4 D182 ; # small t - D5 D183 ; # small u - D6 D0B6 ; # small zh - D7 D0B2 ; # small v - D8 D18C ; # small soft sign - D9 D18B ; # small y - DA D0B7 ; # small z - DB D188 ; # small sh - DC D18D ; # small e - DD D189 ; # small shch - DE D187 ; # small ch - DF D18A ; # small hard sign - - E0 D0AE ; # capital YU - E1 D090 ; # capital A - E2 D091 ; # capital B - E3 D0A6 ; # capital TS - E4 D094 ; # capital D - E5 D095 ; # capital YE - E6 D0A4 ; # capital F - E7 D093 ; # capital G - E8 D0A5 ; # capital KH - E9 D098 ; # capital I - EA D099 ; # capital J - EB D09A ; # capital K - EC D09B ; # capital L - ED D09C ; # capital M - EE D09D ; # capital N - EF D09E ; # capital O - - F0 D09F ; # capital P - F1 D0AF ; # capital YA - F2 D0A0 ; # capital R - F3 D0A1 ; # capital S - F4 D0A2 ; # capital T - F5 D0A3 ; # capital U - F6 D096 ; # capital ZH - F7 D092 ; # capital V - F8 D0AC ; # capital soft sign - F9 D0AB ; # capital Y - FA D097 ; # capital Z - FB D0A8 ; # capital SH - FC D0AD ; # capital E - FD D0A9 ; # capital SHCH - FE D0A7 ; # capital CH - FF D0AA ; # capital hard sign -} diff --git a/docker/nginx/koi-win b/docker/nginx/koi-win deleted file mode 100644 index 72afabe..0000000 --- a/docker/nginx/koi-win +++ /dev/null @@ -1,103 +0,0 @@ - -charset_map koi8-r windows-1251 { - - 80 88 ; # euro - - 95 95 ; # bullet - - 9A A0 ; # - - 9E B7 ; # · - - A3 B8 ; # small yo - A4 BA ; # small Ukrainian ye - - A6 B3 ; # small Ukrainian i - A7 BF ; # small Ukrainian yi - - AD B4 ; # small Ukrainian soft g - AE A2 ; # small Byelorussian short u - - B0 B0 ; # ° - - B3 A8 ; # capital YO - B4 AA ; # capital Ukrainian YE - - B6 B2 ; # capital Ukrainian I - B7 AF ; # capital Ukrainian YI - - B9 B9 ; # numero sign - - BD A5 ; # capital Ukrainian soft G - BE A1 ; # capital Byelorussian short U - - BF A9 ; # (C) - - C0 FE ; # small yu - C1 E0 ; # small a - C2 E1 ; # small b - C3 F6 ; # small ts - C4 E4 ; # small d - C5 E5 ; # small ye - C6 F4 ; # small f - C7 E3 ; # small g - C8 F5 ; # small kh - C9 E8 ; # small i - CA E9 ; # small j - CB EA ; # small k - CC EB ; # small l - CD EC ; # small m - CE ED ; # small n - CF EE ; # small o - - D0 EF ; # small p - D1 FF ; # small ya - D2 F0 ; # small r - D3 F1 ; # small s - D4 F2 ; # small t - D5 F3 ; # small u - D6 E6 ; # small zh - D7 E2 ; # small v - D8 FC ; # small soft sign - D9 FB ; # small y - DA E7 ; # small z - DB F8 ; # small sh - DC FD ; # small e - DD F9 ; # small shch - DE F7 ; # small ch - DF FA ; # small hard sign - - E0 DE ; # capital YU - E1 C0 ; # capital A - E2 C1 ; # capital B - E3 D6 ; # capital TS - E4 C4 ; # capital D - E5 C5 ; # capital YE - E6 D4 ; # capital F - E7 C3 ; # capital G - E8 D5 ; # capital KH - E9 C8 ; # capital I - EA C9 ; # capital J - EB CA ; # capital K - EC CB ; # capital L - ED CC ; # capital M - EE CD ; # capital N - EF CE ; # capital O - - F0 CF ; # capital P - F1 DF ; # capital YA - F2 D0 ; # capital R - F3 D1 ; # capital S - F4 D2 ; # capital T - F5 D3 ; # capital U - F6 C6 ; # capital ZH - F7 C2 ; # capital V - F8 DC ; # capital soft sign - F9 DB ; # capital Y - FA C7 ; # capital Z - FB D8 ; # capital SH - FC DD ; # capital E - FD D9 ; # capital SHCH - FE D7 ; # capital CH - FF DA ; # capital hard sign -} diff --git a/docker/nginx/mime.types b/docker/nginx/mime.types deleted file mode 100644 index 89be9a4..0000000 --- a/docker/nginx/mime.types +++ /dev/null @@ -1,89 +0,0 @@ - -types { - text/html html htm shtml; - text/css css; - text/xml xml; - image/gif gif; - image/jpeg jpeg jpg; - application/javascript js; - application/atom+xml atom; - application/rss+xml rss; - - text/mathml mml; - text/plain txt; - text/vnd.sun.j2me.app-descriptor jad; - text/vnd.wap.wml wml; - text/x-component htc; - - image/png png; - image/tiff tif tiff; - image/vnd.wap.wbmp wbmp; - image/x-icon ico; - image/x-jng jng; - image/x-ms-bmp bmp; - image/svg+xml svg svgz; - image/webp webp; - - application/font-woff woff; - application/java-archive jar war ear; - application/json json; - application/mac-binhex40 hqx; - application/msword doc; - application/pdf pdf; - application/postscript ps eps ai; - application/rtf rtf; - application/vnd.apple.mpegurl m3u8; - application/vnd.ms-excel xls; - application/vnd.ms-fontobject eot; - application/vnd.ms-powerpoint ppt; - application/vnd.wap.wmlc wmlc; - application/vnd.google-earth.kml+xml kml; - application/vnd.google-earth.kmz kmz; - application/x-7z-compressed 7z; - application/x-cocoa cco; - application/x-java-archive-diff jardiff; - application/x-java-jnlp-file jnlp; - application/x-makeself run; - application/x-perl pl pm; - application/x-pilot prc pdb; - application/x-rar-compressed rar; - application/x-redhat-package-manager rpm; - application/x-sea sea; - application/x-shockwave-flash swf; - application/x-stuffit sit; - application/x-tcl tcl tk; - application/x-x509-ca-cert der pem crt; - application/x-xpinstall xpi; - application/xhtml+xml xhtml; - application/xspf+xml xspf; - application/zip zip; - - application/octet-stream bin exe dll; - application/octet-stream deb; - application/octet-stream dmg; - application/octet-stream iso img; - application/octet-stream msi msp msm; - - application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; - application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; - - audio/midi mid midi kar; - audio/mpeg mp3; - audio/ogg ogg; - audio/x-m4a m4a; - audio/x-realaudio ra; - - video/3gpp 3gpp 3gp; - video/mp2t ts; - video/mp4 mp4; - video/mpeg mpeg mpg; - video/quicktime mov; - video/webm webm; - video/x-flv flv; - video/x-m4v m4v; - video/x-mng mng; - video/x-ms-asf asx asf; - video/x-ms-wmv wmv; - video/x-msvideo avi; -} diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index 98fb26a..f7d5055 100644 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -6,7 +6,6 @@ daemon off; events { worker_connections 768; - # multi_accept on; } http { @@ -20,11 +19,6 @@ http { tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; - # server_tokens off; - - # server_names_hash_bucket_size 64; - # server_name_in_redirect off; - include /etc/nginx/mime.types; default_type application/octet-stream; @@ -42,30 +36,6 @@ http { gzip on; gzip_disable "msie6"; - # gzip_vary on; - # gzip_proxied any; - # gzip_comp_level 6; - # gzip_buffers 16 8k; - # gzip_http_version 1.1; - # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; - - ## - # nginx-naxsi config - ## - # Uncomment it if you installed nginx-naxsi - ## - - #include /etc/nginx/naxsi_core.rules; - - ## - # nginx-passenger config - ## - # Uncomment it if you installed nginx-passenger - ## - - #passenger_root /usr; - #passenger_ruby /usr/bin/ruby; - ## # Virtual Host Configs ## @@ -73,25 +43,3 @@ http { include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } - - -#mail { -# # See sample authentication script at: -# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript -# -# # auth_http localhost/auth.php; -# # pop3_capabilities "TOP" "USER"; -# # imap_capabilities "IMAP4rev1" "UIDPLUS"; -# -# server { -# listen localhost:110; -# protocol pop3; -# proxy on; -# } -# -# server { -# listen localhost:143; -# protocol imap; -# proxy on; -# } -#} diff --git a/docker/nginx/proxy_params b/docker/nginx/proxy_params deleted file mode 100644 index df75bc5..0000000 --- a/docker/nginx/proxy_params +++ /dev/null @@ -1,4 +0,0 @@ -proxy_set_header Host $http_host; -proxy_set_header X-Real-IP $remote_addr; -proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; -proxy_set_header X-Forwarded-Proto $scheme; diff --git a/docker/nginx/scgi_params b/docker/nginx/scgi_params deleted file mode 100644 index 6d4ce4f..0000000 --- a/docker/nginx/scgi_params +++ /dev/null @@ -1,17 +0,0 @@ - -scgi_param REQUEST_METHOD $request_method; -scgi_param REQUEST_URI $request_uri; -scgi_param QUERY_STRING $query_string; -scgi_param CONTENT_TYPE $content_type; - -scgi_param DOCUMENT_URI $document_uri; -scgi_param DOCUMENT_ROOT $document_root; -scgi_param SCGI 1; -scgi_param SERVER_PROTOCOL $server_protocol; -scgi_param REQUEST_SCHEME $scheme; -scgi_param HTTPS $https if_not_empty; - -scgi_param REMOTE_ADDR $remote_addr; -scgi_param REMOTE_PORT $remote_port; -scgi_param SERVER_PORT $server_port; -scgi_param SERVER_NAME $server_name; diff --git a/docker/nginx/sites-available/default b/docker/nginx/sites-available/default index 765e33e..7652eb1 100644 --- a/docker/nginx/sites-available/default +++ b/docker/nginx/sites-available/default @@ -1,168 +1,100 @@ -# You may add here your -# server { -# ... -# } -# statements for each of your virtual hosts to this file - -## -# You should look at the following URL's in order to grasp a solid understanding -# of Nginx configuration files in order to fully unleash the power of Nginx. -# http://wiki.nginx.org/Pitfalls -# http://wiki.nginx.org/QuickStart -# http://wiki.nginx.org/Configuration -# -# Generally, you will want to move this file somewhere, and start with a clean -# file but keep this around for reference. Or just disable in sites-enabled. -# -# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. -## - -upstream testapi { - server 192.168.33.101:8010; -} - -upstream testapi_cvp { - server 192.168.33.101:8011; +upstream cvpapi { + server cvpapi:8010; } server { - listen 8000 default_server; - listen [::]:8000 default_server ipv6only=on; - - root /usr/share/nginx/html; - index index.html index.htm; - - # Make site accessible from http://localhost/ - server_name localhost; - - #location ~* /testapi-ui/.+/\.(js|css|html|json|map|jpg|jpeg|gif|png|swf)$ { - location ~* /testapi-ui/ { - #if (-f $request_filename) { - root /www/static; - expires 1d; - #break; - #} - } - - location ~* /logs/.*\.(log|out|yaml|yml|txt|conf|json|sh|)$ { - root /home/testapi; - add_header Content-Type text/plain; - } - - location ~* /logs/.*/results { - root /home/testapi; - expires 1d; - autoindex on; - autoindex_exact_size off; - autoindex_localtime on; - } - - location /api/v1/auth { - proxy_pass http://testapi_cvp/api/v1/auth; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location /api/v1/profile { - proxy_pass http://testapi_cvp/api/v1/profile; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location /api/v1/test { - proxy_pass http://testapi_cvp/api/v1/test; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location /api/v1/ { - proxy_pass http://testapi/api/v1/; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location / { - # First attempt to serve request as file, then - # as directory, then fall back to displaying a 404. - #try_files $uri $uri/ =404; - # Uncomment to enable naxsi on this location - # include /etc/nginx/naxsi.rules - root /www/static/testapi-ui; - expires 1d; - } - - # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests - #location /RequestDenied { - # proxy_pass http://127.0.0.1:8080; - #} - - #error_page 404 /404.html; - - # redirect server error pages to the static page /50x.html - # - #error_page 500 502 503 504 /50x.html; - #location = /50x.html { - # root /usr/share/nginx/html; - #} - - # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 - # - #location ~ \.php$ { - # fastcgi_split_path_info ^(.+\.php)(/.+)$; - # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini - # - # # With php5-cgi alone: - # fastcgi_pass 127.0.0.1:9000; - # # With php5-fpm: - # fastcgi_pass unix:/var/run/php5-fpm.sock; - # fastcgi_index index.php; - # include fastcgi_params; - #} - - # deny access to .htaccess files, if Apache's document root - # concurs with nginx's one - # - #location ~ /\.ht { - # deny all; - #} -} + listen 8000 default_server; + listen [::]:8000 default_server ipv6only=on; + + root /usr/share/nginx/html; + index index.html index.htm; + + server_name localhost; + + location ~* /testapi-ui/ { + root /www/static; + expires 1d; + } + + location ~* /logs/.*\.(log|out|yaml|yml|txt|conf|json|sh|)$ { + root /home/testapi; + add_header Content-Type text/plain; + } + + location ~* /logs/.*/results { + root /home/testapi; + expires 1d; + autoindex on; + autoindex_exact_size off; + autoindex_localtime on; + } + + location ~* /logs/api { + root /home/testapi; + expires 1d; + autoindex on; + autoindex_exact_size on; + autoindex_localtime on; + } + + location /api/v1/cvp { + proxy_pass http://cvpapi/api/v1/cvp; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + } + + location /api/v1/auth { + proxy_pass http://cvpapi/api/v1/auth; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + } + + location /api/v1/profile { + proxy_pass http://cvpapi/api/v1/profile; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + } + + location /api/v1/test { + proxy_pass http://cvpapi/api/v1/test; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + } + + location = /api/v1/results { + proxy_pass http://cvpapi/api/v1/results; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + } + + location ~* /api/v1/results/([a-zA-Z0-9]+) { + client_max_body_size 20m; + proxy_pass http://cvpapi/api/v1/results/$1; + proxy_set_header X-Real_IP $remote_addr; + proxy_set_header Host $host; + } + + location ~* /api/v1/suts/hardware/([a-zA-Z0-9\-]+) { + proxy_pass http://cvpapi/api/v1/suts/hardware/$1; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + } + + location /api/v1/ { + proxy_pass http://cvpapi/api/v1/; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + } + + location / { + root /www/static/testapi-ui; + expires 1d; + } + + error_page 413 =200 /413.json; + + location /413.json { + return 200 '{"msg": "Please upload a file less than 20MB.", "code": 413}'; + } - -# another virtual host using mix of IP-, name-, and port-based configuration -# -#server { -# listen 8000; -# listen somename:8080; -# server_name somename alias another.alias; -# root html; -# index index.html index.htm; -# -# location / { -# try_files $uri $uri/ =404; -# } -#} - - -# HTTPS server -# -#server { -# listen 443; -# server_name localhost; -# -# root html; -# index index.html index.htm; -# -# ssl on; -# ssl_certificate cert.pem; -# ssl_certificate_key cert.key; -# -# ssl_session_timeout 5m; -# -# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; -# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; -# ssl_prefer_server_ciphers on; -# -# location / { -# try_files $uri $uri/ =404; -# } -#} +} diff --git a/docker/nginx/sites-enabled/default b/docker/nginx/sites-enabled/default deleted file mode 100644 index bc671b7..0000000 --- a/docker/nginx/sites-enabled/default +++ /dev/null @@ -1,207 +0,0 @@ -# You may add here your -# server { -# ... -# } -# statements for each of your virtual hosts to this file - -## -# You should look at the following URL's in order to grasp a solid understanding -# of Nginx configuration files in order to fully unleash the power of Nginx. -# http://wiki.nginx.org/Pitfalls -# http://wiki.nginx.org/QuickStart -# http://wiki.nginx.org/Configuration -# -# Generally, you will want to move this file somewhere, and start with a clean -# file but keep this around for reference. Or just disable in sites-enabled. -# -# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. -## - -upstream testapi { - server testapi:8010; -} - -upstream cvpapi { - server cvpapi:8011; -} - -server { - listen 8000 default_server; - listen [::]:8000 default_server ipv6only=on; - - root /usr/share/nginx/html; - index index.html index.htm; - - # Make site accessible from http://localhost/ - server_name localhost; - - #location ~* /testapi-ui/.+/\.(js|css|html|json|map|jpg|jpeg|gif|png|swf)$ { - location ~* /testapi-ui/ { - #if (-f $request_filename) { - root /www/static; - expires 1d; - #break; - #} - } - - location ~* /logs/.*\.(log|out|yaml|yml|txt|conf|json|sh|)$ { - root /home/testapi; - add_header Content-Type text/plain; - } - - location ~* /logs/.*/results { - root /home/testapi; - expires 1d; - autoindex on; - autoindex_exact_size off; - autoindex_localtime on; - } - - location ~* /logs/api { - root /home/testapi; - expires 1d; - autoindex on; - autoindex_exact_size on; - autoindex_localtime on; - } - - location /api/v1/cvp { - proxy_pass http://cvpapi/api/v1/cvp; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location /api/v1/auth { - proxy_pass http://cvpapi/api/v1/auth; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location /api/v1/profile { - proxy_pass http://cvpapi/api/v1/profile; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location /api/v1/test { - proxy_pass http://cvpapi/api/v1/test; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location = /api/v1/results { - proxy_pass http://testapi/api/v1/results; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location ~* /api/v1/results/([a-zA-Z0-9]+) { - client_max_body_size 20m; - proxy_pass http://cvpapi/api/v1/results/$1; - proxy_set_header X-Real_IP $remote_addr; - proxy_set_header Host $host; - } - - location ~* /api/v1/suts/hardware/([a-zA-Z0-9\-]+) { - proxy_pass http://cvpapi/api/v1/suts/hardware/$1; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location /api/v1/ { - proxy_pass http://testapi/api/v1/; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - } - - location / { - # First attempt to serve request as file, then - # as directory, then fall back to displaying a 404. - #try_files $uri $uri/ =404; - # Uncomment to enable naxsi on this location - # include /etc/nginx/naxsi.rules - root /www/static/testapi-ui; - expires 1d; - } - - error_page 413 =200 /413.json; - - location /413.json { - return 200 '{"msg": "Please upload a file less than 20MB.", "code": 413}'; - } - - # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests - #location /RequestDenied { - # proxy_pass http://127.0.0.1:8080; - #} - - #error_page 404 /404.html; - - # redirect server error pages to the static page /50x.html - # - #error_page 500 502 503 504 /50x.html; - #location = /50x.html { - # root /usr/share/nginx/html; - #} - - # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 - # - #location ~ \.php$ { - # fastcgi_split_path_info ^(.+\.php)(/.+)$; - # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini - # - # # With php5-cgi alone: - # fastcgi_pass 127.0.0.1:9000; - # # With php5-fpm: - # fastcgi_pass unix:/var/run/php5-fpm.sock; - # fastcgi_index index.php; - # include fastcgi_params; - #} - - # deny access to .htaccess files, if Apache's document root - # concurs with nginx's one - # - #location ~ /\.ht { - # deny all; - #} -} - - -# another virtual host using mix of IP-, name-, and port-based configuration -# -#server { -# listen 8000; -# listen somename:8080; -# server_name somename alias another.alias; -# root html; -# index index.html index.htm; -# -# location / { -# try_files $uri $uri/ =404; -# } -#} - - -# HTTPS server -# -#server { -# listen 443; -# server_name localhost; -# -# root html; -# index index.html index.htm; -# -# ssl on; -# ssl_certificate cert.pem; -# ssl_certificate_key cert.key; -# -# ssl_session_timeout 5m; -# -# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; -# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; -# ssl_prefer_server_ciphers on; -# -# location / { -# try_files $uri $uri/ =404; -# } -#} diff --git a/docker/nginx/snippets/fastcgi-php.conf b/docker/nginx/snippets/fastcgi-php.conf deleted file mode 100644 index 8f8e4a2..0000000 --- a/docker/nginx/snippets/fastcgi-php.conf +++ /dev/null @@ -1,13 +0,0 @@ -# regex to split $uri to $fastcgi_script_name and $fastcgi_path -fastcgi_split_path_info ^(.+\.php)(/.+)$; - -# Check that the PHP script exists before passing it -try_files $fastcgi_script_name =404; - -# Bypass the fact that try_files resets $fastcgi_path_info -# see: http://trac.nginx.org/nginx/ticket/321 -set $path_info $fastcgi_path_info; -fastcgi_param PATH_INFO $path_info; - -fastcgi_index index.php; -include fastcgi.conf; diff --git a/docker/nginx/snippets/snakeoil.conf b/docker/nginx/snippets/snakeoil.conf deleted file mode 100644 index ad26c3e..0000000 --- a/docker/nginx/snippets/snakeoil.conf +++ /dev/null @@ -1,5 +0,0 @@ -# Self signed certificates generated by the ssl-cert package -# Don't use them in a production server! - -ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; -ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; diff --git a/docker/nginx/uwsgi_params b/docker/nginx/uwsgi_params deleted file mode 100644 index 09c732c..0000000 --- a/docker/nginx/uwsgi_params +++ /dev/null @@ -1,17 +0,0 @@ - -uwsgi_param QUERY_STRING $query_string; -uwsgi_param REQUEST_METHOD $request_method; -uwsgi_param CONTENT_TYPE $content_type; -uwsgi_param CONTENT_LENGTH $content_length; - -uwsgi_param REQUEST_URI $request_uri; -uwsgi_param PATH_INFO $document_uri; -uwsgi_param DOCUMENT_ROOT $document_root; -uwsgi_param SERVER_PROTOCOL $server_protocol; -uwsgi_param REQUEST_SCHEME $scheme; -uwsgi_param HTTPS $https if_not_empty; - -uwsgi_param REMOTE_ADDR $remote_addr; -uwsgi_param REMOTE_PORT $remote_port; -uwsgi_param SERVER_PORT $server_port; -uwsgi_param SERVER_NAME $server_name; diff --git a/docker/nginx/win-utf b/docker/nginx/win-utf deleted file mode 100644 index 774fd9f..0000000 --- a/docker/nginx/win-utf +++ /dev/null @@ -1,125 +0,0 @@ -# This map is not a full windows-1251 <> utf8 map: it does not -# contain Serbian and Macedonian letters. If you need a full map, -# use contrib/unicode2nginx/win-utf map instead. - -charset_map windows-1251 utf-8 { - - 82 E2809A; # single low-9 quotation mark - - 84 E2809E; # double low-9 quotation mark - 85 E280A6; # ellipsis - 86 E280A0; # dagger - 87 E280A1; # double dagger - 88 E282AC; # euro - 89 E280B0; # per mille - - 91 E28098; # left single quotation mark - 92 E28099; # right single quotation mark - 93 E2809C; # left double quotation mark - 94 E2809D; # right double quotation mark - 95 E280A2; # bullet - 96 E28093; # en dash - 97 E28094; # em dash - - 99 E284A2; # trade mark sign - - A0 C2A0; # - A1 D18E; # capital Byelorussian short U - A2 D19E; # small Byelorussian short u - - A4 C2A4; # currency sign - A5 D290; # capital Ukrainian soft G - A6 C2A6; # borken bar - A7 C2A7; # section sign - A8 D081; # capital YO - A9 C2A9; # (C) - AA D084; # capital Ukrainian YE - AB C2AB; # left-pointing double angle quotation mark - AC C2AC; # not sign - AD C2AD; # soft hypen - AE C2AE; # (R) - AF D087; # capital Ukrainian YI - - B0 C2B0; # ° - B1 C2B1; # plus-minus sign - B2 D086; # capital Ukrainian I - B3 D196; # small Ukrainian i - B4 D291; # small Ukrainian soft g - B5 C2B5; # micro sign - B6 C2B6; # pilcrow sign - B7 C2B7; # · - B8 D191; # small yo - B9 E28496; # numero sign - BA D194; # small Ukrainian ye - BB C2BB; # right-pointing double angle quotation mark - - BF D197; # small Ukrainian yi - - C0 D090; # capital A - C1 D091; # capital B - C2 D092; # capital V - C3 D093; # capital G - C4 D094; # capital D - C5 D095; # capital YE - C6 D096; # capital ZH - C7 D097; # capital Z - C8 D098; # capital I - C9 D099; # capital J - CA D09A; # capital K - CB D09B; # capital L - CC D09C; # capital M - CD D09D; # capital N - CE D09E; # capital O - CF D09F; # capital P - - D0 D0A0; # capital R - D1 D0A1; # capital S - D2 D0A2; # capital T - D3 D0A3; # capital U - D4 D0A4; # capital F - D5 D0A5; # capital KH - D6 D0A6; # capital TS - D7 D0A7; # capital CH - D8 D0A8; # capital SH - D9 D0A9; # capital SHCH - DA D0AA; # capital hard sign - DB D0AB; # capital Y - DC D0AC; # capital soft sign - DD D0AD; # capital E - DE D0AE; # capital YU - DF D0AF; # capital YA - - E0 D0B0; # small a - E1 D0B1; # small b - E2 D0B2; # small v - E3 D0B3; # small g - E4 D0B4; # small d - E5 D0B5; # small ye - E6 D0B6; # small zh - E7 D0B7; # small z - E8 D0B8; # small i - E9 D0B9; # small j - EA D0BA; # small k - EB D0BB; # small l - EC D0BC; # small m - ED D0BD; # small n - EE D0BE; # small o - EF D0BF; # small p - - F0 D180; # small r - F1 D181; # small s - F2 D182; # small t - F3 D183; # small u - F4 D184; # small f - F5 D185; # small kh - F6 D186; # small ts - F7 D187; # small ch - F8 D188; # small sh - F9 D189; # small shch - FA D18A; # small hard sign - FB D18B; # small y - FC D18C; # small soft sign - FD D18D; # small e - FE D18E; # small yu - FF D18F; # small ya -} diff --git a/docker/supervisor/supervisord.conf b/docker/supervisor/supervisord.conf deleted file mode 100644 index afead15..0000000 --- a/docker/supervisor/supervisord.conf +++ /dev/null @@ -1,28 +0,0 @@ -; supervisor config file - -[unix_http_server] -file=/var/run/supervisor.sock ; (the path to the socket file) -chmod=0700 ; sockef file mode (default 0700) - -[supervisord] -logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) -pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) -childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP) - -; the below section must remain in the config file for RPC -; (supervisorctl/web interface) to work, additional interfaces may be -; added by defining them in separate rpcinterface: sections -[rpcinterface:supervisor] -supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface - -[supervisorctl] -serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket - -; The [include] section can just contain the "files" setting. This -; setting can list multiple files (separated by whitespace or -; newlines). It can also contain wildcards. The filenames are -; interpreted as relative to this file. Included files *cannot* -; include files themselves. - -[include] -files = /etc/supervisor/conf.d/*.conf diff --git a/etc/config.ini b/etc/config.ini index 2cf08cc..13e6de5 100644 --- a/etc/config.ini +++ b/etc/config.ini @@ -9,7 +9,7 @@ dbname = test_results_collection [api] # Listening port url = http://localhost:8000/api/v1 -port = 8011 +port = 8010 log_file = /home/testapi/logs/api/api.log # Number of results for one page (integer value) @@ -24,6 +24,7 @@ base_url = http://localhost:8000 [ui] url = http://localhost:8000 +static_path = /usr/local/share/opnfv_testapi [osid] diff --git a/opnfv_testapi/cmd/server.py b/opnfv_testapi/cmd/server.py index d503c8a..fee5877 100644 --- a/opnfv_testapi/cmd/server.py +++ b/opnfv_testapi/cmd/server.py @@ -45,7 +45,7 @@ my_logger.addHandler(handler) def make_app(): swagger.docs(base_url=CONF.swagger_base_url, - static_path=CONF.static_path) + static_path=CONF.ui_static_path) return swagger.Application( url_mappings.mappings, debug=CONF.api_debug, diff --git a/opnfv_testapi/common/config.py b/opnfv_testapi/common/config.py index a6ab338..75bacf3 100644 --- a/opnfv_testapi/common/config.py +++ b/opnfv_testapi/common/config.py @@ -20,10 +20,6 @@ class Config(object): self._set_config_file() self._parse() self._parse_per_page() - self.static_path = os.path.join( - os.path.dirname(os.path.normpath(__file__)), - os.pardir, - 'static') self.base_path = "/home/testapi" def _parse(self): diff --git a/opnfv_testapi/tests/unit/common/normal.ini b/opnfv_testapi/tests/unit/common/normal.ini index 6906913..678cb68 100644 --- a/opnfv_testapi/tests/unit/common/normal.ini +++ b/opnfv_testapi/tests/unit/common/normal.ini @@ -16,3 +16,6 @@ log_file = /dev/null [swagger] base_url = http://localhost:8000 + +[ui] +static_path = /usr/local/share/opnfv_testapi diff --git a/opnfv_testapi/ui/root.py b/opnfv_testapi/ui/root.py index 5b2c922..7f970b2 100644 --- a/opnfv_testapi/ui/root.py +++ b/opnfv_testapi/ui/root.py @@ -4,7 +4,7 @@ from opnfv_testapi.common.config import CONF class RootHandler(GenericApiHandler): def get_template_path(self): - return CONF.static_path + return CONF.ui_static_path def get(self): self.render('testapi-ui/index.html') @@ -1,7 +1,7 @@ [metadata] name = opnfv_testapi summary = Test Result Collector -description-file = +description-file = README.rst author = SerenaFeng author-email = feng.xiaowei@zte.com.cn @@ -24,18 +24,9 @@ setup-hooks = [files] packages = opnfv_testapi -package_data = - opnfv_testapi = - static/*.* - static/*/*.* - static/*/*/*.* - static/*/*/*/*.* - static/*/*/*/*/*.* - static/*/*/*/*/*/*.* - static/*/*/*/*/*/*/*.* data_files = - /etc/opnfv_testapi = - etc/config.ini + /etc/opnfv_testapi = etc/config.ini + /usr/local/share/opnfv_testapi = 3rd_party/static/* [entry_points] console_scripts = @@ -45,4 +36,3 @@ console_scripts = tag_build = tag_date = 0 tag_svn_revision = 0 - @@ -9,5 +9,5 @@ except ImportError: pass setuptools.setup( - setup_requires=['pbr==2.0.0'], + setup_requires=['pbr>=2.0.0'], pbr=True) |