Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Can't reach github API #119

Closed
Sh4doW-coder opened this issue Oct 21, 2022 · 7 comments
Closed

Can't reach github API #119

Sh4doW-coder opened this issue Oct 21, 2022 · 7 comments
Labels
enhancement New feature or request

Comments

@Sh4doW-coder
Copy link

Sh4doW-coder commented Oct 21, 2022

╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│                                                                              │
│ /Users/mac/Exegol/exegol/manager/ExegolController.py:35 in main              │
│                                                                              │
│   32 │   │   # Set logger verbosity depending on user input                  │
│   33 │   │   ExeLog.setVerbosity(ParametersManager().verbosity, ParametersMa │
│   34 │   │   # Start Main controller & Executing action selected by user CLI │
│ ❱ 35 │   │   ExegolController.call_action()                                  │
│   36 │   except KeyboardInterrupt:                                           │
│   37 │   │   logger.empty_line()                                             │
│   38 │   │   logger.info("Exiting")                                          │
│ /Users/mac/Exegol/exegol/manager/ExegolController.py:23 in call_action       │
│                                                                              │
│   20 │   │   │   # Fetch main operation function                             │
│   21 │   │   │   main_action = cls.__action()                                │
│   22 │   │   │   # Execute main function                                     │
│ ❱ 23 │   │   │   main_action()                                               │
│   24 │   │   else:                                                           │
│   25 │   │   │   # TODO review required parameters                           │
│   26 │   │   │   logger.error(f"These parameters are mandatory but missing:  │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │            cls = <class                                                  │ │
│ │                  'exegol.manager.ExegolController.ExegolController'>     │ │
│ │    main_action = <bound method ExegolManager.install of <class           │ │
│ │                  'exegol.manager.ExegolManager.ExegolManager'>>          │ │
│ │ missing_params = []                                                      │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│                                                                              │
│ /Users/mac/Exegol/exegol/manager/ExegolManager.py:110 in install             │
│                                                                              │
│   107 │   @classmethod                                                       │
│   108 │   def install(cls):                                                  │
│   109 │   │   """Pull or build a docker exegol image"""                      │
│ ❱ 110 │   │   ExegolManager.print_version()                                  │
│   111 │   │   try:                                                           │
│   112 │   │   │   if not ExegolModules().isExegolResourcesReady():           │
│   113 │   │   │   │   raise CancelOperation                                  │
│                                                                              │
│ ╭────────────────────────── locals ──────────────────────────╮               │
│ │ cls = <class 'exegol.manager.ExegolManager.ExegolManager'> │               │
│ ╰────────────────────────────────────────────────────────────╯               │
│                                                                              │
│ /Users/mac/Exegol/exegol/manager/ExegolManager.py:188 in print_version       │
│                                                                              │
│   185 │   │   logger.debug(f"Docker desktop: {boolFormatter(EnvInfo.isDocker │
│   186 │   │   logger.debug(f"Shell type: {EnvInfo.getShellType()}")          │
│   187 │   │   if not UpdateManager.isUpdateTag() and UserConfig().auto_check │
│ ❱ 188 │   │   │   UpdateManager.checkForWrapperUpdate()                      │
│   189 │   │   if UpdateManager.isUpdateTag():                                │
│   190 │   │   │   logger.empty_line()                                        │
│   191 │   │   │   if Confirm("An [green]Exegol[/green] update is [orange3]av │
│                                                                              │
│ ╭────────────────────────── locals ──────────────────────────╮               │
│ │ cls = <class 'exegol.manager.ExegolManager.ExegolManager'> │               │
│ ╰────────────────────────────────────────────────────────────╯               │
│                                                                              │
│ /Users/mac/Exegol/exegol/manager/UpdateManager.py:173 in                     │
│ checkForWrapperUpdate                                                        │
│                                                                              │
│   170 │   │   # Skipping update check                                        │
│   171 │   │   if cls.__triggerUpdateCheck():                                 │
│   172 │   │   │   logger.debug("Running update check")                       │
│ ❱ 173 │   │   │   return cls.__checkUpdate()                                 │
│   174 │   │   return False                                                   │
│   175 │                                                                      │
│   176 │   @classmethod                                                       │
│                                                                              │
│ ╭────────────────────────── locals ──────────────────────────╮               │
│ │ cls = <class 'exegol.manager.UpdateManager.UpdateManager'> │               │
│ ╰────────────────────────────────────────────────────────────╯               │
│                                                                              │
│ /Users/mac/Exegol/exegol/manager/UpdateManager.py:212 in __checkUpdate       │
│                                                                              │
│   209 │   │   │   │   logger.debug("Checking update using: stable mode")     │
│   210 │   │   │   │   try:                                                   │
│   211 │   │   │   │   │   remote_version = WebUtils.getLatestWrapperRelease( │
│ ❱ 212 │   │   │   │   │   isUpToDate = cls.__compareVersion(remote_version)  │
│   213 │   │   │   │   except CancelOperation:                                │
│   214 │   │   │   │   │   # No internet, postpone update check               │
│   215 │   │   │   │   │   pass                                               │
│                                                                              │
│ ╭─────────────────────────────── locals ────────────────────────────────╮    │
│ │            cls = <class 'exegol.manager.UpdateManager.UpdateManager'> │    │
│ │     isUpToDate = True                                                 │    │
│ │ remote_version = None                                                 │    │
│ ╰───────────────────────────────────────────────────────────────────────╯    │
│                                                                              │
│ /Users/mac/Exegol/exegol/manager/UpdateManager.py:231 in __compareVersion    │
│                                                                              │
│   228 │   def __compareVersion(cls, version) -> bool:                        │
│   229 │   │   isUpToDate = True                                              │
│   230 │   │   try:                                                           │
│ ❱ 231 │   │   │   for i in range(len(version.split('.'))):                   │
│   232 │   │   │   │   remote = int(version.split('.')[i])                    │
│   233 │   │   │   │   local = int(ConstantConfig.version.split('.')[i])      │
│   234 │   │   │   │   if remote > local:                                     │
│                                                                              │
│ ╭───────────────────────────── locals ──────────────────────────────╮        │
│ │        cls = <class 'exegol.manager.UpdateManager.UpdateManager'> │        │
│ │ isUpToDate = True                                                 │        │
│ │    version = None                                                 │        │
│ ╰───────────────────────────────────────────────────────────────────╯        │
╰──────────────────────────────────────────────────────────────────────────────╯
AttributeError: 'NoneType' object has no attribute 'split'```
@Sh4doW-coder
Copy link
Author

Sh4doW-coder commented Oct 21, 2022

The command used is:
mac@Macbook-Pro-de-Sh4DoW Exegol % python3 exegol.py install full

@Dramelac
Copy link
Member

Hello,

Thanks for the report!

What is your version of Exegol ?
Can you execute and copy paste exegol version -vvv ?

Thank you

@ShutdownRepo ShutdownRepo added bug Something isn't working macOS macOS support is involved waiting for additional info Further information is requested labels Oct 21, 2022
@Sh4doW-coder
Copy link
Author

Sh4doW-coder commented Oct 21, 2022

Hello,
Thanks to you !

mac@Macbook-Pro-de-Sh4DoW Exegol % python3 exegol.py version -vvv
[*] Exegol is currently in version v4.0.5
[D] Pip installation: Off 🪓                                                                                                                                     
[D] Git source installation: On ✔                                                                                                                                
[D] Host OS: Mac                                                                                                                                                 
[D] Arch: amd64                                                                                                                                                  
[D] Docker desktop: On ✔                                                                                                                                         
[D] Shell type: Mac                                                                                                                                              
[D] Running update check                                                                                                                                         
[D] Checking update using: stable mode                                                                                                                           
[D] Error: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /repos/ShutdownRepo/Exegol/releases/latest (Caused by            
NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fa75776df70>: Failed to establish a new connection: [Errno 8] nodename nor servname         
provided, or not known'))                                                                                                                                        
[-] Connection Error: you probably have no internet. (nodename nor servname provided, or not known)                                                              

[+] Exegol thanks Capgemini for supporting the project (dev contributors) 🙏                                                                                     
[+] Interested in joining Capgemini? https://www.capgemini.com/fr-fr/carrieres/offres-emploi/                                                                    
mac@Macbook-Pro-de-Sh4DoW Exegol % ping google.com
PING google.com (216.58.213.78): 56 data bytes
64 bytes from 216.58.213.78: icmp_seq=0 ttl=115 time=14.066 ms
64 bytes from 216.58.213.78: icmp_seq=1 ttl=115 time=14.145 ms

@Sh4doW-coder Sh4doW-coder changed the title [!] Unable to parse the latest Exegol wrapper version from github API. {MacOs/Intel} [!] Unable to parse the latest Exegol wrapper version from github API. {MacOs/AMD} Oct 21, 2022
@ShutdownRepo ShutdownRepo removed the waiting for additional info Further information is requested label Oct 21, 2022
@ShutdownRepo
Copy link
Member

ShutdownRepo commented Oct 21, 2022

I think the issue is on your end. I tried a few things and can't replicate.
Can you make sure DNS is not the faulty component? nslookup api.github.com. If this command fails to find the IP address, you have a DNS issue.
You can also/instead try to restard the DNS responder service with sudo killall -HUP mDNSResponder or reboot your mac.

@ShutdownRepo ShutdownRepo added invalid This doesn't seem right waiting for additional info Further information is requested labels Oct 21, 2022
@ShutdownRepo ShutdownRepo changed the title [!] Unable to parse the latest Exegol wrapper version from github API. {MacOs/AMD} Unable to parse the latest Exegol wrapper version from github API. {MacOs/AMD} Oct 21, 2022
@ShutdownRepo ShutdownRepo changed the title Unable to parse the latest Exegol wrapper version from github API. {MacOs/AMD} Can't reach github API Oct 21, 2022
@Sh4doW-coder
Copy link
Author

It works. Thank you for your responsiveness and your presentation at the secsea

@Dramelac
Copy link
Member

I re-open the issue for future handling of this specific error and add a specific error message for the user.

@Dramelac Dramelac reopened this Oct 21, 2022
@ShutdownRepo ShutdownRepo added enhancement New feature or request and removed bug Something isn't working invalid This doesn't seem right macOS macOS support is involved waiting for additional info Further information is requested labels Oct 24, 2022
@Dramelac
Copy link
Member

Fix in 36cf208

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants