It will allow to update the storage locally without interrupting
the service on saam
Details
Details
- Reviewers
ardumont - Group Reviewers
System administrators - Commits
- rSPSITEb82b0d93c2ec: webapp1: use the same deployment pattern than moma
diff origin/production/webapp1.internal.softwareheritage.org current/webapp1.internal.softwareheritage.org ******************************************* + Concat::Fragment[nginx-swh-storage-500-6666cd76f96956469e7be39d750cc7d9] => parameters => "content": "\n location / {\n proxy_pass http://swh-storage-g... "order": 500, "target": "/etc/nginx/sites-available/nginx-swh-storage.conf" ******************************************* + Concat::Fragment[nginx-swh-storage-default-500-6666cd76f96956469e7be39d750cc7d9] => parameters => "content": "\n location / {\n index index.html index.htm index.php;\... "order": 500, "target": "/etc/nginx/sites-available/nginx-swh-storage-default.conf" ******************************************* + Concat::Fragment[nginx-swh-storage-default-footer] => parameters => "content": "}\n", "order": "699", "target": "/etc/nginx/sites-available/nginx-swh-storage-default.conf" ******************************************* + Concat::Fragment[nginx-swh-storage-default-header] => parameters => "content": "# MANAGED BY PUPPET\nserver {\n listen 127.0.0.1:5002 default_s... "order": "001", "target": "/etc/nginx/sites-available/nginx-swh-storage-default.conf" ******************************************* + Concat::Fragment[nginx-swh-storage-footer] => parameters => "content": "}\n", "order": "699", "target": "/etc/nginx/sites-available/nginx-swh-storage.conf" ******************************************* + Concat::Fragment[nginx-swh-storage-header] => parameters => "content": "# MANAGED BY PUPPET\nserver {\n listen 127.0.0.1:5002 deferred;... "order": "001", "target": "/etc/nginx/sites-available/nginx-swh-storage.conf" ******************************************* + Concat::Fragment[swh-storage-gunicorn_upstream_footer] => parameters => "content": "}\n", "order": "90", "target": "/etc/nginx/conf.d/swh-storage-gunicorn-upstream.conf" ******************************************* + Concat::Fragment[swh-storage-gunicorn_upstream_header] => parameters => "content": "# MANAGED BY PUPPET\nupstream swh-storage-gunicorn {\n", "order": "10", "target": "/etc/nginx/conf.d/swh-storage-gunicorn-upstream.conf" ******************************************* + Concat::Fragment[swh-storage-gunicorn_upstream_member_gunicorn-storage] => parameters => "content": " server unix:/run/gunicorn/swh-storage/gunicorn.sock;\n", "order": 40, "target": "/etc/nginx/conf.d/swh-storage-gunicorn-upstream.conf" ******************************************* + Concat[/etc/nginx/conf.d/swh-storage-gunicorn-upstream.conf] => parameters => "backup": "puppet", "ensure": "present", "ensure_newline": false, "force": false, "format": "plain", "group": "root", "mode": "0644", "notify": "Class[Nginx::Service]", "order": "alpha", "owner": "root", "path": "/etc/nginx/conf.d/swh-storage-gunicorn-upstream.conf", "replace": true, "show_diff": true, "warn": false ******************************************* + Concat[/etc/nginx/sites-available/nginx-swh-storage-default.conf] => parameters => "backup": "puppet", "ensure": "present", "ensure_newline": false, "force": false, "format": "plain", "group": "root", "mode": "0644", "notify": "Class[Nginx::Service]", "order": "alpha", "owner": "root", "path": "/etc/nginx/sites-available/nginx-swh-storage-default.conf", "replace": true, "show_diff": true, "warn": false ******************************************* + Concat[/etc/nginx/sites-available/nginx-swh-storage.conf] => parameters => "backup": "puppet", "ensure": "present", "ensure_newline": false, "force": false, "format": "plain", "group": "root", "mode": "0644", "notify": "Class[Nginx::Service]", "order": "alpha", "owner": "root", "path": "/etc/nginx/sites-available/nginx-swh-storage.conf", "replace": true, "show_diff": true, "warn": false ******************************************* + Concat_file[/etc/nginx/conf.d/swh-storage-gunicorn-upstream.conf] => parameters => "backup": "puppet", "ensure_newline": false, "force": false, "format": "plain", "group": "root", "mode": "0644", "order": "alpha", "owner": "root", "replace": true, "show_diff": true, "tag": "_etc_nginx_conf.d_swh-storage-gunicorn-upstream.conf" ******************************************* + Concat_file[/etc/nginx/sites-available/nginx-swh-storage-default.conf] => parameters => "backup": "puppet", "ensure_newline": false, "force": false, "format": "plain", "group": "root", "mode": "0644", "order": "alpha", "owner": "root", "replace": true, "show_diff": true, "tag": "_etc_nginx_sites-available_nginx-swh-storage-default.conf" ******************************************* + Concat_file[/etc/nginx/sites-available/nginx-swh-storage.conf] => parameters => "backup": "puppet", "ensure_newline": false, "force": false, "format": "plain", "group": "root", "mode": "0644", "order": "alpha", "owner": "root", "replace": true, "show_diff": true, "tag": "_etc_nginx_sites-available_nginx-swh-storage.conf" ******************************************* + Concat_fragment[nginx-swh-storage-500-6666cd76f96956469e7be39d750cc7d9] => parameters => "content": "\n location / {\n proxy_pass http://swh-storage-g... "order": 500, "tag": "_etc_nginx_sites-available_nginx-swh-storage.conf", "target": "/etc/nginx/sites-available/nginx-swh-storage.conf" ******************************************* + Concat_fragment[nginx-swh-storage-default-500-6666cd76f96956469e7be39d750cc7d9] => parameters => "content": "\n location / {\n index index.html index.htm index.php;\... "order": 500, "tag": "_etc_nginx_sites-available_nginx-swh-storage-default.conf", "target": "/etc/nginx/sites-available/nginx-swh-storage-default.conf" ******************************************* + Concat_fragment[nginx-swh-storage-default-footer] => parameters => "content": "}\n", "order": "699", "tag": "_etc_nginx_sites-available_nginx-swh-storage-default.conf", "target": "/etc/nginx/sites-available/nginx-swh-storage-default.conf" ******************************************* + Concat_fragment[nginx-swh-storage-default-header] => parameters => "content": "# MANAGED BY PUPPET\nserver {\n listen 127.0.0.1:5002 default_s... "order": "001", "tag": "_etc_nginx_sites-available_nginx-swh-storage-default.conf", "target": "/etc/nginx/sites-available/nginx-swh-storage-default.conf" ******************************************* + Concat_fragment[nginx-swh-storage-footer] => parameters => "content": "}\n", "order": "699", "tag": "_etc_nginx_sites-available_nginx-swh-storage.conf", "target": "/etc/nginx/sites-available/nginx-swh-storage.conf" ******************************************* + Concat_fragment[nginx-swh-storage-header] => parameters => "content": "# MANAGED BY PUPPET\nserver {\n listen 127.0.0.1:5002 deferred;... "order": "001", "tag": "_etc_nginx_sites-available_nginx-swh-storage.conf", "target": "/etc/nginx/sites-available/nginx-swh-storage.conf" ******************************************* + Concat_fragment[swh-storage-gunicorn_upstream_footer] => parameters => "content": "}\n", "order": "90", "tag": "_etc_nginx_conf.d_swh-storage-gunicorn-upstream.conf", "target": "/etc/nginx/conf.d/swh-storage-gunicorn-upstream.conf" ******************************************* + Concat_fragment[swh-storage-gunicorn_upstream_header] => parameters => "content": "# MANAGED BY PUPPET\nupstream swh-storage-gunicorn {\n", "order": "10", "tag": "_etc_nginx_conf.d_swh-storage-gunicorn-upstream.conf", "target": "/etc/nginx/conf.d/swh-storage-gunicorn-upstream.conf" ******************************************* + Concat_fragment[swh-storage-gunicorn_upstream_member_gunicorn-storage] => parameters => "content": " server unix:/run/gunicorn/swh-storage/gunicorn.sock;\n", "order": 40, "tag": "_etc_nginx_conf.d_swh-storage-gunicorn-upstream.conf", "target": "/etc/nginx/conf.d/swh-storage-gunicorn-upstream.conf" ******************************************* + File[/etc/gunicorn/instances/swh-storage.cfg] => parameters => "content": "# Gunicorn instance configuration.\n# Managed by puppet (class g... "ensure": "present", "group": "swhstorage", "mode": "0644", "notify": "Service[gunicorn-swh-storage]", "owner": "swhstorage" ******************************************* + File[/etc/nginx/sites-enabled/nginx-swh-storage-default.conf] => parameters => "ensure": "link", "group": "root", "mode": "0644", "notify": "Class[Nginx::Service]", "owner": "root", "target": "/etc/nginx/sites-available/nginx-swh-storage-default.conf" ******************************************* + File[/etc/nginx/sites-enabled/nginx-swh-storage.conf] => parameters => "ensure": "link", "group": "root", "mode": "0644", "notify": "Class[Nginx::Service]", "owner": "root", "target": "/etc/nginx/sites-available/nginx-swh-storage.conf" ******************************************* + File[/etc/softwareheritage/storage/storage.yml] => parameters => "content": "---\nstorage:\n cls: local\n args:\n db: host=db.internal.s... "ensure": "present", "group": "swhstorage", "mode": "0640", "notify": "Service[gunicorn-swh-storage]", "owner": "root" ******************************************* + File[/etc/softwareheritage/storage] => parameters => "ensure": "directory", "group": "root", "mode": "0755", "owner": "root" ******************************************* File[/etc/softwareheritage/web/web.yml] => parameters => content => @@ -6,5 +6,5 @@ cls: remote args: - url: http://saam.internal.softwareheritage.org:5002/ + url: http://localhost:5002/ vault: cls: remote ******************************************* + File[/etc/systemd/system/gunicorn-swh-storage.service] => parameters => "content": "# File managed by puppet (class gunicorn::instance swh-storage),... "ensure": "file", "group": "root", "mode": "0444", "notify": "Class[Systemd::Systemctl::Daemon_reload]", "owner": "root", "show_diff": true ******************************************* + File[/etc/tmpfiles.d/gunicorn-swh-storage.conf] => parameters => "ensure": "absent", "group": "root", "mode": "0444", "notify": "Class[Systemd::Tmpfiles]", "owner": "root" ******************************************* + Gunicorn::Instance[swh-storage] => parameters => "config_base_module": "swh.core.api.gunicorn_config", "config_mode": "0644", "ensure": "enabled", "environment": { "SWH_CONFIG_FILENAME": "/etc/softwareheritage/storage/storage.yml", "SWH_LOG_TARGET": "journal", "SWH_SENTRY_DSN": "https://swh::deploy::storage::sentry_token@sentry.softw... "SWH_SENTRY_ENVIRONMENT": "production", "SWH_MAIN_PACKAGE": "swh.storage" }, "executable": "swh.storage.api.server:make_app_from_configfile()", "group": "swhstorage", "log_only_errors": true, "settings": { "bind": "unix:/run/gunicorn/swh-storage/gunicorn.sock", "workers": 16, "worker_class": "sync", "timeout": 3600, "graceful_timeout": 3600, "keepalive": 5, "max_requests": 10000, "max_requests_jitter": 1000, "statsd_host": "127.0.0.1:8125", "statsd_prefix": "swh-storage" }, "user": "swhstorage" ******************************************* + Nginx::Resource::Location[nginx-swh-storage-default-default] => parameters => "add_header": { }, "ensure": "present", "fastcgi_params": "/etc/nginx/fastcgi.conf", "flv": false, "index_files": [ "index.html", "index.htm", "index.php" ], "internal": false, "location": "/", "location_allow": [ ], "location_deny": [ ], "mp4": false, "notify": "Class[Nginx::Service]", "priority": 500, "proxy_connect_timeout": "90s", "proxy_hide_header": [ ], "proxy_ignore_header": [ ], "proxy_pass_header": [ ], "proxy_read_timeout": "90s", "proxy_send_timeout": "90s", "proxy_set_header": [ "Host $host", "X-Real-IP $remote_addr", "X-Forwarded-For $proxy_add_x_forwarded_for", "Proxy \"\"" ], "rewrite_rules": [ ], "server": "nginx-swh-storage-default", "ssl": false, "ssl_only": false, "uwsgi_params": "/etc/nginx/uwsgi_params" ******************************************* + Nginx::Resource::Location[nginx-swh-storage-default] => parameters => "add_header": { }, "ensure": "present", "fastcgi_params": "/etc/nginx/fastcgi.conf", "flv": false, "index_files": [ "index.html", "index.htm", "index.php" ], "internal": false, "location": "/", "location_allow": [ ], "location_deny": [ ], "mp4": false, "notify": "Class[Nginx::Service]", "priority": 500, "proxy": "http://swh-storage-gunicorn", "proxy_buffering": "on", "proxy_connect_timeout": "90s", "proxy_hide_header": [ ], "proxy_ignore_header": [ ], "proxy_pass_header": [ ], "proxy_read_timeout": "3600s", "proxy_send_timeout": "90s", "proxy_set_header": [ "Host $host", "X-Real-IP $remote_addr", "X-Forwarded-For $proxy_add_x_forwarded_for", "Proxy \"\"" ], "rewrite_rules": [ ], "server": "nginx-swh-storage", "ssl": false, "ssl_only": false, "uwsgi_params": "/etc/nginx/uwsgi_params" ******************************************* + Nginx::Resource::Server[nginx-swh-storage-default] => parameters => "add_header": { }, "ensure": "present", "fastcgi_params": "/etc/nginx/fastcgi.conf", "format_log": "combined", "geo_mappings": { }, "group": "root", "http2": "off", "index_files": [ "index.html", "index.htm", "index.php" ], "ipv6_enable": false, "ipv6_listen_ip": "::", "ipv6_listen_options": "default ipv6only=on", "ipv6_listen_port": 80, "listen_ip": "127.0.0.1", "listen_options": "default_server", "listen_port": 5002, "listen_unix_socket": "/var/run/nginx.sock", "listen_unix_socket_enable": false, "location_allow": [ ], "location_deny": [ ], "locations": { }, "locations_defaults": { }, "maintenance": true, "maintenance_value": "return 444", "mode": "0644", "owner": "root", "proxy_connect_timeout": "90s", "proxy_hide_header": [ ], "proxy_pass_header": [ ], "proxy_read_timeout": "90s", "proxy_send_timeout": "90s", "proxy_set_header": [ "Host $host", "X-Real-IP $remote_addr", "X-Forwarded-For $proxy_add_x_forwarded_for", "Proxy \"\"" ], "resolver": [ ], "rewrite_non_www_to_www": false, "rewrite_rules": [ ], "rewrite_www_to_non_www": false, "server_name": [ "nginx-swh-storage-default" ], "spdy": "off", "ssl": false, "ssl_cache": "shared:SSL:10m", "ssl_ciphers": "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:EC... "ssl_listen_option": true, "ssl_port": 443, "ssl_prefer_server_ciphers": "on", "ssl_protocols": "TLSv1 TLSv1.1 TLSv1.2", "ssl_redirect": false, "ssl_session_timeout": "5m", "ssl_stapling": false, "ssl_stapling_verify": false, "ssl_verify_client": "on", "string_mappings": { }, "use_default_location": true, "uwsgi_params": "/etc/nginx/uwsgi_params" ******************************************* + Nginx::Resource::Server[nginx-swh-storage] => parameters => "add_header": { }, "client_max_body_size": "4G", "ensure": "present", "fastcgi_params": "/etc/nginx/fastcgi.conf", "format_log": "combined if=$error_status", "geo_mappings": { }, "group": "root", "http2": "off", "index_files": [ "index.html", "index.htm", "index.php" ], "ipv6_enable": false, "ipv6_listen_ip": "::", "ipv6_listen_options": "default ipv6only=on", "ipv6_listen_port": 80, "listen_ip": "127.0.0.1", "listen_options": "deferred", "listen_port": 5002, "listen_unix_socket": "/var/run/nginx.sock", "listen_unix_socket_enable": false, "location_allow": [ ], "location_deny": [ ], "locations": { }, "locations_defaults": { }, "maintenance": false, "maintenance_value": "return 503", "mode": "0644", "owner": "root", "proxy": "http://swh-storage-gunicorn", "proxy_buffering": "on", "proxy_connect_timeout": "90s", "proxy_hide_header": [ ], "proxy_pass_header": [ ], "proxy_read_timeout": "3600s", "proxy_send_timeout": "90s", "proxy_set_header": [ "Host $host", "X-Real-IP $remote_addr", "X-Forwarded-For $proxy_add_x_forwarded_for", "Proxy \"\"" ], "resolver": [ ], "rewrite_non_www_to_www": false, "rewrite_rules": [ ], "rewrite_www_to_non_www": false, "server_name": [ "webapp1.internal.softwareheritage.org", "webapp1", "127.0.0.1", "localhost", "::1" ], "spdy": "off", "ssl": false, "ssl_cache": "shared:SSL:10m", "ssl_ciphers": "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:EC... "ssl_listen_option": true, "ssl_port": 443, "ssl_prefer_server_ciphers": "on", "ssl_protocols": "TLSv1 TLSv1.1 TLSv1.2", "ssl_redirect": false, "ssl_session_timeout": "5m", "ssl_stapling": false, "ssl_stapling_verify": false, "ssl_verify_client": "on", "string_mappings": { }, "use_default_location": true, "uwsgi_params": "/etc/nginx/uwsgi_params" ******************************************* + Nginx::Resource::Upstream::Member[gunicorn-storage] => parameters => "backup": false, "context": "http", "ensure": "present", "port": 80, "resolve": false, "server": "unix:/run/gunicorn/swh-storage/gunicorn.sock", "upstream": "swh-storage-gunicorn" ******************************************* + Nginx::Resource::Upstream[swh-storage-gunicorn] => parameters => "cfg_append": { }, "cfg_prepend": { }, "context": "http", "ensure": "present", "ip_hash": false, "least_conn": false, "member_defaults": { }, "members": { "gunicorn-storage": { "server": "unix:/run/gunicorn/swh-storage/gunicorn.sock" } }, "ntlm": false ******************************************* + Package[python3-swh.storage] => parameters => "ensure": "present", "notify": [ "Profile::Swh::Deploy::Rpc_server[storage]" ] ******************************************* + Profile::Swh::Deploy::Rpc_server[storage] => parameters => "config_key": "storage", "executable": "swh.storage.api.server:make_app_from_configfile()", "gunicorn_config_base_module": "swh.core.api.gunicorn_config", "http_check_string": "<title>Software Heritage storage server</title>", "instance_name": "storage", "worker": "sync" ******************************************* + Service[gunicorn-swh-storage] => parameters => "enable": true, "ensure": "running", "restart": "/bin/systemctl reload gunicorn-swh-storage.service" ******************************************* + Systemd::Tmpfile[gunicorn-swh-storage.conf] => parameters => "ensure": "absent", "path": "/etc/tmpfiles.d" ******************************************* + Systemd::Unit_file[gunicorn-swh-storage.service] => parameters => "content": "# File managed by puppet (class gunicorn::instance swh-storage),... "ensure": "present", "group": "root", "mode": "0444", "notify": [ "Service[gunicorn-swh-storage]" ], "owner": "root", "path": "/etc/systemd/system", "show_diff": true ******************************************* *** End octocatalog-diff on webapp1.internal.softwareheritage.org
Diff Detail
Diff Detail
- Repository
- rSPSITE puppet-swh-site
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Event Timeline
Comment Actions
lgtm
That installs a similar pattern as the other production node (moma regarding webapp/storage deployment)