ENH: Forward operators to underlying types

Describe the bug
Series is a container that forwards operators (+, -, ...) to the underlying types.
Some of the operators of Series could be better, for example, __add__ which:

returns Series[Unknown] instead of Series[return type]
or uses non-exiting helper classes to restrict the types

Instead of returning too wide types, enumerating all typing combinations, or creating non-existing helper classes, it might(?) be possible to abuse Protocols to forward operators to the underlying types.
To Reproduce
The following code works with both mypy and pyright
from __future__ import annotations
from typing import Protocol, TypeVar, overload, Generic

_T = TypeVar("_T", covariant=True)
_Other = TypeVar("_Other", contravariant=True)
_Result = TypeVar("_Result", covariant=True)

class add(Protocol[_Other, _Result]):
    def __add__(self, other: _Other, /) -> _Result:
        ...

class radd(Protocol[_Other, _Result]):
    def __radd__(self, other: _Other, /) -> _Result:
        ...

class Series(Generic[_T]):  # simulate Series with one element
    def __init__(self, x: _T) -> None:
        self.x = x

    # Series + Series
    @overload
    def __add__(
        self: Series[add[_Other, _Result]], other: Series[_Other], /
    ) -> Series[_Result]:
        ...

    @overload
    def __add__(self, other: Series[radd[_T, _Result]], /) -> Series[_Result]:
        ...

    # Series + scalar
    @overload
    def __add__(
        self: Series[add[_Other, _Result]], other: _Other, /
    ) -> Series[_Result]:
        ...

    @overload
    def __add__(self, other: radd[_T, _Result], /) -> Series[_Result]:
        ...

    def __add__(self, other):
        if isinstance(other, Series):
            return Series(self.x + other.x)
        return Series(self.x + other)

def test_int(x: Series[int], y: int):
    reveal_type(x + y)  # Series[int] (pandas-stubs: Series[int])

def test_float(x: Series[int], y: float):
    reveal_type(x + y)  # Series[float] (pandas-stubs: Series[Unknown])

def test_series_int(x: Series[int], y: Series[int]):
    reveal_type(x + y)  # Series[int] (pandas-stubs: Series[int])

def test_series_float(x: Series[int], y: Series[float]):
    reveal_type(x + y)  # Series[float] (pandas-stubs: Series[Unknown])

def test_error(x: Series[int], y: str):
    x + y  # error :) (pandas-stubs: no error)

def test_series_error(x: Series[int], y: Series[str]):
    x + y  # error :) (pandas-stubs: no error)

This is a nice idea, but how  you would handle the cases of Series[Timestamp].__add__(Series[Timedelta] ?  Also,  Series[Timestamp].__add__(Series[Timestamp] would need to be invalid, and I think your proposal wouldn't catch that??

Timestamp+Timedelta works, if I remove all the overloads but this one. Not sure why mypy/pyright are confused by that. With the overloads, both say there is no matching rule. Timedelta+Timestamp (the reverse) works without changes. I think mypy/pyright just pick the first overload (Timedelta.__add__'s relevant overload happens to be the first one but that is not the case for Timestamp.__add__)? I will open an issue at pyright.
Unrelated: _T being covariate might also cause troubles with how it would be used in the actual Series (the current TypeVar there is invariant).

Closing, see https://github.com/microsoft/pyright/discussions/6549#discussioncomment-7669091
It is said that there is no generic approach to forward type annotations from encapsulated types. It underminds the usefulness of the Series dtype a bit (will be lost with many operators).


Please update ihaskell to recent versions its dependencies

http://packdeps.haskellers.com/feed?needle=exact%3Aihaskell
We are interested in support for classy-prelude-0.12.0 in particular, because that dependency is preventing us from building ihaskell in NixOS at the moment.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/16725604-please-update-ihaskell-to-recent-versions-its-dependencies?utm_campaign=plugin&utm_content=tracker%2F332399&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F332399&utm_medium=issues&utm_source=github).

Does NixOS build from Hackage? Now that IHaskell no longer depends on classy-prelude, do I need to make a new release to make ihaskell nisox-compatible?

Yes, we build from Hackage. A new release would be very much appreciated.

Finally done. See ihaskell-<IP_ADDRESS>.


json-patch: use module instead of incompatible version

Please ensure your pull request adheres to the following guidelines:

[ ] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[ ] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[ ] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Are you a user of Cilium? Please add yourself to the Users doc
[ ] Thanks for contributing!

Fixes: #issue-number
json-patch: use module instead of incompatible version

/ci-aks
/ci-ginkgo
/ci-runtime
/ci-ipsec-upgrade

/ci-ginkgo

/ci-runtime

/ci-ipsec-upgrade

/ci-ipsec-e2e

/ci-aks


Status Bar Component

Description

Brought back the theme name in the bottom right hand corner.
Not quite the same as the old one. There is a accented heart icon to the left of the name instead of a circle to the right. Also the background is not the contrast color anymore. Plus the position is right under the sticker. Past that it is the same.
It also can be turned off, and it goes away  when non-Doki themes are active.
I also fixed the Theme Title bar configuration issue.
Motivation and Context

#191
How Has This Been Tested?

Works on this environment
IntelliJ IDEA 2019.3.1 (Ultimate Edition)
Build #IU-193.5662.31, built on December 9, 2019
Licensed to Alex Simons
Subscription is active until February 21, 2020
Runtime version: 11.0.5+10-b520.17 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-72-generic
GC: G1 Young Generation, G1 Old Generation
Memory: 512M
Cores: 12
Registry: java.completion.argument.hints.internal=false
Non-Bundled Plugins: io.acari.DDLCTheme

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project (lint passes clean).
[ ] I wrote tests for added functionality.
[X] I updated the version.
[X] I updated the changelog with the new functionality.


Data refresh information

Show in the header the last time it got updated
Show a countdown to the next time it'll update
When updating show the loader

Is blocked by: https://github.com/kazazor/coinsmarket/issues/52

Since this is just 6 seconds we don't want to make the client crazy. We'll close this one


Observation with multiple type of gym.spaces

Hi, I am wondering if DDPG or other algorithms implemented are able to handle an observation space that is partially Box (e.g. joints position/velocity) and partially Binary/Discrete.
Thanks

Hello,
I think your question is a duplicate of #133 and is already documented (no support yet).


Accept CompletionStage class as until method parameter

In JDK8 you can use CompletionStage to work on other non-blocking threads - like in Play! Framework.
It will be very good to implement this functionality to help with unit tests over this interface.

No importance at all.
Closing this issue.


Cached HelmClient also caches Helm's flag config

With the HelmClient caching introduced recently, Helm's action client is also cached. The action client is based on two things to consider in this case -  kube client and user defined Helm flags.
Now kube client caching works as intended, but caching Helm flag based configuration is static. If the flag configuration in the relevant CR is updated, it will not be reflected in processing of the charts.
AC:

[ ] Configuration for Helm flags are cached on reconciled resource level
[ ] HelmClient / KustomizeClient is cached on cluster level
[ ] Integrate caching into pkg/operations
[ ] Unit tests for caching are added

To extend the current Manifest processor resource, the proposed solution goes in the direction of one cluster level cache for storing rest clients and one resource level config cache for storing personalized information. After extension the current manifest processor cache could look like this:
type RendererCache struct {
	processor sync.Map // Cluster specific
	config    sync.Map // Resource specific
}

// NewRendererCache returns a new instance of RemoteClusterCache.
func NewRendererCache() *RendererCache {
	return &RendererCache{
		processor: sync.Map{},
		config:    sync.Map{},
	}
}

// GetProcessor loads the types.RenderSrc from RendererCache for the passed client.ObjectKey.
func (r *RendererCache) GetProcessor(key client.ObjectKey) types.RenderSrc {
	value, ok := r.processor.Load(key)
	if !ok {
		return nil
	}
	return value.(types.RenderSrc)
}

// SetProcessor saves the passed types.RenderSrc into RendererCache for the client.ObjectKey.
func (r *RendererCache) SetProcessor(key client.ObjectKey, helmClient types.RenderSrc) {
	r.processor.Store(key, helmClient)
}

// DeleteProcessor deletes the types.RenderSrc from RendererCache for the passed client.ObjectKey.
func (r *RendererCache) DeleteProcessor(key client.ObjectKey) {
	r.processor.Delete(key)
}

// GetConfig loads the configuration from RendererCache for the passed client.ObjectKey.
func (r *RendererCache) GetConfig(key client.ObjectKey) uint32 {
	value, ok := r.config.Load(key)
	if !ok {
		return 0
	}
	return value.(uint32)
}

// SetConfig saves the passed configuration into RendererCache for the client.ObjectKey.
func (r *RendererCache) SetConfig(key client.ObjectKey, config uint32) {
	r.config.Store(key, config)
}

// DeleteConfig deletes the configuration from RendererCache for the passed client.ObjectKey.
func (r *RendererCache) DeleteConfig(key client.ObjectKey) {
	r.config.Delete(key)
}


Different output from Safari and Firefox

Hello!
I found some problems when rendering an APEX-Calender.
Expected behavior
I'm trying to export an APEX-Calendar into PNG and getting different / wrong results from Firefox and Safari.
Actual behavior
Difference.pdf
Safari: some background-color is a bit short (see the green background at saturday / sunday)
Firefox: background-color is applied to whole cell and for one more line then it should be.
HTML-Source:
Montageplan Kalender Druckansicht (Test).html.txt
###APEX version ( 5.0.0)
###Tomcat 7, ORDS on Win 7
###Firefox 47.0.1 and Safari 9.1.2 both on OS X 11.6
kind regards
Chris

Hi @ChrisLeitner
I looked into that behavior and it seems that it is not possible without changing the html of your page. This plugin uses html2canvas for taking a screenshot of the page as it is. This means it creates a canvas object with the help of the actual browser engine, this also means it could be different in different browsers...
My experience was that it works best in webkit browsers like Chrome or Safari...But a 100% correct screenshot will likely be impossible, because it renders the page again in a canvas...
Hope that helps!

Thank's for the info - doesn't solve my problem but I see that it's not possible to address the issue within the plugin.

Yeah sorry for that...Hopefully html2canvas gets an update, this version is already older...


App restarts to quickly if it fails to start.

Systemd has a default restart time of 100ms. This does not allow enough time if the app fails to start.

Codecov Report

Merging #2945 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2945   +/-   ##
=======================================
  Coverage   27.24%   27.24%
=======================================
  Files          89       89
  Lines       17640    17640
=======================================
  Hits         4806     4806
  Misses      12146    12146
  Partials      688      688

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7e6c198...f10ac95. Read the comment docs.

LGTM

LGTM


Input widget - low effort enhancements

RACI matrix

Label
Value

Responsible
@techbhavin

Accountable
@somangshu

Consulted
@areyabhishek, @momcilo-appsmith

Informed
@Nikhil-Nandagopal

Features:

[x] Tooltip text - Helper for input
[x] Label text - This text appears beside or on the top of the input widget
[x] Auto Focus - This can be a switch and will determine whether the input text will automatically bring up the keyboard and gain focus on load
[x] Icon - Choose an icon to show in the input field
[x] Icon alignment - left or right
[x] Max Chars - This number specifies the maximum number of characters

Requirements

Requirement
User story
Priority
Comment

Tooltip text
Helper for input
High
Design

Label text
This text appears beside or on the top of the input widget
High
Design

Auto Focus
This can be a switch and will determine whether the input text will automatically bring up the keyboard and gain focus on load
High
-

Icon
Choose an icon to show in the input field
High
-

Icon alignment
left or right
High
-

Max Chars
This number specifies the maximum number of characters
High
-

@techbhavin Tested this feature and i could verify the following points
Verified:
1)Tooltip text | Helper for input
2)Label text | This text appears beside or on the top of the input widget
Not Verified: - Implementation is required
3)Auto Focus | This can be a switch and will determine whether the input text will automatically bring up the keyboard and gain focus on load
4)Icon | Choose an icon to show in the input field
5)Icon alignment | left or right

waiting for close issue #3261

@techbhavin please merge branch to use the new control here.

@techbhavin Great work! Noticed a bug: By the default the input widget is in an error state because of the 'Max chars' field being empty. This shouldn't happen.
@somangshu We need to provide styling controls for the label. Exact same controls like in the text widget. These controls can be in the property pane under 'styles'

@techbavin lets add the following:

Label color: Hex color picker
Label size: All sizes available for the text widget
Label font style: Bold/Italics

@somangshu @Nikhil-Nandagopal
should we also add another field to the input widget isValid similar to isDisabled? might make it easier to set the validation state of the input without using regex.


Yesterday  I encountered a similar problem while running the repo using alternative setup.

i got the same thing and even after I got it working by importing Dict the front and back end are both running but the chat doesn't work and its basically unusable. Been trying all night to fix this

Pulled latest git but backend container is crashing, here some logs

Attaching to agent-llm_frontend_1, agent-llm_backend_1
backend_1   | Traceback (most recent call last):
backend_1   |   File "/usr/local/bin/uvicorn", line 8, in <module>
backend_1   |     sys.exit(main())
backend_1   |   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
backend_1   |     return self.main(*args, **kwargs)
backend_1   |   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1055, in main
backend_1   |     rv = self.invoke(ctx)
backend_1   |   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
backend_1   |     return ctx.invoke(self.callback, **ctx.params)
backend_1   |   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
backend_1   |     return __callback(*args, **kwargs)
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/main.py", line 403, in main
backend_1   |     run(
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/main.py", line 568, in run
backend_1   |     server.run()
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/server.py", line 59, in run
backend_1   |     return asyncio.run(self.serve(sockets=sockets))
backend_1   |   File "/usr/local/lib/python3.8/asyncio/runners.py", line 44, in run
backend_1   |     return loop.run_until_complete(main)
backend_1   |   File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/server.py", line 66, in serve
backend_1   |     config.load()
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/config.py", line 471, in load
backend_1   |     self.loaded_app = import_from_string(self.app)
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/importer.py", line 21, in import_from_string
backend_1   |     module = importlib.import_module(module_str)
backend_1   |   File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
backend_1   |     return _bootstrap._gcd_import(name[level:], package, level)
backend_1   |   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
backend_1   |   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
backend_1   |   File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
backend_1   |   File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
backend_1   |   File "<frozen importlib._bootstrap_external>", line 843, in exec_module
backend_1   |   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
backend_1   |   File "/app/app.py", line 72, in <module>
backend_1   |     async def add_agent(agent_name: AgentName) -> dict[str, str]:
backend_1   | TypeError: 'type' object is not subscriptable
backend_1   | Traceback (most recent call last):
backend_1   |   File "/usr/local/bin/uvicorn", line 8, in <module>
backend_1   |     sys.exit(main())
backend_1   |   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
backend_1   |     return self.main(*args, **kwargs)
backend_1   |   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1055, in main
backend_1   |     rv = self.invoke(ctx)
backend_1   |   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
backend_1   |     return ctx.invoke(self.callback, **ctx.params)
backend_1   |   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
backend_1   |     return __callback(*args, **kwargs)
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/main.py", line 403, in main
backend_1   |     run(
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/main.py", line 568, in run
backend_1   |     server.run()
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/server.py", line 59, in run
backend_1   |     return asyncio.run(self.serve(sockets=sockets))
backend_1   |   File "/usr/local/lib/python3.8/asyncio/runners.py", line 44, in run
backend_1   |     return loop.run_until_complete(main)
backend_1   |   File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/server.py", line 66, in serve
backend_1   |     config.load()
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/config.py", line 471, in load
backend_1   |     self.loaded_app = import_from_string(self.app)
backend_1   |   File "/usr/local/lib/python3.8/site-packages/uvicorn/importer.py", line 21, in import_from_string
backend_1   |     module = importlib.import_module(module_str)
backend_1   |   File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
backend_1   |     return _bootstrap._gcd_import(name[level:], package, level)
backend_1   |   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
backend_1   |   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
backend_1   |   File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
backend_1   |   File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
backend_1   |   File "<frozen importlib._bootstrap_external>", line 843, in exec_module
backend_1   |   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
backend_1   |   File "/app/app.py", line 72, in <module>
backend_1   |     async def add_agent(agent_name: AgentName) -> dict[str, str]:
backend_1   | TypeError: 'type' object is not subscriptable

I'm getting the same issue, currently my only way around it is to run the backend through the python app.py command, which isn't ideal as I don't think the container is doing its job at that point.

Sorry folks! I have this planned to be fixed today. It looks like it doesn't like some of the response models that were added when switching to FastAPI.

Give it another try with the docker-compose. It should work now.

It seems to be not working.
This is that i did , in order:

pulled latest commit
docker compose command from the homepage
3.ran my oobagooba interface with Vicuna with this command python server.py  --model vicuna-13b-GPTQ-4bit-128g --listen --no-stream --auto-devices --xformers
this is my .env file:

AI_PROVIDER=oobabooga
AI_PROVIDER_URI=http://localhost:7860
AI_MODEL=vicuna
AI_TEMPERATURE=0.2
MAX_TOKENS=2096

This is the output of the console running vicuna :
Starting agent...
Gradio HTTP request redirected to localhost :)
Loading vicuna-13b-GPTQ-4bit-128g...
Found the following quantized model: models\vicuna-13b-GPTQ-4bit-128g\vicuna-13b-4bit-128g.safetensors
Loading model ...
Done.
Loaded the model in 19.74 seconds.
Running on local URL:  http://<IP_ADDRESS>:7860

To create a public link, set `share=True` in `launch()`.

opened http://localhost/ to see the homepage of agentLLM and tried to instruct agentLLM but it didn't work

This is the error that appears in the docker log for the backend image:
2023-04-23 17:58:21 Traceback (most recent call last):
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 436, in run_asgi
2023-04-23 17:58:21     result = await app(  # type: ignore[func-returns-value]
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
2023-04-23 17:58:21     return await self.app(scope, receive, send)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/fastapi/applications.py", line 276, in __call__
2023-04-23 17:58:21     await super().__call__(scope, receive, send)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/starlette/applications.py", line 122, in __call__
2023-04-23 17:58:21     await self.middleware_stack(scope, receive, send)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/starlette/middleware/errors.py", line 184, in __call__
2023-04-23 17:58:21     raise exc
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/starlette/middleware/errors.py", line 162, in __call__
2023-04-23 17:58:21     await self.app(scope, receive, _send)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/starlette/middleware/cors.py", line 92, in __call__
2023-04-23 17:58:21     await self.simple_response(scope, receive, send, request_headers=headers)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/starlette/middleware/cors.py", line 147, in simple_response
2023-04-23 17:58:21     await self.app(scope, receive, send)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
2023-04-23 17:58:21     raise exc
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
2023-04-23 17:58:21     await self.app(scope, receive, sender)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
2023-04-23 17:58:21     raise e
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
2023-04-23 17:58:21     await self.app(scope, receive, send)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/starlette/routing.py", line 718, in __call__
2023-04-23 17:58:21     await route.handle(scope, receive, send)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/starlette/routing.py", line 276, in handle
2023-04-23 17:58:21     await self.app(scope, receive, send)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/starlette/routing.py", line 66, in app
2023-04-23 17:58:21     response = await func(request)
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/fastapi/routing.py", line 237, in app
2023-04-23 17:58:21     raw_response = await run_endpoint_function(
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/fastapi/routing.py", line 163, in run_endpoint_function
2023-04-23 17:58:21     return await dependant.call(**values)
2023-04-23 17:58:21   File "/app/app.py", line 127, in get_commands
2023-04-23 17:58:21     commands = Commands(agent_name)
2023-04-23 17:58:21   File "/app/Commands.py", line 10, in __init__
2023-04-23 17:58:21     self.commands = self.load_commands()
2023-04-23 17:58:21   File "/app/Commands.py", line 39, in load_commands
2023-04-23 17:58:21     module = importlib.import_module(f"commands.{module_name}")
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
2023-04-23 17:58:21     return _bootstrap._gcd_import(name[level:], package, level)
2023-04-23 17:58:21   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
2023-04-23 17:58:21   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
2023-04-23 17:58:21   File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
2023-04-23 17:58:21   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
2023-04-23 17:58:21   File "<frozen importlib._bootstrap_external>", line 883, in exec_module
2023-04-23 17:58:21   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
2023-04-23 17:58:21   File "/app/commands/github.py", line 1, in <module>
2023-04-23 17:58:21     import git
2023-04-23 17:58:21   File "/usr/local/lib/python3.10/site-packages/git/__init__.py", line 91, in <module>
2023-04-23 17:58:21     raise ImportError("Failed to initialize: {0}".format(exc)) from exc
2023-04-23 17:58:21 ImportError: Failed to initialize: Bad git executable.
2023-04-23 17:58:21 The git executable must be specified in one of the following ways:
2023-04-23 17:58:21     - be included in your $PATH
2023-04-23 17:58:21     - be set via $GIT_PYTHON_GIT_EXECUTABLE
2023-04-23 17:58:21     - explicitly set via git.refresh()
2023-04-23 17:58:21
2023-04-23 17:58:21 All git commands will error until this is rectified.
2023-04-23 17:58:21
2023-04-23 17:58:21 This initial warning can be silenced or aggravated in the future by setting the
2023-04-23 17:58:21 $GIT_PYTHON_REFRESH environment variable. Use one of the following values:
2023-04-23 17:58:21     - quiet|q|silence|s|none|n|0: for no warning or exception
2023-04-23 17:58:21     - warn|w|warning|1: for a printed warning
2023-04-23 17:58:21     - error|e|raise|r|2: for a raised exception
2023-04-23 17:58:21
2023-04-23 17:58:21 Example:
2023-04-23 17:58:21     export GIT_PYTHON_REFRESH=quiet
2023-04-23 17:58:21


KNOX-2554 - Implemented JDBC Token State Service

What changes were proposed in this pull request?
//TODO:
How was this patch tested?
//TODO
Some manual test results:
2021-04-13 21:51:01,961 INFO  service.knoxtoken (TokenResource.java:getAuthenticationToken(419)) - Knox Token service (homepage) issued token eyJhbG...da7ZZg (d7c693d1-6d16-40cd-9333-fc978f2b6561)
2021-04-13 21:51:01,981 DEBUG token.state (DefaultTokenStateService.java:addToken(144)) - Added token d7c693d1...fc978f2b6561, expiration 2021-05-13T19:51:01.952Z
2021-04-13 21:51:02,137 DEBUG token.state (JDBCTokenStateService.java:addToken(61)) - Token d7c693d1...fc978f2b6561 has been saved in the database
2021-04-13 21:51:02,170 DEBUG token.state (JDBCTokenStateService.java:addMetadata(172)) - Updated metadata for d7c693d1...fc978f2b6561 in the database
2021-04-13 21:51:02,170 DEBUG service.knoxtoken (TokenResource.java:getAuthenticationToken(446)) - Knox Token service (homepage) stored state for token eyJhbG...da7ZZg (d7c693d1-6d16-40cd-9333-fc978f2b6561)
...
2021-04-13 21:52:00,877 INFO  service.knoxtoken (TokenResource.java:getAuthenticationToken(419)) - Knox Token service (homepage) issued token eyJhbG...AqsuAg (0406d03b-2cde-48e0-8c4d-5e2282dd3cea)
2021-04-13 21:52:00,878 DEBUG token.state (DefaultTokenStateService.java:addToken(144)) - Added token 0406d03b...5e2282dd3cea, expiration 2021-04-14T19:52:00.871Z
2021-04-13 21:52:00,893 DEBUG token.state (JDBCTokenStateService.java:addToken(61)) - Token 0406d03b...5e2282dd3cea has been saved in the database
2021-04-13 21:52:00,908 DEBUG token.state (JDBCTokenStateService.java:addMetadata(172)) - Updated metadata for 0406d03b...5e2282dd3cea in the database
2021-04-13 21:52:00,909 DEBUG service.knoxtoken (TokenResource.java:getAuthenticationToken(446)) - Knox Token service (homepage) stored state for token eyJhbG...AqsuAg (0406d03b-2cde-48e0-8c4d-5e2282dd3cea)

postgres=# select * FROM KNOX_TOKENS;
               token_id               |  issue_time   |  expiration   | max_lifetime  | username | comment
--------------------------------------+---------------+---------------+---------------+----------+---------
 d7c693d1-6d16-40cd-9333-fc978f2b6561 |<PHONE_NUMBER>978 |<PHONE_NUMBER>952 |<PHONE_NUMBER>978 | admin    |
 0406d03b-2cde-48e0-8c4d-5e2282dd3cea |<PHONE_NUMBER>878 |<PHONE_NUMBER>871 |<PHONE_NUMBER>878 | admin    |
(2 rows)

@moresandeep - thanks again for your review. In fact, I made it even more clean and effective by overriding the evictExpiredTokens from the parent class. This way a simple DELETE statement is enough.

Merging based on @lmccay 's comment: this change looks good except for the suggested refactoring which I created a JIRA for.


I want to have self-host server.

Hello everybody.
Thank you for your great project.
When can I have a self-host server project where collaboration is enabled?

Hi @jingesky 👋🏻, sorry for the delayed response.
You will need to clone excalidraw-room and host the server yourself.,  also you will need to clone excalidraw and update the env variables REACT_APP_WS_SERVER_URL in your .env files
However if you are looking for integrating npm package with collaboration then you can check this

@ad1992
It seems to be broken. Own instance still try to connect to portal.excalidraw.com

.env
REACT_APP_LIBRARY_URL=https://libraries.excalidraw.com

REACT_APP_WS_SERVER_URL=http://excalidraw-room:3002

REACT_APP_PORTAL_URL=

docker-compose.yml
version: "3"

services:
  excalidraw:
    image: excalidraw/excalidraw:latest
    restart: always
    ports:
      - "8084:80"
    depends_on:
      - excalidraw-room
    env_file: .env

  excalidraw-room:
    image: excalidraw/excalidraw-room:latest

Same problem here. The env var seems to be ignored.

@sebw @artemanufrij probably the file is getting overridden with .env.production can you try setting REACT_APP_WS_SERVER_URL in  .env.local and check ?

I just do a docker run and pass env to the CLI without an env file. A docker inspect shows the correct value for REACT_APP_WS_SERVER_URL and if I sh inside the container, env gives the correct value as well.

@artemanufrij @sebw
After modifying .env file, you need to build the container again.
$ podman build -t excalidraw/excalidraw .


changes for solo5 0.6

this is a breaking change in the wire protocol
the unikernel_config is reordered slightly, and block devices is a sequence instead of a utf8-string option

revised and extended:

wire version is bumped (still need to figure some things out)
deterministic mac addresses
metrics from albatross* via metrics library
restart on failure
x509 API upgrade to 0.8.0

before this is good to go, I should:

work a bit harder to be able to read V3 logs (and state file?) -- esp Unikernel_start changed (as well as type config
test on linux (maybe with spt, see #20 -- but use solo5-elftool query-abi to figure out which tender to use)

fwiw, the compatibility with old data was restored in 47fef43, including documentation in vmm_asn on how to be careful in the future to avoid writing data that is not readable again (or, which parts not to change). i guess that means this can be fed back into master.


Jupyter Notebook server not created

I've waited for 20 hours for the Notebook Server on Kubeflow to be added, but the `notebook server never got created. See attached screenshot which shows that I can't connect to the server.
I performed the notebook setup per the provided selections, but somehow I never was able to get the notebook server to work?
Please help.
Thanks,

Could you attach the microk8s.inspect tarball? Is this reproducible? Does it happen every time you enable kubeflow?

I probably tried installing notebook server 15 times, even after reinstalling Ubuntu and microk8s+kubeflow so I think it is reproducible.
See the attached of the microk8s.inspect.
inspection-report-20200619_031322.tar.gz

I tried a different image using the available tensorflow 1.14 + cpu and it was able to create, but when i connect I get into the following error:
upstream connect error or disconnect/reset before headers
Is there something I have to configure?

@vinhdiesal: I don't see the Jupyter notebook pod in the inspection report that you posted. It's possible that it's not getting created. Can you post the output from these commands?
microk8s.kubectl logs --tail 100 -l juju-app=jupyter-controller
microk8s.kubectl logs --tail 100 -l juju-app=jupyter-web

I received no output.
I attached the latest tarball.
inspection-report-20200622_040819.tar.gz

Any updates?
I was able to get the logs of the failed jupyter pods:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/traitlets/traitlets.py", line 528, in get
    value = obj._trait_values[self.name]
KeyError: 'runtime_dir'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/bin/jupyter-notebook", line 10, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/dist-packages/jupyter_core/application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "</usr/local/lib/python3.6/dist-packages/decorator.py:decorator-gen-7>", line 2, in initialize
  File "/usr/local/lib/python3.6/dist-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 1628, in initialize
    self.init_configurables()
  File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 1319, in init_configurables
    connection_dir=self.runtime_dir,
  File "/usr/local/lib/python3.6/dist-packages/traitlets/traitlets.py", line 556, in __get__
    return self.get(obj, cls)
  File "/usr/local/lib/python3.6/dist-packages/traitlets/traitlets.py", line 535, in get
    value = self._validate(obj, dynamic_default())
  File "/usr/local/lib/python3.6/dist-packages/jupyter_core/application.py", line 99, in _runtime_dir_default
    ensure_dir_exists(rd, mode=0o700)
  File "/usr/local/lib/python3.6/dist-packages/jupyter_core/utils/__init__.py", line 13, in ensure_dir_exists
    os.makedirs(path, mode=mode)
  File "/usr/lib/python3.6/os.py", line 210, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.6/os.py", line 210, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.6/os.py", line 210, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/home/jovyan/.local'

@vinhdiesal: Apologies, forgot the namespace in the commands I posted earlier. Can you try these?
microk8s.kubectl logs --tail 100 -n kubeflow -l juju-app=jupyter-controller
microk8s.kubectl logs --tail 100 -n kubeflow -l juju-app=jupyter-web

And are you attaching any volumes to the notebook servers you're creating? If you are attaching any volumes, can you try running a notebook server without attaching any volumes? The permission denied error seems to me like an issue related to the volumes getting mounted into the notebook server.

microk8s.kubectl logs --tail 100 -n kubeflow -1 juju-app-jupyter-controller:
k8s.io/apimachinery/pkg/util/wait.JitterUntil
	/go/pkg/mod/k8s.io/apimachinery@v0.0.0-20190404173353-6a84e37a896d/pkg/util/wait/wait.go:153
k8s.io/apimachinery/pkg/util/wait.Until
	/go/pkg/mod/k8s.io/apimachinery@v0.0.0-20190404173353-6a84e37a896d/pkg/util/wait/wait.go:88
2020-06-29T22:13:31.306Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:13:31.311Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:13:31.311Z	INFO	controllers.Notebook	Appending to conditions: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor", "type": "Terminated", "reason": "Error", "message": "Error"}
2020-06-29T22:13:31.316Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:13:31.317Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:13:31.320Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:13:31.325Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:13:44.111Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:13:44.114Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:13:44.114Z	INFO	controllers.Notebook	Appending to conditions: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor", "type": "Waiting", "reason": "CrashLoopBackOff", "message": "back-off 5m0s restarting failed container=tensor pod=tensor-0_admin(814fd404-0e1a-4aec-8a45-8eb416be7dbc)"}
2020-06-29T22:13:44.120Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:13:44.120Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:13:44.123Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:13:44.129Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:13:44.129Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:13:44.132Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:13:44.137Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:14:31.317Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:14:31.322Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:14:31.329Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:14:31.329Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:14:31.332Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:14:31.337Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:15:31.330Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:15:31.336Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:15:31.341Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:15:31.341Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:15:31.344Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:15:31.349Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:16:31.342Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:16:31.346Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:16:31.351Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:16:31.351Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:16:31.354Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:16:31.359Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:17:31.351Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:17:31.356Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:17:31.363Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:17:31.363Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:17:31.367Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:17:31.373Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:07.047Z	INFO	controllers.Notebook	Creating StatefulSet	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.054Z	INFO	controllers.Notebook	Creating Service{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.065Z	INFO	controllers.Notebook	Pod not found...{"notebook": "admin/tensor-flow"}
2020-06-29T22:18:07.065Z	DEBUG	controller-runtime.controller	Successfully Reconciled	{"controller": "notebook", "request": "admin/tensor-flow"}
2020-06-29T22:18:07.065Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.074Z	INFO	controllers.Notebook	Pod not found...{"notebook": "admin/tensor-flow"}
2020-06-29T22:18:07.074Z	DEBUG	controller-runtime.controller	Successfully Reconciled	{"controller": "notebook", "request": "admin/tensor-flow"}
2020-06-29T22:18:07.075Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.090Z	INFO	controllers.Notebook	Pod not found...{"notebook": "admin/tensor-flow"}
2020-06-29T22:18:07.091Z	DEBUG	controller-runtime.controller	Successfully Reconciled	{"controller": "notebook", "request": "admin/tensor-flow"}
2020-06-29T22:18:07.093Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.102Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:07.102Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.114Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:07.114Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.119Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:07.248Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.252Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.252Z	INFO	controllers.Notebook	Appending to conditions: 	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow", "type": "Waiting", "reason": "ContainerCreating", "message": ""}
2020-06-29T22:18:07.256Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:07.256Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.259Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:18:07.263Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:31.376Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:31.397Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:31.408Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:31.409Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:31.415Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:31.426Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:33.649Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:33.653Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:33.653Z	INFO	controllers.Notebook	Appending to conditions: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor", "type": "Terminated", "reason": "Error", "message": "Error"}
2020-06-29T22:18:33.661Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:33.663Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:33.669Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:33.674Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:46.463Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:46.522Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:46.522Z	INFO	controllers.Notebook	Appending to conditions: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor", "type": "Waiting", "reason": "CrashLoopBackOff", "message": "back-off 5m0s restarting failed container=tensor pod=tensor-0_admin(814fd404-0e1a-4aec-8a45-8eb416be7dbc)"}
2020-06-29T22:18:46.549Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:18:46.555Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:46.560Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:18:46.582Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:19:07.104Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:19:07.117Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:19:07.122Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:19:07.123Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:19:07.127Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor-flow", "namespace": "admin", "name": "tensor-flow"}
2020-06-29T22:19:07.133Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:19:31.409Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:19:31.424Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:19:31.440Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'
2020-06-29T22:19:31.440Z	INFO	controllers.Notebook	Updating StatefulSet	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:19:31.447Z	INFO	controllers.Notebook	Updating container state: 	{"notebook": "admin/tensor", "namespace": "admin", "name": "tensor"}
2020-06-29T22:19:31.454Z	INFO	culler	Culling of idle Pods is Disabled. To enable it set the ENV Var 'ENABLE_CULLING=true'

microk8s.kubectl logs --tail 100 -n kubeflow -l juju-app=jupyter-web:
2020-06-29 22:18:08,399 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:08] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:09,406 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
2020-06-29 22:18:10,510 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:10] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
<IP_ADDRESS> - - [29/Jun/2020 22:18:10] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:12,409 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:12] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:14,404 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:14] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:16,406 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:16] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:20,408 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:20] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:24,453 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:24] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:28,551 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:33] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:36,434 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:36] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:36,579 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:36] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:37,575 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:37] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:38,576 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
2020-06-29 22:18:39,582 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:39] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:39,686 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:39] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:40,730 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:40] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:41,687 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:41] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:42,704 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:42] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
<IP_ADDRESS> - - [29/Jun/2020 22:18:43] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:44,727 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:44] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:46,738 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:46] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:47,091 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:47] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:48,024 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:48] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:49,129 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
2020-06-29 22:18:50,025 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:50] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:52,143 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:52] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:54,030 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:54] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
<IP_ADDRESS> - - [29/Jun/2020 22:18:54] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:18:56,112 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:18:56] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:00,107 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
2020-06-29 22:19:04,049 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:04] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
<IP_ADDRESS> - - [29/Jun/2020 22:19:05] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:08,070 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:13] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:13,178 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:13] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:14,174 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:14] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:15,214 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:15] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:16,227 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:16] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:18,212 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:18] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:20,257 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
2020-06-29 22:19:22,303 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:22] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
<IP_ADDRESS> - - [29/Jun/2020 22:19:25] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:26,304 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:26] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:30,231 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:30] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:34,257 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:34] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:42,281 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:42] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:42,420 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:42] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:43,428 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:43] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:44,428 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:44] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:45,433 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:45] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:47,445 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:47] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:49,456 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:49] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:51,812 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:51] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:55,560 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:55] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -
2020-06-29 22:19:59,630 | kubeflow_jupyter.common.utils | INFO | User: 'admin' | Headers: 'kubeflow-userid' ''
<IP_ADDRESS> - - [29/Jun/2020 22:19:59] "GET /api/namespaces/admin/notebooks HTTP/1.1" 200 -

The above was a result of not attaching any volumes.

any solution to the problem?

@vinhdiesal: Can you post the output from these commands?
microk8s.kubectl describe -n admin pods/jupyter-0
microk8s.kubectl describe -n admin statefulset/jupyter

Also, what filesystem (e.g. zfs, ext4) are you using on the system where microk8s is installed?

microk8s.kubectl describe -n admin pods/jupyter-0 results in the following:
Error from server (NotFound): pods "jupyter-0" not found

microk8s.kubectl describe -n admin statefulset/jupyter results in the following:
Error from server (NotFound): statefulsets.apps "jupyter" not found

@vinhdiesal: I was basing those pod and statefulset names off of the inspection report you provided earlier. Can you rerun those commands with whatever the pod and statefulset names are for the jupyter notebook server you have deployed? E.g. if you named the notebook server foo, it would be pods/foo-0 and statefulset/foo

microk8s.kubectl describe -n admin pod/kubeflow-0 results in the following:
Name:         kubeflow-0
Namespace:    admin
Priority:     0
Node:         <IP_ADDRESS>/<IP_ADDRESS>
Start Time:   Thu, 02 Jul 2020 12:07:07 -0700
Labels:       app=kubeflow
              controller-revision-hash=kubeflow-7c78b7f7fd
              notebook-name=kubeflow
              statefulset=kubeflow
              statefulset.kubernetes.io/pod-name=kubeflow-0
Annotations:  <none>
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  StatefulSet/kubeflow
Containers:
  kubeflow:
    Container ID:   containerd://743a860b385726c5d1c39b4cf15c3fc01efc28a7fc799b51d8819076c7569c0a
    Image:          gcr.io/kubeflow-images-public/tensorflow-2.0.0a0-notebook-cpu:v0.7.0
    Image ID:       gcr.io/kubeflow-images-public/tensorflow-2.0.0a0-notebook-cpu@sha256:e45be757280cd44c468892305fd10dd76098f01ad4706f0a8be1387051d9baca
    Port:           8888/TCP
    Host Port:      0/TCP
    State:          Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Thu, 02 Jul 2020 18:56:20 -0700
      Finished:     Thu, 02 Jul 2020 18:56:20 -0700
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Thu, 02 Jul 2020 18:51:09 -0700
      Finished:     Thu, 02 Jul 2020 18:51:09 -0700
    Ready:          False
    Restart Count:  84
    Requests:
      cpu:     500m
      memory:  1Gi
    Environment:
      NB_PREFIX:  /notebook/admin/kubeflow
    Mounts:
      /home/jovyan from workspace-kubeflow (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-editor-token-4455k (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  workspace-kubeflow:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  workspace-kubeflow
    ReadOnly:   false
  default-editor-token-4455k:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-editor-token-4455k
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason   Age                       From                    Message
  ----     ------   ----                      ----                    -------
  Warning  BackOff  4m16s (x1844 over 6h46m)  kubelet, <IP_ADDRESS>  Back-off restarting failed container

microk8s.kubectl describe -n admin statefulset/kubeflow-0 results in the following:
Name:               kubeflow
Namespace:          admin
CreationTimestamp:  Thu, 02 Jul 2020 12:07:06 -0700
Selector:           statefulset=kubeflow
Labels:             <none>
Annotations:        <none>
Replicas:           1 desired | 1 total
Update Strategy:    RollingUpdate
  Partition:        0
Pods Status:        1 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:           app=kubeflow
                    notebook-name=kubeflow
                    statefulset=kubeflow
  Service Account:  default-editor
  Containers:
   kubeflow:
    Image:      gcr.io/kubeflow-images-public/tensorflow-2.0.0a0-notebook-cpu:v0.7.0
    Port:       8888/TCP
    Host Port:  0/TCP
    Requests:
      cpu:     500m
      memory:  1Gi
    Environment:
      NB_PREFIX:  /notebook/admin/kubeflow
    Mounts:
      /home/jovyan from workspace-kubeflow (rw)
  Volumes:
   workspace-kubeflow:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  workspace-kubeflow
    ReadOnly:   false
Volume Claims:  <none>
Events:         <none>


IS STRIPE INTEGRATION SUPPORTED YET?

Based on this pull request(https://github.com/thedevdojo/wave/pull/38), I think Devdojo team decided to add Stripe support (which I'm so happy about), but I cant see  some of the commit's made by https://github.com/magarrent/wave, in Wave.
It seems like Stripe has only been partially supported in Wave. Is that the case? If so, is there any upcoming plans to complete it? i I'm honestly so confused of the final outcome
Btw, I apologize for the all-caps. I just noticed after I had submitted this

There is no Stripe integration currently, the DevDojo team has considered it, look at the following comment. Wave used Stripe in v1 and switched to Paddle for v2. @magarrent has submitted a pull request but that code hasn't been merged into main yet, meaning the code isn't available in this current version of Wave.
If you want to use Stripe you'll need to pull down and use PR #38, instead of the main version of Wave which is done by the DevDojo team.


Approve Requests is not showing more than 850 requests - delegation issue

The number of requests are more than 850 and "Approve requests" tab stopped showing new requests. Any solution?

As a temporary fix, Increased data source limit to 2000

This is because the query used in the 'Approve Requests' gallery is not delegable - this needs changing to a delegable query.


HDDS-11698. Use hadoop image from GitHub in CI

What changes were proposed in this pull request?
Starting with Hadoop 3.3.6, Docker image is available from GitHub Container Registry.  Use it in CI to reduce intermittent failures like:
Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

https://github.com/apache/ozone/actions/runs/11823273130/job/32942963396#step:5:147
and
Error response from daemon: Head "https://registry-1.docker.io/v2/apache/hadoop/manifests/3.3.6": Get "https://auth.docker.io/...": net/http: request canceled (Client.Timeout exceeded while awaiting headers)

https://github.com/apache/ozone/actions/runs/11823273130/job/32942963396#step:5:147
Acceptance check uses Hadoop image for two purposes:

KMS in all secure tests to manage encryption key

updated to use $HADOOP_IMAGE

Test compatibility of Ozone FS jars with multiple Hadoop versions

changed not to redefine variables $HADOOP_IMAGE and $HADOOP_VERSION for each version
images for older versions of Hadoop are still used from Docker Hub
HADOOP_TEST_VERSIONS (recently added in HDDS-11641) renamed to HADOOP_TEST_IMAGES for consistency

https://issues.apache.org/jira/browse/HDDS-11698
How was this patch tested?
CI:
https://github.com/adoroszlai/ozone/actions/runs/11827932547

Thanks @smengcl for the review.


Allow to add a soft-break in preformat blocks

Probably simple to solve, but substance core related.

Done via #1231


Templates with redundant numbering

Originally reported by @mrbrianhobo
Currently, there is redundant numbering with the templates that are created.
How to replicate:

Create a new template after default (i.e. Transaction 2)
Delete template before the newly created template (i.e Transaction 1)
Create a new template (i.e. new template is numbered Transaction 2)

There are now 2 templates named Transaction 2

Instead of tracking the number, we can create a transaction with "Transaction" name, we already have a mutator, which lets us update the name of the script. We just need to update the code slightly to read it properly.

Fixed together with displaying title stored by owner

@MaxStalker Nice! Feel free to tag me on the PR


Add CreateDatabaseTarget and DeleteDatabaseTarget to TargetsService

Adds TargetsService.CreateDatabaseTarget, TargetsService.DeleteDatabaseTarget and associated structs, trying to follow the pattern in the EnvironmentsService.
Looks like there are no unit tests in this project, but to validate functionality I used https://gist.github.com/roshbhatia/570518a07ccfbb8b131ab085364eba3b.

@ymarcus93 Do I need to do anything to kick off the platform tests?


ImportError: No module named 'tensorflow' in official Docker image

System information

Windows 10 x64:
Official tensorflow-jupiter Docker container (without GPU support), latest 06 Feb 2019
TensorFlow version: unable to know
Python version: sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0)

Describe the problem
import tensorflow as tf  command causing this error:

ImportError                               Traceback (most recent call last)
 in ()
----> 1 import tensorflow as tf
ImportError: No module named 'tensorflow'

UPD: 6 Feb 2019 11:06 PM GMT docker image updated, but it not helps.

There was a bug in our Docker CI scripts that pushed broken images. Now that they've been fixed, I verified that this works on Linux:
docker run -it --rm tensorflow/tensorflow:latest-jupyter python -c 'import tensorflow as tf'

Are you satisfied with the resolution of your issue? Yes No

I found the same error with
docker run -it --rm tensorflow/tensorflow:devel-gpu  python -c 'import tensorflow as tf'

@dearboll The devel tags are for developers to make changes to TensorFlow. They do not have TensorFlow installed by default.

@angersson Got it. Thanks a lot.

@angersson I'm new to this and I had the same issue - ImportError: No module named tensorflow... how can install tensorflow in the devel images? I would like to test the changes I've made which are only changing ENV TF_CUDA_COMPUTE_CAPABILITIES=3.5,5.2,6.0,6.1,7.0 to include 5.0

Today I have pulled a TF image and the problem still seems to be there.
Image: tensorflow/tensorflow:devel-gpu-py3
System: Debian 10
I can install tensorflow-gpu through pip inside the container, but I would expect it to be already installed as it is a TF image.

@angerson but how to chnage the gpu version under docker run -it --rm tensorflow/tensorflow:latest-jupyter. I would like to work on tensorflow 2.2.0, but it is providing only tf 2.4.1

@angerson but how to chnage the gpu version under docker run -it --rm tensorflow/tensorflow:latest-jupyter. I would like to work on tensorflow 2.2.0, but it is providing only tf 2.4.1


the demo can't play sounds any way

Just tried, it's working as expected. Could you give it a second try?

AudioPlayerSwift supports only local files, not remote. You have to download it yourself before playing it.


impl From<&str> for MaybeSignal

Once again I'm not sure if there are any unforeseen consequences of doing this, just something I ran into while writing some code.
Enables not having to call .to_string() on a &str passed as a MaybeSignal like this:
"link text"

instead of this:
"link text"

Hm... I'd like to have a more generic version of this, for sure. Unfortunately Rust won't allow
impl<T, U> From for MaybeSignal<T>
where
    U: Into<T>,
{
    fn from(value: U) -> Self {
        Self::Static(value.into())
    }
}

Because it conflicts with the blanket From<T> for T, which is very annoying.
It won't even allow
impl<T> From<T> for MaybeSignal<String>
where
    T: std::fmt::Display,
{
    fn from(value: U) -> Self {
        Self::Static(value.to_string())
    }
}

Because, of course, String implements Display.
It feels weird to have a special case like this but it's so common in HTML that it probably makes sense.


Unable to play next videos after finishing current video.

Bug
I have been using react-native-video for playing multiple videos in my application. In the first time, the video is loaded and playing perfectly fine. but when the URI of the video is changed via State after the current video is completely finished, It is unable to load and play the video. Previously it was working fine but Now it's not working.
Platform

iOS
Android

Which player are you experiencing the problem on:

iOS
Android

Environment info

React native info output:
System:
    OS: macOS 12.3
    CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
    Memory: 173.17 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.16.0 - ~/.nvm/versions/node/v14.16.0/bin/node
    Yarn: 1.22.17 - /usr/local/bin/yarn
    npm: 8.12.1 - ~/Desktop/Devigital/spotlove/node_modules/.bin/npm
    Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.11.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.4, iOS 15.4, macOS 12.3, tvOS 15.4, watchOS 8.5
    Android SDK:
      API Levels: 29, 30, 31
      Build Tools: 28.0.3, 29.0.2, 30.0.2, 31.0.0
      System Images: android-30 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 2020.3 AI-203.7717.56.2031.7784292
    Xcode: 13.3/13E113 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_292 - /usr/bin/javac
    Python: Not Found
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1
    react-native: ~0.63.3 => 0.63.4
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Library version: "react-native-video": "^5.2.0"
Steps To Reproduce

After completing the first video, the URI of Video component must be changed, So that it will play the next video.

Expected behaviour
1.After completing the First video, Video component should render/load the second video after dynamically change the URI.

Need more info to reproduce the issue. It works fine on basic sample, at least on Android...


feat(change-case): support quicklinks

Description

remove execa dependency
support quicklinks

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Not sure why CI is failing

I'll get an expert to help me here @erics118 🙂

Hey @erics118, the CI is failing at the linting step. It seems it’s linked to the PR upgrading TypeScript to 5.2. I'm not entirely sure what's happening under the hood. In the meantime, you can downgrade it to TS 5.1.6 or 4.7.4 (as it was before).

You need to run npm lint --fix

Could you post a recording of your changes?

I added a video to the original post.


Merge main branch from upstream facebook/react (particularly for compatibility with ESLint 8.x)

@grncdr Thanks for all your work on enhancing the exhaustive-deps rule, it's been invaluable! Unfortunately, the files are quite a bit out-of-date now, and it's no longer compatible with the latest version of ESLint (8.x) due to the new requirement of setting meta.hasSuggestions.
It really only requires a one-line fix (adding hasSuggestions: true into the existing meta property in ExhaustiveDeps.js), but since Facebook has already made the required change in the upstream repo (#22248) I figured it might be better to just pull their changes -- which has the added benefit of keeping this fork up to date (currently it's 1603 commits behind facebook:main).
If you'd like to verify that I haven't tried to sneak in any additional changes, you can compare mine against facebook:main and the only changes should be the ones you originally made to ExhaustiveDeps.js.
Alternatively, if you'd prefer, I can close this PR and open a new one just making that one-line change directly (for compatibility with ESLint 8).

Hi @luketanner, thanks for opening this PR!
Unfortunately, I was a bit irresponsible with my last changes to this fork, and so it turns out I had a commit that was not pushed to GitHub (as well as some "local only hacks" that I decided to push as well).
In the end, I prefer to keep my changes rebased/cherry-picked on top of the upstream branch, so I've gone ahead and done that in a new branch here: https://github.com/facebook/react/compare/main...grncdr:react:eslint-plugin-react-hooks-static-hooks-2022-edition
This has now been published to npm as version 5.0.0-p30d423311.0 so you can update your package.json and it should be all good.

@grncdr Sure thing :) Thanks again for your work!


Many tests are skipped: Only runs on staging

Describe the bug
I do run them on the staging directory, so it isn't clear why are they skipped.
Steps to reproduce
regular build/tests
Additional Information

Qiskit IBM Runtime version: 0.2.5
Python version: 3.9
Operating system: FreeBSD 13.1

This happened because the url of  the server was changed; it's fixed now and all the tests are passing.


Animation stutter in Navigation Drawer

Actual Behaviour
While closing the drawer, it experiences a stutter in the animation. You may have felt it while opening schedule or tracks activity.
Expected Behaviour
The animation should be smooth
Steps to reproduce it
Try to open an activity from navigation drawer which is expensive in number of operations like "Tracks" or "Schedule". You will feel abruptness in animation of Navigation Drawer
I am adding an excerpt from https://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html to show that it is a very common issue. I myself came across this a while ago in another project. It is 4th paragraph from the top in the link.
DrawerLayout.DrawerListener can be used to monitor the state and motion of drawer views. Avoid performing expensive operations such as layout during animation as it can cause stuttering; try to perform expensive operations during the STATE_IDLE state. DrawerLayout.SimpleDrawerListener offers default/no-op implementations of each callback method.
Would you like to work on the issue?
There are different approaches to this problem. I have used one of them. I'll try to choose the best one and would like to work on it. Does this issue makes sense @the-dagger ?
P.S. more info about the issue here. http://stackoverflow.com/q/18343018/7622397

Yes, this issue does make sense.
Also there are quite a few lags here and there.
If you enable profile rendering, most of the operations miss the 16ms time limit.


White screen

My RuneLite goes white if I Windows + L or (I think) open fullscreen games.
Windows 10.

I just received this on Windows when a program was asking for administrator rights and the popup window hid and dimmed my screens.

I just encountered this issue after returning from lock screen on Windows 10 while having RuneLite in stretched fixed mode

Yeah, I forgot to mention I am also playing RuneLite with fixed stretched mode, (fullscreen) 'Keep aspect ratio' is ticked if it counts.

Same as everyone here.

For a temporary fix you can disable "Stretched Fixed Mode" and the screen should reappear and then you can just enable the plugin again and you should be fine...
Disabling Stretch mode like advised does fix the issue but enabling it brings the white screen right back. Unfortunate this won't be fixed...

Disabling HW acceleration isn't a great solution if you're trying to alt tab from a full screen game because it degrades the performance of both

The root cause of this was identified and fixed in f072c82973d58889abcb3df064ac3efb2eee4deb


Tiny error on the sample hugo.toml on wiki

Hello, thank you for providing an awesome hugo theme. Soon after starting to use it, I became a big fan of it. Simple and clear is always the best! :-)
BTW, there seems to be a very tiny error on the sample of hugo.toml on your wiki.
I found it when building my hugo site on Cloudflare Pages today. It seems that the Cloudflare Page building process cannot find the module if the value starts with the uppercase. So, would you fix it at your convenience, please?
before) theme = 'Typo'
after)  theme = 'typo'

https://github.com/tomfran/typo/wiki/Setup#21-site-config
Again, let me say thank you for your great work. I admire you both as an Engineer and a designer!
Have a good day!

Faced same issue, and came here to open the same issue!

Thank you so much for the kind words, glad you're enjoying the theme 😄
I always used the capitalized version on my repo, I don't know why it worked. I just updated the wiki.

Your are right. As long as I run 'hugo' command on my Mac, it hasn't happened as well.
However, when it comes to deploying it on Cloudflare Pages, it fails. The version of hugo is v0.128.2 on both side.
Sorry for not exploring the build process on Cloudflare Pages side.
Anyway, this problem is resolved when I lowercase the first letter.


TypeError: expected Tensor as element 2 in argument 0, but got numpy.ndarray

I'm using Alex kernel  which have used your network. However, I'm facing following error message suddenly at the middle of training.
----> 1 run_training()

<ipython-input-20-e1e009ab8f01> in run_training()
     27     fitter = Fitter(model=net, device=device, config=TrainGlobalConfig)
---> 29     fitter.fit(train_loader, val_loader)

<ipython-input-18-5b3d28426703> in fit(self, train_loader, validation_loader)
     33
     34             t = time.time()
---> 35             summary_loss = self.train_one_epoch(train_loader)
     36
     37             self.log(f'[RESULT]: Train. Epoch: {self.epoch}, summary_loss: {summary_loss.avg:.5f}, time: {(time.time() - t):.5f}')

<ipython-input-18-5b3d28426703> in train_one_epoch(self, train_loader)
    100             print(images[0].shape)
    101             print(type(images))
--> 102             images = torch.stack(images)
    103             images = images.to(self.device).float()
    104             batch_size = images.shape[0]

TypeError: expected Tensor as element 2 in argument 0, but got numpy.ndarray

The issue more is, it mostly shows at the middle of epoch, seems like specific step. I don't understand, if my data loader contains some issue, it must shows such behave for all the image samples. But why it shows at the middle of the training in epoch. Can anyone give me some pointer, what is happening here.

I don't see how that's a bug here. Your stack doesn't show anything related to the model or my training code. Figure out where the numpy array is coming from. Everything being passed to the model needs to be torch tensors. My datasets return numpy arrays but the collate fn I use converts them all to torch tesors. Maybe a case is missed when there are no annotations for an image?

@rwightman boom, thanks. Solved. In some cases the model did receive some image without annotation.
One last query, in alex notebook, he used summary loss, why not tracking mAP(0.5:0.95)? Does it give more sense to track loss to pick optimized weights? What should I change in the notebook to receive mAP for each classes?
Thanks in advance.


Jewel affixes incomplete+incorrect ranges

eg melee crit multi is max 10 instead of 12-15 and weapon specific affixes are mia
http://poedb.tw/us/mod.php?cn=Jewel&an=strjewel

The crit multi ranges will be fixed in the next update. It seems the affix list I was looking at is out of date.
As for the missing affixes, that's intentional. The jewel templates (and indeed all rare templates) aren't meant to be 100% complete; they're there just to allow a close approximation of a build's gear. Having to use, for example, "%increased Physical Damage with Two Handed Melee Weapons" instead of "%increased Physical Damage with Maces" isn't going to make a meaningful difference in the calculations.

Yes but the weapon specific ones have higher ranges

They do, but the top end is only 2% higher. The differences that will exist between your theoretical gear, and the gear you'll actually end up using, will make a much bigger difference than an extra 2% increased damage, so I see little point worrying about it. Regardless, if you really need those specific affixes, you can add them yourself using the item editor.

Just a help for the stat list:
poeaffix.net
I suppose it goes into Data/Rares.lua ?

That it indeed the place. I already know about poeaffix.net and such, I just don't see the point in adding every single possible modifier to the templates.

The next update will add a new crafting system for jewels (and flasks, which are being added); this system will include all possible modifiers for those items, which solves this issue entirely.

Wow nice, any ETA?

The update should be out in a day or two; there's still some work to be done but it's mostly ready.


[PARANOIA 25th Anniversary Edition] New character sheet

Changes / Comments
This is a brand new unofficial custom character sheet for PARANOIA 25th Anniversary Edition by Mongoose Publishing. This specific version covers the Troubleshooters core rulebook, whose PDF version is available for purchase at DriveThruRPG. Refer to sheet.json for changes between the official character sheet and this one.
While this character sheet is very similar to the existing one for PARANOIA XP, there are a few important differences. In particular, design philosophies are completely different between the two. Most notably, attributes usage are very different, mostly due to typo fixes in attribute names. my addition of repeating fields. and leaving out fields that players should not have access to.
Note that Matthew Sprange, the community manager of Mongoose Publishing, is already aware that I was working on this, although he has not reviewed my work since this is a personal project of mine.
Roll20 Requests

Does the pull request title have the sheet name(s)?: Yes.
Is this a bug fix?: No.
Does this add functional enhancements (new features or extending existing features)?: New feature.
Does this add or change functional aesthetics (such as layout or color scheme)?: This is adding a brand new design.
If changing or removing attributes, what steps have you taken, if any, to preserve player data?: There are only new attributes. Also, compatibility with the existing PARANOIA XP character sheet has been ignored due to various issues with it, as summarized above.
If this is a new sheet, did you follow Building Character Sheets standards?: Yes.

Character Sheet Info Roll20 Internal Use only.

Character Sheet Info Roll20 Internal Use only.

To clarify, the reason I mentioned the existing PARANOIA XP character sheet at all was that I originally used it as a workaround to run PARANOIA 25th Anniversary Edition games, but it didn't suit my needs as a GM and it wasn't just an issue of fixing the bugs and design flaws while updating it to follow the current standards. As such, it's possible some GMs might consider converting their XP character sheet to this one and considered the possibility keeping maximum compatibility while designing it, but quickly realized it didn't make sense to do so in this specific case.
Please keep in mind that the two editions are not identical, which prevents 100% compatibility even for base characters. Indeed, my character sheet might not fit the needs of a PARANOIA XP GM without using similar workarounds that I had to do. (Just to give one example, Treason Codes exist in XP but not in 25th.) However, I could see someone make slight modifications to my character sheet and include a sheet worker to convert the old attributes to replace the current XP character sheet, and have the two deviate by adding edition-specific character sheets on top of them (such as bots for XP and High Programmers for 25th).
The situation between XP and 25th is a bit convoluted due to the legal issues surrounding the former, so feel free to ask if you need more clarifications.

To clarify, the reason I mentioned the existing PARANOIA XP character sheet at all was that I originally used it as a workaround to run PARANOIA 25th Anniversary Edition games, but it didn't suit my needs as a GM and it wasn't just an issue of fixing the bugs and design flaws while updating it to follow the current standards. As such, it's possible some GMs might consider converting their XP character sheet to this one and considered the possibility keeping maximum compatibility while designing it, but quickly realized it didn't make sense to do so in this specific case.
Please keep in mind that the two editions are not identical, which prevents 100% compatibility even for base characters. Indeed, my character sheet might not fit the needs of a PARANOIA XP GM without using similar workarounds that I had to do. (Just to give one example, Treason Codes exist in XP but not in 25th.) However, I could see someone make slight modifications to my character sheet and include a sheet worker to convert the old attributes to replace the current XP character sheet, and have the two deviate by adding edition-specific character sheets on top of them (such as bots for XP and High Programmers for 25th).
The situation between XP and 25th is a bit convoluted due to the legal issues surrounding the former, so feel free to ask if you need more clarifications.


Master Issue: Repo SECURITY_CONTACTS should list repo-specific contact people, not PSC members.

Many repositories in Kubernetes do not have repository-specific security contacts listed in their SECURITY_CONTACTS file. Instead, they list the PSC members (current or former). With the exception of k/k, and this repo, the list should not contain only PSC members. I'll update issues or PRs (in the case where the repo has added contacts, but has not removed the PSC) with links back to this master issue.

/sig security
?


Feature/delete game

Overview

create db and express functionality to handle delete
useApi can send a DELETE method via fetch
Games component 'Remove' button removes a game from user's collection, reloads Games, and notifies with toast

Feedback Requested
_ This is a simple addition but any feedback welcome._

Looks great!

thanks, everyone! 😊


Get the Image Content Manifest URL from Cachito request...

...and update the build kwargs with it.

'pre_resolve_remote_source.py' adds the ICM URL as a param for
set_worker_params() (which then updates the build kwargs)

CLOUDBLD-1132

Signed-off-by: Ben Alkov<EMAIL_ADDRESS>Maintainers will complete the following section

[x] Commit messages are descriptive enough
[x] Code coverage from testing does not decrease and new code is covered
[x] JSON/YAML configuration changes are updated in the relevant schema
[x] Changes to metadata also update the documentation for the metadata
[x] Pull request has a link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

LGTM, thanks
Any ideas on what is wrong with coveralls?
Note that this depends on https://github.com/release-engineering/cachito/pull/187 to be merged

Any ideas on what is wrong with coveralls?

@athos-ribeiro; No... :disappointed:

osbs-box tests available from my osbs-client PR

Waiving the feature toggle request. This should be the new default behavior for cachito requests
Docs PR: https://github.com/containerbuildsystem/osbs-docs/pull/164 (this is already merged since the ICM file is already being shipped (without the image contents section).

I checked coverage manually, looks good.
@ben-alkov, would you like to update the commit message? The new parameter is not being forwarded to a new plugin, but just updating the build kwargs.
Then we can merge this one.

@ben-alkov Thanks!
Release notes added:

pre_resolve_remote_source plugin fetches Cachito Image Content Manifest URL and forwards to worker builds.


The didTapCheckBox and animationDidStopCheckBox events where renamed

When converting the project to Swift the BEMCheckBox events where renamed:

didTapCheckBox to didTap
animationDidStopCheckBox to animationDidStop

Need to decide if I should keep the new names or switch back to the old ones.  If I keep the new names I will need to the update the documentation as it still references the old names.
See the Classes/BEMCheckBox.swift file and compare it to the deleted Classes/BEMCheckBox.h.

Decided to keep the new names but updated the documentation.  Fixed by #5.


[OSD-12628]Added pd alerts to cluster context command

Ticket Ref: https://issues.redhat.com/browse/OSD-12628
Added pagerduty alerts for specified cluster to cluster context command

By default will read pd oauth token from ~/.config/pagerduty-cli/config.json, but gave option of passing in directly

Sample output:
osdctl cluster context XYZ
============================================================
Limited Support Status
============================================================
Cluster is fully supported

============================================================
Service Logs with Error Severity sent in the past 30 Days
============================================================

============================================================
Pagerduty alerts for the Cluster
============================================================
Link to PD Service: https://redhat.pagerduty.com/service-directory/XYZ123
Urgency             Title                                 Created At
low                 KubeJobCompletion WARNING (1)         2022-07-29T06:27:12Z
low                 KubeJobCompletion WARNING (1)         2022-07-29T06:27:12Z
low                 KubeJobFailed WARNING (1)             2022-07-29T06:44:41Z
low                 AlertmanagerClusterDown WARNING (1)   2022-08-13T21:59:44Z
low                 KubeJobFailed WARNING (3)             2022-08-13T22:05:39Z
low                 TargetDown WARNING (6)                2022-08-14T01:17:29Z
low                 TargetDown WARNING (2)                2022-08-22T12:49:16Z

This is great!
FWIW, pagerduty-cli in ocm-container uses the ~/.config/pagerduty-cli/config.json file in the format {"token": "<token>"} (and I think that's the pd cli default, too) so if you were to use it there, this would JustWork(tm) for anyone who's already got that setup. :)

that's great! With this integration and approach, I imagined we can eventually manage the alerts using osdctl afterward sending an SL and the triage

/lgtm

For service logs, we see relevant messages being sent via warning severity level + info being marked as internal. Might be worth considering including to the context as well

/lgtm
Looks sane to me.


Could you please show me how to add google pay functionality (both for production and dev)

DropIn
            options={{
              authorization: data.clientToken,
              paypal: {
                flow: 'vault',
              },
              googlePay: {
                //WHAT TO ADD HERE ?
              },
            }}
            onInstance={(instance) =>
              setData({ ...data, instance, loadCustom: true })
            }
          />

See the drop-in options.
What you are looking for is: https://braintree.github.io/braintree-web-drop-in/docs/current/module-braintree-web-drop-in.html#~googlePayCreateOptions