2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IBM Workload Scheduler V10.1 Fix Pack 3の概要とインストール

Last updated at Posted at 2023-06-12

IBM Workload Scheduler(IWS) 10.1 Fix Pack 3が 2023/05/11 付でリリースされました。
本記事ではFix Pack 3で提供される新機能と、RHEL8でのIWSサーバーとIWS Agent(FTA/DA)へのFix Pack適用手順を紹介します。

IWS V10.1 Fix Pack 3 で提供される新機能

Fix Pack 2のリリースから3ヶ月も経っていないこともあり、今回の Fix Packでの新機能の追加は控え目です。V9.5までDynamic Workload Console(以下DWC)で利用できていた「実行サイクル・プレビュー」が復活します。
こちら↓のような、ジョブ・ストリームの実行サイクルをカレンダー形式で参照できるものです。
スクリーンショット 2023-06-08 15.02.47.png

V10.1でも「設計」メニューの「ワークロード定義(V9.x)」で「ワークロード定義の管理」を選択し、ジョブ・ストリームを開けば参照できていましたが、V9.5のメニューをV10.1エンジンを対象に使用することはサポート外だったので、この機能の復活は個人的には嬉しいです。

これからバージョンアップされる環境や現在構築中の環境ではぜひ Fix Pack 3の適用をご検討いただきたいと思います。

なお、Fix Pack 3 は修正提供をメインとしたのか、多くの修正が含まれているようです。修正内容についてはReadme file for IBM Workload Scheduler Version 10.1 Fix Pack 3 を参照してください。

Fix Pack 3 のインストール

IWS V10.1 Fix Pack 2 レベルのIWSサーバー(Master Domain Manager,以下 IWS MDM)、DWC、エージェント(FTA/DA)に Fix Pack 3を適用します。
ここでは RHEL8環境での適用例をご紹介します。その他OSでの前提条件、確認事項、適用手順についてはFix Pack のReadmeを確認してください。

Fix Pack Readme の確認

インストールする前にFix PackのReadmeに目を通し、Fix Pack 適用上の考慮点、適用手順などを確認します。
ReadmeはDynamic Workload Console(DWC), IWSの2つに分けて提供されます。

Readme file for IBM Workload Scheduler Version 10.1 Fix Pack 3

Readme file for Dynamic Workload Console Version 10.1 Fix Pack 3

インストールする環境に応じて考慮点が異なりますので、Readmeは必ず目を通してください。
自身の検証環境で留意すべき点として、以下がありました。IWS, DWCそれぞれのReadmeにおける考慮点を総合しています。

  • The formal test phase was performed using WebSphere® Liberty 22.0.0.10 and 22.0.0.11. The minimum required WebSphere Liberty version to successfully install the fixpack is 22.0.0.3 or later.(WAS Liberty のバージョン)

  • On UNIX™ operating systems, before installing the IBM Workload Scheduler Fix Pack, ensure that your umask is set to 022. (Fix Packインストール時は umask を022に設定する)

  • On UNIX operating systems, the database administrator must have read and run privileges for the IBM Workload Scheduler installation path; otherwise the installation fails. (DBの管理者ユーザーはIWSの導入ディレクトリーに対して読み取り権限を有すること)

  • This Fix Pack installs a new version of the file tws_env.sh (tws_env.cmd) and also creates a backup file named, tws_env.sh.bk (tws_env.cmd.bk), which are both saved to the TWA_HOME/TWS directory, where TWA_HOME is the IBM Workload Scheduler installation directory. After installing the Fix Pack, if you have modified the original version, merge the content of the new version with the content of the original version to carry your customized content into the new version.(tws_env.sh が置き換えられ、オリジナルは同じディレクトリにバックアップされるため、Fix Pack適用後にマージする必要がある)

  • DWCへのFix Pack適用前に次を確認すること

    • The Dynamic Workload Console is active.(DWCがアクティブであること)
    • No user is connected to the Dynamic Workload Console to prevent the data related to their working session from being lost.(DWCに接続しているユーザーがいないこと)

Fix Pack イメージのダウンロード

IBM Support Fix Central より必要なFix Pack イメージをダウンロードします。
製品セレクターとして "IBM Workload Scheduler"、インストール済みバージョンとして"10.1" プラットフォームはご使用のプラットフォームを選択し、「次へ進む」をクリックします。
スクリーンショット 2023-03-17 12.37.20.png

続いて表示される「フィックスの特定」ページで"フィックスの参照"ラジオボタンを選択して「次へ進む」をクリックします。
スクリーンショット 2023-03-17 12.38.57.png

続いて表示されるリストから、必要なフィックスパックを選択して「次へ進む」をクリックします。Fix Packはコンポーネント毎、プラットフォーム毎に分かれているのでご使用のプラットフォーム用のFix Packを選択してください。

今回はRHEL8(x86_64)へインストールするので、以下を選択しました。

イメージ名 内容
10.1.0.3-2023.05-IWS-SERVER-LNX_X86_64 IWS MDM Fix Packイメージ
10.1.0.3-2023.05-IWS-CONSOLE-LNX_X86_64 DWC Fix Packイメージ
10.1.0.3-2023.05-IWS-AGENT-LNX_X86_64 IWS Agent(FTA/DA)Fix Packイメージ

「次へ進む」をクリックするとIBM idでのログインを促されます。(すでにログインしている場合はダウンロード・オプションを選択する画面へ進みます。)
以降はページ上のガイドに従ってダウンロードを行います。

Fix Pack の適用

DWCへのFix Pack適用

製品マニュアルのこちらによると、IWS環境更新の際には、まず最初にDynamic Workload Consoleを更新することが推奨されていますので、DWCから Fix Packを適用していきます。

  • DWCが導入されているサーバーへログインします。以降の操作は全てrootユーザーで行います。
  • umaskを0022へ設定します。
# umask 0022
# umask
  • Fix Packイメージを作業用ディレクトリへ展開し、configureDb.shスクリプトが配置されているディレクトリーへ移動します。ここでは /work/IWS101FP3/DWCでインストールイメージを展開したものとします。
# cd /work/IWS101FP3/DWC
  • configureDb.shを実行し、DWC用のデータベースをアップグレードします。各パラメーターで指定する値はコマンド下部にある表を参照してください。(注意:この手順は、DWCのリポジトリーとしてDb2などRDBMSを使用している場合に実行します。簡易検証環境で付属のDerbyデータベースを使用している場合は実行不要です。)
# ./configureDb.sh --rdbmstype db2 --dbhostname iwsdb11.env2.com --dbport 50000 --dbname DWC --dbuser db2inst1 --dbpassword password --dbadminuser db2inst1 --dbadminuserpw password
パラメーター名 説明 実行例での設定値
--rdbmstype DWCリポジトリとして使用中のRDBMSのタイプ db2
--dbhostname DBサーバーのホスト名 iwsdb11.env2.com
--dbport DBサーバーのポート番号 50000
--dbname 初期導入時に作成したDWC用データベース名 DWC
--dbuser DBユーザー名 db2inst1
--dbpassword DBユーザーパスワード password
--dbadminuser DB管理ユーザー名 db2inst1
--dbadminuserpw DB管理ユーザーパスワード password
  • DWCのアップグレードを行う前に、DWCが起動されていることを確認します。DWCのjava プロセスが確認結果に含まれていれば問題ありません。
# ps -ef | grep java | grep DWC
  • DWCの導入ディレクトリーを確認します。DWCの導入ディレクトリーは、"/etc/TWA/twainstaceX.TWA.properties"ファイルの"TWA_path"の値で確認できます。ファイル名の"X"の部分には、環境によって 0や1などの数字が入ります。複数ファイルが存在する場合は、Fix Pack適用対象のインスタンスのファイルを確認します。この環境では、twainstace1.TWA.propertiesが該当するインスタンスのファイルです。
# cat /etc/TWA/twainstance1.TWA.properties
  • 下記の出力例の場合、"TWA_componentList"の値が"DWC"になっており、"TWA_path"が"/opt/wa/DWC"になっていることから、DWCの導入ディレクトリーは"/opt/wa/DWC"であることがわかります。
# cat /etc/TWA/twainstance1.TWA.properties
#TWAInstance registry
#2023年 3月 20日 月曜日 07:04:03 EDT
TWA_path=/opt/wa/DWC
TWA_componentList=DWC
DWC_version=10.1.0.02-2023.02
DWC_counter=1
DWC_instance_type=DWC
DWC_basePath=/opt/wa/DWC
DWC_user_name=dwcadmin
DWC_wlpdir=/opt/wlp
DWC_datadir=/opt/wa/DWC/DWC_DATA
DWC_jdbcdir=/opt/wa/DWC/jdbcdrivers/db2
#
  • DWCへFix Packを適用します。dwcinst.shを実行します。実行時に前の手順で確認したDWC導入ディレクトリーとライセンスへ同意することを示すパラメーターを指定します。
# ./dwcinst.sh --acceptlicense yes --inst_dir /opt/wa/DWC
  • 次のように出力されればFix Packの適用は成功です。Fix Pack適用の過程でDWC用のWAS Libertyの停止・起動が行われます。
[root@iwssvr11 DWC]# ./dwcinst.sh --acceptlicense yes --inst_dir /opt/wa/DWC
WAINST066I レジストリー /etc/TWA/twainstance1.TWA.properties の読み取り中に、インストール・ディレクトリー /opt/wa/DWC で DWC のインスタンスを検出しました。
WAINST0164I バージョン 10.1.0.03-2023.02 のアップグレード中に、プロダクト・バージョン 10.1.0.02-2023.02 のインスタンスがディレクトリー /opt/wa/DWC で検出されました。
WAINST220I アップグレードの実行中、サポートされているオプションは --acceptlicense,--inst_dir,--lang,--work_dir,--skipcheckprereq だけです。これ以外のオプションを指定すると、そのオプションは無視されて、代わりに現在のインストールの設定が使用されます。
WAINST008I サーバー dwcServer を停止中...
WAINST063I Liberty サーバー状況の検査中。
WAINST204I インストール・ツールのインストール中。
WAINST053I java のインストール中。
WAINST206I Jdbc ドライバーのインストール中。
WAINST207I WLP プロファイルのインストール中。
WAINST200I WLP の構成中。
WAINST007I サーバー dwcServer を開始中...
WAINST055I レジストリーの更新中。
WAINST035I 詳しくは、インストール・ログ・ファイルを参照してください: /opt/wa/DWC/DWC_DATA/installation/logs/dwcinst_10.1.0.03.log。
WAINST023I インストールは正常に完了しました。
[root@iwssvr11 DWC]# 

IWS MDM へのFix Pack適用

製品マニュアルのこちらを参照してインストールします。

  • IWS MDMが導入されているサーバーへログインします。以降の操作は特に記載がない限りrootユーザーで行います。
  • umaskを0022へ設定します。
# umask 0022
# umask
  • Fix Packイメージを作業用ディレクトリへ展開し、configureDb.shスクリプトが配置されているディレクトリーへ移動します。ここでは /work/IWS101FP3/IWSでインストールイメージを展開したものとします。
# cd /work/IWS101FP3/IWS/TWS/LINUX_X86_64
  • configureDb.shを実行し、IWS用のデータベースをアップグレードします。各パラメーターで指定する値はコマンド下部にある表を参照してください。
# ./configureDb.sh --rdbmstype db2 --dbhostname iwsdb11.env2.com --dbport 50000 --dbname TWS --dbuser db2inst1 --dbpassword password --dbadminuser db2inst1 --dbadminuserpw password
パラメーター名 説明 実行例での設定値
--rdbmstype IWSリポジトリとして使用中のRDBMSのタイプ db2
--dbhostname DBサーバーのホスト名 iwsdb11.env2.com
--dbport DBサーバーのポート番号 50000
--dbname 初期導入時に作成したIWS用データベース名 TWS
--dbuser DBユーザー名 db2inst1
--dbpassword DBユーザーパスワード password
--dbadminuser DB管理ユーザー名 db2inst1
--dbadminuserpw DB管理ユーザーパスワード password
  • 次のように出力されればDBのアップグレードは成功です。
[root@iwssvr11 LINUX_X86_64]# ./configureDb.sh --rdbmstype db2 --dbhostname iwsdb11.env2.com --dbport 50000 --dbname TWS --dbuser db2inst1 --dbpassword yopFxOwdK9rd --dbadminuser db2inst1 --dbadminuserpw yopFxOwdK9rd
WAINST093I ユーザー db2inst1 でホスト iwsdb11.env2.com、ポート 50000 のデータベース TWS への接続の検査中。
WAINST091I バージョンを確認してください。
WAINST092I データベースを更新してください。
WAINST077I データベースは正常に作成または更新されました。
WAINST052I コマンド configureDb が正常に完了しました。
WAINST035I 詳しくは、インストール・ログ・ファイルを参照してください: /tmp/installation/logs/configureDb_10.1.0.03.log。
[root@iwssvr11 LINUX_X86_64]# 
  • IWSの導入ディレクトリーを確認します。IWSの導入ディレクトリーは、"/etc/TWA/twainstaceX.TWA.properties"ファイルの"TWA_path"の値で確認できます。ファイル名の"X"の部分には、環境によって 0や1などの数字が入ります。複数ファイルが存在する場合は、Fix Pack適用対象のインスタンスのファイルを確認します。この環境では、twainstace0.TWA.propertiesが該当するインスタンスのファイルです。
# cat /etc/TWA/twainstance0.TWA.properties
  • 下記の出力例の場合、"TWA_componentList"の値が"TWS"、"TWA_instance_type" の値が"MDM"、"TWA_path"が"/opt/wa"になっていることから、IWS MDMの導入ディレクトリーは"/opt/wa"であることがわかります。
[root@iwssvr11 LINUX_X86_64]# cat /etc/TWA/twainstance0.TWA.properties
#TWAInstance registry
#2023年 3月 20日 月曜日 06:39:09 EDT
TWA_path=/opt/wa
TWA_componentList=TWS
TWS_version=10.1.0.02
TWS_counter=1
TWS_instance_type=MDM
TWS_basePath=/opt/wa/TWS
TWS_user_name=wauser
TWS_wlpdir=/opt/wlp
TWS_datadir=/opt/wa/TWSDATA
TWS_jdbcdir=/opt/wa/TWS/jdbcdrivers/db2
[root@iwssvr11 LINUX_X86_64]# 
  • IWS MDMへFix Packを適用します。serverinst.shを実行します。実行時に前の手順で確認したIWS MDM導入ディレクトリーとライセンスへ同意することを示すパラメーターを指定します。
# ./serverinst.sh --acceptlicense yes --inst_dir /opt/wa
  • 次のように出力されればFix Packの適用は成功です。Fix Pack適用の過程でIWS用のWAS Libertyの停止・起動が行われます。
[root@iwssvr11 LINUX_X86_64]# ./serverinst.sh --acceptlicense yes --inst_dir /opt/wa
WAINST066I レジストリー /etc/TWA/twainstance0.TWA.properties の読み取り中に、インストール・ディレクトリー /opt/wa で TWS のインスタンスを検出しました。
WAINST0164I バージョン 10.1.0.03 のアップグレード中に、プロダクト・バージョン 10.1.0.02 のインスタンスがディレクトリー /opt/wa で検出されました。
WAINST220I アップグレードの実行中、サポートされているオプションは --acceptlicense,--inst_dir,--lang,--work_dir,--skipcheckprereq だけです。これ以外のオプションを指定すると、そのオプションは無視されて、代わりに現在のインストールの設定が使用されます。
WAINST062I 入力の検査中。
WAINST008I サーバー engineServer を停止中...
WAINST060I バイナリーのインストール中。
WAINST054I MDM の構成中。
WAINST202I ブローカーの構成中。
WAINST200I WLP の構成中。
IBM Workload Scheduler Environment Successfully Set !!!
WAINST035I 詳しくは、インストール・ログ・ファイルを参照してください: /opt/wa/TWSDATA/installation/logs/serverinst_10.1.0.03.log。
WAINST023I インストールは正常に完了しました。
[root@iwssvr11 LINUX_X86_64]# 
  • batchman プロセスが起動されているかどうか確認します。
# ps -ef | grep batchman
  • batchman プロセスが起動されていない場合は、IWS管理ユーザーへsu - し、起動します。
# su - wauser
$ conman start
  • 再度batchman プロセスが起動されているかどうか確認します。
# ps -ef | grep batchman
  • 次のコマンドを実行し、実動計画をデータベースに同期します。(IWS管理ユーザーで実行)
# su - wauser
$ planman resync
  • 次のように出力されれば同期は完了です。
[wauser@iwssvr11 ~]$ planman resync
IBM Workload Automation(UNIX)/PLANMAN 10.1.0.3 (20230505) 
Licensed Materials - Property of IBM* and HCL**
5698-WSH
(C) Copyright IBM Corp. 1998, 2016 All rights reserved.
(C) Copyright HCL Technologies Ltd. 2016, 2023 All rights reserved. 
* Trademark of International Business Machines
** Trademark of HCL Technologies Limited
Installed for user "wauser".
Locale LANG set to the following: "en"
AWSBEH119I Resync command forwarded to batchman and application server.
AWSJCL070I Symphony file load is not yet started.
AWSJCL074I Symphony file successfully loaded in Database.
[wauser@iwssvr11 ~]$ 
  • IWS MDMと全てのエージェントをリンクします。(IWS管理ユーザーで実行)
$ conman "link @ ;noask"
  • 次のように出力されます。エージェントタイプによっては"AWSBHU158E"メッセージが表示されますが、特に問題はありません。
[wauser@iwssvr11 ~]$ conman "link @ ;noask"
IBM Workload Automation(UNIX)/CONMAN 10.1.0.3 (20230505) 
Licensed Materials - Property of IBM* and HCL**
5698-WSH
(C) Copyright IBM Corp. 1998, 2016 All rights reserved.
(C) Copyright HCL Technologies Ltd. 2016, 2023 All rights reserved. 
* Trademark of International Business Machines
** Trademark of HCL Technologies Limited
Installed for user "wauser".
Locale LANG set to the following: "en"
Scheduled for (Exp) 06/07/23 (#100) on IWSSVR11.  Batchman LIVES.  Limit: 10, Fence: 0, Audit Level: 1
/
%link @ ;noask
Command forwarded to batchman for IWSAGT11
AWSBHU158E The command issued for workstation IWSAGT11_1 cannot be performed, because the workstation is agent, or pool, or dynamic pool, or remote engine, or broker workstation, where the command is not supported.
Command forwarded to batchman for IWSAGT12
AWSBHU158E The command issued for workstation IWSAGT12_1 cannot be performed, because the workstation is agent, or pool, or dynamic pool, or remote engine, or broker workstation, where the command is not supported.

(中略)

Command forwarded to batchman for IWSSVR12
[wauser@iwssvr11 ~]$ 
  • IWSのサーバー稼働確認をします。次のコマンドを実行します。(IWS管理ユーザーで実行)
$ optman ls
  • 次のような出力が確認できれば問題ありません。
[wauser@iwssvr11 ~]$ optman ls
IBM Workload Automation(UNIX)/OPTMAN 10.1.0.3 (20230505) 
Licensed Materials - Property of IBM* and HCL**
5698-WSH
(C) Copyright IBM Corp. 1998, 2016 All rights reserved.
(C) Copyright HCL Technologies Ltd. 2016, 2023 All rights reserved. 
* Trademark of International Business Machines
** Trademark of HCL Technologies Limited
Installed for user "wauser".
Locale LANG set to the following: "en"
TECServerName / th = localhost
TECServerPort / tp = 5529
approachingLateOffset / al = 120
auditHistory / ah = 400
auditStore / as = BOTH
baseRecPrompt / bp = 1000
bindUser / bu = wauser
carryStates / cs = 
(途中省略)
AWSJCL050I Command "ls" completed successfully.
[wauser@iwssvr11 ~]$ 
  • IWS MDMへの Fix Pack適用が初めてであり、InstanaやAI Data AdvisorへIWSのメトリック情報を公開している場合は、prometheus.xmlファイルを更新する必要があります。ファイル更新の必要がある場合は、以降の手順を実施し、ファイルの更新が必要ない場合は IWS Agentへの Fix Pack適用手順へ進んでください。

  • IWS用 WAS Liberty の設定ファイルが保管されているディレクトリーへ移動します。(下記は /opt/wa にIWSサーバーを導入している場合)

# cd /opt/wa/TWSDATA/usr/servers/engineServer/configDropins/overrides
  • prometheus.xmlを編集します。オリジナルのファイルは別ディレクトリーへバックアップを取得します。(同じディレクトリーでバックアップファイルを作成すると誤動作の原因となります。)
    編集例:
# cat prometheus.xml 
<server>
  <featureManager>       
     <feature>mpMetrics-2.3</feature>
     <feature>cdi-2.0</feature>
  </featureManager> 
  <administrator-role> 
    <user>${user.twsuser.id}</user> 
  </administrator-role>
</server>
#
  • IWSのWASを再起動します。
# su - wauser
$ conman "stopappserver ;wait"
$ conman "startappserver ;wait"

IWS Agent(FTA/DA)へのFix Pack適用

製品マニュアルのこちらを参照してインストールします。

  • IWS Agentが導入されているサーバーへログインします。以降の操作は全てrootユーザーで行います。
  • umaskを0022へ設定します。
# umask 0022
# umask
  • Fix Packイメージを作業用ディレクトリへ展開し、twsinstスクリプトが配置されているディレクトリーへ移動します。ここでは /work/FP3でインストールイメージを展開したものとします。
# cd /work/FP3/TWS/LINUX_X86_64
  • twsinstスクリプトを実行し、IWS AgentにFix Packを適用します。-unameには、IWS Agentの管理ユーザーを指定します。管理ユーザーをもとにFix Pack適用対象を識別するため、FTA/DAは特に指定する必要はありません。
# ./twsinst -update -uname wauser -acceptlicense yes
  • 次のように出力されればFix Packの適用は成功です。Fix Pack適用の過程でAgentの停止・起動が行われます。
[root@iwsagt11 LINUX_X86_64]# ./twsinst -update -uname wauser -acceptlicense yes
IBM Workload Automation (UNIX) 10.1.0.03 
#
IBM (R) 
HCL (R) 
ライセンス対象マテリアル  - IBM および HCL の所有物です。 
5698-WSH 
(C) Copyright IBM Corp. 1998, 2016 不許複製・禁無断転載。
(C) Copyright HCL Technologies Ltd. 2016, 2022 不許複製・禁無断転載。
IBM は、世界の多くの国で登録された International Business Machines Corporation 
の商標です。
HCL は、世界の多くの国で登録された HCL Technologies Limited 
の商標です。
AWSFAB051I オペレーティング・システムの検査中
AWSFAB052I ユーザーの検査中
AWSFAB053I 入力パラメーターの検査中
AWSFAB054I TWSUser の検査中

(中略)
AWSFAB033I インストールが正常に完了しました。

AWSFAB045I 詳細については、次のログを参照してください:/opt/wa/TWSDATA/installation/logs/twsinst_LINUX_X86_64_wauser^10.1.0.03.log。

[root@iwsagt11 LINUX_X86_64]# 

以上でIWS AgentへのFix Pack適用は完了です。

「実行サイクル・プレビュー」の確認

Fix Pack 3で追加された新機能である「実行サイクル・プレビュー」を確認してみます。

  • DWCにログインし、「設計」から「Workload Designer」を選択します。
    スクリーンショット 2023-06-12 15.51.12.png

  • 「検討領域」で「ジョブ・ストリーム」のタイルをクリックします。
    スクリーンショット 2023-06-12 15.52.33.png

  • 画面下部に「ジョブ・ストリーム」のリストが表示されるので、どれか一つ選択し、「編集」をクリックします。
    スクリーンショット 2023-06-12 15.55.05.png

  • リストで選択したジョブ・ストリームの詳細が表示されます。ジョブ・ストリーム名の隣にある「実行サイクル・プレビュー」をクリックします。
    スクリーンショット 2023-06-12 16.06.18.png

  • ジョブ・ストリームの実行日がカレンダー形式で表示されます。実行サイクルを選択すると、そのジョブ・ストリームに設定されている実行サイクル毎のジョブ・ストリーム実行日が色を変えて表示されます。画面ショットのジョブ・ストリームは毎日実行するジョブ・ストリームのため、全ての日付が緑色で表示されています。
    スクリーンショット 2023-06-12 16.09.08.png

カレンダーで日付を直接指定するといったことはできませんが、実行サイクルを設定する際に、選択した日付をカレンダー形式で確認できるのは良いなと思います。

本記事は以上です。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?