Mongo DB error while running puppet script - mongodb

While running the command
puppet apply --verbose --debug --modulepath puppet/manifests/modules
puppet/manifests/devbox.pp
I get the following error
err:/Stage[main]/Mongo-datastore/Package[mongodb]/ensure: change from absent to present failed:Could not find package mongo-10genmongo-10gen-server
To fix this error I installed mongodb manually and i changed the mongodb entry in the following package as
name => ["mongodb-org-2.6.4.1""mongodb-org-2.6.4.1"]**
package {
"mongodb":
name => ["mongo-10gen", "mongo-10gen-server"],
ensure => installed,
require => File['/etc/yum.repos.d/10gen.repo'];
}
Can you please tell me why I need to manually install the package while I have already written the script to install mongo-10gen and mongo-10gen-server.

Related

Is it possible to configure Azure Windows VMs using Ansible on Azure DevOps Microsoft Hosted Ubuntu agents?

We try to configure an Azure VM using an Azure DevOps pipeline. We first create the machine using Terraform and then we need to configure it. Right now the pipeline is functional when we use a customized Ubuntu Azure DevOps agent (a VM we setup ourselves in Azure).
We prefer to use a Microsoft Hosted Ubuntu Agent. When we try to run our pipeline using the Microsoft Hosted Ubuntu agent we fail with a message "winrm or requests is not installed".
We have done a lot of research and attempts to install the needed components, but none have been fruitful.
All the examples and documentation on the internet we can find don't mention our specific use case. Ansible configuration of Windows VMs in Azure from a Microsoft Hosted Ubuntu agent. Isn't it possible for some reason?
If it is, any pointers in the right direction will be much appreciated!
The error we see in the Azure DevOps pipeline is this:
ansible-playbook -vvvv -i inventory/hosts.cfg main.yml --extra-vars '{"customer_name": "<REMOVED>" }'
ansible-playbook [core 2.12.5]
config file = None
configured module search path = ['/home/vsts/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/vsts/.local/lib/python3.8/site-packages/ansible
ansible collection location = /home/vsts/.ansible/collections:/usr/share/ansible/collections
executable location = /home/vsts/.local/bin/ansible-playbook
python version = 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0]
jinja version = 2.10.1
libyaml = True
No config file found; using defaults
setting up inventory plugins
host_list declined parsing /home/vsts/work/1/s/ansible/inventory/hosts.cfg as it did not pass its verify_file() method
auto declined parsing /home/vsts/work/1/s/ansible/inventory/hosts.cfg as it did not pass its verify_file() method
yaml declined parsing /home/vsts/work/1/s/ansible/inventory/hosts.cfg as it did not pass its verify_file() method
Parsed /home/vsts/work/1/s/ansible/inventory/hosts.cfg inventory source with ini plugin
Loading collection ansible.windows from /home/vsts/.local/lib/python3.8/site-packages/ansible_collections/ansible/windows
Loading collection community.windows from /home/vsts/.local/lib/python3.8/site-packages/ansible_collections/community/windows
redirecting (type: modules) ansible.builtin.win_service to ansible.windows.win_service
redirecting (type: modules) ansible.builtin.win_service to ansible.windows.win_service
redirecting (type: modules) ansible.builtin.win_service to ansible.windows.win_service
redirecting (type: modules) ansible.builtin.win_service to ansible.windows.win_service
redirecting (type: modules) ansible.builtin.win_service to ansible.windows.win_service
Loading callback plugin default of type stdout, v2.0 from /home/vsts/.local/lib/python3.8/site-packages/ansible/plugins/callback/default.py
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.
PLAYBOOK: main.yml *************************************************************
Positional arguments: main.yml
verbosity: 4
connection: smart
timeout: 10
become_method: sudo
tags: ('all',)
inventory: ('/home/vsts/work/1/s/ansible/inventory/hosts.cfg',)
extra_vars: ('{"customer_name": "<REMOVED>"}',)
forks: 5
1 plays in main.yml
PLAY [windows:pro] *********************************************************
TASK [Gathering Facts] *********************************************************
task path: /home/vsts/work/1/s/ansible/main.yml:1
redirecting (type: modules) ansible.builtin.setup to ansible.windows.setup
Using module file /home/vsts/.local/lib/python3.8/site-packages/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Pipelining is enabled.
**fatal: [51.144.125.149]: FAILED! => {
"msg": "winrm or requests is not installed: No module named 'winrm'"
}**
PLAY RECAP *********************************************************************
51.144.125.149 : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
We tried to fix the problem by installing various potentially relevant components in the pipeline just before running the ansible-playbook command, for instance this one
pip3 install pywinrm
Later, based on input on this SO question we tried this in the pipeline:
python3 -m pip install --ignore-installed pywinrm
find / -name winrm.py
ansible-playbook -vvv -i inventory/hosts.cfg main.yml
The find command finds winrm.py here:
/opt/pipx/venvs/ansible-core/lib/python3.8/site-packages/ansible/plugins/connection/winrm.py
The ansible-playbook configuration we are using is:
ansible-playbook [core 2.12.5]
config file = None
configured module search path =
['/home/vsts/.ansible/plugins/modules',
'/usr/share/ansible/plugins/modules']
ansible python module location = /opt/pipx/venvs/ansible-
core/lib/python3.8/site-packages/ansible
ansible collection location =
/home/vsts/.ansible/collections:/usr/share/ansible/collections
executable location = /opt/pipx_bin/ansible-playbook
python version = 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC
9.4.0]
jinja version = 3.1.2
libyaml = True
No config file found; using defaults
The error we get is:
task path: /home/vsts/work/1/s/ansible/main.yml:1
redirecting (type: modules) ansible.builtin.setup to
ansible.windows.setup
Using module file /opt/pipx/venvs/ansible-
core/lib/python3.8/site-
packages/ansible_collections/ansible/windows/plugins/modules/
setup.ps1
Pipelining is enabled.
fatal: [13.73.148.141]: FAILED! => {
"msg": "winrm or requests is not installed: No module named
'winrm'"
}
you can try solution in RedHat knowledgebase
https://access.redhat.com/solutions/3356681
Last comment suggestion (replace yum with apt commands)
I was getting this error even if python2-winrm version 0.3.0 is
already installed via yum
yum list installed | grep winrm python2-winrm.noarch
0.3.0-1.el7 #epel
pip install "pywinrm>=0.2.2" only resulted in "Requirement already
satisfied"
I ran this to resolve the error -
yum autoremove python2-winrm.noarch
pip install "pywinrm>=0.2.2"
Then ping: pong worked just fine over https, port=5986
ram#thinkred1cartoon$ ansible all -i hosts.txt -m win_ping
172.16.96.135 | SUCCESS => {
"changed": false,
"ping": "pong" }
conversely, if you don't want to run command 1, then command 2 won't
work for you. In that case, run command 3
3 ) pip install --ignore-installed "pywinrm>=0.2.2"

How to install diesel_cli with "cannot open input file libpq.lib" error?

I'm trying to install diesel_cli on my machine and have run into errors:
PS C:\> cargo install diesel_cli --no-default-features --features postgres
error: linking with `link.exe` failed: exit code: 1181
|
= note: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30037\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" "C:\\Users\\Owner\\AppData\\Local\\Temp\\rustc0hfMW4\\symbols.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.0.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.1.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.10.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.11.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.12.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.13.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.14.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.15.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.2.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.3.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.4.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.5.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.6.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.7.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.8.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.diesel.db6871c2-cgu.9.rcgu.o" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.3oc4g8xgeqr3xhil.rcgu.o" "/LIBPATH:C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps" "/LIBPATH:C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libdiffy-10116d1a46240765.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libansi_term-8ac785ba6dab3d54.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\liburl-085413cf155ebf4e.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libidna-e617760a188ae951.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libunicode_normalization-06cbce6ee463ab15.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libtinyvec-2700dcc8ca440a73.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libtinyvec_macros-5d0a0a5267ac9a02.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libunicode_bidi-3843cd708b9d5313.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libform_urlencoded-bc0ece478c9969ff.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libpercent_encoding-459d5072c4f6d412.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libdotenvy-d2dbc9637619d426.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libchrono-422b701f158856a2.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libnum_integer-2ae42b6e08c222a4.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libnum_traits-c406e65b13d6dcc2.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libserde_regex-766adf3a555ccd38.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libregex-f7212d89a6f67148.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libaho_corasick-5aae31e8a72badf2.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libmemchr-a65d51fb2ae7accd.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libregex_syntax-5a1f463340fb2444.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libheck-f97b054e733bf2b0.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libclap_complete-007464ddcbb6d7e3.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libdiesel_migrations-3bdc5b636ff49b93.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libmigrations_internals-057e468a6688077a.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libtoml-761527a98d007259.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libdiesel-3216c6f0692e5464.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libitoa-275f0509159cbce5.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libbyteorder-c046fcd7b7138a94.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libpq_sys-634b13f8c11ea75f.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libclap-5c0a23e17fdd1cb3.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libatty-8c20fbe3a5f86f4a.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libstrsim-3f67262decc03c33.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libtermcolor-2d2dc574ed6f0782.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libwinapi_util-24c50559c3aed431.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libwinapi-e00b279ba3acd452.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libtextwrap-a3c74de9cda85b72.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libclap_lex-ed195b3d1e438c9f.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libos_str_bytes-ee2d8aeaa96a27b2.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libindexmap-8887803fd6fdd584.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libhashbrown-f256a9213b6968e2.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libbitflags-64893d0f4e23f5eb.rlib" "C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\libserde-40c8cc7197730aad.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd-2e5a4fde2066d4f2.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libpanic_unwind-a4e0bcf1e60e2edb.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_demangle-2d0f8274a5407337.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd_detect-dc68e6f9c2985e79.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libhashbrown-8bfb058d1afb96bd.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libminiz_oxide-fe2fe9acb704bcf5.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libadler-4e20259a2e504a61.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_alloc-ba723ab4066a2120.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libunwind-f9ca31420ed0b54e.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcfg_if-753c3a361b9abd1c.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liblibc-22cf67e3a026b780.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc-4bacd70ae093a213.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_core-2823e3c97f1346a4.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcore-2e984cab75d078cb.rlib" "C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-c045e84c0343a063.rlib" "libpq.lib" "advapi32.lib" "cfgmgr32.lib" "gdi32.lib" "kernel32.lib" "msimg32.lib" "ole32.lib" "opengl32.lib" "runtimeobject.lib" "shell32.lib" "user32.lib" "winspool.lib" "advapi32.lib" "userenv.lib" "kernel32.lib" "ws2_32.lib" "bcrypt.lib" "msvcrt.lib" "/NXCOMPAT" "/LIBPATH:C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "/OUT:C:\\Users\\Owner\\AppData\\Local\\Temp\\cargo-installUiMeci\\release\\deps\\diesel-e71e8d3863826309.exe" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:C:\\Users\\Owner\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libstd.natvis"
= note: LINK : fatal error LNK1181: cannot open input file 'libpq.lib'
error: could not compile `diesel_cli` due to previous error
error: failed to compile `diesel_cli v2.0.0`, intermediate artifacts can be found at `C:\Users\Owner\AppData\Local\Temp\cargo-installUiMeci`
I've installed Rust successfully. I have Postgres 13 running locally and in Docker as well. But I'm still stuck and can't figure out what to do next. Any help is greatly appreciated!
Please confirm that you have the Postgres development libraries installed:
sudo apt install libpq-dev
For more help:
https://github.com/diesel-rs/diesel/issues/2026
https://github.com/diesel-rs/diesel/issues/2465
Maybe If you download this solves your problem
https://www.postgresql.org/download/windows/
On windows, after installation of postgresql define environment variable which points to client libs. PQ_LIB_DIR=C:\Program Files\PostgreSQL\13\lib
It's works for me!
sudo apt install libpq-dev

How to stop 'import psycopg2' from causing an Exception when starting an Azure Container?

I am trying to deploy a Django REST API using Azure App Service on Linux. I am using a postgresql Database and deploy via pipeline. Azure has postgresql 9.6. After running my pipeline, the Website shows an Server Error (500).
The AppLogs show, that the Container couldn't be started due an failed import of psycopg2.
[ERROR] Exception in worker process
Traceback (most recent call last):
File "/home/site/wwwroot/antenv/lib/python3.7/site-packages/django/db/backends/postgresql/base.py", line 25, in
import psycopg2 as Database
File "/home/site/wwwroot/antenv/lib/python3.7/site-packages/psycopg2/__init__.py", line 50, in
from psycopg2._psycopg import ( # noqa
ImportError: /home/site/wwwroot/antenv/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-x86_64-linux-gnu.so: undefined symbol: PQencryptPasswordConn
In the Build-stage of my pipeline, I set up my environment (python3.7) like this:
- script: |
python -m venv antenv
source antenv/bin/activate
python -m pip install --upgrade pip
pip install setup
pip install -r requirements.txt
Where requirements.txt looks like this:
Django==3.0.2
djangorestframework==3.11.0
psycopg2-binary==2.8.4
pandas==0.25.3
pytest==5.3.5
pytest-django==3.8.0
pytest-mock==2.0.0
python-dateutil==2.8.1
sqlparse==0.3.0
whitenoise==5.0.1
BuildJob and DeploymentJob seem to run flawless. the Build-logs indicate that psycopg2_binary-2.8.4-cp37-cp37m-manylinux1_x86_64.whl was correctly downloaded and installed.
Also the App runs fine on my machine when using the database on azure by configuring in the settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'databasename',
'USER': 'user#postgresqlserver',
'PASSWORD': 'Password',
'HOST': 'postgresqlserver.postgres.database.azure.com',
'PORT': '',
'OPTIONS': {'sslmode': 'require'}
}
} # Of course the info is actually saved in environment variables
This gives me the feeling, that something with the psycopg2 installation is not working... For others the *psycopg2-binary seemed to do the trick but unfortunateley not for me.
Am I right to assume that on azure I'm nether able to install postgresql10 as suggested here https://github.com/psycopg/psycopg2/issues/983 nor can install from source like suggested here https://github.com/psycopg/psycopg2/issues/1018?
There must be something I am missing, I would be grateful for any advice!
EDIT:
Taking a look at the library (as suggested here https://stackoverflow.com/a/59652816/13183775) I found that I don't have a PQencryptPasswordConn function but only a PQencryptPassword function. I have the feeling that this is expected for Postgresql9.6 (https://github.com/psycopg/psycopg2/blob/cb3353be1f10590cdc2a894ada42c3b4c171feb7/psycopg/psycopgmodule.c#L466).
To check, whether there are multiple versions libpq:
/>find . -name "libpq*"
./var/lib/dpkg/info/libpq5:amd64.symbols
./var/lib/dpkg/info/libpq5:amd64.shlibs
./var/lib/dpkg/info/libpq5:amd64.list
./var/lib/dpkg/info/libpq5:amd64.triggers
./var/lib/dpkg/info/libpq-dev.list
./var/lib/dpkg/info/libpq5:amd64.md5sums
./var/lib/dpkg/info/libpq-dev.md5sums
./usr/share/doc/libpq5
./usr/share/doc/libpq-dev
./usr/share/locale/ko/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/it/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/pl/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/zh_TW/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/tr/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/cs/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/de/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/ru/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/sv/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/pt_BR/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/fr/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/es/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/zh_CN/LC_MESSAGES/libpq5-9.6.mo
./usr/share/locale/ja/LC_MESSAGES/libpq5-9.6.mo
./usr/lib/x86_64-linux-gnu/pkgconfig/libpq.pc
./usr/lib/x86_64-linux-gnu/libpq.so.5
./usr/lib/x86_64-linux-gnu/libpq.so
./usr/lib/x86_64-linux-gnu/libpq.so.5.9
./usr/lib/x86_64-linux-gnu/libpq.a
./usr/include/postgresql/libpq-events.h
./usr/include/postgresql/libpq-fe.h
./usr/include/postgresql/libpq
./usr/include/postgresql/libpq/libpq-fs.h
./usr/include/postgresql/internal/libpq
./usr/include/postgresql/internal/libpq-int.h>
Sadly I'm not able to see here wether there are multiple libpq versions...

Connect yii2 with mongodb

I am new to Yii2. Can anyone tell me how to configure YII2 with mongodb and how to establish connection between YII2 and mongodb? I have tried to download the mongodb package from git hub and tried to run the following command
php composer.phar require --prefer-dist yiisoft/yii2-mongodb "*"
In the command prompt inside the root folder where I have installed Yii2 but I get the following error
Your requirements could not be resolved to an installable set of packages.
Problem 1
- yiisoft/yii2 2.0.0 requires bower-asset/jquery 2.1.*#stable | 1.11.*#stable -> no matching package found.
- yiisoft/yii2 2.0.0 requires bower-asset/jquery 2.1.*#stable | 1.11.*#stable -> no matching package found.
- Installation request for yiisoft/yii2 == 2.0.0.0 -> satisfiable by yiisoft/yii2[2.0.0].
If you are trying to install it through command prompt then try the following command which using composer
composer require --prefer-dist yiisoft/yii2-mongodb "*"
This works in my windows 8 environment.
To ignore dependency errors while installing the package use --ignore-platform-refs switch:
composer require --ignore-platform-refs --prefer-dist yiisoft/yii2-mongodb "*"
Remember that you must also have the MongoDB extension installed in PHP for this plugin to work:
http://php.net/manual/en/class.mongodb.php
Seems like problem was with yii2 composer dependencies, Kindly RUN this command in your console to add global dependencies,
1) composer global require "fxp/composer-asset-plugin:~1.1.1"
2) Add "yiisoft/yii2-mongodb": "~2.0.0" in your composer.json file
3) Now run composer install or composer update
4) Composer install will only install require packages in your composer file but composer update will also check if there is any new release for your packages that you mentioned in composer.js and then install the new release.
5) now add below code in your common/config/main.php file
return [
//....
'components' => [
'mongodb' => [
'class' => '\yii\mongodb\Connection',
'dsn' => 'mongodb://developer:password#localhost:27017/mydatabase',
],
],
];
Now is the time to test either mongoDb working or not.
$collection = Yii::$app->mongodb->getCollection('customer');
$collection->insert(['name' => 'John Smith', 'status' => 1]);
For further information Please follow below link,
https://github.com/yiisoft/yii2-mongodb
'mongodb' => [
'class' => '\yii\mongodb\Connection',
'dsn' => 'mongodb://127.0.0.1:27017/vinagex',
'options' => [
"username" => "vinagex",
"password" => "vinagex"
]
],

can't get the require work with file in puppet module

i try to get the following code to run:
class common
{
...
# common packages
package
{
["lsb-release", "figlet"]: ensure => installed,
}
# Print some information if someone logs in:
file { "/etc/motd":
#require => [ Package["figlet"], File["/usr/bin/figlet"] ],
require => Package["figlet"],
content => generate('/usr/bin/env', '/usr/bin/figlet','-w', '186', '-p', '-f', 'banner', "$hostname"),
}
....
}
should't this work?
i get the following error:
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to execute generator /usr/bin/env: Execution of '/usr/bin/env /usr/bin/figlet -w 186 -p -f banner hostname' returned 127: /usr/bin/env: /usr/bin/figlet: No such file or directory
at /etc/puppet/modules/common/manifests/init.pp:37 on node puppetmaster.local
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
first i had no require (row 12) and no package (row 5-8) in the code, to fix the errors i thought to i can simply add the row 12 (require package figlet) but it does not work. so i added the package figlet, but the the error does not go away.
how to add this dependency? shouldn't puppet run through the code and don't skip the run totally?
generate() runs on the server, not the client. (It's a parser function so it has to run on the server)
The class as you've written it will ensure that clients get figlet installed on them, but then tries to run figlet on the puppetmaster. Just install figlet on your puppetmasters and you won't need the package resources.
Also use smslant font, not banner :)