# \[Bug-11615\] Gateway Status Reported as RUNNING during Commissioning phase

**URL:** <https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754>\
**Category:** Ignition Early Access\
**Created:** [November 12, 2018, 3:35am UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754 "2018-11-12T03:35:57Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [November 12, 2018, 3:35am UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/1 "2018-11-12T03:35:58Z")

</div>

### Environment

Build: `8.0.0-beta0 (b2018111102)`

### Observed Behavior

When a fresh installation first starts, the `http://localhost:8088/StatusPing` (which I noticed moved from `/main/StatusPing`, which is fine) returns `{"state": "RUNNING"}` during the commissioning phase (where initial password and port settings are configured). Once commissioning is completed, it then goes through the expected `STARTING` and then finally `RUNNING` states.

### Expected Behavior

During commissioning phase, the `StatusPing` should return `{"state":"COMMISSIONING"}`. This will help `HEATHCHECK` configurations in a [Dockerfile](https://github.com/thirdgen88/ignition-docker/blob/8.0/8.0/Dockerfile) avoid marking the container as _healthy_ versus _starting_.

### Steps to Reproduce

1. Install Ignition
2. Bring up gateway webpage link which will take you to the commissioning page.
3. Check the output of the _StatusPing_ endpoint before you finish the commissioning configuration. Observe the state of "RUNNING" even though gateway services are still offline, pending initial configuration.

Thanks! Let me know if I can provide any other helpful information.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 12, 2018, 12:05pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/2 "2018-11-12T12:05:35Z")

</div>

This will help my commissioning script too. It’d be nice to have a way to preload the commissioning questions…

---

<div class="post-metadata">

**Author:** ![jcoffman](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jcoffman/32/6429_2.png) [@jcoffman](https://forum.inductiveautomation.com/u/jcoffman)\
**Post date:** [November 12, 2018, 4:44pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/3 "2018-11-12T16:44:57Z")

</div>

This is a great suggestion. I have created a ticket for it and hope to be able to get to this soon.

Thanks!  
Jonathan C

---

<div class="post-metadata">

**Author:** ![jcoffman](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jcoffman/32/6429_2.png) [@jcoffman](https://forum.inductiveautomation.com/u/jcoffman)\
**Post date:** [November 12, 2018, 5:46pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/4 "2018-11-12T17:46:23Z")

</div>

@pturmel Just to be clear, you mean a way to start the gateway without having to go through commissioning? There is a way to do this by providing the correct fields in the gateway.xml file. The additional fields required for commissioning are:

````auto
<entry key="commissioning.connections.useSsl">false</entry>
<entry key="commissioning.eulaSetup.accepted">true</entry>
<entry key="commissioning.eulaSetup.eula">xGbbq17t4B6YSsE5vbs5IqJeSGoLM5v7sUfILWRweXc=</entry>
<entry key="commissioning.authSetup.username">admin</entry>
<entry key="commissioning.authSetup.password">[30EF27E7]1c3de5974927bad77da0d241c030727619b70fcdb3a8377f33ec2c7e162eb678=</entry>```

This tells the gateway to startup pre-commissioned with the username 'admin' and the password 'password' (though this isn't recommended, you can supply your own salted sha256 password here as well)

Note: the ```commissioning.eulaSetup.eula``` field may need to be updated between release of ignition if there are any changes to our EULA.

I will also let our training department to update our docs about this as well.

Thanks!
Jonathan C
````

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [November 12, 2018, 6:08pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/5 "2018-11-12T18:08:41Z")

</div>

@jcoffman This is great info. I'm very interested in any of these types of artifacts that relate to automated provisioning of gateways. They will greatly enhance my efforts on the Docker-based solution I've been maintaining. Is there a place in the Ignition Docs that we can squirrel away some of these golden nuggets?

---

<div class="post-metadata">

**Author:** ![jcoffman](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jcoffman/32/6429_2.png) [@jcoffman](https://forum.inductiveautomation.com/u/jcoffman)\
**Post date:** [November 12, 2018, 6:27pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/6 "2018-11-12T18:27:02Z")

</div>

@kcollins Currently no, though I am reaching out to our training department to add this information. Keep your eyes peeled and I am sure more information will make it into our documentation soon.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 13, 2018, 3:16am UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/7 "2018-11-13T03:16:36Z")

</div>

> [@jcoffman](#):
>
> Just to be clear, you mean a way to start the gateway without having to go through commissioning?

This is precisely what I was hoping for! Thanks!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 14, 2018, 4:32pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/8 "2018-11-14T16:32:03Z")

</div>

Hmmm. I’m not getting the same hash from ‘password’ salted with 30ef27e7.

```auto
$ echo -en "\x30\xef\x27\xe7password" |sha256sum
4ef31ca84f092ed9fb6440f741bd47586a7c4eb44c6b6083d6db168ce42db8d0
$ echo -en "\xe7\x27\xef\x30password" |sha256sum
7536efd23e9a7564ac5884a05545bdbc9c8cc5ea0c92033b8061ccaef7b9686e
$ echo -en "password\x30\xef\x27\xe7" |sha256sum
b6eb3af4df52b7dd0eca6ea53d7e00027323fd0797bc282349b87ad77e6926e6
$ echo -en "password\xe7\x27\xef\x30" |sha256sum
02aa1b0a707985a9f282228fc0f53d06eda8a385b204c25227b01998fe825b97

```

Are y’all padding the salt?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [November 14, 2018, 4:46pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/9 "2018-11-14T16:46:11Z")

</div>

```auto
kevin@Kevins-2018-MacBook-Pro ~> echo -en 'password30EF27E7' | shasum -a 256
1c3de5974927bad77da0d241c030727619b70fcdb3a8377f33ec2c7e162eb678 -

```

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 14, 2018, 4:47pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/10 "2018-11-14T16:47:13Z")

</div>

Tricky. Salt looks like hex but isn’t.

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [April 22, 2019, 10:37pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/11 "2019-04-22T22:37:40Z")

</div>

@jcoffman, Do you know if Bug 11615 is still in the pipeline? I noticed that the release version still shows `{"state":"RUNNING"}` on initial start. Is there a good way to know that the gateway is in limbo?

---

<div class="post-metadata">

**Author:** ![jcoffman](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jcoffman/32/6429_2.png) [@jcoffman](https://forum.inductiveautomation.com/u/jcoffman)\
**Post date:** [April 22, 2019, 11:04pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/12 "2019-04-22T23:04:58Z")

</div>

@kcollins Yeah it definitely is. We are a bit swamped with other issues and tickets right now that are higher priority. Once those get wrapped up we will get to this ticket, I wouldn’t expect 8.0.2, but shortly thereafter as long as nothing more pressing comes up.

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [April 22, 2019, 11:47pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/13 "2019-04-22T23:47:34Z")

</div>

Alright, no worries.. One thing that might help me in the meantime though, if I may ask, how do you compute the hash for the EULA acceptance? I've tried a couple things against the _License.txt_ that ends up in the install directory but can't come up with a match. If I could do this then I could at least automate the commissioning process based on some default environment variables in the Dockerfile (including a random generated password option that could be output to console on first-launch). Any guidance? Thank you for anything you might be able to offer up.

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [April 23, 2019, 1:16pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/14 "2019-04-23T13:16:30Z")

</div>

I think I might have found something that will get me by for the health checks. Debatably, perhaps this is enough altogether, although I think we could probably benefit from having both the Web Server Status and the Gateway Status included in the `StatusPing` JSON:

 ![14%20AM](https://us1.discourse-cdn.com/inductiveautomation/original/2X/5/5c4afe38d5be550d650a8fd1fb3903133d477363.png)

Thanks!

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [April 27, 2019, 4:36pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/15 "2019-04-27T16:36:03Z")

</div>

I'm trying to get the auto-commissioning to function by injecting the specified keys into the `gateway.xml_clean` (which is copied to `gateway.xml` on first-launch). The gateway remains in _needs commissioning_ state. I can't find any related log output hinting at it making attempts to parse/process those `commissioning.*` entries there. Any insights? I'd love to get this working!

Also, I still need information on how to compute the `commissioning.eulaSetup.eula` hash, perhaps that is the reason it isn't working?

Thanks!

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [April 27, 2019, 5:06pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/16 "2019-04-27T17:06:31Z")

</div>

Actually, I think I've found a solution involving just doing some strategic HTTP POSTs in the interim.. So no rush on any other insights. 😀

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 27, 2019, 5:18pm UTC](https://forum.inductiveautomation.com/t/bug-11615-gateway-status-reported-as-running-during-commissioning-phase/20754/17 "2019-04-27T17:18:14Z")

</div>

I took a quick peek at the commissioning code and I can at least tell you the EULA hash is the Base64 encoding of the bytes of the SHA256 hash of the EULA contents.

What might be tricky is it looks like there’s a couple variations of EULA contents that can be read or displayed and I don’t which variation ends up getting hashed.
