Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rebasing container image to ubuntu:20.04 #649

Merged
merged 2 commits into from
Nov 4, 2021
Merged

rebasing container image to ubuntu:20.04 #649

merged 2 commits into from
Nov 4, 2021

Conversation

mighq
Copy link
Contributor

@mighq mighq commented Nov 4, 2021

  • switching to Python v3
    • which was driven by rsa>=3.1.4 -> oauth2client==1.4.12, it no longer supports Python v2
  • adding ops/packer Makefile
    • to automate steps only found in README.md
    • done just for the docker image build
  • instructing packer to clear ENTRYPOINT from original ubuntu image
    • CMD was not working with the /bin/sh in place of ENTRYPOINT

* switching to Python v3
  * which was driven by rsa>=3.1.4 -> oauth2client==1.4.12, it no longer supports Python v2
* adding ops/packer Makefile
  * to automate steps only found in README.md
  * done just for the docker image build
* instructing packer to clear ENTRYPOINT from original ubuntu image
  * CMD was not working with the /bin/sh in place of ENTRYPOINT
@mighq
Copy link
Contributor Author

mighq commented Nov 4, 2021

this PR also fixes the problem with the README.md parsing referenced in #573 (comment)

* correct plugin references for uwsgi
* fix of execv inputs to match validation, which changed in Python 3.6
* added missing mysql client package, which is used in the entrypoint
* not using 'gevent' parameter for uwsgi
  * it causes "DAMN ! worker N (pid: NNN) died :( trying respawn ..."
  * not sure why this happens for uwsgi+python3+gevent
@diegocepedaw diegocepedaw merged commit 66ce7b7 into linkedin:master Nov 4, 2021
@mighq mighq deleted the container_rebase branch November 4, 2021 16:38
diegocepedaw added a commit that referenced this pull request Feb 24, 2022
* change cache plan delete log level (#619)

* skip error logging if iris bot fails to send messages to a channel it is not in (#621)

* skip error logging if iris bot fails to send messages to a channel it is not in

* removed redundant slack api call and added a warning

* added a return statement to keep the event from being counted as an error in the metrics

Co-authored-by: Damian Durruty <[email protected]>

* rackspace webhook support (#405)

* Start rackspace webhook impl by copying alertmanager

* Plumb plan name through URL parameter for rackspace webhook

* add test for rackspace webhook (WIP)

* fix rackspace webhook test data

* rackspace webhook should parse plan inside its class

This detail is only relevant to the rackspace webhook class and doesn't belong
in api.py. This just reverts the changes in api.py and adds support for parsing
the plan in the rackspace webhook class.

* deduplicate webhook code with class inheritance

authored-by: Patrick Baxter <[email protected]>

* Add support for custom Slack formatting via attachments/blocks (#624)

* Update iris_slack.py

* Update iris_slack.py

* bumnp version

* fix tests and incident id insert in slack message

* remove extra arguments (#626)

* added twillio number override mechanism (#627)

* skip error logging if iris bot fails to send messages to a channel it is not in

* removed redundant slack api call and added a warning

* added a return statement to keep the event from being counted as an error in the metrics

* added twillio number override mechanism

* minor change in case application_override_mapping is not defined in the default config

Co-authored-by: Damian Durruty <[email protected]>

* remove experimental-sender changes from master

* Update __init__.py

* check for active mailing_list target (#630)

* use app's category default if user's not defined

* remove internal app allowlist

* Update __init__.py

* remove non-inclusive language (#639)

* remove non-inclusive language (#635)

* master -> leader in config (#637)

* remove non-inclusive language

* master -> leader in config

* restore sphinx required master_doc (#638)

* remove non-inclusive language

* master -> leader in config

* restore sphinx required master_doc

* db setup instruction (#646)

the `schema_0.sql` contains `drop table` statement which could be not obvious.

I experienced this issue when using a docker image with `DOCKER_DB_BOOTSTRAP=1` (which does a schema and dummy data), and wondering why I lost all my custom plans and templates, after iris container restart.

Additionally provide alternative way to removing ONLY_FULL_GROUP_BY. This is useful when running mysql docker images. I.e. from oracla/mysql or bitnami mariadb images. This is easier than modifying the config file, or changing global server configuration when running in the container (i.e. docker or kubernetes).

* use DB port from the config in image entrypoint (#650)

* until now, 3306 was hardcoded
* port in config file stays optional for backward compatibility

Co-authored-by: Michal Zubac <[email protected]>

* rebasing container image to ubuntu:20.04 (#649)

* rebasing container image to ubuntu:20.04

* switching to Python v3
  * which was driven by rsa>=3.1.4 -> oauth2client==1.4.12, it no longer supports Python v2
* adding ops/packer Makefile
  * to automate steps only found in README.md
  * done just for the docker image build
* instructing packer to clear ENTRYPOINT from original ubuntu image
  * CMD was not working with the /bin/sh in place of ENTRYPOINT

* fixes to actually make it work with Python 3.8

* correct plugin references for uwsgi
* fix of execv inputs to match validation, which changed in Python 3.6
* added missing mysql client package, which is used in the entrypoint
* not using 'gevent' parameter for uwsgi
  * it causes "DAMN ! worker N (pid: NNN) died :( trying respawn ..."
  * not sure why this happens for uwsgi+python3+gevent

Co-authored-by: Michal Zubac <[email protected]>

* add max len to webhook context too long response (#653)

* Update __init__.py

* Create __init__.py

* Support multiple custom incident handler hooks (#664)

Refactor handling of custom incident handlers to support multiple handlers.

Retain compatibility with previous config syntax

* Calculate incident priority for incident creation hook

- Generate priority by looking for the highest severity priority across
  all of the plan notifications

- Set this as a new priority field within the incident details as passed
  to the process_create() hook

* Make application name in hook incident data support overwritten app name

When creating test incidents within the API, the application given to the
incident creation hooks is "iris" rather than the application being used.

Fix this such that the hooks receive the overwritten application name.

Also: move definition of `app` to the parent block in the function so it
is more obvious this variable is used later on.

* Don't prepend https:// to proxy hostnames (#668)

Historically, this approach has always worked because http forward proxies
generally only listen on http:// (not https://) and urllib3 has not supported
connecting to a http proxy via https:// so it has always ignored the scheme.

However, as of urllib3 >= 1.26 or so, urllib3 does support and attempt connecting
to proxies via https:// (if this schem is provided) and it raises an exception
if the proxy only listens on http://

Fix this by no longer enforcing a http:// prefix to proxy hostnames. If the user
desires connecting to a https:// proxy, this prefix can be provided within Iris's
configuration.

* remove old custom_incident_handler_dispatcher

Co-authored-by: ddurruty-li <[email protected]>
Co-authored-by: Damian Durruty <[email protected]>
Co-authored-by: Patrick Baxter <[email protected]>
Co-authored-by: Luke Young <[email protected]>
Co-authored-by: Witold Baryluk <[email protected]>
Co-authored-by: mighq <[email protected]>
Co-authored-by: Michal Zubac <[email protected]>
Co-authored-by: Joe Gillotti <[email protected]>
Co-authored-by: Joe Gillotti <[email protected]>
diegocepedaw added a commit that referenced this pull request Mar 2, 2022
* change cache plan delete log level (#619)

* skip error logging if iris bot fails to send messages to a channel it is not in (#621)

* skip error logging if iris bot fails to send messages to a channel it is not in

* removed redundant slack api call and added a warning

* added a return statement to keep the event from being counted as an error in the metrics

Co-authored-by: Damian Durruty <[email protected]>

* rackspace webhook support (#405)

* Start rackspace webhook impl by copying alertmanager

* Plumb plan name through URL parameter for rackspace webhook

* add test for rackspace webhook (WIP)

* fix rackspace webhook test data

* rackspace webhook should parse plan inside its class

This detail is only relevant to the rackspace webhook class and doesn't belong
in api.py. This just reverts the changes in api.py and adds support for parsing
the plan in the rackspace webhook class.

* deduplicate webhook code with class inheritance

authored-by: Patrick Baxter <[email protected]>

* Add support for custom Slack formatting via attachments/blocks (#624)

* Update iris_slack.py

* Update iris_slack.py

* bumnp version

* fix tests and incident id insert in slack message

* remove extra arguments (#626)

* added twillio number override mechanism (#627)

* skip error logging if iris bot fails to send messages to a channel it is not in

* removed redundant slack api call and added a warning

* added a return statement to keep the event from being counted as an error in the metrics

* added twillio number override mechanism

* minor change in case application_override_mapping is not defined in the default config

Co-authored-by: Damian Durruty <[email protected]>

* remove experimental-sender changes from master

* Update __init__.py

* check for active mailing_list target (#630)

* use app's category default if user's not defined

* remove internal app allowlist

* Update __init__.py

* remove non-inclusive language (#639)

* remove non-inclusive language (#635)

* master -> leader in config (#637)

* remove non-inclusive language

* master -> leader in config

* restore sphinx required master_doc (#638)

* remove non-inclusive language

* master -> leader in config

* restore sphinx required master_doc

* db setup instruction (#646)

the `schema_0.sql` contains `drop table` statement which could be not obvious.

I experienced this issue when using a docker image with `DOCKER_DB_BOOTSTRAP=1` (which does a schema and dummy data), and wondering why I lost all my custom plans and templates, after iris container restart.

Additionally provide alternative way to removing ONLY_FULL_GROUP_BY. This is useful when running mysql docker images. I.e. from oracla/mysql or bitnami mariadb images. This is easier than modifying the config file, or changing global server configuration when running in the container (i.e. docker or kubernetes).

* use DB port from the config in image entrypoint (#650)

* until now, 3306 was hardcoded
* port in config file stays optional for backward compatibility

Co-authored-by: Michal Zubac <[email protected]>

* rebasing container image to ubuntu:20.04 (#649)

* rebasing container image to ubuntu:20.04

* switching to Python v3
  * which was driven by rsa>=3.1.4 -> oauth2client==1.4.12, it no longer supports Python v2
* adding ops/packer Makefile
  * to automate steps only found in README.md
  * done just for the docker image build
* instructing packer to clear ENTRYPOINT from original ubuntu image
  * CMD was not working with the /bin/sh in place of ENTRYPOINT

* fixes to actually make it work with Python 3.8

* correct plugin references for uwsgi
* fix of execv inputs to match validation, which changed in Python 3.6
* added missing mysql client package, which is used in the entrypoint
* not using 'gevent' parameter for uwsgi
  * it causes "DAMN ! worker N (pid: NNN) died :( trying respawn ..."
  * not sure why this happens for uwsgi+python3+gevent

Co-authored-by: Michal Zubac <[email protected]>

* add max len to webhook context too long response (#653)

* Update __init__.py

* Create __init__.py

* Support multiple custom incident handler hooks (#664)

Refactor handling of custom incident handlers to support multiple handlers.

Retain compatibility with previous config syntax

* Calculate incident priority for incident creation hook

- Generate priority by looking for the highest severity priority across
  all of the plan notifications

- Set this as a new priority field within the incident details as passed
  to the process_create() hook

* Make application name in hook incident data support overwritten app name

When creating test incidents within the API, the application given to the
incident creation hooks is "iris" rather than the application being used.

Fix this such that the hooks receive the overwritten application name.

Also: move definition of `app` to the parent block in the function so it
is more obvious this variable is used later on.

* Don't prepend https:// to proxy hostnames (#668)

Historically, this approach has always worked because http forward proxies
generally only listen on http:// (not https://) and urllib3 has not supported
connecting to a http proxy via https:// so it has always ignored the scheme.

However, as of urllib3 >= 1.26 or so, urllib3 does support and attempt connecting
to proxies via https:// (if this schem is provided) and it raises an exception
if the proxy only listens on http://

Fix this by no longer enforcing a http:// prefix to proxy hostnames. If the user
desires connecting to a https:// proxy, this prefix can be provided within Iris's
configuration.

* remove old custom_incident_handler_dispatcher

* process ldap and oncall syncs concurrently (#677)

Co-authored-by: ddurruty-li <[email protected]>
Co-authored-by: Damian Durruty <[email protected]>
Co-authored-by: Patrick Baxter <[email protected]>
Co-authored-by: Luke Young <[email protected]>
Co-authored-by: Witold Baryluk <[email protected]>
Co-authored-by: mighq <[email protected]>
Co-authored-by: Michal Zubac <[email protected]>
Co-authored-by: Joe Gillotti <[email protected]>
Co-authored-by: Joe Gillotti <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants