Difference between revisions of "Schedules Direct URL Change"

From MythTV Official Wiki
Jump to: navigation, search
(unexpected IP change, already!)
 
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Schedules Direct (SD) Changes =
+
On November 1st, 2014, the existing SD service is changing the address of the server from which it provides guide data. This article is intended to be a short discussion of options for MythTV users.
As some have heard, on November 1st, 2014, the existing SD
 
service is changing. This Wiki is intended to be a short discussion of
 
options for MythTV users.
 
  
Ideally, there would be a DNS change and the IP address for the existing (hard coded) hostname
+
Ideally, there would be a DNS change and the IP address for the existing (hard coded) URL
would be pointed to a new IP address and no action would be
+
would be pointed to a new IP address and no action would be required by MythTV SD users. However, the owner of that domain name (which
required by MythTV SD users. However, the owner of that hostname (which
+
is not SD) could 'retire' that DNS record at any time leaving MythTV SD users without listings.
is not SD) could 'retire' that DNS record at any time leaving MythTV SD users
 
out of service.
 
  
== What '''must''' users do prior to November 1st, 2014? ==
+
'''There is a temporary DNS change in place now. All queries to ''webservices.schedulesdirect.tmsdatadirect.com'' now go to ''dd.schedulesdirect.org''.
 +
The ''webservices.schedulesdirect.tmsdatadirect.com'' registration expiration date is 2016-09-09  .'''
  
0.27 and 0.28-pre users should keep their systems
+
Because of this, users of older versions of MythTV will need to choose one of four options in order to continue retrieving SD data:
up to date with current fixes. The fix for this
 
issue hasn't been released as of the last update of
 
this Wiki. When released, information about it will be added here.
 
  
 +
* Upgrade/update to the current stable release of 0.27.4 (preferred), or alternatively the unsupported 0.26.2* (*packages may not be available)
 +
 +
* Add a line to your hosts file, which overrides the IP address returned by DNS for the name "baked" into the copy of MythTV you're running
 +
 +
* Run a nameserver and use RPZ
 +
 +
* Modify your MythTV source to use the new DNS name for the Schedules Direct data source.
 +
 +
The last three solutions are discussed below. Those running versions below 0.27.4 interested in testing the new server can use any of
 +
these right now. The more testers, the less the chance of a surprise on 11/1/2014.
 +
 +
== What users should do now ==
 +
 +
0.26, 0.27 and 0.28-pre (prelease) users should keep their systems up to date. 0.26 is no longer supported, updated packages may not be available for many distributions, and it is recommended for a number of reasons that users run the latest stable release which is 0.27.4.
 +
 +
<br>
 
{| border="1" cellspacing="0" cellpadding="5" style="float: center;border-collapse:collapse; border-color:#8eabd0; background:#e7edf5"
 
{| border="1" cellspacing="0" cellpadding="5" style="float: center;border-collapse:collapse; border-color:#8eabd0; background:#e7edf5"
 +
|+ MythTV Releases
 +
|-
 
|- style="background-color: lightsteelblue;"
 
|- style="background-color: lightsteelblue;"
 
|+
 
|+
Line 25: Line 36:
 
! scope="col" | Release Date
 
! scope="col" | Release Date
 
|-
 
|-
|0.27
+
|0.26.2
|{{shortgitcommit|TBA}}
+
|{{shortgitcommit|4cb10e5}}
|TBA
+
|October 20, 2014
 +
|-
 +
|0.27.4
 +
|{{shortgitcommit|d78206e}}
 +
|October 15, 2014
 
|-
 
|-
 
|0.28-pre
 
|0.28-pre
|{{shortgitcommit|TBA}}
+
|{{shortgitcommit|4cb10e5}}
|TBA
+
|October 13, 2014
 +
|}
 +
<br>
 +
{| border="1" cellspacing="0" cellpadding="5" style="float: center;border-collapse:collapse; border-color:#8eabd0; background:#e7edf5"
 +
|+ Distribution Releases
 +
|-
 +
|- style="background-color: lightsteelblue;"
 +
|+
 +
|- style="background-color: lightsteelblue;"
 +
! scope="col" | Distribution
 +
! scope="col" | Version
 +
! scope="col" | Release Date
 +
! scope="col" | Comment
 +
|-
 +
|Mythbuntu
 +
|0.26.2
 +
|October 22, 2014
 +
|Fixed in version 2:0.26.2+fixes.20141022.4c4bb29-0ubuntu0mythbuntu1    See [http://www.mythbuntu.org/home/news/actionsrequiredbynov1stduetoschedulesdirectchange Mythbuntu website] for more info
 +
|-
 +
|Mythbuntu
 +
|0.27.4
 +
|October 15, 2014
 +
|Fixed in version 2:0.27.4+fixes.20141015.e4f65c8-0ubuntu0mythbuntu#    See [http://www.mythbuntu.org/home/news/actionsrequiredbynov1stduetoschedulesdirectchange Mythbuntu website] for more info
 +
|-
 +
|Mythbuntu
 +
|0.28-pre
 +
|October 13, 2014
 +
|Fixed in version 2:0.28.0~master.20141013.4cb10e5-0ubuntu0mythbuntu#    See [http://www.mythbuntu.org/home/news/actionsrequiredbynov1stduetoschedulesdirectchange Mythbuntu website] for more info
 
|}
 
|}
 
<br>
 
<br>
== What '''must''' be done on November 1st. ==
 
  
If the above was followed, nothing.
+
== What to do if an upgrade/update isn't done ==
  
Users running 0.26 and below should use the solution in the following section.
+
Choose a solution from the next three sections.
  
== Is there anything users can do to try the replacement now? ==
+
== The ''/etc/hosts'' file solution ==
  
Yes, perhaps the simplest is to make the following entry in
+
Perhaps the simplest is to make the following entry in the backend's ''/etc/hosts'' file:
the backend's /etc/hosts file:
 
  
 
<pre>
 
<pre>
54.210.29.17 webservices.schedulesdirect.tmsdatadirect.com
+
54.85.117.227 webservices.schedulesdirect.tmsdatadirect.com
 
</pre>
 
</pre>
  
The new server is working well. But the more users testing it,
+
Is the ''/etc/hosts'' entry a proper solution? No, because IP addresses can change.
the better. (It would be nice to discover any problems now rather than on 11/1.)
+
It's not a bad solution, but it's certainly not as good as running on 0.27.4
 +
or above.
 +
 
 +
== The nameserver/Response Policy Zones (RPZ) solution ==
 +
 
 +
If the following is used, be sure to remove the ''/etc/hosts'' entry.
 +
 
 +
{{Warning box|This section is of no value without ''bind'' version 9.8.1
 +
or greater installed, running and acting as the backend's nameserver.
 +
Verify the version before going further.}}
 +
 
 +
Also know that this is not intended to be a ''bind''
 +
[http://ftp.isc.org/isc/bind9/cur/9.9/doc/arm/Bv9ARM.ch06.html#options Configuration Reference]
 +
 
 +
The following was written as if the backend is running
 +
a nameserver only for itself (the appliance model.)
 +
 
 +
If a local nameserver is already utilizing RPZ, then it is only
 +
necessary to add the last line in the following box to an
 +
existing zone file.
 +
 
 +
Otherwise, add a file named: ''/etc/bind/db.rpz.localhost''*
 +
with the following:
 +
 
 +
<pre>
 +
$TTL 1h
 +
$ORIGIN rpz.localhost.
 +
@ IN SOA LOCALHOST. localhost. (
 +
                  1    ; Serial
 +
            604800    ; Refresh
 +
              86400    ; Retry
 +
            2419200    ; Expire
 +
            604800 )  ; Negative Cache TTL
 +
 +
@ IN NS  LOCALHOST.
 +
 
 +
webservices.schedulesdirect.tmsdatadirect.com CNAME dd.schedulesdirect.org.
 +
</pre>
 +
 
 +
In the file: ''/etc/bind/named.conf''*, add the following inside
 +
the ''options{}'' statement:
 +
<pre>
 +
    response-policy {zone "rpz.localhost";};
 +
</pre>
 +
 
 +
In the same file*, add:
  
Is the /etc/hosts entry a proper solution? No, because it points the [[#Cast of characters (both of them.)|TMS-DD]] hostname to
 
one of two Load Balancers in front of the SD host.
 
Obviously, if that address were ever changed, the entry would become useless.
 
It's not a bad solution, but it's certainly not as good as running on {{CurrentRelease}}.
 
{{Note box|The IP has already changed from the original one posted here. Testers and eventually
 
users unable (or who choose not) to upgrade their systems should use the following command to get the
 
proper IP. A different solution is being investigated.}}
 
 
<pre>
 
<pre>
host dd.schedulesdirect.org
+
zone "rpz.localhost" {
 +
    type master;
 +
    file "/etc/bind/db.rpz.localhost";
 +
};
 
</pre>
 
</pre>
 +
''*Distributions and personal choices will likely change the names of the files in the above examples. Adjust as required.''
 +
 +
<br>
 +
 +
== The build from source solution ==
  
== Are there any other sources of information about the change? ==
+
Apply the following patch:
 +
 
 +
<pre>
 +
--- libs/libmythtv/datadirect.cpp    2014-10-12 10:54:02.000000000 -0400
 +
+++ libs/libmythtv/datadirect.cpp    2014-10-12 10:54:44.000000000 -0400
 +
@@ -555,7 +555,7 @@
 +
        "/ztvws/ztvws_login/1,1059,TMS01-1,00.html");
 +
    DataDirectURLs urls1(
 +
        "Schedules Direct",
 +
-        "http://webservices.schedulesdirect.tmsdatadirect.com"
 +
+        "http://dd.schedulesdirect.org"
 +
        "/schedulesdirect/tvlistings/xtvdService",
 +
        "http://schedulesdirect.org",
 +
        "/login/index.php");
 +
</pre>
  
Yes.
+
== Other sources of information about the change ==
  
The [http://forums.schedulesdirect.org/viewtopic.php?f=3&t=2578 announcement] from SD.
+
The [http://forums.schedulesdirect.org/viewtopic.php?f=5&t=2626&p=8112#p8112 SD blocking process/help]
  
List of [http://forums.schedulesdirect.org/viewtopic.php?f=8&t=2591 open issues], also from SD.
+
The [http://forums.schedulesdirect.org/viewtopic.php?f=3&t=2614 New SD-DD Service] announcement
 +
(which has a list of open issues.)
  
The mythtv-users mailing list under the thread: ''Schedules Direct DataDirect replacement service testing''.
+
The [http://forums.schedulesdirect.org/viewtopic.php?f=3&t=2578 original announcement] from SD.
Or, it's [http://www.gossamer-threads.com/lists/mythtv/users/576759 archive]).
 
Please don't start new testing threads.
 
  
Discussions on the developer's [http://irc.mythtv.org/ircLog/channel/4/2014-10-08 channel].
+
Expiration [https://whois.icann.org/en/lookup?name=webservices.schedulesdirect.tmsdatadirect.com date]
  
 
== Cast of characters (both of them.) ==
 
== Cast of characters (both of them.) ==
Line 95: Line 194:
 
|SD hosted DataDirect Server
 
|SD hosted DataDirect Server
 
|}
 
|}
<br>
 
 
== Can users that build from source make a change now? ==
 
Yes, locate the line to change with the following command and
 
replace the hostname with the new one above. Be prepared to
 
remove the change when the official commit is pushed.
 
 
<pre>
 
git grep webservices.schedulesdirect.tmsdatadirect.com
 
</pre>
 

Latest revision as of 01:56, 15 February 2016

On November 1st, 2014, the existing SD service is changing the address of the server from which it provides guide data. This article is intended to be a short discussion of options for MythTV users.

Ideally, there would be a DNS change and the IP address for the existing (hard coded) URL would be pointed to a new IP address and no action would be required by MythTV SD users. However, the owner of that domain name (which is not SD) could 'retire' that DNS record at any time leaving MythTV SD users without listings.

There is a temporary DNS change in place now. All queries to webservices.schedulesdirect.tmsdatadirect.com now go to dd.schedulesdirect.org. The webservices.schedulesdirect.tmsdatadirect.com registration expiration date is 2016-09-09 .

Because of this, users of older versions of MythTV will need to choose one of four options in order to continue retrieving SD data:

  • Upgrade/update to the current stable release of 0.27.4 (preferred), or alternatively the unsupported 0.26.2* (*packages may not be available)
  • Add a line to your hosts file, which overrides the IP address returned by DNS for the name "baked" into the copy of MythTV you're running
  • Run a nameserver and use RPZ
  • Modify your MythTV source to use the new DNS name for the Schedules Direct data source.

The last three solutions are discussed below. Those running versions below 0.27.4 interested in testing the new server can use any of these right now. The more testers, the less the chance of a surprise on 11/1/2014.

What users should do now

0.26, 0.27 and 0.28-pre (prelease) users should keep their systems up to date. 0.26 is no longer supported, updated packages may not be available for many distributions, and it is recommended for a number of reasons that users run the latest stable release which is 0.27.4.


MythTV Releases
Version Commit Release Date
0.26.2 4cb10e5 October 20, 2014
0.27.4 d78206e October 15, 2014
0.28-pre 4cb10e5 October 13, 2014


Distribution Releases
Distribution Version Release Date Comment
Mythbuntu 0.26.2 October 22, 2014 Fixed in version 2:0.26.2+fixes.20141022.4c4bb29-0ubuntu0mythbuntu1 See Mythbuntu website for more info
Mythbuntu 0.27.4 October 15, 2014 Fixed in version 2:0.27.4+fixes.20141015.e4f65c8-0ubuntu0mythbuntu# See Mythbuntu website for more info
Mythbuntu 0.28-pre October 13, 2014 Fixed in version 2:0.28.0~master.20141013.4cb10e5-0ubuntu0mythbuntu# See Mythbuntu website for more info


What to do if an upgrade/update isn't done

Choose a solution from the next three sections.

The /etc/hosts file solution

Perhaps the simplest is to make the following entry in the backend's /etc/hosts file:

54.85.117.227 webservices.schedulesdirect.tmsdatadirect.com

Is the /etc/hosts entry a proper solution? No, because IP addresses can change. It's not a bad solution, but it's certainly not as good as running on 0.27.4 or above.

The nameserver/Response Policy Zones (RPZ) solution

If the following is used, be sure to remove the /etc/hosts entry.

Warning.png Warning: This section is of no value without bind version 9.8.1 or greater installed, running and acting as the backend's nameserver. Verify the version before going further.

Also know that this is not intended to be a bind Configuration Reference

The following was written as if the backend is running a nameserver only for itself (the appliance model.)

If a local nameserver is already utilizing RPZ, then it is only necessary to add the last line in the following box to an existing zone file.

Otherwise, add a file named: /etc/bind/db.rpz.localhost* with the following:

$TTL 1h
$ORIGIN rpz.localhost.
@ IN SOA LOCALHOST. localhost. (
                  1     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;   
@ IN NS  LOCALHOST.

webservices.schedulesdirect.tmsdatadirect.com CNAME dd.schedulesdirect.org.

In the file: /etc/bind/named.conf*, add the following inside the options{} statement:

    response-policy {zone "rpz.localhost";};

In the same file*, add:

zone "rpz.localhost" {
    type master; 
    file "/etc/bind/db.rpz.localhost";
};

*Distributions and personal choices will likely change the names of the files in the above examples. Adjust as required.


The build from source solution

Apply the following patch:

--- libs/libmythtv/datadirect.cpp    2014-10-12 10:54:02.000000000 -0400
+++ libs/libmythtv/datadirect.cpp    2014-10-12 10:54:44.000000000 -0400
@@ -555,7 +555,7 @@
         "/ztvws/ztvws_login/1,1059,TMS01-1,00.html");
     DataDirectURLs urls1(
         "Schedules Direct",
-        "http://webservices.schedulesdirect.tmsdatadirect.com"
+        "http://dd.schedulesdirect.org"
         "/schedulesdirect/tvlistings/xtvdService",
         "http://schedulesdirect.org",
         "/login/index.php");

Other sources of information about the change

The SD blocking process/help

The New SD-DD Service announcement (which has a list of open issues.)

The original announcement from SD.

Expiration date

Cast of characters (both of them.)

Abbreviated Name URL Description
TMS-DD docs.tms.tribune.com webservices.schedulesdirect.tmsdatadirect.com Tribune hosted Datadirect Server (going away)
SD-DD dd.schedulesdirect.org SD hosted DataDirect Server