質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

955閲覧

vagrant provisonがうまくいかない

big_sky

総合スコア23

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2020/01/15 12:59

編集2020/01/15 15:50

vagrant upその他vagrant reloadで下記のエラーが出て困っています。
エラーが長くて検索しても出てこず、なんのことを言っているのかさっぱり分かりません。

TASK [create role] ************************************************************* fatal: [default]: FAILED! => {"changed": false, "msg": "Failed to import the required Python library (psycopg2) on localhost.localdomain's Python /usr/bin/python. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter"} PLAY RECAP ********************************************************************* default : ok=21 changed=5 unreachable=0 failed=1 skipped=1 rescued=0 ignored=0 Ansible failed to complete successfully. Any error output should be visible above. Please fix these errors and try again.
playbook.yml - hosts: all become: true tasks: - name: yum update yum: name: "*" state: latest update_cache: yes - name: set timezone to Asia/Tokyo timezone: name: Asia/Tokyo - name: to selinux yum: name: libselinux-python - name: install yum repositories yum: name: - epel-release - http://rpms.famillecollet.com/enterprise/remi-release-7.rpm - https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm - name: yarn repo shell: yum-config-manager --add-repo https://dl.yarnpkg.com/rpm/yarn.repo; yum makecache fast args: chdir: /etc/yum.repos.d creates: yarn.repo - name: nodejs8 repo shell: curl -sL https://rpm.nodesource.com/setup_8.x | bash - args: creates: /etc/yum.repos.d/nodesource-el7.repo - name: install packages yum: enablerepo: remi-php56 name: - httpd - php - php-xml - php-pdo - php-mbstring - php-pgsql - php-cli - php-common - postgresql96 - postgresql96-contrib - postgresql96-server - python-psycopg2 - name: check database exists stat: path: /var/lib/pgsql/9.6/data/pg_hba.conf register: pgsql_data_hba_conf - name: initdb command: /usr/pgsql-9.6/bin/postgresql96-setup initdb when: pgsql_data_hba_conf.stat.exists == false - name: edit pg_hba.conf lineinfile: dest: /var/lib/pgsql/9.6/data/pg_hba.conf regexp: '{{ item.regexp }}' line: '{{ item.line }}' backrefs: yes with_items: - regexp: '^(local.+) peer$' line: '\1 trust' - regexp: '^(host.+) ident$' line: '\1 trust' - regexp: '^(host.+) ident$' line: '\1 trust' - name: install composer shell: curl -sS https://getcomposer.org/installer| php -- --install-dir=/usr/local/bin && mv /usr/local/bin/composer.phar /usr/local/bin/composer args: creates: /usr/local/bin/composer - name: make composer executable file: path: /usr/local/bin/composer mode: a+x state: file - name: install yarn shell: curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo - name: import gpg key shell: sudo rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg - name: install packages yum: name: - nodejs - make - yarn - gcc-c++ - name: install webpack shell: yarn add webpack webpack-cli become: true become_user: vagrant args: chdir: /home/vagrant - name: setting bash_profile template: src: resources/bash_profile.j2 dest: /home/vagrant/.bash_profile - name: app.conf copy: dest: /etc/httpd/conf.d/wardishdir.conf content: | Alias /wardishdir2 /vagrant/apps/codeigniter SetEnv CI_PUBLIC "public" SetEnv CI_DB_NAME "wardish" SetEnv CI_DB_USER "wardishdir01" SetEnv CI_DB_PASSWORD "wardishdir01" SetEnv CI_DB_HOST "localhost" <Directory /vagrant/apps/codeigniter> AllowOverride All EnableMMAP Off EnableSendfile Off Require all granted </Directory> - name: create directories file: path: '{{ item }}' state: directory owner: root mode: 777 with_items: - /var/wardishdir/construction/import_files - /var/wardishdir/construction/attachment_files - /var/wardishdir/log - name: setting php lineinfile: dest: /etc/php.ini state: present backrefs: yes regexp: '{{ item.regexp }}' line: '{{ item.line }}' with_items: - regexp: '^;(date.timezone) =.*' line: '\1 = Asia/Tokyo' - regexp: '^;(mbstring.language) =.*' line: '\1 = Japanese' - regexp: '^;(mbstring.internal_encoding) =.*' line: '\1 = UTF-8' - regexp: '^;(mbstring.http_input) =.*' line: '\1 = pass' - regexp: '^;(mbstring.http_output) =.*' line: '\1 = pass' - regexp: '^;(mbstring.encoding_translation) =.*' line: '\1 = off' - name: start services service: name: '{{ item }}' enabled: yes state: restarted with_items: - httpd - postgresql-9.6 - name: create role postgresql_user: name: wardish password: wardishdir02 expires: infinity login_user: postgres login_host: localhost - name: create database postgresql_db: name: wardishdir encoding: UTF-8 template: template0 owner: wardish login_user: postgres login_host: localhost - name: grant all to wardishdir postgresql_privs: db: wardishdir type: group objs: wardish roles: postgres login_user: postgres login_host: localhost - name: create extensions postgresql_ext: db: wardishdir login_user: postgres login_host: localhost name: '{{ item }}' with_items: - pgcrypto - pg_trgm
Vagrantfile # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.provider "virtualbox" do |v| v.name = "wardishdir" v.memory = "2048" end config.vm.box = "bento/centos-7.3" config.vm.network "private_network", ip: "192.168.33.19" config.vm.provision :ansible_local do |ansible| ansible.playbook = "playbook.yml" end end

他にもvagrant mount フォルダ共有ができない問題などがありましたが、そこはvagrant plugin install vagrant-vbguestで解決することができ、最後にこのエラーとずっと向き合っています。
どなたか助言をいただけると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazto

2020/01/15 13:31

Ansibleがエラーを発していますので、Ansibleのplaybookの内容、およびVagrantfileの内容を追記お願いします。
big_sky

2020/01/15 14:46

すいません私自身Ansibleを扱うのが初めてで、playbookの内容というのがどれが該当するものなのかが判断が正確にできておりません。拡張子がymlというのは分かったのですが、至る所に複数ある為、プロジェクトのホスト側(同じ階層)にあるymlファイルをとりあえず追記致しました。
take88

2020/01/15 15:38

playbook.yml がそうだと思いますが、内容の 途中から 書かれてるように見えますね。 実行結果には、「TASK [create role]」と出力されてるので「create role」という文字列を含んだ .yml ファイルが無いか 探してみてもらえますか。 あと、この質問を読んだ人が再現してくれるかもしれませんので、できるだけ完全な内容を書いてもらったほうが 回答を得られやすいと思いますので、検討してみてください。 もしも センシティブな内容が含まれる場合は、マスクするなどして、問題ない範囲で 書いてもらえれば と思います。
big_sky

2020/01/15 15:51

すいません私のミスで見切れていました。修正してまた貼り付けたので、ご確認して頂きたいです。
guest

回答1

0

ベストアンサー

postgresql と psycopg2 のバージョンのミスマッチが起きて psycopg2 が新しすぎる のが原因のようです。playbook.yml の↓の部分を修正してみてください。

- name: install packages yum: enablerepo: remi-php56 disablerepo: pgdg10,pgdg11,pgdg12 <- これを追加 name: - httpd - php - php-xml - php-pdo - php-mbstring - php-pgsql - php-cli - php-common - postgresql96 - postgresql96-contrib - postgresql96-server - python-psycopg2

投稿2020/01/15 17:23

take88

総合スコア1379

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

big_sky

2020/01/15 18:38

ご回答ありがとうございます。 viで追記して、vagrant reload --provisionとやってみたのですが、 先ほどと同じエラーが発生いたしました。
big_sky

2020/01/15 19:36

一度全て初めからやり直しtake88さんがおっしゃてたことを追記して思い通りに動くことができました!! 本当にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問