source/master inputs not working
  • So my dj's cannot go live now, for some reason.

    It's returning invalid user/password for everything, since i upgraded to 2.5.2.1.

    I'm having a hard time trying to track this down. Before i upgraded, the master worked, now, neither work.

    I'm working on a WebRTC also (no modifications to airtime at all currently). But this bit is vital to having ALL remote DJ's, so i need to figure this out ASAP.

    Any ideas would be greatly appreciated!
  • 6 Comments sorted by
  • You don't have backup images of your production system? Upgrading a live production server without a restore point is never a good idea...
  • Vote Up0Vote Down Voisses TechVoisses Tech
    Posts: 1,423Member
    And so this is one of the parameters where development of Airtime is lacking.nearly every production software you find tat is been done today has a rollback feature.
    Long since Airtime upgrades have been destructive and  so in this post

    https://forum.sourcefabric.org/discussion/17046/to-upgrade-or-not-upgrade-a-recent-upgrade-is-pending
     and namely this post

    https://forum.sourcefabric.org/discussion/16091/fallover-101-how-to-make-all-scripts-worked-revisted-pt2-advance-reduce-effects-of-upgrade-brok

    I point out the pitfalls of upgrading too soon.

    One pointers I got as an Administrator do not implement changes and upgrades in a production environment until you have tested it.
    so let me say this again as I did in the post above

     I held back any upgrades from Airtime as they seek to have stability.

    You can see this by typing

    apt-cache policy airtime

    you will see something like this

    ~$ apt-cache policy airtime
    airtime:
      Installed: 2.5.0-2
      Candidate: 2.5.0-3
      Version table:
         2.5.0-3 0
            500 http://apt.sourcefabric.org/ raring/main amd64 Packages
     *** 2.5.0-2 0
            100 /var/lib/dpkg/status

    as you see Airtime real current version is 2.5.0-3 0

    Apparently one of the down fall of this is that when you upgrade airtime minor verses you will sometime break your Icecast configuration,,fallback,css  or any modifications you made.

    I had the experience of even Icecast become broken when I did my upgrade from 2.5.0 to 2.5.0-2.

    I hope Moving forward Airtime will have what is known as stable release (all upgrades are held back) and current version.

    Long since I used Linux there always suggest that once its working then do not every day upgrades except for security updates.so lets now held back all subsequent upgrades unless it major release.


    sudo apt-mark hold airtime

    that is you are holding back all upgrades for airtime at the same time allowing any security updates

    now you will see in your upgrade line

    The following packages have been kept back:  airtime linux-generic linux-headers-generic linux-image-generic

    Now go ahead update all you want with upgrade

    now when you feel that you want to upgrade safely or to a new major version,just

    sudo apt-mark unhold airtime



    I do wish people would follow some of these suggestions and then we could make the current version more stable


     NB.There is no Raring package in the repository,it was removed after-end of life for ubuntu

    Post edited by Voisses Tech at 2015-05-11 17:53:37
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • It's not about roll-back, i can roll it back. The source and master don't work, can we just figure out why? The source input hasn't worked for months.

    I may just have to drudge through the code, i was just hoping to avoid that.
  • Here's a heads up on this [harbor:4] Returned 401: wrong auth. Not sure what that is, but i can probably sort it out. I know 4 is log level....

    Also, you guys have the api_client that points to http://airtime.example.com:443/ You do realize this doesn't work for normal apache configurations right? It's going to give "Bad Request" every time.

    Now that you removed the api_port configuration file (which used to answer on 80) now everything answers on 443 as a default. I went ahead and had to modify api_client and the config file to reflect the correct call, since no redirect config worked as expected.
  • here is the change i made to api_client:

    class RequestProvider(object):
        """ Creates the available ApiRequest instance that can be read from
        a config file """
        def __init__(self, cfg):
            self.config = cfg
            self.requests = {}
            if self.config["general"]["base_dir"].startswith("/"):
                self.config["general"]["base_dir"] = self.config["general"]["base_dir"][1:]
            self.url = ApcUrl("http://%s:%s/%s%s/%s" \
                % (self.config["general"]["base_url"], str(self.config["general"]["api_port"]),
                   self.config["general"]["base_dir"], self.config["api_base"],
                   '%%action%%'))
            # Now we must discover the possible actions
            actions = dict( (k,v) for k,v in cfg.iteritems() if '%%api_key%%' in v)
            for action_name, action_value in actions.iteritems():
                new_url = self.url.params(action=action_value).params(
                    api_key=self.config["general"]['api_key'])
                self.requests[action_name] = ApiRequest(action_name, new_url)

    In the config file i added api_port to [general] and changed it to 80.

    NOTE: There are 2 instances that have to be changed in api_client
    Post edited by jason lee at 2015-05-22 19:09:18
  • BTW, this did not solve my auth error for source and master inputs. I'm still trying to track down why this has become utterly broken.

    It'd be really nice to have some support on this issue, since it's been there for awhile now. Or if someone has this working in 2.5.2 can show the config on how this works for them.

    I know you can't code for ever possible server situation, but the code currently is a bit of a mess.

    rabbit doesn't like server name changes, if you go from localhost to a fully qualified domain, it breaks.

    apache won't answer on :443 as an address, since it's sending http headers and not ssl headers... this is kind of basic stuff that should probably be addressed